:root{--paper:#fdfbf7;--ink:#2d2d2d;--red:#ff4d4d;--blue:#2d5da1;--yellow:#ffe082;--line:3px solid var(--ink);--shadow:4px 4px 0 var(--ink)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:20px/1.35 "Patrick Hand","Microsoft YaHei",sans-serif;background-color:var(--paper);background-image:radial-gradient(#d8d1c6 1px,transparent 1px);background-size:18px 18px}.katex,.katex *{box-sizing:content-box!important;text-transform:none!important;letter-spacing:normal!important}button,input,select{font:inherit;color:inherit}.app{min-height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.brand{font:700 28px/1 "Kalam",cursive;white-space:nowrap}.nav{display:flex;gap:8px;flex:1;justify-content:center}.btn,.nav button,.filter select{border:var(--line);border-radius:10px 13px 9px 12px;background:#fff;padding:6px 12px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .16s ease,box-shadow .16s ease}.btn:hover,.nav button:hover,.question-row:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.nav button.active,.btn.primary{background:var(--red);color:#fff}.btn.blue{background:var(--blue);color:#fff}.btn.yellow{background:var(--yellow)}.icon{display:none}.layout{display:grid;grid-template-columns:290px minmax(450px,1fr) 270px;gap:18px;max-width:1600px;margin:20px auto;padding:0 20px}.panel,.card{background:rgba(253,251,247,.95);border:var(--line);border-radius:18px 12px 20px 14px;box-shadow:var(--shadow)}.left,.right{height:calc(100vh - 105px);overflow:auto;padding:14px;position:sticky;top:85px}.panel h2,.panel h3{font:700 24px "Kalam",cursive;margin:4px 0 10px}.filter{display:grid;gap:8px;margin-bottom:16px}.filter label{font-weight:bold}.filter select{width:100%;background:#fff}.question-list{display:grid;gap:8px}.question-row{border:2px solid var(--ink);border-radius:10px;padding:8px;background:#fff;cursor:pointer;transition:.16s}.question-row.current{background:var(--yellow);border-width:3px}.tiny-tags,.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:14px;border:1.5px solid var(--ink);border-radius:999px;padding:1px 7px;background:#fff}.tag.red{background:#ffd1d1}.tag.blue{background:#dbeaff}.main{min-width:0}.status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.progress{height:16px;border:var(--line);border-radius:999px;background:#fff;overflow:hidden;flex:1}.progress b{display:block;height:100%;background:repeating-linear-gradient(45deg,var(--red),var(--red) 10px,#ff7979 10px,#ff7979 20px);transition:width .25s}.card{padding:24px}.question-head{display:flex;justify-content:space-between;gap:12px}.question-title{font-size:26px;white-space:pre-wrap;margin:16px 0}.star{background:transparent;border:0;font-size:34px;cursor:pointer;line-height:1}.star.on{color:#f7bb19}.options{display:grid;gap:12px}.option{width:100%;text-align:left;border:var(--line);background:#fff;border-radius:12px;padding:12px 15px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:.15s}.option:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.option.selected{background:#dbeaff}.option.wrong{background:#ffc6c6;color:#9d1515}.option:disabled{cursor:default}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.reveal{margin-top:12px;padding:12px;background:#fff;border:2px dashed var(--blue);border-radius:10px;white-space:pre-wrap}.notice{margin:14px 0;padding:10px;border:2px solid var(--ink);background:#fff3bd}.cloud-group{margin-bottom:16px}.cloud{display:flex;gap:7px;flex-wrap:wrap}.cloud button{border:2px solid var(--ink);border-radius:999px;background:#fff;cursor:pointer;padding:3px 8px}.cloud button.on{background:var(--blue);color:#fff}.empty{padding:30px;text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:16px;background:#fff;border:var(--line);border-radius:12px;box-shadow:2px 2px 0 var(--ink)}.stat b{display:block;font:32px "Kalam",cursive}.table{width:100%;border-collapse:collapse;background:#fff}.table td,.table th{border:2px solid var(--ink);padding:7px;text-align:left}.drawer-close{display:none}
@media(max-width:1050px){.layout{grid-template-columns:270px 1fr}.right{position:fixed;right:0;top:70px;width:290px;height:calc(100vh - 70px);z-index:8;transform:translateX(110%);transition:transform .25s}.right.open{transform:translateX(0)}.icon{display:inline-block}.drawer-close{display:block;float:right}.cloud-toggle{display:inline-block}}
@media(min-width:1051px){.cloud-toggle{display:none}}
@media(max-width:720px){body{font-size:18px}.topbar{padding:10px}.brand{font-size:22px}.nav{justify-content:flex-end}.nav button{display:none}.nav button.active{display:block}.layout{display:block;margin:12px auto;padding:0 12px}.left{position:fixed;left:0;top:61px;width:280px;height:calc(100vh - 61px);z-index:8;transform:translateX(-110%);transition:transform .25s}.left.open{transform:translateX(0)}.main{padding-top:0}.card{padding:16px}.question-title{font-size:23px}.stat-grid{grid-template-columns:repeat(2,1fr)}.status{flex-wrap:wrap}.topbar .btn{padding:4px 8px}.nav{gap:2px}}
.reveal b{font-size:25px}.reveal div{font-size:25px;line-height:1.55}
.account-page{min-height:100vh;display:grid;place-items:center;padding:32px;background-color:var(--paper)}.account-shell{width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:42% 58%;border:var(--line);border-radius:24px 17px 28px 20px;background:#fffdf9;box-shadow:8px 8px 0 var(--ink);overflow:hidden}.account-intro{background:var(--blue);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between}.account-brand{font:700 31px/1 "Kalam",cursive;color:#fff;text-decoration:none}.eyebrow{display:block;font:700 13px/1.2 "Kalam",cursive;letter-spacing:1.2px;color:inherit;opacity:.82}.account-intro h1{font:700 43px/1.13 "Kalam",cursive;margin:14px 0}.account-intro p{font-size:22px;margin:0;opacity:.92}.account-intro ul{margin:25px 0 0;padding:0;list-style:none;font-size:19px}.account-intro li{padding:10px 0;border-top:1px dashed rgba(255,255,255,.6)}.account-card{padding:58px;display:flex;flex-direction:column;justify-content:center}.account-heading h2{font:700 38px/1.1 "Kalam",cursive;margin:8px 0}.account-heading p{margin:0 0 30px;font-size:20px;color:#555}.auth-columns{display:grid;grid-template-columns:1fr 26px 1fr;gap:20px;align-items:stretch}.auth-form{display:grid;gap:14px;align-content:start}.auth-form h3,.redeem-card h3{font:700 25px/1 "Kalam",cursive;margin:0 0 3px}.auth-form label{display:grid;gap:6px;font-weight:bold;font-size:18px}.auth-form input,.redeem-form input{width:100%;min-height:48px;border:2px solid var(--ink);border-radius:9px;padding:8px 11px;background:#fff;font:19px "Patrick Hand","Microsoft YaHei",sans-serif}.auth-form input:focus,.redeem-form input:focus{outline:3px solid #bcd0ef;outline-offset:1px}.full{width:100%;margin-top:4px}.auth-divider{display:grid;place-items:center;color:#777}.auth-divider:before,.auth-divider:after{content:"";height:calc(50% - 20px);border-left:2px dashed #aaa}.redeem-card{border:var(--line);border-radius:16px 11px 18px 13px;background:#fff3bd;padding:22px;display:grid;gap:18px;margin:10px 0 18px}.redeem-card h3{margin-top:4px}.redeem-card p{margin:4px 0 0}.redeem-form{display:flex;gap:10px}.redeem-form input{text-transform:uppercase;letter-spacing:1.4px}.form-message{min-height:26px;margin:3px 0;color:#a21c1c;font-weight:bold}.back-link{color:var(--blue);font-weight:bold}.text-btn{border:0;background:transparent;color:#555;text-decoration:underline;cursor:pointer;align-self:flex-start;padding:4px 0;font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.account-page{padding:16px}.account-shell{grid-template-columns:1fr;min-height:0}.account-intro{min-height:280px;padding:30px}.account-intro h1{font-size:36px}.account-card{padding:32px 24px}.auth-columns{grid-template-columns:1fr}.auth-divider{height:25px}.auth-divider:before,.auth-divider:after{width:calc(50% - 20px);height:auto;border-left:0;border-top:2px dashed #aaa}.redeem-form{flex-direction:column}.account-heading h2{font-size:33px}}
.list-summary{font-size:17px;margin:-7px 0 8px;color:#555}.list-pager{display:flex;gap:8px;justify-content:space-between;margin-top:10px}.list-pager .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
