@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=DM+Mono:wght@400;500&display=swap";
:root{--bg:#191611;--panel:#242019;--ink:#f7efe0;--muted:#bfb3a0;--line:#f5e8d1;--shadow:#0c0a07;--yellow:#e8b537;--pink:#d77aa9;--blue:#62afd4;--orange:#ef774c;--green:#78b894;--purple:#a897dc;--paper:#f7f1e6}:root[data-theme=light]{--bg:#f7f1e6;--panel:#fffaf1;--ink:#29231c;--muted:#6e6256;--line:#29231c;--shadow:#b9a992;--paper:#191611}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 52px}.masthead,.section-heading,.calendar-controls,.agenda-toolbar,.brand,.year-jumps,.calendar-legend,.modal-actions{align-items:center;display:flex}.masthead{justify-content:space-between;gap:20px;margin-bottom:30px}.brand{gap:11px}.brand-mark{border:2px solid var(--line);width:46px;height:46px;box-shadow:3px 3px 0 var(--shadow);border-radius:50%;display:block}h1,h2,h3,.next-title,strong{font-family:"Baloo 2",Arial Rounded MT Bold,system-ui,sans-serif}h1{letter-spacing:-.04em;margin:1px 0 0;font-size:clamp(1.7rem,4vw,2.55rem);font-weight:800;line-height:1}h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.05}h3{margin:2px 0;font-size:1.15rem;line-height:1.1}.eyebrow,.kind-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 7px;font:500 .68rem/1.2 DM Mono,monospace}.icon-button,.calendar-controls button,.year-jumps button,.reset-button,.segmented button,.filters button{border:1.5px solid var(--line);box-shadow:3px 3px 0 var(--shadow);background:0 0;border-radius:999px}.icon-button{width:44px;height:44px;font-size:1.3rem}.intro-grid{grid-template-columns:2fr 1fr 1fr;gap:15px;margin-bottom:34px;display:grid}.hero-card,.metric-card,.calendar-section,.agenda-section,.agenda-card,.event-modal,.confirm-modal{border:1.5px solid var(--line);box-shadow:5px 5px 0 var(--shadow);border-radius:17px}.hero-card{background:var(--panel);min-height:190px;padding:24px;position:relative;overflow:hidden}.dot-grid{background-image:radial-gradient(color-mix(in srgb,var(--line) 20%,transparent) 1px,transparent 1px);background-size:14px 14px}.hero-card h2{margin-bottom:13px}.next-title{margin:0 0 5px;font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.date-line,.time-line{color:var(--muted);margin:2px 0}.time-line{max-width:580px;font:500 .75rem/1.5 DM Mono,monospace}.small-action{background:var(--yellow);color:#241b0d;border:1.5px solid var(--line);box-shadow:3px 3px 0 var(--shadow);border-radius:999px;margin-top:15px;padding:7px 12px;font-weight:700}.metric-card{color:#201b14;flex-direction:column;justify-content:center;min-height:190px;padding:20px;display:flex}.metric-card span{text-transform:uppercase;letter-spacing:.06em;font:500 .66rem/1.2 DM Mono,monospace}.metric-card strong{margin:8px 0;font-size:3rem;font-weight:800;line-height:1}.metric-card small{font-size:.77rem;font-weight:650;line-height:1.25}.yellow{background:var(--yellow)}.pink{background:var(--pink)}.blue{background:var(--blue)}.calendar-section,.agenda-section{background:var(--panel);margin-bottom:28px;padding:24px}.section-heading{justify-content:space-between;gap:16px;margin-bottom:17px}.year-jumps{gap:8px}.year-jumps button,.reset-button{padding:8px 12px;font-size:.78rem}.calendar-controls{gap:9px;margin-bottom:15px}.calendar-controls button{padding:8px 12px;font-size:.8rem;font-weight:700}.calendar-controls .download-all{background:var(--yellow);color:#251b09;margin-left:auto}.calendar-legend{flex-wrap:wrap;gap:10px 14px;margin-bottom:15px;font-size:.72rem}.legend{align-items:center;gap:5px;display:inline-flex}.legend i{border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);border-radius:3px;width:10px;height:10px;display:inline-block}.legend.module i{background:var(--yellow)}.legend.supervision i{background:var(--pink)}.legend.class i{background:var(--blue)}.legend.retreat i{background:var(--orange)}.legend.evaluation i{background:var(--green)}.legend.deadline i{background:var(--purple)}.legend.research i{background:#b1aa9a}.calendar{border:1.5px solid var(--line);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.weekday{text-transform:uppercase;color:var(--muted);text-align:center;border-bottom:1px solid var(--line);padding:8px 6px;font:500 .67rem DM Mono,monospace}.day-cell{border-right:1px solid color-mix(in srgb,var(--line) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent);background:color-mix(in srgb,var(--panel) 92%,var(--bg));min-height:112px;padding:6px;position:relative}.day-cell:nth-child(7n){border-right:0}.day-cell.empty{background:color-mix(in srgb,var(--bg) 40%,var(--panel))}.day-cell.today .day-number{background:var(--ink);color:var(--panel)}.day-number{border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;font:500 .72rem DM Mono,monospace;display:inline-flex}.event-chips{flex-direction:column;gap:3px;margin-top:4px;display:flex}.event-chip{border:1px solid color-mix(in srgb,var(--ink) 55%,transparent);text-align:left;white-space:nowrap;text-overflow:ellipsis;color:#29231c;border-radius:4px;padding:2px 4px;font-size:.65rem;font-weight:750;overflow:hidden}.event-chip.module{background:var(--yellow)}.event-chip.supervision{background:var(--pink)}.event-chip.class{background:var(--blue)}.event-chip.retreat{background:var(--orange)}.event-chip.evaluation{background:var(--green)}.event-chip.deadline{background:var(--purple)}.event-chip.is-complete{opacity:.65;text-decoration:line-through}.more-events{color:var(--muted);font-size:.65rem}.agenda-toolbar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.segmented,.filters{flex-wrap:wrap;gap:7px;display:flex}.segmented button,.filters button{padding:7px 10px;font-size:.72rem}.segmented button.active,.filters button.active{background:var(--ink);color:var(--panel)}.filters button{box-shadow:none}.agenda-list{gap:12px;display:grid}.agenda-card{background:color-mix(in srgb,var(--panel) 90%,var(--bg));border-left:7px solid var(--yellow);grid-template-columns:80px 1fr auto;align-items:center;gap:16px;padding:14px;display:grid}.agenda-card.supervision{border-left-color:var(--pink)}.agenda-card.class{border-left-color:var(--blue)}.agenda-card.retreat{border-left-color:var(--orange)}.agenda-card.evaluation{border-left-color:var(--green)}.agenda-card.deadline{border-left-color:var(--purple)}.agenda-card.research{border-left-color:#b1aa9a}.agenda-date b{font-family:DM Mono,monospace;font-size:.85rem;display:block}.agenda-date span,.subtle{color:var(--muted);font-size:.78rem}.agenda-content>p{margin:5px 0;font-size:.86rem}.agenda-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.agenda-actions button,.modal-actions button,.confirm-modal button{border:1.5px solid var(--line);box-shadow:2px 2px 0 var(--shadow);background:0 0;border-radius:999px;padding:7px 9px;font-size:.73rem;font-weight:700}.agenda-actions .done,.modal-actions .done{background:var(--green);color:#18281e}.empty-agenda{text-align:center;border:1px dashed var(--muted);color:var(--muted);border-radius:12px;padding:32px}footer{color:var(--muted);text-align:center;padding:4px 12px;font-size:.78rem}.modal-backdrop{z-index:10;background:#0a0805a1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.event-modal,.confirm-modal{background:var(--panel);width:min(580px,100%);padding:25px;position:relative}.event-modal.module{border-top:8px solid var(--yellow)}.event-modal.supervision{border-top:8px solid var(--pink)}.event-modal.class{border-top:8px solid var(--blue)}.event-modal.retreat{border-top:8px solid var(--orange)}.event-modal.evaluation{border-top:8px solid var(--green)}.event-modal.deadline{border-top:8px solid var(--purple)}.close{background:0 0;border:0;font-size:2rem;line-height:1;position:absolute;top:13px;right:16px}.event-modal h2,.confirm-modal h2{margin-bottom:20px;padding-right:28px}.event-modal dl{gap:12px;margin:0;display:grid}.event-modal dl div{grid-template-columns:105px 1fr;gap:10px;display:grid}.event-modal dt{text-transform:uppercase;color:var(--muted);font:500 .68rem DM Mono,monospace}.event-modal dd{margin:0;line-height:1.4}.event-modal ul{padding-left:20px;line-height:1.45}.modal-actions{flex-wrap:wrap;gap:9px;margin-top:22px}.confirm-modal>p{color:var(--muted);line-height:1.5}.confirm-modal>div{gap:9px;margin-top:20px;display:flex}.confirm-modal .danger{background:var(--orange);color:#27130b}@media (max-width:800px){.intro-grid{grid-template-columns:1fr 1fr}.hero-card{grid-column:1/-1}.agenda-toolbar{flex-direction:column}.filters{width:100%}.calendar{overflow:hidden}.day-cell{min-height:96px}.event-chip{padding:2px 3px;font-size:.56rem}.weekday{font-size:.58rem}.agenda-card{grid-template-columns:62px 1fr}.agenda-actions{grid-column:2;justify-content:flex-start}}@media (max-width:540px){.app-shell{width:min(100% - 20px,1120px);padding-top:17px}.masthead{align-items:flex-start}.brand-mark{width:38px;height:38px}.intro-grid{grid-template-columns:1fr}.metric-card{min-height:130px}.calendar-section,.agenda-section{padding:14px}.section-heading{flex-direction:column;align-items:flex-start}.calendar-controls{flex-wrap:wrap}.calendar-controls .download-all{width:100%;margin-left:0}.day-cell{min-height:78px;padding:3px}.day-number{width:19px;height:19px;font-size:.62rem}.event-chips{gap:2px;margin-top:2px}.event-chip{border-radius:50%;align-self:flex-start;width:9px;height:9px;padding:0;font-size:0}.event-chip:after{content:""}.more-events{font-size:.55rem}.agenda-card{gap:9px;padding:12px}.agenda-actions button{font-size:.67rem}.event-modal{padding:20px}.event-modal dl div{grid-template-columns:1fr;gap:3px}.year-jumps{width:100%}.year-jumps button{flex:1}.calendar-legend{gap:7px 10px}.legend{font-size:.65rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
