:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}.culture{--paper:#f7ebdc;--panel:#fffbf5;--ink:#31251f;--accent:#9e392b;--rule:#d9bcab;--muted:#65544a}.campus{--paper:#eaf0fd;--panel:#f9fbff;--ink:#192740;--accent:#2559a0;--rule:#bccdea;--muted:#455a7c}header,footer,main{max-width:1120px;margin:auto;padding-inline:2rem}header,footer{display:flex;justify-content:space-between;gap:1rem;padding-block:1.2rem;border-bottom:1px solid var(--rule);font-size:.85rem}header a{color:inherit}header a:first-child{text-decoration:none;font-weight:820;letter-spacing:.1em}.intro{padding:3.5rem 0 1.75rem;max-width:770px}.tag{font:700 .82rem ui-monospace,monospace;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.intro p:last-child,.guide p,.hint,.status{color:var(--muted)}h1,h2,p{margin-top:0}h1{font-size:clamp(2.9rem,8vw,6rem);line-height:.95;letter-spacing:-.08em;margin-bottom:1.1rem}h2{font-size:1.45rem;letter-spacing:-.035em}.panel{background:var(--panel);border:1px solid var(--rule);padding:1.35rem;border-radius:16px;min-width:0}.layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.toolbar,.dates{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.toolbar h2{margin:0}.dates>label{min-width:0;flex:1}label{display:block;font-weight:650;font-size:.9rem}input:not([type=checkbox]),textarea{background:white;color:inherit;font:inherit;width:100%;min-width:0;border:1px solid var(--rule);border-radius:7px;padding:.55rem;display:block;margin-top:.3rem}textarea{resize:vertical}button{cursor:pointer;background:var(--accent);color:white;font:700 .86rem system-ui,sans-serif;border:1px solid var(--accent);padding:.6rem .8rem;border-radius:7px}.outline{background:transparent;color:var(--accent)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.table-wrap{overflow-x:auto}.calendar{max-height:460px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.91rem}th,td{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--rule)}th{color:var(--muted)}td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}td input.minutes{min-width:70px}td input.name,td input.owner{min-width:145px}td input{margin:0!important}.status{margin:.8rem 0 0;font-size:.9rem}.calendar+ .status{margin-top:0}fieldset{border:1px solid var(--rule);border-radius:8px;margin:0 0 1rem;padding:.7rem}legend{font-weight:680;font-size:.9rem}.days{display:flex;flex-wrap:wrap;gap:.7rem}.days label{font-size:.84rem}.hint{font-size:.84rem;margin-top:.4rem}.guide{margin:2.5rem 0;padding-top:1.5rem;border-top:1px solid var(--rule);max-width:70ch}footer{border-bottom:0;border-top:1px solid var(--rule);color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:720px){header,footer,main{padding-inline:1rem}.intro{padding-top:2.3rem}.layout{grid-template-columns:1fr}.toolbar{align-items:start;flex-wrap:wrap}.panel{padding:1rem}}
