:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f0e8;--card:#fffcf7;--ink:#4a4038;--ink2:#7c6f63;--ink3:#a2968a;--sage:#9caf95;--sage-d:#6d8467;--sage-l:#e7ede4;--tan:#c9b79c;--tan-l:#f0e7d8;--rose:#c08585;--rose-l:#f6e7e4;--line:#e3dacb;--radius:16px;--shadow:0 2px 10px #4a403812}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.75}.wrap{max-width:680px;margin:0 auto;padding:20px 16px 64px}.brand{text-align:center;padding:14px 0 22px}.brand .logo{width:200px;max-width:62%;height:auto;margin:0 auto 16px;display:block}.brand h1{letter-spacing:.02em;margin:0 0 6px;font-size:24px;font-weight:700}.brand p{color:var(--ink2);margin:0;font-size:13.5px}.topbar{color:var(--ink2);justify-content:space-between;align-items:center;gap:12px;padding:4px 0 18px;font-size:13px;display:flex}.topbar .who{align-items:center;gap:8px;min-width:0;display:flex}.topbar .who img{object-fit:contain;background:var(--card);border-radius:8px;width:26px;height:26px}.topbar .who b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sec-title{letter-spacing:.14em;color:var(--sage-d);align-items:center;gap:9px;margin:26px 0 12px;font-size:13px;font-weight:600;display:flex}.sec-title:after{content:"";background:var(--line);flex:1;height:1px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{cursor:pointer;text-align:center;background:var(--sage-d);color:#fff;border:0;border-radius:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:600;transition:filter .15s,transform 60ms;display:block}.btn:active:not(:disabled){transform:scale(.985)}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--sage-d);border:1.5px solid var(--sage);background:0 0}.btn.soft{background:var(--tan-l);color:var(--ink);border:1px solid var(--line)}.btn.sm{padding:11px 14px;font-size:14.5px}.opts{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.opt{border:1.5px solid var(--line);min-width:130px;color:var(--ink2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;flex:1;padding:13px 14px;font-family:inherit;font-size:14.5px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.opt:hover{border-color:var(--sage)}.opt.on{border-color:var(--sage-d);background:var(--sage-l);color:var(--sage-d)}.text-btn{color:var(--ink3);cursor:pointer;background:0 0;border:0;padding:4px;font-family:inherit;font-size:12.5px;text-decoration:underline}.text-btn.danger{color:var(--rose)}.login{flex-direction:column;gap:12px;padding:22px 18px;display:flex}.login h2{margin:0;font-size:18px}.login .lead{color:var(--ink2);margin:0;font-size:13.5px}.field-label{color:var(--ink2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}input[type=email],input[type=text],textarea{width:100%;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15.5px;line-height:1.7;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--sage);outline:0}textarea{resize:vertical;min-height:84px}::placeholder{color:#c4b9ac}.form-error{color:var(--rose);background:var(--rose-l);border-radius:10px;margin:0;padding:10px 12px;font-size:13.5px}.demo-note{color:var(--ink3);background:var(--tan-l);border-radius:10px;margin-top:2px;padding:10px 12px;font-size:12.5px;line-height:1.8}.demo-note button{color:var(--sage-d);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:12.5px;font-weight:600;text-decoration:underline}.overall{align-items:center;gap:18px;padding:20px 18px;display:flex}.ring{background:conic-gradient(var(--sage-d) var(--progress,0deg), var(--tan-l) 0);border-radius:50%;flex:0 0 84px;justify-content:center;align-items:center;width:84px;height:84px;display:flex}.ring i{background:var(--card);width:64px;height:64px;color:var(--sage-d);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:22px;font-style:normal;font-weight:800;line-height:1;display:flex}.ring i small{color:var(--ink3);margin-top:2px;font-size:11px;font-weight:600}.overall .txt{min-width:0}.overall .txt strong{margin-bottom:2px;font-size:16px;display:block}.overall .txt p{color:var(--ink2);margin:0;font-size:13px}.ch{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:100%;box-shadow:var(--shadow);cursor:pointer;color:inherit;align-items:center;gap:14px;margin-bottom:10px;padding:15px 16px;font-family:inherit;transition:border-color .15s,transform 60ms;display:flex}.ch:active{transform:scale(.99)}.ch:hover{border-color:var(--sage)}.ch .num{background:var(--sage-l);height:40px;color:var(--sage-d);border-radius:11px;flex:0 0 40px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.ch.done .num{background:var(--sage-d);color:#fff}.ch .body{flex:1;min-width:0}.ch .body strong{margin-bottom:2px;font-size:16px;font-weight:600;display:block}.ch .body span{color:var(--ink3);font-size:12.5px;display:block}.ch .meta{text-align:right;color:var(--ink3);flex:none;font-size:12px;line-height:1.5}.ch .meta b{color:var(--sage-d);font-size:14px;font-weight:700;display:block}.bar{color:var(--ink2);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12.5px;display:flex}.track{background:var(--tan-l);border-radius:99px;height:6px;margin-bottom:20px;overflow:hidden}.track i{background:var(--sage);border-radius:99px;height:100%;transition:width .3s;display:block}.qcard{padding:20px 18px}.tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tag{background:var(--tan-l);color:var(--ink2);letter-spacing:.04em;border-radius:99px;padding:3px 9px;font-size:11.5px}.tag.type{background:var(--sage-l);color:var(--sage-d);font-weight:600}.qtext{margin:0 0 18px;font-size:17.5px;font-weight:500;line-height:1.75}.choices{flex-direction:column;gap:9px;display:flex}.choice{text-align:left;border:1.5px solid var(--line);background:var(--card);width:100%;color:var(--ink);cursor:pointer;border-radius:13px;align-items:flex-start;gap:11px;padding:13px 14px;font-family:inherit;font-size:15.5px;line-height:1.6;transition:border-color .15s,background .15s;display:flex}.choice:hover:not(:disabled){border-color:var(--sage)}.choice:disabled{cursor:default}.choice .k{background:var(--tan-l);height:24px;color:var(--ink2);border-radius:7px;flex:0 0 24px;justify-content:center;align-items:center;margin-top:1px;font-size:13px;font-weight:700;display:flex}.choice.picked{border-color:var(--sage);background:var(--sage-l)}.choice.right{border-color:var(--sage-d);background:var(--sage-l)}.choice.right .k{background:var(--sage-d);color:#fff}.choice.wrong{border-color:var(--rose);background:var(--rose-l)}.choice.wrong .k{background:var(--rose);color:#fff}.fb{border:1px solid var(--line);background:var(--tan-l);border-radius:13px;margin-top:16px;padding:14px 15px}.fb .head{align-items:center;gap:7px;margin-bottom:7px;font-size:15px;font-weight:700;display:flex}.fb.ok .head{color:var(--sage-d)}.fb.no .head{color:var(--rose)}.fb .ex{color:var(--ink2);margin:0;font-size:14px;line-height:1.8}.actions{flex-direction:column;gap:9px;margin-top:18px;display:flex}.exp-lead{color:var(--ink);margin:0 0 14px;font-size:15px;line-height:1.8}.exp-hint{color:var(--ink2);background:var(--sage-l);border-radius:12px;margin:0 0 18px;padding:11px 13px;font-size:13.5px;line-height:1.8}.exp-sec{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:12px;padding:14px 14px 4px}.exp-sec.done{border-color:var(--sage);background:#fefdfb}.exp-sec>h3{align-items:center;gap:8px;margin:0 0 12px;font-size:14.5px;font-weight:700;display:flex}.exp-sec>h3 .state{background:var(--tan-l);color:var(--ink3);border-radius:99px;padding:2px 9px;font-size:11.5px;font-weight:600}.exp-sec.done>h3 .state{background:var(--sage-d);color:#fff}.exp-field{margin-bottom:12px}.exp-anyof{color:var(--ink3);margin:-4px 0 10px;font-size:12.5px}.req{color:var(--rose);margin-left:3px;font-weight:700}.completion{color:var(--ink2);background:var(--tan-l);border-radius:12px;margin:4px 0 0;padding:11px 13px;font-size:13px;line-height:1.8}.completion b{color:var(--ink)}.finish{text-align:center;padding:26px 20px}.finish .mark{background:var(--sage-d);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;font-size:28px;display:flex}.finish h2{margin:0 0 8px;font-size:20px}.finish p{color:var(--ink2);margin:0;font-size:14.5px;line-height:1.9}.foot{text-align:center;color:var(--ink3);margin-top:34px;font-size:12px;line-height:1.9}.admin{max-width:860px}.table-wrap{padding:2px;overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;letter-spacing:.06em;color:var(--ink3);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.tbl tr:last-child td{border-bottom:0}.tbl .mono{color:var(--ink2);word-break:break-all;font-size:13px}.tbl .sub,.sub{color:var(--ink3);font-size:12px;display:block}.pill{background:var(--tan-l);color:var(--ink2);white-space:nowrap;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.mid{background:var(--sage-l);color:var(--sage-d)}.pill.ok{background:var(--sage-d);color:#fff}input[type=file]{width:100%;color:var(--ink2);border:1.5px dashed var(--line);background:#fff;border-radius:12px;padding:14px;font-family:inherit}input[type=password]{width:100%;color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15.5px}input[type=password]:focus{border-color:var(--sage);outline:0}.row-tools{white-space:nowrap}.row-tools .text-btn{padding:2px 0;font-size:12.5px;display:block}.modal-back{z-index:50;background:#4a403861;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{width:100%;max-width:440px;margin:auto;padding:22px 18px}.modal h2{margin:0 0 14px;font-size:18px}.modal-who{background:var(--tan-l);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:11px 13px}.modal-who b{font-size:15px}.modal-warn{color:var(--rose);background:var(--rose-l);border-radius:10px;margin:0 0 14px;padding:9px 12px;font-size:13.5px;font-weight:600}.btn.danger{background:var(--rose);color:#fff}@media (width<=400px){.qtext{font-size:16.5px}.choice{font-size:15px}}
