:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0b1028;background:#faf9ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.app-shell{min-height:100dvh;background:radial-gradient(circle at 50% 23%,#f3f1ff 0,#faf9ff 40%,#fff 100%)}.topbar,main,.bottom-nav{width:min(100%,840px);margin-inline:auto}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:16px 26px 5px}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;letter-spacing:-.045em}.brand-dot{color:#0b1028}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#7664ec,#5139c7);color:#fff}.brand-mark svg{width:27px;height:27px;stroke-width:2.5}.top-actions{display:flex;align-items:center;gap:15px}.icon-button,.avatar{display:grid;place-items:center;border:0;background:none;padding:0;color:#5944c9}.icon-button{width:35px;height:35px;font-size:26px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#a99bf3,#816be5);color:#fff;font-size:26px}.avatar svg{stroke-width:2.5}main{padding:12px 26px 125px}.intro h1{margin:0 0 3px;font-size:clamp(27px,4.4vw,36px);line-height:1.18;letter-spacing:-.045em}.intro p{margin:0;color:#424b62;font-size:clamp(15px,2.6vw,19px);line-height:1.45}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:23px 0 29px}.stat{min-width:0;display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #d9dce9;border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 6px 20px #31315b0a}.stat-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:24px}.stat-icon.cyan{color:#0096aa;background:#d9f5f8}.stat-icon.violet{color:#6044d8;background:#eae5ff}.stat strong{display:block;font-size:26px;line-height:1.1;letter-spacing:-.04em}.stat small{display:block;margin-top:2px;color:#333c55;font-size:12px;white-space:nowrap}.study-grid{display:grid;gap:25px}.study-grid h2{margin:0 0 12px;font-size:23px;line-height:1.2;letter-spacing:-.035em}.choice-list{display:grid;gap:6px}.class-card,.topic-card{position:relative;display:flex;align-items:center;border:1.5px solid #cbd0df;border-radius:14px;background:rgba(255,255,255,.55);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.class-card:has(input:checked),.topic-card:has(input:checked){border-color:#7458eb;background:linear-gradient(110deg,#f0ecff,#f3f0ff);box-shadow:0 0 0 .5px #7458eb}.class-card input,.topic-card input{position:absolute;opacity:0;width:1px;height:1px}.class-card:focus-within,.topic-card:focus-within{outline:3px solid #b1a2ff;outline-offset:2px}.class-card{min-height:58px;gap:20px;padding:9px 17px 9px 23px;font-size:18px;font-weight:700;letter-spacing:-.025em}.class-card>svg{flex:none;width:30px;height:30px;color:#454f68}.class-card:has(input:checked)>svg,.topic-card:has(input:checked)>svg{color:#6045d2}.radio-indicator{flex:none;width:23px;height:23px;border:2px solid #aab1c3;border-radius:50%;background:#fff}.class-card .radio-indicator{margin-left:auto}.class-card:has(input:checked) .radio-indicator,.topic-card:has(input:checked) .radio-indicator{border-color:#6147d7;box-shadow:inset 0 0 0 3px #fff;background:#6147d7}.search-box{height:49px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1.5px solid #cbd0df;border-radius:13px;background:#f7f7fc;color:#5f6880}.search-box:focus-within{outline:3px solid #b1a2ff;outline-offset:2px}.search-box svg{width:22px;height:22px;flex:none}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#0b1028;font-size:16px}.search-box input::placeholder{color:#555e76;opacity:1}.topic-list{margin-top:12px}.topic-card{min-height:68px;gap:14px;padding:9px 15px}.topic-card>svg{flex:none;width:27px;height:27px;color:#48516b}.topic-copy{min-width:0;flex:1}.topic-copy strong{display:block;font-size:17px;line-height:1.15;letter-spacing:-.025em}.topic-copy small{display:block;color:#39435e;font-size:13px;line-height:1.4;margin-top:2px}.progress{flex:none;width:95px;text-align:right}.progress strong{display:block;font-size:15px;margin-bottom:7px}.track{display:block;height:7px;background:#d8d9e5;border-radius:8px;overflow:hidden}.track>span{display:block;height:100%;border-radius:inherit;background:#684bd8}.no-results{color:#555e76;padding:12px}.start-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:65px;margin-top:34px;border:0;border-radius:16px;background:linear-gradient(120deg,#6046cc,#6a50d8 52%,#5740c9);color:#fff;font-size:22px;font-weight:750;box-shadow:0 10px 24px #5641bf24}.start-button svg{width:28px;height:28px;stroke-width:2}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 20px max(10px,env(safe-area-inset-bottom));border-top:1px solid #e2e3ec;background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}.nav-item{display:grid;justify-items:center;gap:2px;padding:7px 3px;border:0;border-radius:14px;background:none;color:#424b63;font-size:14px}.nav-item svg{width:27px;height:27px}.nav-item.active{background:#eeeafd;color:#5942d0}.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));z-index:10;max-width:min(90vw,400px);padding:11px 16px;border-radius:12px;background:#161931;color:#fff;font-size:14px;text-align:center;box-shadow:0 8px 28px #1114;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media (max-width:600px){.topbar{height:78px;padding-inline:20px}.brand{font-size:23px}.brand-mark{width:40px;height:40px}main{padding:13px 20px 125px}.stats{gap:7px;margin:20px 0 28px}.stat{gap:5px;padding:9px 6px;border-radius:13px}.stat-icon{width:32px;height:32px;font-size:19px}.stat strong{font-size:22px}.stat small{font-size:10px;letter-spacing:-.035em}.study-grid h2{font-size:22px}.class-card{font-size:16px;gap:13px;padding-left:16px}.topic-card{gap:10px;padding-inline:10px}.topic-card>svg{width:24px;height:24px}.topic-copy strong{font-size:15px}.topic-copy small{font-size:12px}.progress{width:64px}.progress strong{font-size:13px}.bottom-nav{padding-inline:12px}}
@media (max-width:390px){.stats{gap:5px}.stat{flex-direction:column;text-align:center;gap:3px}.stat small{white-space:normal}.topic-card{gap:7px}.radio-indicator{width:20px;height:20px}.topic-copy strong{font-size:14px}.topic-copy small{font-size:11px}.progress{width:52px}}
@media (min-width:700px) and (orientation:landscape){.topbar,main,.bottom-nav{width:min(100%,1120px)}.topbar{height:66px;padding-block:8px}.brand{font-size:22px}.brand-mark{width:36px;height:36px}.intro h1{font-size:28px}.intro p{font-size:16px}.stats{margin:14px 0 20px}.study-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px}.study-grid h2{font-size:19px}.class-card{min-height:53px;font-size:16px}.topic-card{min-height:57px}.topic-copy strong{font-size:15px}.topic-copy small{font-size:12px}.search-box{height:43px}.start-button{min-height:52px;margin-top:20px;font-size:18px}.bottom-nav{padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}.nav-item{display:flex;align-items:center;justify-content:center;gap:7px;padding:5px}.nav-item svg{width:22px;height:22px}}
.class-select{position:relative;display:flex;align-items:center;min-height:58px;border:1.5px solid #7458eb;border-radius:14px;background:linear-gradient(110deg,#f0ecff,#f3f0ff);box-shadow:0 0 0 .5px #7458eb}.class-select:focus-within{outline:3px solid #b1a2ff;outline-offset:2px}.class-select-icon{position:absolute;left:23px;width:30px;height:30px;color:#6045d2;pointer-events:none}.class-select select{appearance:none;-webkit-appearance:none;width:100%;min-height:58px;padding:9px 48px 9px 73px;border:0;outline:0;background:transparent;color:#0b1028;font-size:18px;font-weight:700;letter-spacing:-.025em;cursor:pointer}.class-select-arrow{position:absolute;right:18px;width:23px;height:23px;color:#6045d2;pointer-events:none}@media (max-width:600px){.class-select-icon{left:16px}.class-select select{padding-left:59px;font-size:16px}}@media (min-width:700px) and (orientation:landscape){.class-select,.class-select select{min-height:53px}.class-select select{font-size:16px}}
.topic-list{height:216px;grid-auto-rows:68px;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8adeb transparent}.topic-list .topic-card{min-height:0}@media (min-width:700px) and (orientation:landscape){.topic-list{height:183px;grid-auto-rows:57px}}
.class-dropdown{position:relative;z-index:3}.class-trigger,.class-option{display:flex;align-items:center;width:100%;border:0;text-align:left;color:#0b1028;cursor:pointer}.class-trigger{min-height:58px;gap:20px;padding:9px 17px 9px 23px;border:1.5px solid #7458eb;border-radius:14px;background:linear-gradient(110deg,#f0ecff,#f3f0ff);box-shadow:0 0 0 .5px #7458eb;font-size:18px;font-weight:700;letter-spacing:-.025em}.class-trigger:focus-visible,.class-option:focus-visible{outline:3px solid #b1a2ff;outline-offset:2px}.class-trigger .class-icon{flex:none;width:30px;height:30px;color:#6045d2}.class-trigger span{flex:1}.class-chevron{flex:none;width:23px;height:23px;color:#6045d2;transition:transform .15s}.class-trigger[aria-expanded="true"] .class-chevron{transform:rotate(180deg)}.class-options{position:absolute;top:calc(100% + 7px);left:0;right:0;max-height:min(240px,45dvh);padding:6px;border:1px solid #d5d0eb;border-radius:15px;background:#fff;box-shadow:0 18px 45px #2520582e;overflow-y:auto}.class-option{min-height:48px;gap:17px;padding:8px 12px;border-radius:10px;background:#fff;font-size:16px;font-weight:650}.class-option:hover,.class-option[aria-selected="true"]{background:#f0ecff;color:#5942d0}.class-option>svg:first-child{flex:none;width:27px;height:27px}.class-option span{flex:1}.class-option .option-check{width:19px;height:19px;visibility:hidden}.class-option[aria-selected="true"] .option-check{visibility:visible}@media (max-width:600px){.class-trigger{gap:13px;padding-left:16px;font-size:16px}.class-option{gap:12px;font-size:15px}}@media (min-width:700px) and (orientation:landscape){.class-trigger{min-height:53px;font-size:16px}}
body{overflow:hidden}.topbar{position:fixed;top:0;left:50%;z-index:6;transform:translateX(-50%);height:calc(86px + env(safe-area-inset-top));padding-top:calc(16px + env(safe-area-inset-top));background:rgba(250,249,255,.96);backdrop-filter:blur(16px)}main{height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:calc(98px + env(safe-area-inset-top));scrollbar-width:thin}@media (max-width:600px){.topbar{height:calc(78px + env(safe-area-inset-top));padding-top:calc(16px + env(safe-area-inset-top))}main{padding-top:calc(91px + env(safe-area-inset-top))}}@media (min-width:700px) and (orientation:landscape){.topbar{height:calc(66px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}main{padding-top:calc(78px + env(safe-area-inset-top))}}
.topic-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.study-grid .topic-heading-row h2{margin:0}.search-toggle{display:grid;place-items:center;flex:none;width:35px;height:35px;padding:0;border:1.5px solid #d2cee8;border-radius:10px;background:#f6f4ff;color:#6045d2;font-size:21px}.search-toggle[aria-expanded="true"]{border-color:#7458eb;background:#eee9ff}.search-toggle:focus-visible{outline:3px solid #b1a2ff;outline-offset:2px}.topic-search-panel[hidden]+.topic-list{margin-top:0}
.topic-search-panel:not([hidden])+.topic-list{height:142px}@media (min-width:700px) and (orientation:landscape){.topic-search-panel:not([hidden])+.topic-list{height:120px}}
