:root{color-scheme:dark;--bg:#111014;--surface:#1b191f;--line:#343039;--text:#f8f6fc;--muted:#b2aabf;--purple:#a579ff;--accent:#824be8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #cfb8ff;outline-offset:5px}[hidden]{display:none!important}.header{border-bottom:1px solid #29252f}.header-inner{max-width:1180px;padding:25px 32px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:23px;font-weight:850;letter-spacing:-.9px;text-decoration:none;color:var(--text);white-space:nowrap}.brand span{color:var(--purple);margin-left:5px}.header-label{color:var(--muted);font-size:14px}main{max-width:1180px;margin:0 auto;padding:0 32px 72px}.welcome{padding:54px 0 43px;max-width:900px}.eyebrow{display:inline-block;font-size:12px;letter-spacing:1.9px;font-weight:700;color:var(--purple);margin-bottom:17px}h1{font-size:clamp(27px,3.5vw,43px);line-height:1.2;letter-spacing:-1.2px;font-weight:730;margin:0}h1 span{color:#bbb2c7;font-weight:450}.catalog-heading{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:27px}.catalog-heading h2{font-size:21px;letter-spacing:-.5px;margin:0}.catalog-heading>span{font-size:14px;color:var(--muted)}.category{margin-bottom:35px}.category-title{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#ccc5d6;margin:0 0 14px}.category-title:before{content:"";display:block;width:3px;height:16px;background:var(--purple);border-radius:2px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.course{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:21px;display:flex;flex-direction:column;min-height:192px;transition:border-color .16s,background .16s}.course:hover{border-color:#76628f;background:#211c29}.course.is-selected{border-color:var(--purple);background:#251d33;box-shadow:0 0 0 1px var(--purple)}.course-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.course-index{color:#8f829d;font-size:13px;letter-spacing:1px;font-variant-numeric:tabular-nums}.stock{color:#c8bdd8;font-size:14px;white-space:nowrap}.stock strong{color:#f2eaff;font-weight:650}.course h4{font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.25px;margin:16px 0 22px;overflow-wrap:anywhere}.choose{margin-top:auto;min-height:43px;width:100%;border:1px solid #4c3b65;background:#292032;color:#d6bdff;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:650;cursor:pointer;transition:background .16s,color .16s}.choose:hover{background:#392550;color:#fff}.choose[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.choose svg{width:16px;height:16px;flex-shrink:0}footer{max-width:1116px;margin:0 auto;padding:26px 0 36px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#9f95af;font-size:14px;gap:20px}.brand.small{font-size:17px}.selection{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;width:min(560px,calc(100% - 32px));padding:17px 20px;background:#2e2143;border:1px solid #8960bf;border-radius:12px;box-shadow:0 10px 40px #0008;display:flex;align-items:center;justify-content:space-between;gap:18px}.selection-label{display:block;font-size:12px;letter-spacing:1px;color:#cdb2f6;margin-bottom:4px}.selection strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}.selection button{cursor:pointer;flex-shrink:0;width:40px;height:40px;background:#ffffff0a;border:0;border-radius:6px;color:white;font-size:27px}body.has-selection{padding-bottom:90px}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{margin-left:32px;margin-right:32px}}@media(max-width:560px){.header-inner{padding:20px}.header-label{font-size:12px;max-width:115px;text-align:right}main{padding:0 20px 40px}.welcome{padding:38px 0 32px}h1{letter-spacing:-.6px}h1 br{display:none}h1 span{display:block;margin-top:7px}.catalog-heading h2{font-size:19px}.grid{grid-template-columns:1fr;gap:12px}.course{min-height:170px;padding:19px}.course h4{margin:12px 0 18px}.category{margin-bottom:28px}footer{margin:0 20px;align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.choice-note{color:var(--muted);font-size:16px;margin:22px 0 0}.choice-note strong{color:#ddd0f5}.choose:disabled{cursor:default}.course:not(.is-selected) .choose:disabled{background:#211e26;border-color:#39313f;color:#9d93a8}.course:not(.is-selected):has(.choose:disabled):hover{background:var(--surface);border-color:var(--line)}dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:#201a2a;color:var(--text);border:1px solid #685181;border-radius:16px;padding:28px}dialog::backdrop{background:#08060dcc}dialog h2{font-size:25px;line-height:1.25;margin:0 0 20px;letter-spacing:-.5px}.pending-name{font-size:19px;font-weight:650;color:#c3a0ff;overflow-wrap:anywhere}#confirm-description{color:var(--muted)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}.dialog-actions button{border-radius:8px;padding:12px 18px;min-height:46px;font-weight:650;cursor:pointer}.cancel{background:transparent;color:#eee4ff;border:1px solid #655872}.confirm{background:var(--accent);color:#fff;border:1px solid var(--accent)}@media(max-width:400px){.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
