:root{--brand:#1e6b42;--brand-bright:#30d158;--text:#0b1a12;--text-muted:rgba(60,60,67,0.62);--bg:#ffffff;--surface:#f2f2f7;--border:#e5e5ea;--radius:14px;--max-width:960px;--tok-num:#b4690e;--focus:rgba(30,107,66,0.18)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.btn{display:inline-block;background:var(--brand);color:#fff;padding:12px 22px;border-radius:999px;font-weight:600;border:none;cursor:pointer;font-size:15px}.btn:hover{background:#175634;text-decoration:none}.btn.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.btn-secondary:hover{background:var(--border);color:var(--text)}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:26px}code,pre{font-family:ui-monospace,SF Mono,Menlo,Monaco,monospace}pre{background:#0b1a12;color:#eafff1;padding:18px;border-radius:var(--radius);overflow-x:auto;font-size:13px}code{background:var(--surface);padding:2px 6px;border-radius:6px;font-size:.9em}pre code{background:none;padding:0}.code-card{max-width:600px;margin:0 auto;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.16)}.code-card__bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--border)}.code-card__bar .dot{width:11px;height:11px;border-radius:50%;display:inline-block}.code-card__bar .dot--r{background:#ff5f57}.code-card__bar .dot--y{background:#febc2e}.code-card__bar .dot--g{background:#28c840}.code-card__url{margin-left:auto;font-size:12px;color:var(--text-muted)}.code-card__body,.code-card__url{font-family:ui-monospace,SF Mono,Menlo,Monaco,monospace}.code-card__body{margin:0;padding:20px 22px;background:transparent;color:var(--text);border-radius:0;font-size:13px;line-height:1.75;overflow-x:auto}.code-card__method{color:var(--brand);font-weight:700}.code-card__status,.tok-key{color:var(--text-muted)}.tok-str{color:var(--brand)}.tok-num{color:var(--tok-num)}.tok-punc{color:var(--text-muted)}.field{margin-bottom:16px}.field>label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}.field .hint{font-size:12px;color:var(--text-muted);margin:6px 0 0}.control{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.control::placeholder{color:var(--text-muted)}.control:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--focus)}textarea.control{resize:vertical;min-height:78px}.row{display:flex;gap:12px}.row>*{flex:1 1}.row>.grow2{flex:2 1}.segmented{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;gap:2px}.segmented button{border:none;background:transparent;color:var(--text-muted);padding:9px 20px;border-radius:999px;font-weight:600;cursor:pointer;font-size:14px;transition:background .15s,color .15s}.segmented button.active{background:var(--brand);color:#fff}.check-row{display:flex;gap:22px;margin:2px 0 16px}.check-row label{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.check-row input{width:16px;height:16px;accent-color:var(--brand)}.map-preview{width:100%;height:220px;border-radius:12px;border:1px solid var(--border);display:block;object-fit:cover;margin-bottom:6px}.map-preview--empty{border-style:dashed;background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:var(--text-muted);font-size:14px}.combobox{position:relative}.combobox__spinner{position:absolute;right:14px;top:12px;color:var(--text-muted);font-size:13px}.combobox__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.22);overflow:hidden auto;max-height:300px}.combobox__option{display:block;width:100%;text-align:left;padding:11px 14px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-size:14px}.combobox__option:last-child{border-bottom:none}.combobox__option.active,.combobox__option:hover{background:var(--surface)}.combobox__empty{padding:12px 14px;color:var(--text-muted);font-size:14px}.chosen{justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--brand);margin-bottom:10px}.chosen,.op-slot{display:flex;align-items:center;background:var(--surface)}.op-slot{flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;margin-bottom:8px}.op-slot .control{background:var(--bg)}.op-slot .op-day{flex:0 0 128px}.op-times{display:flex;align-items:center;gap:6px;flex:1 1 210px}.op-times .control{flex:1 1;min-width:0}.op-times .op-sep{color:var(--text-muted);font-size:13px}.op-note{flex:1 1 130px}.op-remove{flex:0 0 auto;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:15px;padding:9px 11px;border-radius:9px;line-height:1}.op-remove:hover{color:#e5484d;background:var(--bg)}.op-add{width:100%;border:1px dashed var(--border);background:transparent;color:var(--text);border-radius:12px;padding:12px;cursor:pointer;font-weight:600;font-size:14px;transition:border-color .15s,color .15s}.op-add:hover{border-color:var(--brand);color:var(--brand)}.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;vertical-align:middle}.badge--ok{background:rgba(48,209,88,.16);color:#1e6b42}.badge--warn{background:rgba(255,141,40,.16);color:#b4690e}.badge--danger{background:rgba(229,72,77,.16);color:#c0392b}@media (prefers-color-scheme:dark){.badge--ok{color:#30d158}.badge--warn{color:#ff9230}.badge--danger{color:#ff6b6b}:root{--brand:#30d158;--brand-bright:#30d158;--text:#f5f7f6;--text-muted:rgba(235,235,245,0.6);--bg:#000000;--surface:#121214;--border:#272729;--tok-num:#ff9230;--focus:rgba(48,209,88,0.28)}.btn,.segmented button.active{color:#06210f}.btn:hover{background:#28b84c}}