:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f2f5f9;--surface-1:#fffc;--card:#fbfcfe;--surface-2:#ffffff73;--text-primary:#101623;--text-secondary:#465061;--text-muted:#7d8492;--gridline:#10162314;--border:#1016231a;--border-strong:#1016232e;--accent:#00407a;--accent-2:#c8880a;--accent-grad:linear-gradient(135deg, #002d5c, #135a9e);--accent-ink:#fff;--accent-soft:#00407a14;--gold:#f2a900;--gold-soft:#f2a90024;--good:#0a940a;--good-soft:#0a940a17;--good-border:#0a940a4d;--busy:#d03b3b;--busy-soft:#d03b3b12;--busy-border:#d03b3b3d;--warn:#9a6a00;--warn-soft:var(--gold-soft);--glass:#ffffff94;--glass-strong:#fffc;--glass-border:#ffffffa6;--glass-inner:#ffffff73;--shadow:0 14px 38px -16px #0f285038, 0 2px 8px -2px #0f285014;--shadow-sm:0 4px 14px -6px #0f28502e;--glow-1:#00549f33;--glow-2:#f2a90029;--glow-3:#468ccd2e}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--page-bg);color:var(--text-primary);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{background-image:radial-gradient(640px 420px at 12% -4%, var(--glow-1), transparent 68%), radial-gradient(720px 480px at 96% 14%, var(--glow-2), transparent 70%), radial-gradient(560px 420px at 46% 108%, var(--glow-3), transparent 70%);background-attachment:fixed;min-height:100vh}body.modal-open{overflow:hidden}.page{max-width:1500px;margin:0 auto;padding:18px 20px 28px}main.split{grid-template-columns:minmax(0,8fr) minmax(0,12fr);align-items:start;gap:14px;display:grid}.split-col{gap:14px;min-width:0;display:grid}main.split:not(:has(#result-panel:not([hidden]))){grid-template-columns:minmax(0,760px);justify-content:center}@media (width>=1001px){#result-panel{position:sticky;top:14px}}@media (width<=1000px){main.split{grid-template-columns:1fr}}::selection{background:var(--accent-soft)}:is(button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header{margin-bottom:14px}.header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--accent-grad);width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:12px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.brand h1{letter-spacing:-.02em;background:linear-gradient(120deg, var(--text-primary) 45%, var(--accent-2));-webkit-text-fill-color:transparent;color:var(--text-primary);-webkit-background-clip:text;background-clip:text;margin:0;font-size:20px;font-weight:800}.tagline{color:var(--text-secondary);margin:1px 0 0;font-size:12.5px}.privacy-note{color:var(--text-muted);margin:6px 0 0 50px;font-size:11.5px}.panel{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);border:1px solid var(--glass-border);box-shadow:var(--shadow);border-radius:16px;padding:16px 16px 18px;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.panel{background:var(--glass-strong)}}.panel-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.panel-head h2{letter-spacing:-.01em;margin:0;font-size:16px}.step-badge{background:var(--accent-grad);width:22px;height:22px;color:var(--accent-ink);box-shadow:var(--shadow-sm);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.panel-hint{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.5}.sub-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:8px;margin:18px 0 8px;font-size:13px;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;transition:background .15s,border-color .15s,transform 60ms;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12px}.btn-quiet{background:0 0}.pill{background:var(--accent-soft);min-width:20px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.pill-count{background:var(--warn-soft);color:var(--warn)}#dropzone{border:1.5px dashed var(--border-strong);text-align:center;cursor:pointer;background:var(--surface-2);border-radius:14px;padding:22px 16px;transition:border-color .15s,background .15s;display:block}#dropzone:hover,#dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone-inner{justify-items:center;gap:4px;display:grid}.dropzone-icon{font-size:26px}.dropzone-text{color:var(--text-primary);font-size:14px}.dropzone-sub{color:var(--text-muted);font-size:12px}.status-line{color:var(--text-secondary);min-height:18px;margin-top:10px;font-size:13px;line-height:1.5}.status-line.error{color:var(--busy)}.status-line.success{color:var(--good)}.file-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.file-item{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.file-main{gap:2px;min-width:0;display:grid}.file-name{overflow-wrap:anywhere;font-size:13px;font-weight:650}.file-meta{color:var(--text-muted);font-size:12px}.file-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 7px;font-size:18px;line-height:1}.file-remove:hover{background:var(--busy-soft);color:var(--busy)}.coverage{border:1px solid var(--border);background:var(--accent-soft);border-radius:11px;margin-top:12px;padding:10px 12px}.coverage-row{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.cov-num{font-size:17px;font-weight:700}.cov-label{color:var(--text-secondary);font-size:12px}.cov-sep{color:var(--text-muted)}.coverage-note{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.5}.coverage-note:empty{display:none}.advanced{margin-top:12px;font-size:13px}.advanced summary{cursor:pointer;color:var(--text-secondary)}.advanced-hint{color:var(--text-muted);margin:8px 0;font-size:12px;line-height:1.5}.advanced-grid{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.advanced-grid input{width:72px}.field{margin-bottom:12px;display:block}.field-label{color:var(--text-secondary);margin-bottom:5px;font-size:12px;font-weight:650;display:block}input[type=text],input[type=time],input[type=number],select{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);border-radius:10px;width:100%;padding:8px 10px;font-size:13px}.advanced-grid input,#slot-dur{width:90px;display:inline-block}.check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check input{accent-color:var(--accent)}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:5px 11px;font-size:12px}.chip:hover{border-color:var(--accent);color:var(--text-primary)}.chip.is-on{background:var(--accent-grad);color:var(--accent-ink);border-color:#0000}.tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.tab{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px 10px;font-size:13px;font-weight:600}.tab.is-on{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm)}.query-box{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-bottom:12px;padding:12px}.query-box .field:last-child{margin-bottom:0}.query-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:10px;margin-bottom:10px;display:grid}.now-line{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.now-clock{letter-spacing:-.01em;font-size:15px;font-weight:700}.slot-echo{color:var(--text-muted);margin:10px 0 0;font-size:12px}.result-head{margin-bottom:10px}.result-summary{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.empty-hint{color:var(--text-muted);margin:10px 0 0;font-size:13px;line-height:1.5}.room-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px;display:grid}.room-card{text-align:left;border:1px solid var(--good-border);background:var(--good-soft);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:12px;gap:3px;padding:10px 12px;transition:transform 60ms,box-shadow .15s;display:grid}.room-card:hover{box-shadow:var(--shadow-sm)}.room-card:active{transform:translateY(1px)}.room-card.is-busy{border-color:var(--busy-border);background:var(--busy-soft)}.room-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-name{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:14px;font-weight:700}.room-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;flex:none;padding:1px 6px;font-size:10px}.room-line{color:var(--good);font-size:12.5px;font-weight:600}.room-card.is-busy .room-line{color:var(--busy)}.room-sub{color:var(--text-muted);overflow-wrap:anywhere;font-size:11.5px}.modal{z-index:40;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#060a128c;position:absolute;inset:0}.modal-card{background:var(--card);border:1px solid var(--border);width:min(720px,100%);max-height:min(86vh,900px);box-shadow:var(--shadow);border-radius:16px;padding:16px 18px 20px;position:relative;overflow:auto}.modal-head{background:var(--card);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:6px 0;display:flex;position:sticky;top:-16px}.modal-head h2{margin:0;font-size:17px}.day-block{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.day-block.is-today{background:var(--accent-soft);border-radius:10px;padding:8px 10px}.day-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px;font-size:12px}.day-free{color:var(--good);margin:0;font-size:13px;font-weight:600}.day-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.day-item{align-items:baseline;gap:10px;font-size:13px;display:flex}.day-time{width:145px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.day-info{gap:1px;min-width:0;display:grid}.day-course{font-weight:650}.day-meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:11.5px}.day-gap{color:var(--good);padding-left:2px;font-size:12px}.clash-group{margin-top:14px}.site-footer{margin-top:18px}.site-footer p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}@media (width<=520px){.day-item{flex-direction:column;gap:1px}.day-time{width:auto}}.room-groups{flex-direction:column;gap:18px;display:flex}.room-group{flex-direction:column;gap:8px;display:flex}.group-head{border-bottom:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:0;padding-bottom:4px;font-size:12px;font-weight:700;display:flex}.room-where{color:var(--text-muted);font-size:11.5px}.chip-count{font-variant-numeric:tabular-nums;opacity:.65;margin-left:6px;font-size:11px}.field-note{color:var(--text-muted);margin:6px 0 0;font-size:12px}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.account-bar{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:4px;padding:3px 4px 3px 12px;display:flex}.account-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin-right:4px;font-size:12.5px;font-weight:650;overflow:hidden}input[type=password]{font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);border-radius:10px;width:100%;padding:8px 10px;font-size:13px}input[aria-invalid=true]{border-color:var(--busy)}.btn-primary{background:var(--accent-grad);color:var(--accent-ink);border-color:#0000;font-weight:650}.btn-primary:hover:not(:disabled){background:var(--accent-grad);filter:brightness(1.08);border-color:#0000}.modal-card--narrow{width:min(420px,100%)}@media (width<=520px){.account-bar{flex-wrap:wrap;padding-left:8px}.account-name{max-width:100%}}
