@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,700&display=swap";:root{--brand: #176b54;--brand-soft: #176b5418;--accent: #d5a52e;--ink: #202320;--muted: #6f746f;--canvas: #f5f4ef;--surface: #ffffff;--line: #dfded7;--danger: #a63d40;--success: #176b54;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.45rem;font-family:Newsreader,Georgia,serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1}h2{font-size:1.35rem}.muted{color:var(--muted)}.eyebrow{margin-bottom:.5rem;color:var(--brand);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.skip-link{position:fixed;z-index:999;top:-100px;left:1rem;padding:.75rem;background:var(--ink);color:#fff}.skip-link:focus{top:1rem}.button,button.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border:1px solid var(--brand);border-radius:.65rem;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button.danger{border-color:var(--danger);background:#fff;color:var(--danger)}.button.ghost{border-color:transparent;background:transparent;color:var(--brand)}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{width:42px;min-width:42px;padding:0;font-size:1.3rem}.public-header{position:sticky;z-index:20;top:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0 max(1.25rem,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:900}.brand img{width:44px;height:44px;object-fit:contain;border-radius:10px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:900}.public-nav{display:flex;align-items:center;gap:.25rem}.public-nav a{padding:.65rem .8rem;border-radius:.5rem;text-decoration:none;font-weight:700}.public-nav a.active{background:var(--brand-soft);color:var(--brand)}.button.public-menu-button{display:none}.public-main{min-height:calc(100vh - 140px)}.hero{overflow:hidden;background:linear-gradient(130deg,var(--brand),color-mix(in srgb,var(--brand),#000 24%));color:#fff}.hero-inner{max-width:1180px;min-height:470px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:4rem;margin:auto;padding:5rem 1.25rem}.hero h1{max-width:760px;font-size:clamp(3.5rem,8vw,7rem)}.hero p{max-width:640px;color:#ffffffd1;font-size:1.15rem;line-height:1.7}.hero-symbol{width:280px;height:280px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.28);border-radius:50%;font-family:Newsreader,serif;font-size:8rem}.section{max-width:1180px;margin:auto;padding:4rem 1.25rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-head h1{font-size:clamp(2.4rem,5vw,4.8rem)}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:1.35rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 12px 35px #2023200a}.card h3{margin-bottom:.4rem}.course-card{display:grid;grid-template-columns:110px 1fr;gap:1.1rem}.course-time{padding-right:1rem;border-right:1px solid var(--line);color:var(--brand);font-weight:900}.badge{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:.72rem;font-weight:800}.badge.private{background:#f0ece1;color:#625635}.badge.warning{background:#fff1d8;color:#7c5411}.podium{display:flex;align-items:center;gap:1rem}.rank{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#1f1d18;font-weight:900}.article-content{max-width:760px;font-family:Georgia,serif;font-size:1.08rem;line-height:1.8}.article-content h2{margin-top:2rem;font-family:Manrope,sans-serif}.blocks-content figure{margin:2rem 0}.blocks-content figure img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:1rem}.blocks-content figcaption{margin-top:.5rem;color:var(--muted);font-family:Manrope,system-ui,sans-serif;font-size:.9rem}.blocks-content hr{margin:2.5rem 0;border:0;border-top:1px solid var(--line)}.video-block{margin:1.5rem 0}.public-footer{padding:2rem 1.25rem;border-top:1px solid var(--line);background:#fff;text-align:center;color:var(--muted)}.app-shell{min-height:100vh}.app-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;padding:1rem;background:#1f2421;color:#fff}.app-sidebar .brand{margin-bottom:1.5rem;padding:.4rem}.app-sidebar nav{display:grid;gap:.2rem;overflow-y:auto}.nav-label{margin:1rem .65rem .35rem;color:#9fa7a1;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.app-sidebar nav a{padding:.7rem .75rem;border-radius:.55rem;color:#dfe4e0;text-decoration:none;font-size:.88rem;font-weight:700}.app-sidebar nav a.active{background:var(--brand);color:#fff}.sidebar-account{margin-top:auto;padding:1rem .65rem 0;border-top:1px solid #343a36}.sidebar-account small,.sidebar-account strong{display:block}.app-content{padding-left:248px}.app-topbar{position:sticky;z-index:15;top:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;border-bottom:1px solid var(--line);background:#fffffff0}.button.app-menu-button{display:none}.app-main{max-width:1440px;margin:auto;padding:2rem}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-title h1{font-size:clamp(2.4rem,5vw,4rem)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.5rem}.stat strong{display:block;color:var(--brand);font-family:Newsreader,serif;font-size:2.2rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.toolbar input{flex:1 1 280px}input,select,textarea{width:100%;min-height:42px;padding:.65rem .75rem;border:1px solid #c9cbc6;border-radius:.55rem;background:#fff;color:var(--ink)}textarea{min-height:110px;resize:vertical}label{display:grid;gap:.35rem;color:#444944;font-size:.82rem;font-weight:750}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .wide{grid-column:1 / -1}.checkbox{display:flex;align-items:center;gap:.6rem}.checkbox input{width:auto;min-height:auto}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:.8rem;background:#fff}.page-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.page-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:2rem}.builder-blocks{display:grid;gap:.85rem}.builder-block{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fbfcfa}.builder-block-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.builder-block-head .button{min-height:34px;padding:.35rem .55rem;font-size:.75rem}table{width:100%;border-collapse:collapse}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left;font-size:.84rem}th{color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}tr:last-child td{border-bottom:0}.actions{display:flex;gap:.35rem}.actions .button{min-height:34px;padding:.4rem .6rem;font-size:.75rem}.empty{padding:3rem;text-align:center;color:var(--muted)}.drawer-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#1214127a}.drawer{width:min(620px,100%);height:100%;overflow-y:auto;padding:1.5rem;background:#fff;box-shadow:-20px 0 60px #00000026}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.drawer-head h2{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.5rem}.notice{margin-bottom:1rem;padding:.8rem 1rem;border-radius:.65rem;background:var(--brand-soft);color:var(--brand);font-weight:700}.error{background:#fbe7e7;color:var(--danger)}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.scrim{display:none}.color-preview{height:90px;border-radius:.8rem;background:linear-gradient(135deg,var(--brand),var(--accent))}@media(max-width:980px){.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.public-header{min-height:62px;padding:.55rem 1rem}.button.public-menu-button{display:inline-flex}.public-nav{position:fixed;inset:62px 0 auto;display:none;padding:.75rem;border-bottom:1px solid var(--line);background:#fff}.public-nav.open{display:grid}.hero-inner{min-height:420px;grid-template-columns:1fr;padding-block:3.5rem}.hero-symbol{display:none}.grid.two,.grid.three,.page-cards,.course-card{grid-template-columns:1fr}.course-time{padding:0 0 .75rem;border:0;border-bottom:1px solid var(--line)}.section{padding-block:2.5rem}.app-sidebar{transform:translate(-102%);transition:transform .2s ease}.app-sidebar.open{transform:translate(0)}.scrim.open{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;display:block;background:#12141273}.app-content{padding-left:0}.button.app-menu-button{display:inline-flex}.app-topbar{padding:0 .8rem}.app-main{padding:1.25rem .85rem 2rem}.page-title,.builder-head,.builder-block-head{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.table-wrap{overflow:visible;border:0;background:transparent}table,tbody{display:block}thead{display:none}tr{display:grid;gap:.55rem;margin-bottom:.75rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}td{display:flex;justify-content:space-between;gap:1rem;padding:0;border:0}td:before{content:attr(data-label);color:var(--muted);font-size:.72rem}td.actions{justify-content:flex-end;padding-top:.5rem}td.actions:before{display:none}}
