:root{color-scheme:dark;--bg:#10131d;--panel:#191f2e;--raised:#222a3a;--line:#343d50;--text:#ebe8e2;--muted:#a9b1c1;--accent:#c3a6f1;--gold:#dfc58f;--adventure:#d7ba80;--college:#ab9df7;--session:#77c6df;--holiday:#91cba6;--note:#adb5c7}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:14px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,input,select,textarea{border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--text);padding:8px 11px}button{cursor:pointer;transition:background .15s}button:hover{background:#35324a}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:#1c1429;border-color:var(--accent);font-weight:650}button.quiet{background:none;border:0;font-size:25px;padding:0 7px}button.danger{color:#ffb1b1;border-color:#814c59;background:#3d2630}input,select,textarea{max-width:100%}input[type=checkbox]{accent-color:var(--accent)}textarea{resize:vertical;width:100%;min-height:100px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px 4vw;background:#121722}.brand{font:22px Georgia,serif;letter-spacing:3px;color:var(--gold)}.topbar nav{display:flex;gap:25px;font-size:12px}.topbar nav a{color:var(--muted)}.topbar nav a[aria-current]{color:var(--accent)}main{max-width:1600px;margin:auto;padding:35px 4vw 45px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font:clamp(30px,3.3vw,46px)/1.1 Georgia,serif;margin:0 0 12px}h2{font:25px/1.3 Georgia,serif}.intro .muted{margin:0}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--gold);font-weight:650;margin:0 0 12px}.muted{color:var(--muted);font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.current-card{border:1px solid #4b3d62;background:linear-gradient(110deg,#262035,#182134);border-radius:10px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.current-card h2{margin:0 0 5px;font-size:30px}.current-card .muted{margin:0}.current-actions{display:flex;gap:7px;flex-wrap:wrap;font-size:11px}.calendar-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-controls{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.month-title{display:flex;gap:15px;align-items:center;min-width:0}.month-title h2{margin:0;font-size:28px;white-space:nowrap}.month-title button{padding:6px 12px;font-size:18px}.jump-controls{display:flex;gap:7px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.jump-controls input{width:77px}.jump-controls select{max-width:150px}.filter-row{display:flex;gap:14px;align-items:center;padding:15px 24px;border-bottom:1px solid var(--line);font-size:11px}.filter-row label{display:flex;gap:7px;align-items:center;color:var(--muted)}.filter-row select,.filter-row input{font-size:11px;padding:6px 9px;max-width:150px}.event-search{margin-left:auto}.view-toggle{display:flex}.view-toggle button{font-size:11px;border-radius:0}.view-toggle button:first-child{border-radius:5px 0 0 5px}.view-toggle button:last-child{border-radius:0 5px 5px 0}.view-toggle .active{background:#39304e;color:#e0c9ff}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;min-height:500px}.day-panel{padding:24px 20px;border-left:1px solid var(--line);background:#161c29;min-width:0}.day-panel h2{font-size:23px;margin:0 0 5px}.day-panel .muted{margin:0 0 20px}.wide{width:100%;font-size:11px;margin-top:15px}.week-labels,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-labels{border-bottom:1px solid var(--line);background:#1d2433}.week-labels span{font-size:10px;color:var(--muted);padding:10px;text-align:center;letter-spacing:.5px}.day-cell,.blank-cell{min-height:112px;border:0;border-right:1px solid #2e3749;border-bottom:1px solid #2e3749;border-radius:0;padding:9px 7px;text-align:left;position:relative;background:transparent;min-width:0}.day-cell{display:flex;flex-direction:column;justify-content:flex-start;gap:5px}.day-cell:nth-child(7n),.blank-cell:nth-child(7n){border-right:0}.blank-cell{background:#13192588}.day-cell:hover{background:#2a2c40}.day-cell.selected{background:#31283f;box-shadow:inset 0 0 0 2px #a88ad2;z-index:1}.day-cell.current .day-number{background:var(--accent);color:#20172e;border-radius:50%;width:25px;text-align:center;display:inline-block}.day-number{font-size:12px;line-height:25px;min-height:25px;padding:0 4px}.day-cell.current:after{content:'NOW';position:absolute;right:8px;top:14px;font-size:7px;letter-spacing:.5px;color:var(--accent)}.event-chip{display:block;width:100%;border-left:2px solid currentColor;padding:2px 5px;border-radius:2px;background:#0e131b55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.6}.more{font-size:9px;color:var(--muted);padding-left:4px}.adventure{color:var(--adventure)}.college{color:var(--college)}.session{color:var(--session)}.holiday{color:var(--holiday)}.note{color:var(--note)}.legend{display:flex;gap:20px;flex-wrap:wrap;padding:14px 24px;border-top:1px solid var(--line);font-size:9px}.legend-rule{margin-left:auto;color:var(--muted)}.event-detail{width:100%;text-align:left;display:block;background:#202737;border:1px solid var(--line);border-left:3px solid currentColor;border-radius:6px;padding:13px 12px;margin-bottom:12px}.event-detail strong{font-size:12px;color:var(--text);display:block;line-height:1.5;margin:5px 0}.event-detail small{color:var(--muted);display:block;font-size:10px}.event-detail .event-time{font-size:10px}.event-detail .source-tag{color:var(--gold);font-size:9px}.empty{padding:25px 5px;color:var(--muted);font-size:12px;text-align:center}.day-panel .empty{text-align:left;padding:12px 0}.agenda{padding:20px 24px;max-height:680px;overflow:auto}.agenda-day{margin-bottom:25px}.agenda-day h3{font:20px Georgia,serif;color:var(--gold);margin:0 0 13px}.agenda-day .event-detail{display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px;align-items:center}.agenda-day .event-detail strong{margin:0}.agenda-day .event-detail small{grid-column:2}.reference{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px;color:var(--muted);font-size:12px}.reference h2{font-size:22px;color:var(--text);margin:0 0 12px}.reference p{margin:0 0 12px}footer{border-top:1px solid var(--line);padding:23px 4vw 30px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}dialog{background:#1a2130;color:var(--text);border:1px solid #4c4861;border-radius:12px;padding:24px;width:min(680px,95vw);max-height:92vh;overflow:auto;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#070a12cc;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog-heading h2{font-size:27px;margin:0}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;padding-top:20px;margin-top:15px;border-top:1px solid var(--line);font-size:12px}.dialog-actions .danger{margin-right:auto}.field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);margin-bottom:15px}.field input,.field textarea,.field select{color:var(--text);width:100%}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.date-fields{display:grid;grid-template-columns:80px 85px minmax(120px,1fr) 70px;gap:8px;margin-bottom:15px}.date-fields .field{margin:0}.date-label{font-size:11px;color:var(--gold);margin:18px 0 8px}.check-row{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:8px 0 18px}.check-row label{display:flex;align-items:center;gap:4px}.form-note{font-size:12px;color:var(--muted);margin:0 0 16px;line-height:1.8}.form-note a{color:var(--accent)}.form-error{color:#ffb7bc;font-size:12px;white-space:pre-wrap}.break-item{padding:12px;border:1px solid var(--line);border-radius:6px;margin:12px 0}.break-item .date-fields{margin-bottom:10px}.break-item button{font-size:10px}.break-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.break-toolbar h3{font-size:12px;font-weight:500;margin:0}.break-toolbar button{font-size:10px}.error-banner{padding:12px 16px;border:1px solid #b3717a;border-radius:7px;background:#3c2531;margin-bottom:20px;color:#ffd6d7;font-size:12px}.error-banner:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#ded0f3;color:#241833;padding:11px 20px;border-radius:7px;box-shadow:0 7px 30px #0008;z-index:20;font-size:12px;display:none;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.initial-loading{padding:60px;text-align:center;color:var(--muted)}@media(max-width:1200px){.intro{align-items:flex-start}.toolbar{max-width:250px;justify-content:flex-end}.calendar-controls{flex-wrap:wrap}.jump-controls{justify-content:flex-start}.calendar-layout{grid-template-columns:minmax(0,1fr) 235px}.day-cell,.blank-cell{min-height:100px}.calendar-controls{padding:20px}.filter-row{padding:14px 20px;gap:10px}.current-actions{max-width:290px;justify-content:flex-end}.day-panel{padding:22px 16px}.day-cell.current:after{content:''}.filter-row label{gap:5px}.filter-row select{max-width:125px}}@media(max-width:850px){main{padding:25px 20px 35px}.topbar{padding:18px 20px}.brand{font-size:18px}.topbar nav{gap:15px;font-size:11px}.intro{display:block}.toolbar{max-width:none;justify-content:flex-start;margin-top:20px}.current-card{padding:22px;display:block}.current-actions{max-width:none;justify-content:flex-start;margin-top:20px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.day-panel{border-left:0;border-top:1px solid var(--line);padding:23px;display:block}.day-panel #selected-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day-panel .event-detail{margin:0}.day-panel .wide{max-width:240px}.day-cell,.blank-cell{min-height:105px}.filter-row{flex-wrap:wrap}.event-search{margin-left:0}.view-toggle{margin-left:auto}.legend-rule{margin-left:0;width:100%}.reference{gap:25px}.month-title h2{font-size:27px}.calendar-controls{padding:18px}}@media(max-width:540px){.topbar{padding:16px}.brand{font-size:16px;letter-spacing:2px}.topbar nav a:first-child{display:none}.topbar nav{gap:14px;font-size:10px}main{padding:23px 12px}.intro{padding:0 5px}h1{font-size:33px}.intro .muted{font-size:12px}.toolbar button{font-size:11px;padding:8px 10px}.current-card{padding:20px 18px;margin-bottom:20px}.current-card h2{font-size:25px}.current-actions{gap:6px}.current-actions button{font-size:10px;padding:7px 9px}.month-title{gap:10px;width:100%;justify-content:space-between}.month-title h2{font-size:24px}.month-title button{padding:3px 10px}.jump-controls{gap:5px;flex-wrap:nowrap;width:100%;font-size:10px}.jump-controls select{padding:6px;max-width:118px;min-width:0}.jump-controls input{width:58px;padding:6px}.jump-controls button{font-size:10px;padding:6px 8px}#now{display:none}.calendar-controls{padding:15px 12px;gap:13px}.filter-row{padding:12px;gap:9px}.filter-row select{max-width:125px;font-size:10px}.event-search{flex:1;min-width:125px}.filter-row input{max-width:none;width:100%;font-size:11px}.view-toggle{margin-left:0}.week-labels span{font-size:9px;padding:9px 2px;letter-spacing:0}.day-cell,.blank-cell{min-height:76px;padding:5px 3px;gap:3px}.day-number{font-size:11px;padding:0 3px}.event-chip{font-size:0;height:5px;padding:0;border:0;border-radius:3px;background:currentColor;max-width:28px;margin-left:4px}.day-cell .event-chip:nth-of-type(n+4){display:none}.more{font-size:8px;padding-left:3px}.day-panel{padding:21px 17px}.day-panel #selected-events{grid-template-columns:minmax(0,1fr)}.day-panel h2{font-size:23px}.legend{padding:12px 15px;gap:10px;font-size:8px}.reference{grid-template-columns:minmax(0,1fr);gap:17px;padding:0 6px}.reference h2{font-size:22px}.agenda{padding:18px 12px}.agenda-day .event-detail{grid-template-columns:65px 1fr}footer{display:block;padding:20px;font-size:9px}footer span{display:block;margin-top:7px}dialog{padding:20px 16px;max-height:94vh}.dialog-heading h2{font-size:25px}.date-fields{grid-template-columns:65px 65px minmax(95px,1fr) 57px;gap:5px}.date-fields input,.date-fields select{padding:6px;font-size:12px}.field-row{gap:10px}.check-row{gap:8px}.dialog-actions{gap:6px}.dialog-actions button{font-size:11px;padding:8px 10px}.error-banner:not([hidden]){display:block}.error-banner button{margin-top:10px}.break-item{padding:8px}.break-item .date-fields{grid-template-columns:60px 57px minmax(80px,1fr) 50px}.break-item .date-fields input,.break-item .date-fields select{padding:5px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#selected-events{max-height:520px;overflow-y:auto;padding-right:3px}@media(max-width:850px){#selected-events{max-height:450px}}
