:root{color-scheme:light;--admin-bg: #f5f2eb;--panel: rgba(255, 255, 255, .88);--text: #171717;--muted: #6b7280;--border: rgba(31, 41, 55, .14);--accent: #111827;--shadow: 0 24px 80px rgba(17, 24, 39, .16);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text)}button,input,select,textarea{font:inherit}a{color:inherit}.public-page{min-height:100vh;padding:clamp(14px,4vw,36px);color:var(--status-text);background:radial-gradient(circle at 20% 12%,rgba(255,255,255,.28),transparent 30%),linear-gradient(145deg,#ffffff24,#0000002e),var(--status-bg);transition:background .22s ease,color .22s ease}.ladder-page{display:grid;place-items:center}.site-nav{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;z-index:10;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--border);border-radius:999px;color:var(--text);background:#ffffffe6;box-shadow:0 8px 28px #1118271f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.site-nav a{border-radius:999px;padding:8px 13px;text-decoration:none;font-size:.84rem;font-weight:800;white-space:nowrap;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.site-nav a[aria-current=page]{color:#fff;background:var(--accent);box-shadow:0 4px 12px #1118272e}.site-nav a:hover:not([aria-current=page]){background:#11182712}.site-nav .admin-link{border-left:1px solid var(--border);border-radius:0 999px 999px 0;opacity:.76}.site-nav .admin-link[aria-current=page]{opacity:1}.secondary-link{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;padding:9px 14px;text-decoration:none;font-weight:800;opacity:.9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ladder-shell{width:min(920px,100%);min-height:min(860px,calc(100vh - 28px));display:grid;grid-template-rows:auto 1fr auto;gap:clamp(14px,2.5vh,26px);align-items:center;text-align:center;text-shadow:0 8px 32px rgba(0,0,0,.2)}.student-header{padding-top:clamp(18px,3.5vh,36px)}.student-header h1{margin:0;font-size:clamp(3.3rem,18vw,11rem);line-height:.86;letter-spacing:-.08em}.color-ladder{width:100%;display:grid;gap:clamp(10px,1.8vh,16px);align-self:start;align-content:center;margin-top:clamp(42px,7vh,78px);perspective:900px}.ladder-rung{width:min(760px,100%);margin:0 auto;border:1px solid rgba(255,255,255,.34);border-radius:clamp(22px,5vw,42px);color:var(--rung-text);background:linear-gradient(135deg,#ffffff2e,#00000029),var(--rung-bg);box-shadow:0 18px 58px #0000003d;transform-origin:center;transition:transform .18s ease,opacity .18s ease,filter .18s ease}.ladder-rung.current{padding:clamp(24px,5vh,54px) clamp(18px,6vw,52px);transform:scale(1);z-index:2}.ladder-rung.subdued{padding:clamp(13px,2.5vh,24px) clamp(16px,5vw,34px);opacity:.62;filter:saturate(.78) brightness(.92)}.ladder-rung.subdued[data-offset="-1"],.ladder-rung.subdued[data-offset="1"]{width:min(680px,92%);opacity:.74;transform:scale(.94)}.ladder-rung.subdued[data-offset="-2"],.ladder-rung.subdued[data-offset="2"]{width:min(590px,82%);opacity:.54;transform:scale(.86)}.rung-meta{display:flex;justify-content:center;gap:10px;align-items:center;margin-bottom:clamp(5px,1vh,10px);text-transform:uppercase;letter-spacing:.16em;font-size:clamp(.68rem,1.5vw,.84rem);font-weight:900;opacity:.82}.rung-meta strong{border-radius:999px;padding:3px 8px;background:#ffffff3d}.rung-name{font-size:clamp(1.7rem,8vw,7.4rem);font-weight:950;line-height:.88;letter-spacing:-.06em}.current .rung-name{font-size:clamp(4rem,22vw,14rem)}.rung-description{margin:clamp(12px,2vh,18px) 0 0;font-size:clamp(1rem,2.4vw,1.5rem);font-weight:700;opacity:.82}.status-display{text-align:center;text-shadow:0 8px 32px rgba(0,0,0,.22)}.label,.eyebrow,.card-label{margin:0 0 12px;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:800}.status-display h1{margin:0;font-size:clamp(4rem,17vw,15rem);line-height:.88}.color-name{margin-top:22px;font-size:clamp(2.4rem,9vw,8rem);font-weight:900;line-height:.95}.description{font-size:clamp(1.1rem,2vw,1.7rem)}.updated{margin:0;font-weight:800;opacity:.84}.inline-error{display:inline-grid;gap:10px;justify-items:center}.inline-error button{border:0;border-radius:999px;padding:10px 16px;cursor:pointer}@media(min-width:900px){.ladder-shell{min-height:min(820px,calc(100vh - 72px))}}@media(max-width:520px){.public-page{padding:10px}.site-nav{top:max(7px,env(safe-area-inset-top))}.site-nav a{padding:7px 10px;font-size:.78rem}.ladder-shell{min-height:calc(100vh - 20px);gap:6px}.student-header h1{font-size:clamp(2.5rem,16vw,4.4rem)}.student-header{padding-top:max(52px,calc(env(safe-area-inset-top) + 44px))}.color-ladder{gap:6px}.ladder-rung.current{padding:16px clamp(14px,5vw,28px)}.ladder-rung.subdued{padding:8px clamp(12px,4vw,24px)}.rung-name{font-size:clamp(1.2rem,6vw,2.1rem);line-height:.92}.current .rung-name{font-size:clamp(3rem,17vw,5.2rem)}}.admin-page{min-height:100vh;padding:44px 20px;background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 32%),linear-gradient(180deg,#ffffff 0%,var(--admin-bg) 100%)}.panel{width:min(1060px,100%);margin:0 auto;padding:30px;border:1px solid var(--border);border-radius:28px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.narrow{width:min(720px,100%)}.auth-panel{width:min(760px,100%)}.topbar{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2.2rem,5vw,4rem);line-height:.95}code{border-radius:8px;padding:2px 6px;background:#11182714}.muted{color:var(--muted)}.small{font-size:.9rem}.admin-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.card{padding:22px;border:1px solid var(--border);border-radius:22px;background:#ffffffbd}.mini-status{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;border-radius:24px;color:var(--status-text);background:var(--status-bg)}.mini-status strong{font-size:clamp(2.6rem,7vw,5.5rem);line-height:.9}.mini-status span{font-size:clamp(1.8rem,4vw,3.3rem);font-weight:900}.field{display:grid;gap:8px;font-weight:800}select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#fff}.color-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.swatch{border:2px solid transparent;border-radius:999px;padding:10px 14px 10px 36px;background:linear-gradient(90deg,var(--swatch) 0 28px,#fff 28px);cursor:pointer}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px #1118271f}.primary{border:0;border-radius:999px;padding:13px 20px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.primary:hover:not(:disabled){background:#263248}.primary:disabled{cursor:not-allowed;opacity:.55}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.error{margin:18px 0 0;color:#b91c1c;font-weight:800}@media(max-width:760px){.admin-page{padding:24px 12px}.panel{padding:20px;border-radius:22px}.topbar,.footer-row{flex-direction:column;align-items:stretch}.admin-grid{grid-template-columns:1fr}}.schedule-page{min-height:100vh;padding:clamp(92px,12vw,126px) 20px 52px;background:radial-gradient(circle at 20% 8%,rgba(6,182,212,.14),transparent 30%),linear-gradient(180deg,#ffffff 0%,var(--admin-bg) 100%)}.schedule-page .site-nav{color:var(--text);border-color:var(--border);background:#ffffffe6}.schedule-page .site-nav .admin-link{border-left-color:var(--border)}.schedule-shell{width:min(860px,100%);margin:0 auto;padding:clamp(24px,5vw,54px);border:1px solid var(--border);border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.schedule-shell>h1{max-width:14ch}.markdown-body{margin:30px 0;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:1.5em 0 .55em;line-height:1.15}.markdown-body h1{font-size:2rem}.markdown-body h2{font-size:1.6rem}.markdown-body h3{font-size:1.3rem}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:0 0 1em}.markdown-body blockquote{margin:1.25em 0;padding:.2em 0 .2em 1.2em;border-left:4px solid #06b6d4;color:var(--muted)}.markdown-body blockquote p{margin:.4em 0}.markdown-body pre{overflow-x:auto;border-radius:14px;padding:16px;color:#f9fafb;background:#111827}.markdown-body hr{margin:2em 0;border:0;border-top:1px solid var(--border)}.markdown-body a{color:#0369a1;font-weight:700}.markdown-body input[type=checkbox]{margin:0 .5em 0 0;accent-color:var(--accent)}.markdown-body .contains-task-list{padding-left:0;list-style:none}.schedule-updated{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--border)}.empty-state-copy{max-width:40ch;margin-bottom:0;line-height:1.6}.admin-section+.admin-section{margin-top:42px;padding-top:36px;border-top:1px solid var(--border)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-heading h2{margin-bottom:4px;font-size:clamp(1.7rem,4vw,2.6rem)}.section-heading p:last-child{margin-bottom:0}.schedule-admin-grid{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:18px}.schedule-entry-list{display:grid;align-content:start;gap:8px}.schedule-entry{display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;border:1px solid var(--border);border-radius:16px;padding:13px 14px;text-align:left;color:var(--text);background:#ffffff94;cursor:pointer}.schedule-entry.selected{border-color:var(--accent);background:#1118270e;box-shadow:inset 3px 0 0 var(--accent),0 7px 22px #11182717}.schedule-entry span{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.schedule-entry strong{color:#047857;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.schedule-entry small{color:var(--muted)}.schedule-editor form{display:grid;gap:16px}.field input,.field textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;color:var(--text);background:#fff}.field textarea{min-height:230px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;line-height:1.5}.editor-actions,.footer-links{display:flex;flex-wrap:wrap;gap:10px}.secondary-button{border:1px solid var(--border);border-radius:999px;padding:11px 16px;color:var(--text);background:#fff;font-weight:800;cursor:pointer}.secondary-button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:760px){.schedule-admin-grid{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}}:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(3,105,161,.32);outline-offset:3px}@media(min-width:761px){.ladder-shell{width:min(1240px,100%);min-height:min(820px,calc(100vh - 72px));grid-template-columns:minmax(230px,.72fr) minmax(440px,1.28fr);grid-template-rows:1fr;gap:clamp(42px,6vw,96px);text-align:left}.student-header{align-self:center;min-width:0;padding:0}.student-header h1{font-size:clamp(5.5rem,9.5vw,9rem);line-height:.84}.color-ladder{align-self:center;gap:clamp(7px,1.1vh,11px);margin-top:0}.ladder-rung.current{padding:clamp(16px,2.2vh,28px) clamp(24px,4vw,48px)}.ladder-rung.subdued{padding:clamp(6px,1vh,10px) clamp(18px,3vw,32px)}.rung-name{font-size:clamp(1.35rem,2.2vw,2rem);line-height:.94;text-align:center}.current .rung-name{font-size:clamp(4rem,7vw,6.75rem)}}@media(min-width:761px)and (max-height:620px){.public-page{padding-top:28px;padding-bottom:18px}.ladder-shell{min-height:calc(100vh - 46px)}.color-ladder{gap:5px}.ladder-rung.current{padding-top:10px;padding-bottom:10px}.ladder-rung.subdued{padding-top:4px;padding-bottom:4px}.current .rung-name{font-size:clamp(3.1rem,8vh,4.6rem)}.rung-name{font-size:clamp(1rem,3.2vh,1.35rem)}}.admin-page{padding:104px clamp(20px,3vw,44px) 56px}.admin-page .site-nav{color:var(--text);border-color:var(--border);background:#ffffffd6}.admin-page .site-nav .admin-link{border-left-color:var(--border)}.admin-page .site-nav a[aria-current=page]{color:#fff;background:var(--accent)}.admin-panel{width:min(1240px,100%)}.auth-panel{width:min(960px,100%);display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:clamp(32px,6vw,72px);align-items:center}.auth-copy h1{max-width:10ch}.auth-panel>:last-child{justify-self:end;max-width:100%}.topbar h1{max-width:12ch}.admin-section{min-width:0}.admin-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:24px}.card{min-width:0}.color-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.swatch{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.swatch:hover:not(:disabled),.schedule-entry:hover,.secondary-button:hover:not(:disabled){border-color:#11182757}.schedule-entry-list,.schedule-editor{min-width:0}.field input:focus,.field textarea:focus,select:focus{border-color:#0369a1b3;box-shadow:0 0 0 4px #06b6d41a}.schedule-shell{width:min(960px,100%)}.schedule-shell>h1{max-width:18ch;text-wrap:balance}.markdown-body{min-width:0;max-width:100%;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body li+li{margin-top:.35em}.markdown-body code{overflow-wrap:anywhere}.markdown-body pre code{padding:0;background:transparent;overflow-wrap:normal}.markdown-body img{display:block;max-width:100%;height:auto;border-radius:14px}.markdown-body table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;white-space:nowrap}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:9px 12px;text-align:left}.markdown-body th{background:#1118270e}@media(min-width:1000px){.schedule-entry-list{position:sticky;top:92px;max-height:min(640px,calc(100vh - 120px));overflow-y:auto;padding-right:2px}}@media(min-width:761px)and (max-width:1100px){.panel{padding:26px}.admin-grid{grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr)}.schedule-admin-grid{grid-template-columns:minmax(190px,.62fr) minmax(0,1.38fr)}.mini-status{min-height:220px}}@media(max-width:760px){.admin-page{padding:76px 12px 24px}.auth-panel{display:block}.auth-copy{margin-bottom:24px}.auth-copy h1{max-width:none}.auth-panel>:last-child{max-width:100%}.admin-grid{grid-template-columns:1fr;gap:18px}.color-list{grid-template-columns:1fr}}
