@font-face{font-family:"Cubic 11";src:url(/study-rpg/fonts/Cubic_11.woff2) format("woff2"),url(/study-rpg/fonts/Cubic_11.woff) format("woff");font-display:swap;font-style:normal;font-weight:400}:root{--bg-cream: #f4ecd8;--bg-dark: #2d1f1a;--ink: #1a1410;--accent-leaf: #6a8c3f;--accent-rose: #c44d4d;--accent-gold: #d4a04d;--accent-sky: #6a9bc4;--frame-wood-light: #8c6d4a;--frame-wood-dark: #5a3f29;--rarity-n: #ffffff;--rarity-r: #6a9bc4;--rarity-sr: #a06ac4;--rarity-ssr: #d4a04d;--rarity-ur: #c44d4d;--font-pixel-en: "Press Start 2P", "Courier New", monospace;--font-pixel-num: "VT323", "Courier New", monospace;--font-pixel-cjk: "Cubic 11", "Noto Sans TC", sans-serif;--font-body-cjk: "Noto Sans TC", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg-cream);color:var(--ink);font-family:var(--font-body-cjk);font-size:16px;-webkit-font-smoothing:none;-moz-osx-font-smoothing:none}img{image-rendering:pixelated;image-rendering:-moz-crisp-edges}button{font-family:var(--font-pixel-cjk);font-size:16px;background:var(--bg-cream);color:var(--ink);border:2px solid var(--frame-wood-dark);padding:8px 16px;cursor:pointer;box-shadow:2px 2px 0 var(--frame-wood-dark);transition:none}button:hover{background:#ebe2c8}button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--frame-wood-dark)}button:disabled{opacity:1;background:#c8c0a8;cursor:not-allowed}.frame{background:var(--bg-cream);border:4px solid var(--frame-wood-dark);box-shadow:inset 0 0 0 2px var(--frame-wood-light),4px 4px 0 var(--frame-wood-dark);padding:16px}.frame-dark{background:var(--bg-dark);color:var(--bg-cream);border:4px solid var(--frame-wood-light);box-shadow:inset 0 0 0 2px var(--frame-wood-dark),4px 4px 0 var(--frame-wood-dark);padding:16px}.bar-track{background:var(--frame-wood-dark);border:1px solid var(--ink);height:16px;position:relative}.bar-fill{background:var(--accent-leaf);height:100%;transition:width .2s steps(8)}h1,h2,h3{font-family:var(--font-pixel-cjk);font-weight:400;margin:0;letter-spacing:1px}h1{font-size:32px}h2{font-size:24px}h3{font-size:16px}.rarity-N{border-color:var(--rarity-n)}.rarity-R{border-color:var(--rarity-r)}.rarity-SR{border-color:var(--rarity-sr)}.rarity-SSR{border-color:var(--rarity-ssr)}.rarity-UR{border-color:var(--rarity-ur)}.app{max-width:960px;margin:32px auto;padding:16px}.app-header{text-align:center;margin-bottom:24px}.app-header h1{font-family:var(--font-pixel-cjk);color:var(--frame-wood-dark)}.app-header .tag{font-family:var(--font-pixel-num);font-size:16px;color:var(--frame-wood-light);margin-top:8px}.layout{display:grid;grid-template-columns:360px 1fr;gap:16px}@media (max-width: 768px){.layout{grid-template-columns:1fr}}.char-card{display:flex;flex-direction:column;gap:12px;align-items:stretch}.char-sprite-wrap{position:relative;align-self:center;width:192px;height:192px}.char-sprite{width:192px;height:192px;image-rendering:pixelated;border:4px solid var(--frame-wood-dark);background:var(--bg-cream);box-shadow:inset 0 0 0 2px var(--frame-wood-light);display:block}.char-variant-btn{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:40px;padding:0;font-family:var(--font-pixel-en);font-size:16px;line-height:36px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;opacity:.7;transition:opacity .1s steps(2)}.char-variant-btn:hover{opacity:1}.char-variant-prev{left:-20px}.char-variant-next{right:-20px}.char-name-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.char-name-row .name{font-family:var(--font-pixel-cjk);font-size:20px;cursor:pointer;border-bottom:1px dashed var(--frame-wood-light)}.char-name-row .lvl{font-family:var(--font-pixel-num);font-size:22px}.char-name-input{font-family:var(--font-pixel-cjk);font-size:20px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);padding:2px 6px;width:60%;color:var(--ink)}.char-xp-label{font-family:var(--font-pixel-num);font-size:13px;color:var(--frame-wood-dark)}.equip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.equip-tile{position:relative;aspect-ratio:1 / 1;background:var(--bg-cream);border:2px solid var(--frame-wood-light);padding:4px;cursor:pointer;box-shadow:2px 2px 0 var(--frame-wood-dark);display:flex;align-items:center;justify-content:center}.equip-tile.empty{border-style:dashed;opacity:.85}.equip-tile.occupied{border-width:3px;border-style:solid}.equip-tile img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.equip-tile-label{position:absolute;bottom:2px;right:4px;font-family:var(--font-pixel-cjk);font-size:10px;background:var(--bg-dark);color:var(--bg-cream);padding:0 3px;line-height:12px}.stats{display:flex;flex-direction:column;gap:4px;margin-top:8px}.stat-row{display:grid;grid-template-columns:60px 1fr 64px;align-items:center;gap:8px;font-family:var(--font-pixel-num);font-size:14px}.actions{display:flex;flex-direction:column;gap:12px}.actions button{font-size:18px;padding:16px;text-align:left}.actions .label{display:block;font-family:var(--font-pixel-cjk)}.actions .hint{display:block;font-family:var(--font-pixel-num);font-size:14px;color:var(--frame-wood-dark);margin-top:4px}.loot-stage{margin-top:16px;min-height:200px}.card-reveal{text-align:center;padding:24px 16px;border:4px solid;font-family:var(--font-pixel-cjk);max-width:320px;margin:0 auto;background:var(--bg-cream)}.card-reveal .rarity-tag{font-family:var(--font-pixel-en);font-size:12px;letter-spacing:2px}.card-reveal .reveal-sprite{width:128px;height:128px;margin:12px auto;display:block;image-rendering:pixelated}.card-reveal .item-name{font-size:20px;margin:12px 0 4px}.card-reveal .flavor{font-family:var(--font-body-cjk);font-size:14px;color:var(--frame-wood-dark)}.card-reveal .loot-stats{margin-top:12px;font-family:var(--font-pixel-num);font-size:13px;color:var(--frame-wood-light)}.empty-state{font-family:var(--font-pixel-cjk);color:var(--frame-wood-light);text-align:center;padding:32px}.loot-stats{font-family:var(--font-pixel-num);font-size:14px;color:var(--frame-wood-dark);margin-top:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d1f1ab3;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--bg-cream);max-width:720px;width:100%;max-height:80vh;overflow:auto;padding:16px}.modal-header{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-pixel-cjk);font-size:18px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px dashed var(--frame-wood-light)}.close-btn{font-size:16px;padding:4px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);cursor:pointer;font-family:var(--font-pixel-num)}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.migration-modal{max-width:520px}.migration-body{font-family:var(--font-pixel-cjk);font-size:13px;line-height:1.7;margin:8px 0;color:var(--frame-wood-dark)}.migration-email{background:var(--bg-cream);border:1px solid var(--frame-wood-light);padding:1px 6px;margin:0 4px;font-family:var(--font-pixel-num);font-size:12px}.migration-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.migration-compare-side{border:2px solid var(--frame-wood-light);padding:8px;background:var(--bg-cream);display:flex;flex-direction:column;gap:4px;position:relative}.migration-compare-side--fresh{border-color:var(--rarity-SR, #d4af37);background:#d4af3714}.migration-compare-label{font-family:var(--font-pixel-cjk);font-size:13px;font-weight:700}.migration-compare-ts{font-family:var(--font-pixel-num);font-size:11px;color:var(--frame-wood-dark)}.migration-compare-badge{position:absolute;top:-8px;right:-8px;background:var(--rarity-SR, #d4af37);color:#fff;font-family:var(--font-pixel-cjk);font-size:10px;padding:2px 6px;border:1px solid var(--frame-wood-dark)}.migration-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.migration-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);cursor:pointer;font-family:var(--font-pixel-cjk);font-size:13px;text-align:left;gap:4px}.migration-btn:hover:not(:disabled){background:#ffffff80}.migration-btn:disabled{opacity:.5;cursor:not-allowed}.migration-btn--primary{border-color:var(--rarity-SR, #d4af37)}.migration-btn--secondary{border-color:var(--frame-wood-light)}.migration-btn--neutral{border-style:dashed}.migration-hint{font-family:var(--font-pixel-cjk);font-size:11px;color:var(--frame-wood-dark);opacity:.8;font-weight:400}.migration-error{margin-top:12px;padding:8px;background:#c44d4d1a;border:1px solid #c44d4d;font-family:var(--font-pixel-cjk);font-size:12px;color:#c44d4d}.migration-banner{position:sticky;top:0;z-index:80;background:var(--bg-cream);border-bottom:2px solid var(--rarity-SR, #d4af37);padding:10px 16px;box-shadow:0 2px 6px #00000014}.migration-banner-body{display:flex;align-items:center;gap:12px;max-width:960px;margin:0 auto;flex-wrap:wrap}.migration-banner-icon{font-size:20px;flex-shrink:0}.migration-banner-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px;font-family:var(--font-pixel-cjk);color:var(--frame-wood-dark)}.migration-banner-text strong{font-size:13px;font-weight:700}.migration-banner-sub{font-size:11px;opacity:.85}.migration-banner-actions{display:flex;gap:8px;flex-shrink:0}.migration-banner-btn{font-family:var(--font-pixel-cjk);font-size:12px;padding:6px 14px;border:1px solid var(--frame-wood-light);background:var(--bg-cream);cursor:pointer;white-space:nowrap}.migration-banner-btn:hover:not(:disabled){background:var(--frame-wood-light)}.migration-banner-btn--primary{border-color:var(--rarity-SR, #d4af37);font-weight:700}.migration-banner-btn--ghost{opacity:.75}.settings-panel{max-width:560px}.settings-section{margin:16px 0;padding-bottom:12px;border-bottom:1px solid var(--frame-wood-light)}.settings-section:last-of-type{border-bottom:none}.settings-section-title{font-family:var(--font-pixel-cjk);font-size:14px;font-weight:700;color:var(--frame-wood-dark);margin-bottom:8px}.settings-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-family:var(--font-pixel-cjk);font-size:12px}.settings-label{color:var(--frame-wood-dark);opacity:.7;flex-shrink:0}.settings-value{font-family:var(--font-pixel-num);text-align:right;word-break:break-all}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.settings-btn{padding:6px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);cursor:pointer;font-family:var(--font-pixel-cjk);font-size:12px}.settings-btn:hover:not(:disabled){background:#ffffff80}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn--primary{border-color:var(--rarity-SR, #d4af37)}.settings-btn--secondary{border-style:dashed}.settings-btn--danger{border-color:#c44d4d;color:#c44d4d}.settings-hint{margin-top:8px;font-family:var(--font-pixel-cjk);font-size:11px;color:var(--frame-wood-dark);opacity:.7}.settings-info{margin-top:12px;padding:8px;background:#1f8b4c1a;border:1px solid #1f8b4c;font-family:var(--font-pixel-cjk);font-size:12px;color:#1f8b4c}.inv-tile{background:var(--bg-cream);border:3px solid;padding:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-pixel-cjk);font-size:11px}.inv-tile img{width:64px;height:64px;image-rendering:pixelated}.inv-tile-name{text-align:center;line-height:1.2;word-break:break-all}.credits{margin-top:32px;padding-top:16px;border-top:2px dashed var(--frame-wood-light);font-size:12px;color:var(--frame-wood-dark);text-align:center}.credits a{color:var(--accent-sky)}.quiz-modal{max-width:800px}.quiz-body{display:flex;flex-direction:column;gap:12px}.quiz-stem{font-family:var(--font-body-cjk);font-size:16px;line-height:1.6;padding:12px;background:#8c6d4a14;border-left:4px solid var(--frame-wood-dark);white-space:pre-wrap}.quiz-options{display:flex;flex-direction:column;gap:8px}.quiz-option{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:12px 16px;font-family:var(--font-body-cjk);font-size:15px;line-height:1.5;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);cursor:pointer;box-shadow:2px 2px 0 var(--frame-wood-dark)}.quiz-option:hover:not(:disabled){background:#ebe2c8}.quiz-option:disabled{cursor:default;box-shadow:none}.quiz-option-letter{font-family:var(--font-pixel-en);font-size:14px;color:var(--frame-wood-dark);min-width:28px}.quiz-option-text{flex:1;white-space:pre-wrap}.option-correct{border-color:var(--accent-leaf);border-width:3px;background:#6a8c3f1f}.option-correct:after{content:"  ✓";margin-left:auto;color:var(--accent-leaf);font-weight:700}.option-wrong{border-color:var(--accent-rose);border-width:3px;background:#c44d4d1f}.option-wrong:after{content:"  ✗";margin-left:auto;color:var(--accent-rose);font-weight:700}.quiz-feedback{font-family:var(--font-pixel-cjk);font-size:18px;padding:8px 12px;text-align:center}.feedback-correct{color:var(--accent-leaf)}.feedback-wrong{color:var(--accent-rose)}.quiz-explanation{background:#8c6d4a0f;border:1px dashed var(--frame-wood-light);padding:8px 12px;font-family:var(--font-body-cjk);font-size:14px}.quiz-explanation summary{cursor:pointer;font-family:var(--font-pixel-cjk);font-size:14px;color:var(--frame-wood-dark);margin-bottom:8px}.quiz-explanation pre{white-space:pre-wrap;font-family:var(--font-body-cjk);font-size:14px;line-height:1.7;color:var(--ink);margin:0}.quiz-actions{display:flex;justify-content:flex-end;margin-top:4px}.quiz-actions button{font-size:16px;padding:10px 24px}.quiz-summary{text-align:center;padding:32px 16px}.quiz-summary-title{font-family:var(--font-pixel-cjk);font-size:28px;color:var(--accent-gold);margin-bottom:12px}.quiz-summary-score{font-family:var(--font-pixel-num);font-size:22px;color:var(--ink);margin-bottom:12px}.quiz-summary-hint{font-family:var(--font-body-cjk);font-size:14px;color:var(--frame-wood-dark);margin-bottom:16px}.boss-timer{font-family:var(--font-body-cjk);font-size:14px;background:var(--bg-cream);border:2px solid var(--frame-wood-light);padding:4px 10px;border-radius:4px;color:var(--frame-wood-dark);margin-left:auto;margin-right:12px}.boss-timer-warn{border-color:var(--accent-rose, #c04141);color:var(--accent-rose, #c04141);animation:boss-timer-pulse 1s ease-in-out infinite alternate}@keyframes boss-timer-pulse{0%{opacity:.7}to{opacity:1}}.boss-summary{text-align:center}.quiz-footer{margin-top:16px;padding-top:12px;border-top:2px dashed var(--frame-wood-light);font-family:var(--font-body-cjk);font-size:12px;color:var(--frame-wood-dark);text-align:center}.quiz-footer a{color:var(--accent-sky)}.image-placeholder-banner{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#d4a53c2e;border:2px dashed var(--accent-gold, #d4a53c);border-radius:4px;font-family:var(--font-body-cjk);font-size:13px;line-height:1.5;color:var(--frame-wood-dark)}.image-placeholder-banner .ipb-icon{font-size:18px;flex-shrink:0}.image-placeholder-banner .ipb-text{flex:1}.image-placeholder-banner .ipb-skip{font-family:var(--font-pixel-cjk);font-size:12px;padding:6px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;flex-shrink:0}.image-placeholder-banner .ipb-skip:hover{background:#ebe2c8}.review-mode-banner{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#5e6ea829;border:2px dashed var(--accent-sky, #5e6ea8);border-radius:4px;font-family:var(--font-body-cjk);font-size:13px;line-height:1.5;color:var(--frame-wood-dark)}.review-mode-banner .rmb-icon{font-size:18px;flex-shrink:0}.review-mode-banner .rmb-text{flex:1}.skill-tree-page{max-width:1200px;margin:0 auto;padding:16px}.skill-tree-header{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--frame-wood-light)}.skill-tree-header h2{font-family:var(--font-pixel-cjk);font-size:24px;margin:0;color:var(--ink)}.skill-tree-back{font-family:var(--font-pixel-cjk);font-size:14px;color:var(--frame-wood-dark);text-decoration:none;padding:4px 8px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);box-shadow:2px 2px 0 var(--frame-wood-dark)}.skill-tree-back:hover{background:var(--frame-wood-light);color:var(--bg-cream)}.skill-tree-hint{font-family:var(--font-body-cjk);font-size:12px;color:var(--frame-wood-dark);flex:1;text-align:right}.skill-tree-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:16px}@media (max-width: 767px){.skill-tree-grid{grid-template-columns:repeat(4,200px);grid-auto-flow:column}.skill-tree-hint{text-align:left;flex-basis:100%}}.skill-branch{background:var(--bg-cream);border:2px solid var(--frame-wood-light);box-shadow:3px 3px 0 var(--frame-wood-dark);padding:12px;display:flex;flex-direction:column;gap:10px}.skill-branch-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:2px dashed var(--branch-accent, var(--frame-wood-light))}.skill-branch-stat{font-family:var(--font-pixel-cjk);font-size:16px;color:var(--branch-accent, var(--ink))}.skill-branch-value{font-family:var(--font-pixel-num);font-size:18px;color:var(--ink)}.skill-branch-track{display:flex;flex-direction:column;gap:8px}.skill-node-wrap{position:relative}.skill-node{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);cursor:pointer;font-family:var(--font-pixel-cjk);font-size:13px;text-align:left;box-shadow:2px 2px 0 var(--frame-wood-dark)}.skill-node.locked{border-style:dashed;background:#0000000a;color:var(--frame-wood-dark);cursor:default;box-shadow:none;opacity:.65}.skill-node.unlocked{border-color:var(--branch-accent, var(--frame-wood-light));color:var(--ink)}.skill-node.unlocked:hover,.skill-node.expanded{background:var(--branch-accent, var(--frame-wood-light));color:var(--bg-cream)}.skill-node-art{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff6;border:1px solid var(--frame-wood-light)}.skill-node-art img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.skill-node.locked .skill-node-art{filter:grayscale(1)}.skill-node-placeholder{font-family:var(--font-pixel-num);font-size:16px}.skill-node-name{flex:1;font-size:12px;line-height:1.3}.skill-node-threshold{flex:1;font-family:var(--font-pixel-num);font-size:14px;color:var(--frame-wood-dark);text-align:right}.skill-node-flavor{margin-top:6px;padding:8px 10px;background:var(--bg-cream);border:2px solid var(--branch-accent, var(--frame-wood-light));box-shadow:2px 2px 0 var(--frame-wood-dark);font-family:var(--font-body-cjk);font-size:13px;line-height:1.5;color:var(--ink)}.skill-node-flavor strong{display:block;font-family:var(--font-pixel-cjk);font-size:13px;color:var(--branch-accent, var(--ink));margin-bottom:4px}.skill-node-flavor p{margin:0}.skill-unlock-toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-dark);color:var(--bg-cream);border:2px solid var(--accent-gold);box-shadow:4px 4px 0 var(--frame-wood-dark);z-index:80;max-width:280px}.skill-unlock-toast-sprite{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-cream);border:1px solid var(--accent-gold);flex-shrink:0}.skill-unlock-toast-sprite img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.skill-unlock-toast-sprite span{font-family:var(--font-pixel-num);font-size:18px;color:var(--accent-gold)}.skill-unlock-toast-text{display:flex;flex-direction:column;font-family:var(--font-pixel-cjk)}.skill-unlock-toast-text strong{font-size:11px;color:var(--accent-gold);text-transform:uppercase;letter-spacing:.05em}.skill-unlock-toast-text span{font-size:14px}.char-card-skill-btn{display:block;width:100%;margin-top:12px;padding:8px;font-family:var(--font-pixel-cjk);font-size:14px;text-align:center;border:2px solid var(--accent-gold);background:var(--bg-cream);color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--frame-wood-dark)}.char-card-skill-btn:hover{background:var(--accent-gold);color:var(--bg-cream)}.streak-chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 12px;font-family:var(--font-pixel-cjk);font-size:13px;color:var(--ink);background:var(--bg-cream);border:2px solid var(--accent-gold);box-shadow:2px 2px 0 var(--frame-wood-dark)}.streak-chip-icon{font-size:14px;line-height:1}.streak-chip-label{letter-spacing:.02em}.streak-break-toast{position:fixed;bottom:24px;left:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-cream);color:var(--ink);border:2px solid var(--frame-wood-light);box-shadow:4px 4px 0 var(--frame-wood-dark);z-index:80;max-width:280px}.streak-break-toast-icon{font-size:22px;line-height:1;flex-shrink:0}.streak-break-toast-text{display:flex;flex-direction:column;font-family:var(--font-pixel-cjk)}.streak-break-toast-text strong{font-size:13px;color:var(--frame-wood-dark)}.streak-break-toast-text span{font-size:12px;color:var(--ink);opacity:.8}.mock-picker-page,.mock-runner-page,.mock-result-page{max-width:1100px;margin:0 auto;padding:16px}.mock-picker-header,.mock-runner-header,.mock-result-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--frame-wood-light)}.mock-picker-header h2,.mock-runner-header h2,.mock-result-header h2{font-family:var(--font-pixel-cjk);font-size:22px;margin:0;color:var(--ink)}.mock-back{font-family:var(--font-pixel-cjk);font-size:13px;color:var(--frame-wood-dark);text-decoration:none;padding:4px 8px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);box-shadow:2px 2px 0 var(--frame-wood-dark)}.mock-back:hover{background:var(--frame-wood-light);color:var(--bg-cream)}.mock-picker-hint{font-family:var(--font-body-cjk);font-size:12px;color:var(--frame-wood-dark);flex:1;text-align:right}.mock-empty,.mock-loading{font-family:var(--font-body-cjk);text-align:center;padding:32px;color:var(--frame-wood-dark)}.mock-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}@media (max-width: 900px){.mock-picker-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.mock-picker-grid{grid-template-columns:repeat(2,1fr)}}.mock-paper-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:3px 3px 0 var(--frame-wood-dark);cursor:pointer;font-family:var(--font-pixel-cjk);color:var(--ink);transition:transform .08s ease}.mock-paper-cell:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--frame-wood-dark)}.mock-paper-cell:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--frame-wood-dark)}.mock-paper-year{font-size:22px;font-weight:700}.mock-paper-meta{display:flex;gap:8px;font-size:12px}.mock-paper-session{color:var(--frame-wood-dark)}.mock-paper-kind{padding:2px 6px;border:1.5px solid var(--frame-wood-dark)}.mock-paper-kind.kind-medexam-1{background:var(--accent-sky);color:var(--bg-cream)}.mock-paper-kind.kind-medexam-2{background:var(--accent-rose);color:var(--bg-cream)}.mock-paper-count{font-family:var(--font-body-cjk);font-size:13px}.mock-paper-attempt{font-family:var(--font-body-cjk);font-size:11px;margin-top:4px;padding:2px 6px;border-top:1px dashed var(--frame-wood-light);width:100%;text-align:center}.mock-paper-attempt-empty{color:var(--frame-wood-light)}.mock-stopwatch{font-family:var(--font-pixel-cjk);font-size:16px;color:var(--ink);padding:4px 10px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);margin-left:auto}.mock-toast{font-family:var(--font-body-cjk);font-size:13px;background:var(--accent-gold);color:var(--ink);padding:8px 14px;border:2px solid var(--frame-wood-dark);margin-bottom:12px;text-align:center}.mock-pause-banner{font-family:var(--font-body-cjk);font-size:13px;background:var(--frame-wood-light);color:var(--bg-cream);padding:8px 14px;margin-bottom:12px;text-align:center}.mock-progress{font-family:var(--font-body-cjk);font-size:13px;color:var(--frame-wood-dark);margin-bottom:8px}.mock-question-card{background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:3px 3px 0 var(--frame-wood-dark);padding:16px;margin-bottom:14px}.mock-question-subject{font-family:var(--font-pixel-cjk);font-size:12px;color:var(--accent-leaf);margin-bottom:6px}.mock-question-stem{font-family:var(--font-body-cjk);font-size:15px;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.mock-question-options{display:flex;flex-direction:column;gap:8px}.mock-option{display:flex;gap:8px;align-items:flex-start;text-align:left;font-family:var(--font-body-cjk);font-size:14px;padding:10px 14px;background:var(--bg-cream);border:2px solid var(--frame-wood-light);cursor:pointer;color:var(--ink)}.mock-option:hover{background:var(--frame-wood-light);color:var(--bg-cream)}.mock-option-selected{background:var(--accent-sky);color:var(--bg-cream);border-color:var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark)}.mock-option-key{font-family:var(--font-pixel-cjk);min-width:26px}.mock-option-text{flex:1;white-space:pre-wrap}.mock-nav{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:12px;border-top:2px dashed var(--frame-wood-light)}.mock-nav-btn,.mock-submit-btn{font-family:var(--font-pixel-cjk);font-size:13px;padding:8px 14px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;color:var(--ink)}.mock-nav-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.mock-submit-btn{background:var(--accent-rose);color:var(--bg-cream);margin-left:auto}.mock-nav-jump input{width:60px;padding:6px 8px;font-family:var(--font-pixel-cjk);font-size:13px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);text-align:center}.mock-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.mock-confirm-dialog{background:var(--bg-cream);border:3px solid var(--frame-wood-dark);box-shadow:4px 4px 0 var(--frame-wood-dark);padding:20px;max-width:360px;font-family:var(--font-body-cjk)}.mock-confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:14px}.mock-confirm-actions button{font-family:var(--font-pixel-cjk);font-size:13px;padding:6px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;color:var(--ink)}.mock-confirm-actions button.mock-submit-btn{background:var(--accent-rose);color:var(--bg-cream)}.mock-result-summary{background:var(--bg-cream);border:2px solid var(--frame-wood-dark);padding:16px;margin-bottom:14px;text-align:center}.mock-result-paper{font-family:var(--font-pixel-cjk);font-size:14px;color:var(--frame-wood-dark);margin-bottom:6px}.mock-result-score{font-family:var(--font-pixel-cjk);font-size:28px;margin:8px 0}.mock-result-score strong{font-size:40px;color:var(--accent-sky)}.mock-result-meta{font-family:var(--font-body-cjk);font-size:13px;color:var(--frame-wood-dark);margin:8px 0}.mock-progress-curve{font-family:var(--font-body-cjk);font-size:13px;padding:8px;margin-top:10px;border-top:1px dashed var(--frame-wood-light)}.mock-progress-up{color:var(--accent-leaf)}.mock-progress-down{color:var(--accent-rose)}.mock-progress-same{color:var(--frame-wood-dark)}.mock-progress-first{color:var(--frame-wood-light)}.mock-progress-delta{font-family:var(--font-pixel-cjk);font-weight:700}.mock-result-srs{text-align:center;margin-bottom:18px}.mock-srs-btn{font-family:var(--font-pixel-cjk);font-size:14px;padding:10px 20px;background:var(--accent-gold);color:var(--ink);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer}.mock-srs-btn-done{opacity:.6;cursor:not-allowed;background:var(--frame-wood-light);color:var(--bg-cream)}.mock-result-perfect{font-family:var(--font-pixel-cjk);font-size:18px;padding:16px;background:var(--accent-gold);border:2px solid var(--frame-wood-dark)}.mock-result-cards{display:flex;flex-direction:column;gap:12px}.mock-result-card{background:var(--bg-cream);border:2px solid var(--frame-wood-light);padding:14px}.mock-result-card-correct{border-color:var(--accent-leaf)}.mock-result-card-wrong{border-color:var(--accent-rose)}.mock-result-card-blank{border-color:var(--frame-wood-light);opacity:.85}.mock-result-card-num{font-family:var(--font-pixel-cjk);font-size:13px;margin-bottom:6px}.mock-result-card-subject{color:var(--accent-leaf);font-size:11px}.mock-result-card-stem{font-family:var(--font-body-cjk);font-size:14px;line-height:1.5;margin-bottom:10px;white-space:pre-wrap}.mock-result-card-options{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.mock-result-option{font-family:var(--font-body-cjk);font-size:13px;padding:6px 10px;border-left:3px solid transparent}.mock-result-option-correct{border-left-color:var(--accent-leaf);background:#5fa57e1a}.mock-result-option-user-wrong{border-left-color:var(--accent-rose);background:#c44d4d1a}.mock-result-option-key{font-family:var(--font-pixel-cjk);margin-right:6px}.mock-result-option-tag{font-family:var(--font-pixel-cjk);font-size:11px;color:var(--frame-wood-dark)}.mock-result-card-unanswered{font-family:var(--font-pixel-cjk);font-size:12px;color:var(--accent-rose);margin-bottom:8px}.mock-result-card-explanation{font-family:var(--font-body-cjk);font-size:13px;line-height:1.6;padding:10px;background:#0000000a;border-top:1px dashed var(--frame-wood-light)}.mock-result-card-explanation a{color:var(--accent-sky)}.mentor-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:950}.mentor-dialog{background:var(--bg-cream);border:3px solid var(--frame-wood-dark);box-shadow:4px 4px 0 var(--frame-wood-dark);max-width:720px;width:92vw;max-height:92vh;overflow-y:auto;padding:18px;position:relative}.mentor-dialog-header{display:flex;gap:16px;align-items:flex-start;margin-bottom:14px;padding-bottom:12px;border-bottom:2px dashed var(--frame-wood-light)}.mentor-dialog-portrait{width:120px;height:120px;image-rendering:pixelated;border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);background:var(--bg-cream);flex-shrink:0}.mentor-dialog-portrait-fallback{display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel-cjk);color:var(--frame-wood-dark);font-size:14px}.mentor-dialog-title-block{flex:1}.mentor-dialog-title{font-family:var(--font-pixel-cjk);font-size:20px;color:var(--ink);margin-bottom:4px}.mentor-dialog-backlog{font-family:var(--font-body-cjk);font-size:12px;color:var(--accent-rose);margin-bottom:2px}.mentor-dialog-mastered{font-family:var(--font-body-cjk);font-size:12px;color:var(--accent-gold)}.mentor-dialog-bubble{font-family:var(--font-body-cjk);font-size:14px;padding:10px 14px;margin-bottom:14px;background:var(--accent-gold);border:2px solid var(--frame-wood-dark);color:var(--ink);position:relative}.mentor-dialog-question{background:var(--bg-cream);border:2px solid var(--frame-wood-light);padding:14px}.mentor-dialog-subject{font-family:var(--font-pixel-cjk);font-size:11px;color:var(--accent-leaf);margin-bottom:6px}.mentor-dialog-stem{font-family:var(--font-body-cjk);font-size:14px;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.mentor-dialog-options{display:flex;flex-direction:column;gap:6px}.mentor-dialog-option{display:flex;gap:8px;align-items:flex-start;text-align:left;font-family:var(--font-body-cjk);font-size:13px;padding:8px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-light);cursor:pointer;color:var(--ink)}.mentor-dialog-option:hover:not(:disabled){background:var(--frame-wood-light);color:var(--bg-cream)}.mentor-dialog-option:disabled{cursor:not-allowed}.mentor-dialog-option-selected{background:var(--accent-sky);color:var(--bg-cream);border-color:var(--frame-wood-dark)}.mentor-dialog-option-correct{background:#5fa57e2e;border-color:var(--accent-leaf)}.mentor-dialog-option-wrong{background:#c44d4d2e;border-color:var(--accent-rose)}.mentor-dialog-option-key{font-family:var(--font-pixel-cjk);min-width:24px}.mentor-dialog-option-text{flex:1;white-space:pre-wrap}.mentor-dialog-option-tag{font-family:var(--font-pixel-cjk);font-size:10px;color:var(--frame-wood-dark)}.mentor-dialog-explanation{font-family:var(--font-body-cjk);font-size:13px;line-height:1.55;margin-top:12px;padding:10px;background:#0000000a;border-top:1px dashed var(--frame-wood-light)}.mentor-dialog-explanation a{color:var(--accent-sky)}.mentor-dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:2px dashed var(--frame-wood-light)}.mentor-dialog-skip,.mentor-dialog-close{font-family:var(--font-pixel-cjk);font-size:13px;padding:6px 14px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;color:var(--ink)}.mentor-dialog-close{background:var(--accent-sky);color:var(--bg-cream)}.mentor-dialog-skip-confirm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-cream);border:3px solid var(--frame-wood-dark);box-shadow:4px 4px 0 var(--frame-wood-dark);padding:18px;font-family:var(--font-body-cjk);max-width:320px;z-index:1}.mentor-dialog-skip-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.mentor-dialog-skip-actions button{font-family:var(--font-pixel-cjk);font-size:12px;padding:6px 12px;background:var(--bg-cream);border:2px solid var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;color:var(--ink)}.mentor-dialog-skip-confirm-btn{background:var(--accent-rose);color:var(--bg-cream)}@media (max-width: 640px){.mentor-dialog-header{flex-direction:column;align-items:center;text-align:center}.mentor-dialog-portrait{width:100px;height:100px}}.dorm-page{max-width:1100px;margin:0 auto;padding:16px}.dorm-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--frame-wood-light)}.dorm-header h2{font-family:var(--font-pixel-cjk);font-size:22px;margin:0;color:var(--ink)}.dorm-back{font-family:var(--font-pixel-cjk);font-size:13px;color:var(--frame-wood-dark);text-decoration:none;padding:4px 8px;border:2px solid var(--frame-wood-light);background:var(--bg-cream);box-shadow:2px 2px 0 var(--frame-wood-dark)}.dorm-back:hover{background:var(--frame-wood-light);color:var(--bg-cream)}.dorm-hint{font-family:var(--font-body-cjk);font-size:12px;color:var(--frame-wood-dark);flex:1;text-align:right}.dorm-character-stage{position:relative;width:384px;height:384px;margin:16px auto;border:4px solid var(--frame-wood-dark);box-shadow:0 0 0 2px var(--bg-cream) inset,4px 4px 0 var(--frame-wood-dark);background:var(--bg-cream);overflow:hidden}@media (max-width: 480px){.dorm-character-stage{width:280px;height:280px}}.dorm-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.dorm-layer-background{z-index:0}.dorm-layer-character{z-index:1}.dorm-layer-body{z-index:2}.dorm-layer-head{z-index:3}.dorm-layer-accessory{z-index:4}.dorm-layer-held{z-index:5}.dorm-changing-room{margin-top:24px}.dorm-section-label{font-family:var(--font-pixel-cjk);font-size:18px;color:var(--ink);margin:0 0 12px;padding-bottom:6px;border-bottom:2px dashed var(--frame-wood-light)}.cosmetic-picker{display:flex;flex-direction:column;gap:20px}.cosmetic-category-label{font-family:var(--font-pixel-cjk);font-size:14px;color:var(--accent-leaf);margin:0 0 8px}.cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.cosmetic-tile{background:var(--bg-cream);border:2px solid var(--frame-wood-light);padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--font-body-cjk);font-size:12px;color:var(--ink)}.cosmetic-tile-unlocked{border-color:var(--frame-wood-dark);box-shadow:2px 2px 0 var(--frame-wood-dark)}.cosmetic-tile-equipped{border-color:var(--accent-sky);box-shadow:2px 2px 0 var(--accent-sky)}.cosmetic-tile-locked{opacity:.7}.cosmetic-tile-art{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.cosmetic-tile-sprite{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}.cosmetic-tile-locked .cosmetic-tile-sprite{filter:brightness(0)}.cosmetic-tile-sprite-missing{background:var(--frame-wood-light);color:var(--bg-cream);font-family:var(--font-pixel-cjk);font-size:32px;display:flex;align-items:center;justify-content:center}.cosmetic-tile-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel-cjk);font-size:28px;color:var(--bg-cream);text-shadow:1px 1px 0 var(--frame-wood-dark)}.cosmetic-tile-name{text-align:center;font-family:var(--font-pixel-cjk);font-size:12px;line-height:1.2;min-height:28px}.cosmetic-tile-btn{font-family:var(--font-pixel-cjk);font-size:11px;padding:4px 10px;border:2px solid var(--frame-wood-dark);background:var(--bg-cream);box-shadow:2px 2px 0 var(--frame-wood-dark);cursor:pointer;color:var(--ink)}.cosmetic-tile-equip{background:var(--accent-leaf);color:var(--bg-cream)}.cosmetic-tile-unequip{background:var(--accent-rose);color:var(--bg-cream)}.cosmetic-tile-hint{font-family:var(--font-body-cjk);font-size:10px;color:var(--frame-wood-dark);text-align:center;padding:2px 4px;border-top:1px dashed var(--frame-wood-light);width:100%}.cosmetic-unlock-toast{position:fixed;top:20px;right:20px;z-index:1100;display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--accent-gold);border:3px solid var(--frame-wood-dark);box-shadow:4px 4px 0 var(--frame-wood-dark);font-family:var(--font-body-cjk);max-width:340px}.cosmetic-unlock-toast-sprite{width:56px;height:56px;image-rendering:pixelated;border:2px solid var(--frame-wood-dark);background:var(--bg-cream);flex-shrink:0}.cosmetic-unlock-toast-sprite-fallback{display:flex;align-items:center;justify-content:center;font-size:32px}.cosmetic-unlock-toast-title{font-family:var(--font-pixel-cjk);font-size:13px;color:var(--frame-wood-dark)}.cosmetic-unlock-toast-name{font-family:var(--font-pixel-cjk);font-size:16px;color:var(--ink);margin:2px 0}.cosmetic-unlock-toast-hint{font-size:11px;color:var(--frame-wood-dark)}.auth-button{position:fixed;top:12px;right:12px;z-index:100;padding:6px 12px;font-family:var(--font-pixel-cjk);font-size:12px;background:#141414bf;color:#e6edf3;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s}.auth-button:hover{background:#282828e6}.auth-button--loading{opacity:.5;cursor:progress;pointer-events:none}.auth-button--authed{border-color:#3fb95080;color:#3fb950}.auth-button--unauthed{border-color:#58a6ff80;color:#58a6ff}.bug-report-modal{max-width:640px;width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.bug-report-modal__close{position:absolute;top:10px;right:10px;background:transparent;border:1px solid rgba(255,255,255,.2);color:inherit;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;line-height:1}.bug-report-modal__close:hover{background:#ffffff14}.bug-report-modal__body{overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:14px}.bug-report-modal__fieldset{border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:10px 12px 12px;margin:0}.bug-report-modal__fieldset legend{padding:0 6px;font-size:13px;font-weight:600;color:var(--c-fg-muted, #ccc)}.bug-report-modal__radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.bug-report-modal__radio-grid--single{grid-template-columns:1fr}@media (max-width: 480px){.bug-report-modal__radio-grid{grid-template-columns:1fr}}.bug-report-modal__radio-row{display:flex;flex-wrap:wrap;gap:12px}.bug-report-modal__radio{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;line-height:1.4;cursor:pointer}.bug-report-modal__radio input{margin-top:2px}.bug-report-modal__field{display:flex;flex-direction:column;gap:4px;font-size:13px}.bug-report-modal__field span{font-weight:600;color:var(--c-fg-muted, #ccc)}.bug-report-modal__field textarea,.bug-report-modal__field input{font:inherit;padding:6px 8px;background:#0000004d;border:1px solid rgba(255,255,255,.18);border-radius:4px;color:inherit;resize:vertical}.bug-report-modal__checkbox{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.bug-report-modal__auto-context{border:1px dashed rgba(255,255,255,.18);border-radius:6px;padding:8px 12px;font-size:12px}.bug-report-modal__auto-context summary{cursor:pointer;font-weight:600;color:var(--c-fg-muted, #ccc)}.bug-report-modal__auto-context ul{list-style:none;padding:8px 0 0;margin:0;display:flex;flex-direction:column;gap:4px}.bug-report-modal__auto-context li label{display:flex;align-items:center;gap:6px;cursor:pointer}.bug-report-modal__auto-context code{font-size:11px;color:var(--c-fg-muted, #aaa);background:#00000040;padding:1px 6px;border-radius:3px;word-break:break-all}.bug-report-modal__error{background:#f851491f;border:1px solid rgba(248,81,73,.4);color:#f85149;padding:8px 12px;border-radius:4px;font-size:13px}.bug-report-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.bug-report-modal__cancel,.bug-report-modal__submit,.bug-report-modal__signin-btn{font:inherit;padding:8px 14px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:inherit;cursor:pointer}.bug-report-modal__submit{background:#3fb95033;border-color:#3fb95080;color:#3fb950;font-weight:600}.bug-report-modal__submit:disabled,.bug-report-modal__cancel:disabled{opacity:.5;cursor:not-allowed}.bug-report-modal__login-gate{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.bug-report-modal__signin-btn{background:#58a6ff33;border-color:#58a6ff80;color:#58a6ff;font-weight:600}.bug-report-modal__success{padding:48px 24px;text-align:center;font-size:18px;color:#3fb950;font-weight:600}.quiz-header-actions{display:flex;align-items:center;gap:8px}.quiz-bug-trigger{background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;width:28px;height:28px;font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;color:inherit;transition:background .12s,border-color .12s}.quiz-bug-trigger:hover{background:#ffffff14;border-color:#ffffff4d}.quiz-bug-trigger:focus-visible{outline:2px solid #58a6ff;outline-offset:2px}.quiz-bug-sheet{max-width:480px;width:calc(100vw - 32px)}.quiz-bug-sheet__close{background:transparent;border:none;font-size:18px;color:inherit;cursor:pointer}.quiz-bug-sheet__body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.quiz-bug-sheet__meta{font-size:12px;color:#fff9;margin:0}.quiz-bug-sheet__meta code{font-family:ui-monospace,SFMono-Regular,monospace;background:#ffffff0f;padding:1px 6px;border-radius:3px}.quiz-bug-sheet__notice{margin:0;padding:8px 10px;font-size:12px;background:#ffd7001f;border-left:3px solid rgba(255,215,0,.6);border-radius:3px;color:#ffd700f2}.quiz-bug-sheet__fieldset{border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:10px 12px;margin:0}.quiz-bug-sheet__fieldset legend{font-size:13px;padding:0 6px;color:#fffc}.quiz-bug-sheet__radio-stack{display:flex;flex-direction:column;gap:6px;margin-top:6px}.quiz-bug-sheet__radio{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:13px}.quiz-bug-sheet__radio:hover{background:#ffffff0a}.quiz-bug-sheet__radio input{margin:0}.quiz-bug-sheet__field{display:flex;flex-direction:column;gap:4px;font-size:13px;position:relative}.quiz-bug-sheet__field textarea{resize:vertical;min-height:48px;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.18);border-radius:4px;color:inherit;font:inherit}.quiz-bug-sheet__counter{font-size:11px;color:#ffffff80;text-align:right}.quiz-bug-sheet__error{padding:8px 10px;background:#f851491f;border-left:3px solid rgba(248,81,73,.6);border-radius:3px;color:#f85149;font-size:12px}.quiz-bug-sheet__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quiz-bug-sheet__escape,.quiz-bug-sheet__cancel,.quiz-bug-sheet__submit,.quiz-bug-sheet__signin-btn{padding:8px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;font:inherit;color:inherit}.quiz-bug-sheet__submit{background:#3fb95033;border-color:#3fb95080;color:#3fb950;font-weight:600}.quiz-bug-sheet__escape{margin-right:auto;font-size:12px;color:#ffffffb3}.quiz-bug-sheet__signin-btn{background:#58a6ff33;border-color:#58a6ff80;color:#58a6ff;font-weight:600}.quiz-bug-sheet__submit:disabled,.quiz-bug-sheet__cancel:disabled,.quiz-bug-sheet__escape:disabled{opacity:.5;cursor:not-allowed}.quiz-bug-sheet__login-gate{padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.quiz-bug-toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 16px;background:#3fb950eb;color:#fff;border-radius:999px;font-size:13px;font-weight:600;z-index:10;pointer-events:none}.header-controls{position:fixed;top:12px;right:12px;z-index:100;display:flex;align-items:center;gap:8px}.header-controls .auth-button{position:static;top:auto;right:auto;z-index:auto}.auth-button__email-collapsed{display:none}.sync-status-chip-wrap{position:relative}.sync-status-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-family:var(--font-pixel-cjk);font-size:12px;background:#141414bf;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sync-status-chip:hover{background:#282828e6}.sync-status-chip__label{font-size:11px}.sync-status-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:110;min-width:240px;padding:10px 12px;background:#fdf6e3;font-family:var(--font-pixel-cjk);font-size:12px;color:#333}.sync-status-popover__title{font-weight:700;font-size:13px;margin-bottom:6px}.sync-status-popover__row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:11px}.sync-status-popover__actions{display:flex;flex-direction:column;gap:4px;margin-top:8px}.sync-status-popover__btn{padding:4px 8px;font-size:11px;background:var(--accent-gold);border:1.5px solid var(--frame-dark);cursor:pointer}.sync-status-popover__btn:disabled{opacity:.5;cursor:not-allowed}.sync-error-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:200;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);padding:10px 14px;background:#dc3c3cf2;color:#fff;border-radius:8px;font-size:12px;box-shadow:0 4px 12px #0000004d}.sync-error-toast__body{display:flex;flex-direction:column;gap:2px}.sync-error-toast__detail{font-size:11px;opacity:.92}.sync-error-toast__actions{display:flex;gap:6px;flex-shrink:0}.sync-error-toast__btn{padding:4px 10px;font-size:11px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:4px;cursor:pointer}.sync-error-toast__btn--primary{background:#fffffff2;color:#c44d4d;font-weight:700}@media (max-width: 639px){.auth-button__email{display:none}.auth-button__email-collapsed{display:inline}.sync-status-chip__label{display:none}.header-controls .auth-button{max-width:56px;padding:6px 10px}.sync-error-toast{max-width:calc(100vw - 16px)}}.domain-migration-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 280px 10px 14px;background:linear-gradient(90deg,#f3d35a,#f6c84d);color:#2a1f00;border-bottom:1px solid #c89b1c;font-size:14px;line-height:1.4}.domain-migration-banner__msg{flex:1 1 320px;min-width:0}.domain-migration-banner__msg strong{font-weight:700}.domain-migration-banner__cta,.domain-migration-banner__export,.domain-migration-banner__dismiss{display:inline-flex;align-items:center;border:1px solid #2a1f00;background:#fff9;color:#2a1f00;font-size:13px;padding:6px 12px;border-radius:6px;text-decoration:none;cursor:pointer;white-space:nowrap}.domain-migration-banner__cta:hover,.domain-migration-banner__export:hover,.domain-migration-banner__dismiss:hover{background:#ffffffd9}.domain-migration-banner__cta{font-weight:600}.domain-migration-banner__export:disabled{opacity:.6;cursor:progress}.domain-migration-banner__dismiss{padding:6px 10px;font-size:12px}.domain-migration-banner__error{flex-basis:100%;color:#7a1a1a;font-size:12px}@media (max-width: 640px){.domain-migration-banner{font-size:13px;padding:8px 12px;gap:8px}.domain-migration-banner__msg{flex-basis:100%}}
