.sheet-backdrop{z-index:50;touch-action:none;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,520px);max-height:calc(100% - var(--safe-top) - 28px);background:var(--panel-solid);padding-bottom:var(--safe-bottom);border-radius:18px 18px 0 0;flex-direction:column;display:flex;box-shadow:0 -8px 30px #0006}.sheet-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:14px 8px 10px 18px;display:flex}.sheet-head h2{font-size:17px;font-weight:700}.sheet-close{width:44px;height:36px;color:var(--ink-dim);font-size:16px}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:12px 18px 18px;overflow-y:auto}.set-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.set-row:last-child{border-bottom:0}.set-label{flex-direction:column;flex:96px;gap:2px;min-width:84px;font-size:15px;display:flex}.set-label small{color:var(--ink-dim);font-size:11.5px;line-height:1.35}.set-control{flex:none;max-width:100%}.seg{background:#ffffff14;border-radius:10px;padding:2px;display:flex}.seg-btn{min-height:36px;color:var(--ink-dim);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 11px;font-size:14px;display:flex}.seg-btn[data-on=true]{background:var(--accent);color:var(--accent-ink);font-weight:700}.seg-swatch{border:1px solid #ffffff80;border-radius:50%;width:12px;height:12px}.toggle{background:#ffffff29;border-radius:16px;width:52px;height:32px;transition:background .15s;position:relative}.toggle i{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle[data-on=true]{background:var(--green)}.toggle[data-on=true] i{transform:translate(20px)}.home{background:linear-gradient(170deg,#17492a 0%,#0f3d1f 45%,#0a2a16 100%);flex-direction:column;display:flex;position:absolute;inset:0}.home-head{padding:calc(var(--safe-top) + 14px) calc(var(--safe-right) + 16px) 12px calc(var(--safe-left) + 18px);flex:none;justify-content:space-between;align-items:center;display:flex}.home-head h1{letter-spacing:.02em;font-size:28px}.home-head p{color:var(--ink-dim);margin-top:2px;font-size:13px}.home-gear{background:#ffffff1a;border-radius:14px;width:44px;height:44px;font-size:22px}.home-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding:4px calc(var(--safe-right) + 14px) calc(var(--safe-bottom) + 18px) calc(var(--safe-left) + 14px);flex-direction:column;flex:1;gap:12px;display:flex;overflow-y:auto}.home-card{text-align:left;border:1px solid var(--line);background:#ffffff14;border-radius:18px;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;display:flex}.home-card>small{color:var(--ink-dim);font-size:12px}.home-card>strong{font-size:19px;line-height:1.25}.home-card>span{color:var(--ink-dim);font-size:13px;line-height:1.4}.home-card.resume{background:#f2c14e29;border-color:#f2c14e80}.home-card.course{padding-top:0;overflow:hidden}.course-art{background:radial-gradient(46% 60% at 62% 104%,#3f9a48 0 60%,#0000 61%),radial-gradient(60% 70% at 58% 112%,#d9c79a 0 62%,#0000 63%),linear-gradient(#8fc3ea 0%,#cfe6f5 38%,#2f6ea5 39%,#1f5488 100%);align-self:stretch;height:92px;margin:0 -16px 10px}.course-choices{grid-template-columns:1fr 1fr;align-self:stretch;gap:8px;margin-top:10px;display:grid}.home-btn{background:var(--accent);min-height:58px;color:var(--accent-ink);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.home-btn b{font-size:17px}.home-btn small{opacity:.8;font-size:12px}.home-btn:disabled{opacity:.55}.home-note,.home-warn{color:var(--ink-dim);margin-top:8px;font-size:12px}.home-warn{color:#ffb4ac}.home-practice{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-card.practice>strong{font-size:16px}.home-foot{color:#f5f7f280;margin-top:auto;padding-top:8px;font-size:10.5px;line-height:1.5}.app-loading{background:#0f3d1f;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:16px;display:flex;position:absolute;inset:0}.app-retry{color:var(--accent);font-size:15px}.update-prompt{z-index:60;left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);top:calc(var(--safe-top) + 10px);border:1px solid var(--line);background:#16321f;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:14px;display:flex;position:fixed;box-shadow:0 6px 24px #00000073}.update-prompt div{flex:none;gap:6px;display:flex}.update-prompt button{background:#ffffff1f;border-radius:10px;min-height:38px;padding:0 12px;font-size:14px}.update-prompt button.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}:root{--ink:#f5f7f2;--ink-dim:#f5f7f2b8;--panel:#0c1c149e;--panel-solid:#12261b;--line:#ffffff29;--accent:#f2c14e;--accent-ink:#1d1a0c;--green:#1f7a3a;--danger:#e2574c;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color:var(--ink);-webkit-text-size-adjust:100%;font-family:-apple-system,PingFang TC,Noto Sans TC,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0f3d1f;height:100vh;margin:0;overflow:hidden}#root{height:100%;position:relative;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default}h1,h2,h3,p,dl,dd{margin:0}.tabnum{font-variant-numeric:tabular-nums}
