:root{--bg:#f7f5f1;--paper:#fbfaf7;--card:#fffefb;--ink:#1e1b16;--ink2:#5c554b;--muted:#8c8478;--line:#e5dfd4;--line2:#d4ccbd;--accent:#c2410c;--accent-soft:#fff2e8;--olive:var(--accent);--gold:#b45309;--green:#15803d;--red:#b91c1c;--yellow:#fef3c7;--body:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;--mono:'SF Mono',Consolas,'Cascadia Code',Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:15px/1.7 var(--body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.55}a{color:var(--accent);text-underline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #c2410c45;outline-offset:1px}[hidden]{display:none!important}.wrap{max-width:1240px;margin:0 auto;padding:0 22px}.muted{font-size:12.5px;color:var(--muted)}.eyebrow{font-size:11px;font-weight:600;color:var(--accent);letter-spacing:1px}.primary,.ghost,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600;line-height:1.5;transition:background .15s,border-color .15s}.primary{background:var(--accent);color:white;border:1px solid var(--accent)}.primary:hover{background:#a93608}.ghost{background:var(--card);color:var(--ink2);border:1px solid var(--line2)}.ghost:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.text-button{padding:5px 0;background:none;color:var(--accent)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.badge{display:inline-block;padding:2px 8px;background:var(--accent-soft);color:var(--accent);border-radius:20px;font-size:10px;font-weight:600;line-height:1.6}
/* Reference: warm masthead, horizontal navigation, compact study cards. */
.site-header{background:linear-gradient(135deg,#1e1b16,#3d3428);color:#f7f5f1;border-bottom:3px solid var(--accent);padding:25px 0 23px}.header-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.site-kicker{font-size:11px;letter-spacing:2px;color:#d7b392}.site-header h1{font-size:23px;font-weight:700;letter-spacing:.3px;margin-top:5px;line-height:1.5}.header-description{color:#c9c0b2;font-size:13px;margin-top:6px}.header-stats{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.header-stats>div{background:#ffffff0c;border:1px solid #ffffff21;border-radius:8px;padding:9px 16px;min-width:114px}.header-stats b{display:block;font:700 22px/1.35 var(--mono);color:#fff}.header-stats b small{font:11px var(--body);color:#d0c6b8}.header-stats span{font-size:11px;color:#b8ae9e}.account{display:flex;align-items:center;gap:10px;flex-shrink:0}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff13;color:#f7e3ce;border:1px solid #ffffff24;font-size:14px}.account b{display:block;font-size:12px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account small{display:block;font-size:10px;color:#b8ae9e}.account button{background:#ffffff0b;border:1px solid #ffffff26;padding:7px 10px;border-radius:6px;color:#ded5c8;font-size:11px;margin-left:8px}.account button:hover{background:#ffffff20}.tabs{position:sticky;top:0;z-index:8;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 1px 3px #00000006}.tabs>.wrap{display:flex;gap:2px;align-items:center;overflow-x:auto;scrollbar-width:none}.tabs button{background:none;padding:14px 20px 12px;color:var(--ink2);font-size:14px;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}.tabs button:hover{background:var(--accent-soft);color:var(--accent)}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs button span{font-size:11px;margin-left:4px;opacity:.8}.nav-save{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap;padding-left:20px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:19px 0 15px;font-size:11px;color:var(--muted)}.topbar b{color:var(--ink2);font-weight:500}.session-note{font-size:11px}.app-main main{padding:0 0 70px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.page-heading h1{font-size:22px;line-height:1.5;margin:5px 0}.page-heading p{font-size:13px;color:var(--ink2);margin-top:6px}.page-heading>.muted{white-space:nowrap}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 13px}.section-heading h2{font-size:17px;font-weight:700;display:flex;align-items:center;gap:9px}.section-heading h2:before{content:'';width:5px;height:18px;border-radius:3px;background:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}.stat{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:16px 19px}.stat>small{font-size:12px;color:var(--ink2);display:block}.stat strong{display:block;font:700 27px/1.6 var(--mono);color:var(--accent);margin:3px 0}.stat strong small{font-size:12px;font-weight:400;color:var(--muted)}.stat>span{font-size:11px;color:var(--muted)}.hero-card{padding:19px 22px;background:var(--accent-soft);border:1px solid #edd4c1;border-left:4px solid var(--accent);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.hero-card h2{font-size:17px;line-height:1.6;margin:4px 0}.hero-card p{font-size:12px;color:var(--ink2);max-width:720px}.hero-card .primary{margin-top:13px}.hero-mark{font:45px var(--mono);color:#c2410c38;flex-shrink:0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.course-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;text-align:left;display:flex;flex-direction:column;min-height:178px;transition:transform .15s,border-color .15s,box-shadow .15s}.course-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #c2410c12}.course-card .id{display:flex;align-items:center;justify-content:space-between;gap:8px;font:800 15px var(--mono);color:var(--accent)}.course-card h3{font-size:13px;line-height:1.65;margin:10px 0 7px;font-weight:600}.course-card p{font-size:11.5px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card footer{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--ink2);margin-top:auto;padding-top:15px}.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 17px;padding:15px;background:var(--card);border:1px solid var(--line);border-radius:9px}.filterbar input,.filterbar select{background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:7px;font-size:13px;padding:8px 11px;max-width:100%}.filterbar input{width:260px}.filterbar>.muted{margin-left:auto}.empty{padding:50px;text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--line);border-radius:9px}
.group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.group-card{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:16px}.group-card>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.group-card .group-code{font:700 13px var(--mono);color:var(--accent)}.group-card h3{font-size:14px;line-height:1.5;margin-bottom:8px}.group-card p{font-size:11px;color:var(--muted)}.group-card footer{padding-top:12px;margin-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink2)}.group-card footer button{font-size:11px;background:none;color:var(--accent);font-weight:600}.badge.required{background:#eef2ff;color:#1d4ed8}.badge.choice{background:#fef6e7;color:#b45309}.overview-rule{background:var(--card);border:1px solid var(--line);padding:13px 18px;border-radius:8px;font-size:12px;color:var(--ink2);margin-top:14px}.overview-rule b{color:var(--accent)}
.lesson-heading{background:linear-gradient(115deg,var(--accent-soft),var(--card));border:1px solid var(--line);border-radius:10px;padding:20px 23px}.lesson-heading h1{font-size:21px;margin:6px 0 12px;line-height:1.5}.lesson-sub{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--ink2)}.lesson-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 20px}.lesson-toolbar .spacer{flex:1}.mode-switch{display:flex;border:1px solid var(--line2);background:#eeebe5;border-radius:7px;padding:3px}.mode-switch button{background:none;padding:7px 12px;color:var(--ink2);font-size:12px;border-radius:5px}.mode-switch button.on{background:var(--card);box-shadow:0 1px 3px #00000010;color:var(--accent);font-weight:600}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:20px;align-items:start}.lesson-layout>div{min-width:0}.lesson-aside{position:sticky;top:73px;display:grid;gap:14px}.aside-card{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:17px}.aside-card h3{font-size:13px;margin-bottom:10px;border-left:3px solid var(--accent);padding-left:8px}.aside-card p{font-size:12px;color:var(--ink2);line-height:1.85;margin-top:8px}.outline button{display:block;width:100%;background:none;text-align:left;color:var(--ink2);padding:9px 0;border-bottom:1px dashed var(--line);font-size:11px;line-height:1.7}.outline button:hover{color:var(--accent)}.material-tags{display:flex;gap:5px;flex-wrap:wrap}.material-tags span{max-width:100%;overflow-wrap:anywhere;font:11px/1.6 var(--mono);padding:3px 7px;border-radius:4px;color:var(--accent);background:var(--accent-soft)}.task-details{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:16px 20px;margin-bottom:16px}.task-details summary{font-size:13px;font-weight:600;cursor:pointer}.task-text{white-space:pre-wrap;line-height:1.9;font-size:13px;color:var(--ink2);margin-top:12px}.cell{background:var(--card);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:17px;scroll-margin-top:75px}.cell-heading{display:flex;align-items:center;gap:10px;background:#292524;color:#a8a29e;padding:10px 15px;font-size:11px;flex-wrap:wrap}.cell-heading .cell-count{font:10px var(--mono);color:#c4a78b}.cell-heading b{font-size:12px;color:#e7e5e4;font-weight:500}.cell-heading .status{font-size:10px;color:#e3b48f;margin-left:auto}.cell-heading button{margin-left:auto;border:1px solid #655045;border-radius:5px;padding:5px 9px;color:#f5d9bc;background:#47372c;font-size:11px;white-space:nowrap}.cell-heading button:hover{background:#68422c}.code-editor,.inline-code{display:block;width:100%;padding:18px 20px;font:13px/2 var(--mono);background:#1c1917;color:#e7e5e4;tab-size:4;white-space:pre;overflow:auto;border:0}.code-editor{min-height:105px;resize:vertical;outline:none}.code-editor:focus{outline:2px solid #c47741;outline-offset:-2px}.inline-code{line-height:2.5;margin:0}.blank-wrap{display:inline-flex;flex-direction:column;vertical-align:middle;line-height:1.5;white-space:normal;margin:0 2px}.blank{width:14ch;min-width:8ch;max-width:75ch;background:#fef3c7;color:#422006;border:1px solid #eab54b;border-radius:4px;padding:4px 6px;font:12px var(--mono)}.blank::placeholder{color:#926d2f}.blank.right{background:#bbf7d0;border-color:#22c55e;color:#14532d}.blank.wrong{background:#fee2e2;border-color:#f87171;color:#991b1b}.answer-hint{font:10px/1.6 var(--mono);color:#86efac;max-width:44ch;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:3px}.answer-hint:empty{display:none}.answer-hint.bad{color:#fca5a5}.md-cell{font-size:13px;white-space:pre-wrap;padding:18px;color:var(--ink2)}.text-answer{width:100%;min-height:120px;background:#fffcf1;border:1px solid #d8c89d;border-radius:6px;padding:13px;font:13px/1.9 var(--body);resize:vertical;color:var(--ink)}.text-answer.right{background:#eefaf1;border-color:#86b991}.text-answer.wrong{background:#fdeeee;border-color:#db9c94}.text-cell{padding:20px}.text-cell h3{font-size:14px;margin-bottom:12px}.text-reference{white-space:pre-wrap;font-size:12px;color:var(--green);margin-top:13px;line-height:1.85}.grade-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eefaf1;border:1px solid #c2dfc8;border-radius:9px;padding:16px 20px;margin-bottom:18px;font-size:13px}.grade-banner strong{font:700 25px var(--mono);color:var(--green)}.exam-rule{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px}.exam-rule h2{font-size:19px;margin-bottom:10px}.exam-rule>p{font-size:13px;color:var(--ink2);margin-bottom:20px}.exam-rule .stats{margin-bottom:20px}.exam-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.exam-tabs button{background:var(--card);color:var(--ink2);border:1px solid var(--line2);border-radius:7px;padding:9px 14px;font:12px var(--mono)}.exam-tabs button.on{background:var(--accent);border-color:var(--accent);color:white}.exam-tabs span{font:10px var(--body);margin-left:8px}.exam-clock{font:700 24px var(--mono);color:var(--accent);background:var(--accent-soft);padding:8px 16px;border:1px solid #efd1bc;border-radius:8px}.exam-history{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);font-size:13px}.exam-history th{background:var(--accent-soft);text-align:left;font-size:12px;color:var(--ink2);padding:11px 16px;border-bottom:2px solid var(--line2)}.exam-history td{padding:12px 16px;border-bottom:1px solid var(--line)}.exam-submit{position:sticky;bottom:14px;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line2);border-radius:9px;padding:13px 18px;box-shadow:0 6px 22px #3d342817;z-index:3;margin-top:20px}.exam-submit .primary{margin-left:auto;white-space:nowrap}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;max-width:1100px;margin:0 auto;align-content:center;padding:60px 25px}.auth-story{background:linear-gradient(140deg,#1e1b16,#3d3428);padding:50px 45px;color:#fff8ef;border-radius:14px 0 0 14px;display:flex;flex-direction:column;border-bottom:4px solid var(--accent)}.brand{font-weight:700;font-size:25px;text-decoration:none;color:inherit;display:flex;align-items:center;gap:15px}.brand span{font-size:11px;font-weight:400;letter-spacing:2px;color:#c6b9a7}.auth-head{margin:auto 0;padding:65px 0}.auth-head>.eyebrow{color:#e6ac7e}.auth-head h1{font-size:34px;line-height:1.6;margin:14px 0}.auth-head p{font-size:13px;line-height:2;color:#c9c0b2}.auth-foot{font-size:11px;color:#b8ae9e}.auth-form{background:var(--card);border:1px solid var(--line);border-left:0;border-radius:0 14px 14px 0;padding:50px 45px}.auth-form h2{font-size:24px;line-height:1.5;margin:10px 0}.auth-form>.muted{margin-bottom:28px}.auth-form label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-top:17px}.auth-form input{display:block;width:100%;background:#fff;border:1px solid var(--line2);border-radius:7px;padding:11px 13px;font-size:13px;margin-top:7px;color:var(--ink)}.auth-form>.primary{width:100%;margin-top:20px;padding:12px}.auth-form>.text-button{width:100%;margin-top:13px;font-size:12px}.auth-note{font-size:11px;color:var(--muted);line-height:1.9;margin-top:25px;padding-top:18px;border-top:1px solid var(--line)}.error{font-size:12px;color:var(--red);margin-top:10px}.error:empty{display:none}.code-row{display:flex;gap:9px;margin-top:7px}.code-row input{margin-top:0;flex:1}.ghost-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line2);background:var(--card);color:var(--ink2);border-radius:7px;padding:0 15px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.ghost-button:hover{color:var(--accent);border-color:var(--accent)}.ghost-button:disabled{opacity:.55}.captcha-img{border:1px solid var(--line2);border-radius:7px;cursor:pointer;background:#dcefd8;flex:none;align-self:center}#forgot{grid-template-columns:1fr;max-width:520px}#forgot .auth-form{border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1e1b1612}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#292524;color:#fff7ed;border:1px solid #655045;padding:12px 23px;border-radius:8px;font-size:12px;max-width:90vw;z-index:40;box-shadow:0 8px 30px #1e1b1620}
@media(max-width:1000px){.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr) 215px}.header-top{align-items:flex-start}.site-header h1{font-size:20px}.account small,.account .avatar{display:none}}
@media(max-width:760px){.wrap{padding:0 17px}.site-header{padding:20px 0}.header-top{flex-wrap:wrap;gap:16px}.site-header h1{font-size:19px}.header-description{font-size:11px}.account{width:100%;border-top:1px solid #ffffff15;padding-top:12px}.account b{max-width:none}.account button{margin-left:auto}.header-stats{gap:8px;margin-top:16px}.header-stats>div{flex:1;min-width:80px;padding:8px 10px}.header-stats b{font-size:19px}.header-stats>div:last-child{display:none}.nav-save{display:none}.tabs button{padding:13px 15px 11px;font-size:13px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{display:block}.lesson-aside{position:static;margin-top:20px;grid-template-columns:1fr 1fr}.outline{display:none}.page-heading>.muted,.session-note{display:none}.page-heading h1{font-size:20px}.hero-mark{display:none}.lesson-heading h1{font-size:19px}.auth-shell{padding:25px;grid-template-columns:1fr;max-width:560px}.auth-story{padding:26px;border-radius:12px 12px 0 0}.auth-head{padding:25px 0 10px}.auth-head h1{font-size:25px;margin:10px 0}.auth-head p,.auth-foot{display:none}.auth-form{border:1px solid var(--line);border-radius:0 0 12px 12px;padding:30px 26px}}
@media(max-width:480px){.course-grid,.group-grid{grid-template-columns:1fr}.lesson-aside{display:block}.aside-card{margin-bottom:12px}.lesson-toolbar{gap:7px}.lesson-toolbar .spacer{display:none}.lesson-toolbar>.ghost,.lesson-toolbar>.primary{font-size:11px;padding:8px 10px}.lesson-heading{padding:17px}.filterbar input{width:100%}.filterbar select{flex:1;min-width:0;font-size:12px}.filterbar>.muted{width:100%;margin-left:0}.stat{padding:13px}.stat strong{font-size:24px}.hero-card{padding:17px}.hero-card h2{font-size:16px}.header-stats>div{min-width:60px}.header-stats span{font-size:10px}.header-stats b small{display:none}.exam-history td,.exam-history th{padding:9px 7px;font-size:11px}.exam-submit{padding:11px;align-items:flex-start}.exam-submit>.muted{font-size:10px}.cell-heading{gap:7px;padding:10px}.cell-heading b{font-size:11px}.cell-heading .status{width:100%;order:3}.code-editor,.inline-code{font-size:12px;padding:15px}.auth-shell{padding:15px}.tabs button{padding-left:11px;padding-right:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.hero-card>.primary{white-space:nowrap;flex-shrink:0;margin-top:0}@media(max-width:480px){.hero-card{display:block}.hero-card>.primary{margin-top:14px}}

/* A quiet single page scrollbar; retain wheel, touch and keyboard scrolling. */
html{scrollbar-width:thin;scrollbar-color:#c9bfb0 var(--bg)}
*::-webkit-scrollbar{width:7px;height:7px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#c9bfb0;border:2px solid var(--bg);border-radius:20px}
*::-webkit-scrollbar-thumb:hover{background:#aa9883}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:transparent}
.overview-bottom{display:flex;align-items:flex-start;gap:18px;margin-top:15px}
.overview-bottom>.text-button{white-space:nowrap;padding-top:12px}
.recent-panel{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:8px}
.recent-panel>summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink2)}
.recent-panel>summary span{font-size:11px;font-weight:400;color:var(--muted);margin-left:14px}
.recent-panel>.course-grid{padding:0 14px 14px}.recent-panel .course-card{min-height:145px}
#app[data-route="dashboard"] .topbar{display:none}
#app[data-route="dashboard"] main{padding-top:20px;padding-bottom:24px}
#app[data-route="dashboard"] .page-heading{margin-bottom:13px}
#app[data-route="dashboard"] .page-heading .eyebrow{display:none}
#app[data-route="dashboard"] .page-heading h1{font-size:20px;margin:0}
#app[data-route="dashboard"] .page-heading p{font-size:12px;margin-top:4px}
#app[data-route="dashboard"] .stats{gap:10px;margin-bottom:13px}
#app[data-route="dashboard"] .stat{padding:10px 15px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px}
#app[data-route="dashboard"] .stat>span{grid-column:1/-1;font-size:10px}
#app[data-route="dashboard"] .stat strong{font-size:23px;line-height:1.3;margin:0}
#app[data-route="dashboard"] .hero-card{padding:12px 17px;margin-bottom:0}
#app[data-route="dashboard"] .hero-card h2{font-size:15px;margin:0 0 3px}
#app[data-route="dashboard"] .hero-card p{font-size:11px}
#app[data-route="dashboard"] .section-heading{margin:15px 0 10px}
#app[data-route="dashboard"] .section-heading h2{font-size:15px}
#app[data-route="dashboard"] .group-grid{gap:10px}
#app[data-route="dashboard"] .group-card{padding:12px 15px}
#app[data-route="dashboard"] .group-card>header{margin-bottom:6px}
#app[data-route="dashboard"] .group-card h3{font-size:13px;margin-bottom:5px}
#app[data-route="dashboard"] .group-card footer{margin-top:8px;padding-top:8px}
#app[data-route="dashboard"] .overview-rule{margin-top:10px;padding:10px 15px;font-size:11px}
@media(min-width:1001px){
#app[data-route="dashboard"] .site-header{padding:14px 0}
#app[data-route="dashboard"] .site-kicker,#app[data-route="dashboard"] .header-description{display:none}
#app[data-route="dashboard"] .site-header h1{font-size:21px;margin:0}
#app[data-route="dashboard"] .header-stats{margin-top:12px;gap:10px}
#app[data-route="dashboard"] .header-stats>div{padding:6px 13px;min-width:110px;display:flex;align-items:center;gap:12px}
#app[data-route="dashboard"] .header-stats b{font-size:20px}
#app[data-route="dashboard"] .header-stats span{font-size:10px}
}
@media(max-width:600px){.overview-bottom{display:block}.overview-bottom>.text-button{margin-top:9px}#app[data-route="dashboard"] .stat{display:block}#app[data-route="dashboard"] .stat strong{margin:4px 0}.recent-panel>summary span{margin-left:8px}}

#app[data-route="dashboard"] main{padding-top:16px;padding-bottom:12px}
#app[data-route="dashboard"] .group-card{padding-top:10px;padding-bottom:10px}
#app[data-route="dashboard"] .recent-panel>summary{padding-top:10px;padding-bottom:10px}
@media(min-width:1001px){#app[data-route="dashboard"] .site-header{padding-top:12px;padding-bottom:12px}}
@media(min-width:1001px) and (max-height:800px){
#app[data-route="dashboard"] .page-heading p,#app[data-route="dashboard"] .stat>span{display:none}
#app[data-route="dashboard"] .header-stats{margin-top:8px}
#app[data-route="dashboard"] .header-stats>div{padding-top:3px;padding-bottom:3px}
#app[data-route="dashboard"] .page-heading{margin-bottom:10px}
#app[data-route="dashboard"] .hero-card{padding-top:10px;padding-bottom:10px}
#app[data-route="dashboard"] .section-heading{margin-top:12px}
#app[data-route="dashboard"] .group-card>header{margin-bottom:4px}
#app[data-route="dashboard"] .group-card footer{margin-top:6px;padding-top:6px}
}
@supports selector(::-webkit-scrollbar){html{scrollbar-width:auto;scrollbar-color:auto}}

/* Submission feedback belongs to its own blank, never to a bottom answer list. */
.blank-wrap.has-feedback{vertical-align:top;align-items:flex-start;margin-bottom:7px}
.blank-wrap>.blank-feedback{display:flex;flex-direction:column;gap:5px;position:static;align-self:flex-start;width:clamp(170px,17vw,220px);max-width:none;margin:7px 0 0;padding:10px 11px;border:1px solid #4b6550;border-radius:6px;background:#203327;color:#b9e8c5;font:11px/1.7 var(--body);white-space:normal;overflow-wrap:anywhere;text-align:left}
.blank-wrap>.blank-feedback.bad{background:#382824;border-color:#80554a;color:#f0c7bc}
.feedback-status{font-weight:700;font-size:11px}.feedback-label{font-size:10px;opacity:.75}
.blank-feedback .feedback-answer{font:12px/1.7 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#dcfce7}
.blank-feedback.bad .feedback-answer{color:#ffdfc6}.feedback-explanation,.feedback-count{display:block;padding-top:6px;margin-top:3px;border-top:1px solid #ffffff20;font-size:11px;white-space:pre-wrap}
@media(max-width:600px){.blank-wrap>.blank-feedback{width:180px}}

.membership-gate{min-height:100vh;padding:50px 22px;display:grid;place-items:center}.membership-card{width:min(620px,100%);background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:36px}.membership-card h1{font-size:25px;line-height:1.5;margin:12px 0}.membership-rule{font-size:13px;line-height:1.9;padding:16px 18px;background:var(--accent-soft);border-radius:7px;margin:24px 0;color:var(--ink2)}.membership-rule strong{color:var(--accent)}.membership-card label{display:block;font-size:12px;font-weight:600;color:var(--ink2)}.membership-card input{display:block;width:100%;margin-top:8px;border:1px solid var(--line2);border-radius:6px;padding:12px;font:13px var(--mono);background:#fff;color:var(--ink)}.membership-card form>.primary{width:100%;margin-top:10px;padding:12px}.membership-actions{display:flex;justify-content:space-between;gap:20px;margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.auth-form label>.muted{display:block;font-weight:400;margin-top:7px}.account #membershipExpiry{font-size:10px;max-width:220px;line-height:1.8}#membershipManage{margin-left:8px}@media(max-width:600px){.membership-card{padding:25px 20px}.membership-card h1{font-size:22px}}
