:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04070a;--card:#0a1216;--ink:#dff8f4;--ink-strong:#eafffb;--ink-soft:#dff8f48c;--ink-faint:#dff8f459;--primary:#ffb454;--primary-deep:#cc8f38;--cyan:#5ff0e0;--correct:#5ff0e0;--correct-fill:#5ff0e01f;--correct-soft:#5ff0e014;--wrong:#ff5c72;--wrong-fill:#ff5c721f;--wrong-soft:#ff5c7214;--locked:#dff8f459;--code-bg:#04070a;--track:#5ff0e01a;--option-bg:#0d1319;--option-border:#5ff0e02e;--badge-bg:#ffb45426;--radius:0px;--notch:18px;--notch-sm:12px;--shadow:none;--font-sans:"Noto Sans TC", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--chart-count:#ffb454;--chart-accuracy:#5ff0e0;--heat-0:#5ff0e014;--heat-1:#5ff0e033;--heat-2:#5ff0e066;--heat-3:#5ff0e0b3;--heat-4:#5ff0e0;--content-width:820px}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;position:relative}body:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(1px 1px at 40px 60px,#5ff0e080,#0000),radial-gradient(1px 1px at 180px 200px,#5ff0e059,#0000),radial-gradient(1.4px 1.4px at 320px 90px,#ffb45466,#0000),radial-gradient(1px 1px at 500px 260px,#5ff0e066,#0000),radial-gradient(1px 1px at 650px 120px,#5ff0e04d,#0000),radial-gradient(1px 1px at 90px 340px,#5ff0e04d,#0000);background-size:400px 400px;position:fixed;inset:0}body:after{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100dvh;display:flex;position:relative}#page-body{width:100%;max-width:var(--content-width);z-index:1;flex:1;margin:0 auto;padding:28px 24px 80px;position:relative}button{cursor:pointer;font-family:inherit}.screen{flex-direction:column;display:flex}.icon{flex-shrink:0}.navbar{z-index:10;background:#060b0e;border-bottom:1px solid #5ff0e040;position:sticky;top:0}.navbar-inner{max-width:var(--content-width);justify-content:space-between;align-items:center;gap:16px;height:64px;margin:0 auto;padding:0 24px;display:flex}.navbar-brand{font-family:var(--font-mono);letter-spacing:.5px;color:var(--ink-strong);text-shadow:0 0 10px #5ff0e080;flex-shrink:0;align-items:center;gap:1px;font-size:18px;font-weight:800;display:inline-flex}.navbar-brand-bracket{color:var(--cyan)}.navbar-brand-accent{color:var(--primary)}.navbar-tabs{flex:1;justify-content:flex-end;gap:6px;min-width:0;display:flex}.navbar-tab{color:#5ff0e08c;font-family:var(--font-mono);letter-spacing:.5px;border-radius:var(--radius);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.navbar-tab:hover{color:var(--ink)}.navbar-tab.is-active{background:var(--badge-bg);color:var(--primary);border-color:#ffb45466}@media (max-width:640px){.navbar{padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #5ff0e040;border-bottom:none;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #0006}.navbar-inner{max-width:none;height:62px;padding:0 2px}.navbar-brand{display:none}.navbar-tabs{flex:1;justify-content:space-between;gap:0}.navbar-tab{letter-spacing:0;border-width:2px 0 0;border-top-style:solid;border-top-color:#0000;border-radius:0;flex-direction:column;flex:1;gap:4px;padding:9px 2px;font-size:10px}.navbar-tab.is-active{border-top:2px solid var(--primary);background:#ffb45414;border-bottom:none;border-left:none;border-right:none}#page-body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}.page-title{font-family:var(--font-mono);color:var(--ink-strong);margin:0 0 16px;font-size:22px;font-weight:700}.section-title{font-family:var(--font-mono);letter-spacing:1.5px;color:#5ff0e0a6;margin:24px 0 12px;font-size:13px;font-weight:700}.section-hint{color:var(--ink-faint);margin:-8px 0 12px;font-size:12px;line-height:1.6}.app-title{font-family:var(--font-mono);letter-spacing:1px;margin:0;font-size:34px}.app-subtitle{color:var(--ink-soft);margin:6px 0 24px;font-size:15px}.streak-card{background:var(--card);border-radius:var(--radius);color:var(--ink);border:1px solid #ffb45459;padding:20px;box-shadow:0 0 30px #ffb4540f}.streak-card-top{font-family:var(--font-mono);color:#5ff0e099;letter-spacing:.5px;justify-content:space-between;margin-bottom:10px;font-size:12px;display:flex}.streak-card-count{font-family:var(--font-mono);color:var(--primary);text-shadow:0 0 16px #ffb45480;align-items:center;gap:8px;font-size:30px;font-weight:800;display:flex}.streak-week{justify-content:space-between;gap:6px;margin-top:16px;display:flex}.streak-day{height:30px;font-family:var(--font-mono);color:#5ff0e08c;background:#5ff0e014;border:1px solid #5ff0e02e;border-radius:0;flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.streak-day.is-done{color:var(--cyan);background:#5ff0e040;font-weight:700}.streak-day.is-today{background:var(--primary);color:#241300;border-color:var(--primary);font-weight:700}.stat-card-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.stat-card{background:var(--card);border-radius:var(--radius);text-align:left;border:1px solid #5ff0e033;padding:16px}.stat-card-head{font-family:var(--font-mono);letter-spacing:.5px;color:#5ff0e08c;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-card-head .icon{color:var(--cyan)}.stat-card-value{font-family:var(--font-mono);color:var(--cyan);margin-top:8px;font-size:26px;font-weight:800}.stat-card-hint{color:var(--ink-faint);margin-top:4px;font-size:12px}.mixed-btn{width:100%;max-width:none;margin-top:18px}.chapter-list{margin-top:4px}.chapter-list .chapter-card:first-child .chapter-emoji .icon{color:var(--cyan)}.chapter-list .chapter-card:first-child .chapter-bar-fill{background:var(--cyan)}.chapter-list .chapter-card:nth-child(2) .chapter-emoji .icon{color:var(--primary)}.chapter-list .chapter-card:nth-child(2) .chapter-bar-fill{background:var(--primary)}.chapter-list .chapter-card:nth-child(3) .chapter-emoji .icon{color:var(--wrong)}.chapter-list .chapter-card:nth-child(3) .chapter-bar-fill{background:var(--wrong)}.mascot{flex-direction:column;align-items:center;margin-bottom:8px;display:flex}.mascot-emoji{filter:drop-shadow(0 0 14px #5ff0e040);font-size:96px;line-height:1.2;animation:2.4s ease-in-out infinite bob}.mood-happy .mascot-emoji{animation:.7s ease-in-out infinite bounce}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-14px)scale(1.06)}}.mascot-name{font-family:var(--font-mono);color:var(--ink-strong);margin-top:8px;font-size:18px;font-weight:700}.xp-bar{background:var(--track);border-radius:0;width:220px;height:12px;margin-top:10px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--cyan), var(--primary));border-radius:0;height:100%;transition:width .6s}.mascot-hint{color:var(--ink-soft);margin-top:8px;font-size:13px}.primary-btn{background:var(--primary);color:#04070a;border-radius:var(--radius);clip-path:polygon(var(--notch-sm) 0, 100% 0, 100% calc(100% - var(--notch-sm)), calc(100% - var(--notch-sm)) 100%, 0 100%, 0 var(--notch-sm));font-family:var(--font-mono);letter-spacing:.5px;border:none;justify-content:center;align-items:center;gap:8px;padding:16px 32px;font-size:16px;font-weight:700;transition:filter .1s;display:inline-flex}.primary-btn:active{filter:brightness(.9)}.secondary-btn{color:var(--ink);border-radius:var(--radius);font-family:var(--font-mono);background:0 0;border:1px solid #5ff0e066;justify-content:center;align-items:center;gap:8px;padding:13px 28px;font-size:14px;font-weight:700;display:inline-flex}.review-btn{width:100%;max-width:280px;margin-top:12px}.review-btn .icon{color:var(--wrong)}.review-banner{background:var(--card);color:var(--ink-soft);border-radius:var(--radius);border:1px solid #5ff0e026;align-items:center;gap:8px;margin-bottom:12px;padding:12px 16px;font-size:13px;display:flex}.review-banner .icon{color:var(--primary)}.text-btn{color:var(--primary);font-family:var(--font-mono);background:0 0;border:none;align-items:center;gap:5px;padding:4px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.danger-btn{color:var(--wrong)}.storage-note{color:var(--ink-soft);margin-top:20px;font-size:12px}.screen-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.screen-header h2{margin:0;font-size:17px}.back-btn{background:var(--card);color:var(--cyan);border-radius:var(--radius);border:1px solid #5ff0e040;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.chapter-card{background:var(--card);border-radius:var(--radius);text-align:left;border:1px solid #5ff0e02e;grid-template-columns:auto 1fr auto;grid-template-areas:"emoji info arrow""emoji bar arrow";align-items:center;gap:8px 14px;width:100%;margin-bottom:12px;padding:18px 16px;display:grid}.chapter-card:disabled{cursor:default;opacity:.55}.chapter-emoji{color:var(--cyan);grid-area:emoji;align-items:center;display:flex}.level-list-title{font-family:var(--font-mono);color:var(--ink-strong);align-items:center;gap:8px;font-weight:700;display:flex}.level-list-title .icon{color:var(--cyan)}.chapter-info{flex-direction:column;grid-area:info;gap:2px;display:flex}.chapter-name{color:var(--ink);font-size:15px;font-weight:700}.chapter-progress{font-family:var(--font-mono);color:#5ff0e066;font-size:11px}.chapter-bar{background:var(--track);border-radius:0;grid-area:bar;height:6px;overflow:hidden}.chapter-bar-fill{background:var(--cyan);border-radius:0;height:100%;transition:width .4s;display:block}.chapter-arrow{color:#5ff0e066;grid-area:arrow;align-items:center;display:flex}.level-row{background:var(--card);border-radius:var(--radius);text-align:left;border:1px solid #5ff0e02e;align-items:center;gap:14px;width:100%;margin-bottom:10px;padding:16px 18px;font-size:15px;display:flex}.level-row:disabled{cursor:default;opacity:.55}.level-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.level-icon.status-lock{color:var(--locked)}.level-icon.status-check-circle{color:var(--cyan)}.level-icon.status-play{color:var(--primary)}.level-name{color:var(--ink);flex:1;font-weight:700}.level-record{font-family:var(--font-mono);color:var(--ink-faint);flex-shrink:0;font-size:11px}.book-screen .review-btn{max-width:none}.book-empty{color:var(--ink-soft);text-align:center;margin-top:40px;font-size:14px}.book-list{flex-direction:column;gap:16px;margin-top:12px;display:flex}.review-card .option-btn.is-static{cursor:default}.review-meta-info{font-family:var(--font-mono);color:var(--ink-faint);flex-wrap:wrap;gap:10px;margin:-4px 0 14px;font-size:11px;display:flex}.quiz-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.progress-dots{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.dot{background:0 0;border:1px solid #5ff0e04d;border-radius:50%;width:9px;height:9px}.dot-done{background:var(--primary);border-color:var(--primary)}.dot-current{background:var(--primary);border:2px solid var(--primary);width:11px;height:11px;box-shadow:0 0 8px var(--primary);margin-top:-1px}.quiz-counter{font-family:var(--font-mono);color:#5ff0e099;flex-shrink:0;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.quiz-pet{flex-shrink:0;font-size:26px;line-height:1}.quiz-pet.pet-happy{animation:.5s ease-in-out 2 pet-hop}.quiz-pet.pet-sad{animation:.4s ease-in-out pet-shake}@keyframes pet-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)scale(1.15)}}@keyframes pet-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)rotate(-8deg)}75%{transform:translate(4px)rotate(8deg)}}.question-card{background:var(--card);border-radius:var(--radius);clip-path:polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, var(--notch) 100%, 0 calc(100% - var(--notch)));border:1px solid #5ff0e033;padding:22px}.question-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.save-btn{color:var(--ink-faint);background:0 0;border:none;align-items:center;margin-left:auto;padding:4px;display:flex}.save-btn.is-saved{color:var(--primary)}.icon-filled{fill:currentColor}.type-badge{background:var(--badge-bg);color:var(--primary);font-family:var(--font-mono);border-radius:var(--radius);border:1px solid #ffb45466;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.topic-label{color:var(--ink-soft);font-size:12px}.question-prompt{color:var(--ink-strong);margin:0 0 14px;font-size:16px;font-weight:700;line-height:1.6}.code-block{background:var(--code-bg);color:var(--ink);border-radius:var(--radius);font-size:13px;line-height:1.8;font-family:var(--font-mono);border:1px solid #5ff0e026;margin:0 0 16px;padding:16px;overflow-x:auto}.tok-keyword{color:#c792ea}.tok-string{color:#c3e88d}.tok-number{color:var(--primary)}.tok-comment{color:#dff8f459}.options{flex-direction:column;gap:10px;display:flex}.option-btn{background:var(--option-bg);border:1px solid var(--option-border);border-radius:var(--radius);text-align:left;color:var(--ink);word-break:break-all;cursor:pointer;padding:14px 16px;font-family:inherit;font-size:14.5px;line-height:1.5;transition:border-color .15s}.option-btn .code-block{text-align:left;margin:0 0 8px}.option-btn[aria-disabled=true]{cursor:default}.option-btn:not([aria-disabled=true]):hover{border-color:var(--primary)}.option-btn.is-correct{background:var(--correct-fill);border-color:var(--correct);color:var(--correct);font-weight:700}.option-btn.is-wrong{background:var(--wrong-fill);border-color:var(--wrong);color:var(--wrong);font-weight:700}.option-btn.is-dimmed{opacity:.4}.feedback{border-radius:var(--radius);border:1px solid;margin-top:16px;padding:18px}.feedback-correct{background:var(--correct-soft);border-color:#5ff0e04d}.feedback-wrong{background:var(--wrong-soft);border-color:#ff5c724d}.feedback-title{font-family:var(--font-mono);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.feedback-correct .feedback-title{color:var(--correct)}.feedback-wrong .feedback-title{color:var(--wrong)}.feedback-explanation{color:var(--ink-soft);margin:0 0 12px;font-size:13.5px;line-height:1.8}.docs-link{color:var(--cyan);align-items:center;gap:6px;margin-bottom:14px;font-size:12.5px;display:inline-flex}.next-btn{width:100%;padding:14px;font-size:14px}.result-screen{text-align:center;align-items:center;padding-top:32px}.result-screen h2{font-family:var(--font-mono);color:var(--ink-strong);margin:16px 0}.result-title{justify-content:center;align-items:center;gap:8px;display:flex}.result-title .icon{color:var(--primary)}.result-stats{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e033;width:100%;max-width:320px;margin-bottom:16px;padding:8px 20px}.stat-row{color:var(--ink-soft);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.stat-row strong{font-family:var(--font-mono);color:var(--cyan);font-size:15px}.stat-row+.stat-row{border-top:1px solid #5ff0e01f}.result-hint{color:var(--ink-soft);margin-bottom:24px;font-size:14px}.note-card{border-radius:var(--radius);clip-path:polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, var(--notch) 100%, 0 calc(100% - var(--notch)));cursor:pointer;color:var(--ink);margin-bottom:16px;padding:22px}.note-card-wrong{background:#150a0d;border:1px solid #ff5c7266}.note-card-saved{background:#161006;border:1px solid #ffb45466}.note-card-head{justify-content:space-between;align-items:center;display:flex}.note-card-title{font-family:var(--font-mono);align-items:center;gap:10px;font-size:16px;font-weight:700;display:inline-flex}.note-card-wrong .note-card-title{color:var(--wrong);text-shadow:0 0 10px #ff5c7266}.note-card-saved .note-card-title{color:var(--primary);text-shadow:0 0 10px #ffb45466}.note-card-count{color:var(--ink-soft);margin:8px 0 16px;font-size:13px}.note-card-btn{color:var(--ink-faint);border-radius:var(--radius);font-family:var(--font-mono);background:#ffffff0d;border:1px solid;padding:11px 22px;font-size:13px;font-weight:700;display:inline-block}.note-card-wrong .note-card-btn{border-color:#ff5c7233}.note-card-saved .note-card-btn{border-color:#ffb45433}.note-card-btn:disabled{opacity:.7;cursor:default}.stat-tile-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-tile,.stat-tile-wide{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e033;flex-direction:column;gap:8px;padding:16px;display:flex}.stat-tile-wide{border-color:#ffb45440;flex-direction:row;justify-content:space-between;align-items:center;margin-top:12px}.stat-tile-label{font-family:var(--font-mono);color:#5ff0e08c;font-size:11px}.stat-tile-wide .stat-tile-label{color:#ffb45499}.stat-tile-value{font-family:var(--font-mono);color:var(--cyan);align-items:center;gap:6px;font-size:24px;font-weight:800;display:flex}.stat-tile-wide .stat-tile-value{color:var(--primary);font-size:22px}.stat-tile-value .icon{color:var(--cyan)}.mini-chart-pair{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e02e;grid-template-columns:1fr 1fr;gap:16px;padding:18px 16px 8px;display:grid}.mini-chart-title{color:var(--ink-soft);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.legend-dot{border-radius:0;width:8px;height:8px;display:inline-block}.legend-dot-count{background:var(--chart-count)}.legend-dot-accuracy{background:var(--chart-accuracy)}.mini-chart-bars{justify-content:space-between;align-items:flex-end;gap:4px;height:108px;display:flex}.mini-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.mini-bar-value{font-family:var(--font-mono);color:var(--ink-faint);height:14px;font-size:10px}.mini-bar{border-radius:0;width:60%;min-width:6px}.mini-bar-count{background:var(--chart-count)}.mini-bar-accuracy{background:var(--chart-accuracy)}.mini-bar-label{font-family:var(--font-mono);color:var(--ink-faint);margin-top:6px;font-size:10px}.mini-bar-label.is-today{color:var(--primary);font-weight:700}.heatmap-card{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e02e;padding:16px}.heatmap-row{gap:6px;display:flex}.heatmap-weekday-col{flex-direction:column;flex-shrink:0;gap:3px;display:flex}.heatmap-month-spacer{height:14px}.heatmap-weekday{height:11px;line-height:11px;font-family:var(--font-mono);color:var(--ink-faint);font-size:9px}.heatmap-scroll{scrollbar-width:thin;overflow-x:visible}@media (max-width:640px){.heatmap-scroll{overflow-x:auto}}.heatmap-inner{flex-direction:column;gap:4px;display:inline-flex}.heatmap-months{gap:3px;height:14px;display:flex}.heatmap-month-label{width:11px;font-family:var(--font-mono);color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:9px;overflow:visible}.heatmap-grid{gap:3px;display:flex}.heatmap-col{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:var(--heat-0);border-radius:0;width:11px;height:11px}.heatmap-cell-blank{background:0 0}.heatmap-level-0{background:var(--heat-0)}.heatmap-level-1{background:var(--heat-1)}.heatmap-level-2{background:var(--heat-2)}.heatmap-level-3{background:var(--heat-3)}.heatmap-level-4{background:var(--heat-4)}.heatmap-legend{font-family:var(--font-mono);color:var(--ink-faint);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;font-size:10px;display:flex}.chapter-stat-list{flex-direction:column;gap:12px;display:flex}.chapter-stat-card{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e02e;padding:16px}.chapter-stat-head{color:var(--ink);justify-content:space-between;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.chapter-stat-head strong{font-family:var(--font-mono);color:var(--cyan)}.chapter-stat-sub{font-family:var(--font-mono);color:var(--ink-faint);margin-top:6px;font-size:10px}.profile-hero{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e033;margin-top:16px;padding:22px}.hero-xp-row{border-top:1px dashed #5ff0e02e;align-items:center;gap:16px;margin-top:20px;padding-top:18px;display:flex}.hero-xp-icon{border:2px solid var(--primary);background:radial-gradient(circle at 30% 20%,#5ff0e059,#0000 60%),#0d1116;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 0 14px #ffb45459}.hero-xp-icon .mascot{margin-bottom:0}.hero-xp-icon .mascot-emoji{filter:none;font-size:32px;animation:none}.hero-xp-info{flex:1;min-width:0}.hero-xp-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hero-xp-name{font-family:var(--font-mono);color:var(--primary);font-size:14px;font-weight:700}.hero-xp-count{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:11px}.hero-xp-bar{height:8px;margin-top:8px}.hero-xp-link{color:var(--cyan);flex-shrink:0}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border-radius:var(--radius);border:1px solid #5ff0e02e;width:100%;max-width:360px;max-height:80vh;padding:16px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-header .section-title{margin:0}.modal-close{flex-shrink:0}.growth-history{text-align:left;flex-direction:column;gap:6px;width:100%;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.growth-history-item{border-radius:var(--radius);background:var(--option-bg);opacity:.5;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex}.growth-history-item.is-reached{opacity:1}.growth-history-item.is-current{background:var(--badge-bg);border-color:var(--primary)}.growth-history-emoji{text-align:center;flex-shrink:0;width:28px;font-size:22px}.growth-history-info{flex-direction:column;gap:2px;display:flex}.growth-history-name{color:var(--ink);font-size:13px;font-weight:600}.growth-history-xp{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.account-list{border:1px solid #5ff0e02e;flex-direction:column;display:flex}.account-list-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:none;border-bottom:1px solid #5ff0e01f;border-radius:0;justify-content:space-between;align-items:center;padding:16px 18px;font-size:14px;display:flex}.account-list-item:last-child{border-bottom:none}.account-list-item span:first-child{align-items:center;gap:8px;display:inline-flex}.account-list-item.is-danger{color:var(--wrong)}.account-list-chevron{color:#5ff0e066;flex-shrink:0}.account-list-item.is-danger .account-list-chevron{color:#ff5c7280}.account-list-item:disabled{opacity:.6;cursor:default}.login-screen{justify-content:center;align-items:center;min-height:calc(100dvh - 64px);padding:24px;display:flex}.login-box{background:var(--card);border-radius:var(--radius);clip-path:polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, var(--notch) 100%, 0 calc(100% - var(--notch)));text-align:center;border:1px solid #5ff0e040;flex-direction:column;align-items:center;gap:8px;max-width:340px;padding:36px 28px;display:flex}.login-box .page-title{margin:4px 0 0}.login-desc{color:var(--ink-soft);margin:0 0 12px;font-size:13px;line-height:1.7}.login-clear-btn{color:var(--ink-faint);margin-top:8px}.account-header{flex-direction:column;gap:14px;display:flex}.account-header-row{text-align:left;align-items:center;gap:18px;display:flex}.account-avatar-wrap{flex-shrink:0;position:relative}.account-avatar{background-color:var(--option-bg);border:2px solid var(--cyan);width:76px;height:76px;color:var(--ink-soft);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 0 16px #5ff0e066}.account-avatar.is-repositioning{cursor:grab;outline:2px dashed var(--primary);outline-offset:3px}.account-avatar.is-repositioning:active{cursor:grabbing}.account-avatar-img{pointer-events:none;display:block}.account-avatar-initial{font-family:var(--font-mono);color:var(--cyan);font-size:26px;font-weight:700}.account-avatar-edit{background:var(--primary);border:2px solid var(--card);color:#04070a;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;bottom:-2px;right:-2px}.account-info{flex:1;min-width:0}.avatar-reposition{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.avatar-zoom{color:var(--ink-faint);align-items:center;gap:8px;display:inline-flex}.avatar-zoom input[type=range]{accent-color:var(--primary)}.avatar-reposition-actions{gap:12px;display:flex}.avatar-reposition .storage-note{width:100%;margin-top:0}.account-name-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.account-name{color:var(--ink);font-size:17px;font-weight:700}.account-name-input{border:1px solid var(--option-border);border-radius:var(--radius);background:var(--bg);color:var(--ink);padding:4px 8px;font-size:14px;font-weight:600}.profile-stat-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.profile-stat{background:var(--card);border-radius:var(--radius);text-align:center;border:1px solid #5ff0e02e;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.profile-stat-value{font-family:var(--font-mono);color:var(--cyan);font-size:18px;font-weight:800}.profile-stat-label{color:var(--ink-faint);font-size:12px}@media (max-width:480px){.profile-stat-grid{grid-template-columns:1fr}.profile-stat{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;padding:14px 16px}.profile-stat-label{order:-1}}
