:root{--bg: #0b0e14;--surface: #12161f;--surface-2: #171d2a;--border: #232b3d;--text: #e8edf6;--muted: #9aa5b8;--accent: #4cc2ff;--accent-ink: #06202e;--accent-2: #a78bfa;--ok: #34d399;--warn: #fbbf24;--danger: #f87171;--radius: 12px;--radius-lg: 18px;--shadow: 0 10px 30px rgb(0 0 0 / .35);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(1200px 500px at 85% -10%,rgb(76 194 255 / .08),transparent 60%),radial-gradient(900px 420px at -10% 15%,rgb(167 139 250 / .07),transparent 55%),var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-text-size-adjust:100%}.wrap{max-width:56rem;margin-inline:auto;padding-inline:1.1rem}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#7dd3fc}.site-header{border-bottom:1px solid var(--border);background:#0b0e14d9;backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;gap:1rem;padding-block:.7rem}.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;color:var(--text);font-size:1.05rem}.brand svg{width:26px;height:26px;flex:none}.brand em{font-style:normal;color:var(--accent)}.site-nav{display:flex;gap:1rem;margin-left:auto;font-size:.95rem;flex-wrap:wrap;justify-content:flex-end}.site-nav a{color:var(--muted);text-decoration:none;padding:.35rem .2rem;border-radius:8px}.site-nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.site-nav a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);margin-top:4rem;padding-block:2rem 3rem;color:var(--muted);font-size:.9rem}.footer-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.site-footer h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0 0 .5rem}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}.disclaimer{margin-top:1.75rem;font-size:.82rem;opacity:.85}h1{font-size:clamp(1.7rem,4.5vw,2.5rem);line-height:1.15;letter-spacing:-.03em;margin:0 0 .6rem}h2{font-size:clamp(1.25rem,3vw,1.55rem);letter-spacing:-.02em;margin:2.5rem 0 .7rem}h3{font-size:1.08rem;margin:1.6rem 0 .4rem}p.lead{color:var(--muted);font-size:clamp(1rem,2.5vw,1.15rem);margin-top:0}.prose p,.prose ul,.prose ol{color:#c6cedd}.prose table{width:100%;border-collapse:collapse;font-size:.92rem}.prose th,.prose td{border:1px solid var(--border);padding:.45rem .65rem;text-align:left}.prose th{background:var(--surface-2)}.updated{color:var(--muted);font-size:.85rem;margin-bottom:1.5rem}.badge-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0 0}.badge{font-size:.78rem;font-weight:600;padding:.22rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.badge.free{color:var(--ok);border-color:#34d39959}.badge.private{color:var(--accent);border-color:#4cc2ff59}.card{background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.card+.card{margin-top:1rem}.field{display:grid;gap:.3rem;margin-block:.8rem}.field>label{font-size:.86rem;font-weight:600;color:var(--muted)}input[type=number],input[type=date],select{width:100%;min-height:46px;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--mono);font-size:1rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.grid-2{display:grid;gap:0 1rem;grid-template-columns:1fr}@media(min-width:560px){.grid-2{grid-template-columns:1fr 1fr}}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem .9rem;margin:1rem 0 0}legend{font-size:.86rem;font-weight:600;color:var(--muted);padding-inline:.35rem}.radio-row{display:flex;gap:1rem;flex-wrap:wrap}.radio-row label{display:flex;align-items:center;gap:.45rem;min-height:44px;cursor:pointer;font-size:.95rem}.radio-row input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.result-panel{margin-top:1.25rem;border-radius:var(--radius-lg);padding:1.15rem 1.25rem;background:linear-gradient(180deg,#4cc2ff1f,#4cc2ff0a);border:1px solid rgb(76 194 255 / .35)}.result-big{font-family:var(--mono);font-size:clamp(1.9rem,6vw,2.7rem);font-weight:700;letter-spacing:-.03em}.result-label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.09em}.breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem 1.2rem;margin-top:.9rem}.breakdown div b{display:block;font-family:var(--mono);font-weight:600}.breakdown div span{color:var(--muted);font-size:.8rem}.note{color:var(--muted);font-size:.84rem;margin-top:.8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cal-controls{display:flex;flex-wrap:wrap;gap:.9rem;align-items:flex-end}.cal-btn{min-height:46px;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer;font-size:.92rem;font-family:var(--font)}.cal-btn:hover{border-color:var(--accent)}.cal-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cal-btnrow{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.cal-status{margin:1.1rem 0 .6rem;color:var(--muted);font-size:.95rem}.cal-status b{color:var(--text);font-family:var(--mono);font-weight:600}.cal-months{display:grid;gap:1.3rem;grid-template-columns:1fr;min-height:300px}@media(min-width:720px){.cal-months{grid-template-columns:1fr 1fr;min-height:300px}}@media(max-width:719px){.cal-months{min-height:600px}}.cal-table{width:100%;border-collapse:collapse;table-layout:fixed}.cal-table caption{caption-side:top;text-align:left;font-weight:700;padding:.25rem 0 .4rem}.cal-table th{font-size:.72rem;color:var(--muted);font-weight:600;padding:.3rem 0;text-align:center}.cal-cell{border:1px solid var(--border);text-align:center;padding:.34rem 0;font-family:var(--mono);font-size:.82rem}.cal-cell.out{border-color:transparent;color:transparent}.cal-cell.D{background:#4cc2ff29}.cal-cell.N{background:#a78bfa38}.cal-cell.O{color:var(--muted)}.cal-cell.today{outline:2px solid var(--accent);outline-offset:-2px}.cal-legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:.9rem;font-size:.82rem;color:var(--muted)}.chip{display:inline-block;width:.85rem;height:.85rem;border-radius:4px;vertical-align:-1px;margin-right:.35rem}.chip.D{background:#4cc2ff73}.chip.N{background:#a78bfa80}.chip.O{background:var(--surface-2);border:1px solid var(--border)}[data-printable]{display:none}.roster-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.roster-grid{grid-template-columns:repeat(3,1fr)}}.status-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:.9rem 1rem;display:grid;gap:.15rem;align-content:start}.status-card .big{font-family:var(--mono);font-size:1.25rem;font-weight:700}.status-card .sub{color:var(--muted);font-size:.82rem}.status-card.accent{background:linear-gradient(180deg,#4cc2ff24,#4cc2ff0a);border-color:#4cc2ff66}.countdown{font-family:var(--mono);font-size:clamp(1.3rem,4.5vw,1.7rem);font-weight:700;letter-spacing:-.02em}.timeline{display:grid;gap:.75rem;margin-top:1.1rem;border-left:2px solid var(--border);padding-left:1.1rem}.timeline .t-item{display:grid;grid-template-columns:5.6rem 1fr;gap:.7rem;align-items:baseline}.timeline .t-item b{font-family:var(--mono);color:var(--accent);font-size:.92rem}.timeline .t-item span{display:block;color:var(--muted);font-size:.88rem}@media print{body{background:#fff!important;color:#000}.site-header,.site-footer,.no-print,.badge-row,.cal-controls,.cal-btnrow{display:none!important}[data-cal] .cal-months{display:none}[data-printable]{display:block!important}.print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.cal-table caption{color:#000}.cal-table th{color:#444}.cal-cell{border-color:#999;color:#000;background:transparent}.cal-cell.D{background:#d9ecfb}.cal-cell.N{background:#e6def7}.cal-cell.O{color:#777}a{color:#000;text-decoration:none}}
