.chain-display{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex;overflow:hidden}.chain-expression{align-items:center;gap:12px;font-size:48px;font-weight:800;display:flex}.chain-number{color:#2d3436}.chain-op{color:#6c5ce7;font-size:42px}.chain-operand{color:#2d3436}.chain-equals{color:#b2bec3}.chain-answer{color:#e17055;font-size:52px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chain-expression-easy{justify-content:center;align-items:center;gap:12px;display:flex}.pip-card{background:#fff;border:2px solid #d0d0d0;border-radius:10px;flex-direction:column;width:110px;height:154px;display:flex;position:relative;box-shadow:0 2px 6px #0000001f}.pip-corner{flex-direction:column;align-items:center;padding:4px 6px;line-height:1;display:flex;position:absolute}.pip-corner-top{top:0;left:0}.pip-corner-bottom{bottom:0;right:0;transform:rotate(180deg)}.pip-corner-number{color:#636e72;border:1.5px solid #d0d0d0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:800;display:flex}.pip-body{flex:1;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(3,1fr);place-items:center;padding:32px 18px;display:grid}.pip{font-size:18px;line-height:1}.easy-op{color:#6c5ce7;font-size:30px;font-weight:800}.easy-question{color:#e17055;font-size:38px;font-weight:800;animation:1s ease-in-out infinite pulse}.digit-pad-wrapper{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:320px;display:flex}.digit-pad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:260px;display:grid}.digit-btn{aspect-ratio:1.3;cursor:pointer;color:#fff;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#6c5ce7;border:none;border-radius:14px;width:100%;font-size:26px;font-weight:700;box-shadow:0 4px #4a3db8}.digit-btn-clear{background:#636e72;font-size:20px;box-shadow:0 4px #4a4f52}.digit-btn-submit{background:#00b894;font-size:22px;box-shadow:0 4px #009472}.digit-btn-spacer{visibility:hidden}.digit-btn:disabled{opacity:.5;cursor:default}.digit-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #333}.digit-display{background:#fff;border-radius:14px;justify-content:center;align-items:center;min-width:100px;height:56px;padding:0 20px;display:flex;position:relative;box-shadow:0 2px 8px #0000001a}.digit-entered{color:#2d3436;letter-spacing:4px;text-align:center;font-size:32px;font-weight:800}.pad-frozen .digit-entered{color:#6c5ce7}.fraction{align-items:center;gap:8px;display:inline-flex}.fraction-whole{font-size:44px;line-height:1}.fraction-stack{flex-direction:column;align-items:center;line-height:1;display:inline-flex}.fraction-num,.fraction-den{padding:2px 6px;font-size:32px}.fraction-bar{background:#2d3436;border-radius:2px;width:100%;min-width:32px;height:3px}.fraction-display{justify-content:center;align-items:center;width:100%;min-height:140px;display:flex}.fraction-expression{color:#2d3436;align-items:center;gap:16px;font-size:36px;font-weight:800;display:flex}.fraction-op{color:#6c5ce7;font-size:36px}.frac-input{background:#fff;border-radius:14px;align-items:center;gap:18px;min-height:96px;padding:12px 28px;display:flex;box-shadow:0 2px 8px #0000001a}.frac-input-stack{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.frac-input-bar{background:#2d3436;border-radius:2px;width:100%;min-width:48px;height:3px}.frac-slot{color:#b2bec3;cursor:pointer;-webkit-tap-highlight-color:transparent;border:2px dashed #dfe6e9;border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:44px;padding:4px 6px;font-family:inherit;font-size:32px;font-weight:800;line-height:1;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.frac-slot:disabled{cursor:default}.frac-slot-active{background:#f0edff;border-style:solid;border-color:#6c5ce7}.frac-slot-filled{color:#2d3436;border-style:solid;border-color:#dfe6e9}.frac-slot-active.frac-slot-filled{border-color:#6c5ce7}.frac-slot-disabled{color:#d0d5d8;opacity:.55;background:0 0;border-style:dashed;border-color:#e5e8ea}.pad-frozen .frac-slot{color:#6c5ce7;border-color:#6c5ce7}.recall-timer-bar{transform-origin:0;background:linear-gradient(90deg,#6c5ce7,#a29bfe);border-radius:4px;width:80%;height:6px}.recall-display{justify-content:center;align-items:center;width:100%;min-height:160px;display:flex}.recall-row{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;display:flex}.recall-items{justify-content:center;align-items:center;gap:18px;display:flex}.recall-item{color:#2d3436;font-size:64px;font-weight:900;line-height:1}.recall-footer{justify-content:center;align-items:center;width:100%;height:56px;display:flex}.recall-slots{justify-content:center;gap:10px;display:flex}.recall-slot{color:#2d3436;background:#ffffffb3;border:2px dashed #b2bec3;border-radius:8px;justify-content:center;align-items:center;width:48px;height:56px;font-size:32px;font-weight:800;transition:border-color .15s,background .15s;display:inline-flex}.recall-slot-active{background:#f0edff;border-style:solid;border-color:#6c5ce7}.recall-slot-filled{border-style:solid;border-color:#dfe6e9}.recall-slot-active.recall-slot-filled{border-color:#6c5ce7}.pattern-round{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:340px;display:flex}.pattern-board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffffbf;border-radius:24px;width:100%;position:relative;box-shadow:0 4px 14px #00000014}.pattern-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pattern-line{stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.pattern-line-shown{stroke:#6c5ce7;opacity:.55}.pattern-line-picked{stroke:#00b894;opacity:.85}.pattern-line-drag{stroke:#00b894;opacity:.45}.pattern-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;padding:6%;display:grid;position:absolute;inset:0}.pattern-node{aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;background:#fff;border:3px solid #b2bec3;border-radius:50%;justify-content:center;align-items:center;width:46%;padding:0;transition:transform .12s,border-color .15s,background .15s;display:flex}.pattern-node:disabled{cursor:default}.pattern-node-shown{background:#f0edff;border-color:#6c5ce7}.pattern-node-picked{background:#d8f5ee;border-color:#00b894;transform:scale(1.08)}.pattern-node-order{color:#2d3436;font-size:20px;font-weight:800;line-height:1}.pattern-footer{justify-content:center;align-items:center;width:100%;height:48px;display:flex}.pattern-clear-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#636e72;border:none;border-radius:14px;width:84px;height:48px;font-size:20px;font-weight:700;box-shadow:0 4px #4a4f52}.pattern-clear-btn:disabled{opacity:.5;cursor:default}.option-list{flex-direction:column;gap:12px;width:100%;display:flex}.option-item{color:#2d3436;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:16px;width:100%;padding:16px 24px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:24px;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:0 4px #b2bec3}.option-item:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #b2bec3}.option-item:disabled{opacity:.65;cursor:default}.option-item-picked{color:#6c5ce7;background:#f0edff;box-shadow:0 4px #4a3db8}.vocab-round{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:420px;display:flex}.vocab-emoji{margin-top:12px;font-size:140px;line-height:1}.letter-pad{--key-gap:5px;--key-width:calc((100% - 9 * var(--key-gap)) / 10);box-sizing:border-box;flex-direction:column;gap:6px;width:100%;max-width:460px;padding:6px 3px 8px;display:flex}.letter-row{justify-content:center;gap:var(--key-gap);width:100%;min-width:0;display:flex}.letter-btn{flex:0 0 var(--key-width);color:#1c1c1e;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:6px;min-width:0;height:clamp(38px,6vh,50px);font-size:clamp(16px,2.4vh,21px);font-weight:500;box-shadow:0 1px #0000004d}.letter-btn:active:not(:disabled){background:#d1d5db}.letter-btn:disabled{opacity:.5}.letter-btn-delete{background:#adb3bd;font-size:clamp(14px,2.1vh,18px)}.writing-prompt{flex-direction:column;align-items:center;gap:2px;display:flex}.writing-emoji{font-size:clamp(40px,9vh,64px);line-height:1}.writing-word{color:#2d3436;letter-spacing:2px;font-size:clamp(28px,5vh,40px);font-weight:900}.writing-slots{gap:8px;display:flex}.writing-slot{color:#6c5ce7;background:#ffffffb3;border-radius:12px;justify-content:center;align-items:center;width:clamp(34px,8vw,44px);height:clamp(42px,9vw,54px);font-size:clamp(22px,4.4vh,30px);font-weight:900;display:inline-flex;box-shadow:inset 0 -3px #dfe6e9}.writing-slot-filled{background:#f0edff;box-shadow:inset 0 -3px #6c5ce7}.writing-keyboard{justify-content:center;width:100%;display:flex}.composite-stage{justify-content:center;align-items:center;width:100%;max-width:560px;height:clamp(150px,26vh,280px);display:flex}.composite-svg{width:100%;height:100%;display:block}.composite-fill{fill:#a29bfe}.composite-cell{fill:none;stroke:#ffffffe6;stroke-width:1.5px}.composite-edge{stroke:#2d3436;stroke-width:2.5px;stroke-linecap:square}.composite-label{fill:#2d3436;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:800}.composite-edge.axis-horizontal,.composite-edge.axis-vertical{stroke-width:3.5px}.composite-edge.axis-horizontal{stroke:#e17055}.composite-edge.axis-vertical{stroke:#00b894}.composite-label.axis-horizontal,.composite-sum.axis-horizontal{fill:#c0442d}.composite-label.axis-vertical,.composite-sum.axis-vertical{fill:#00806a}.composite-label,.composite-sum{paint-order:stroke fill;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}.composite-sum{font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:26px;font-weight:900}.composite-round{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.composite-prompt{color:#2d3436;letter-spacing:.5px;font-size:22px;font-weight:800}.composite-header{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.composite-hint-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:none;border-radius:14px;width:36px;height:36px;font-size:18px;box-shadow:0 3px #00000014}.composite-hint-btn:disabled{opacity:.45;box-shadow:none}.composite-hint-btn{position:relative}.composite-hint-left{color:#fff;background:#6c5ce7;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:800;line-height:17px;position:absolute;top:-5px;right:-5px}.composite-hint-btn:disabled .composite-hint-left{background:#b2bec3}.simplify-display{flex-direction:column;align-items:center;gap:12px;width:100%;min-height:140px;display:flex}.simplify-prompt{color:#636e72;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:16px;font-weight:700}.simplify-fraction{color:#2d3436;font-size:36px;font-weight:800}.knowledge-round{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:520px;padding:0 8px;display:flex}.knowledge-scroll{border-radius:18px;flex-direction:column;align-items:center;gap:16px;width:100%;max-height:min(72vh,640px);padding-bottom:8px;display:flex;overflow-y:auto}.knowledge-article{box-sizing:border-box;background:#ffffffbf;border-radius:18px;flex-direction:column;gap:14px;width:100%;padding:22px 26px;display:flex}.knowledge-title{color:#2d3436;margin:0;font-size:30px;font-weight:900}.knowledge-image{object-fit:cover;border-radius:12px;width:100%;max-height:220px}.knowledge-paragraph{color:#2d3436;margin:0;font-size:22px;font-weight:500;line-height:1.65}.knowledge-done-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:none;border-radius:16px;padding:14px 36px;font-size:20px;font-weight:800;box-shadow:0 5px #4a3db8}.knowledge-done-btn:active{transform:translateY(3px);box-shadow:0 2px #4a3db8}.knowledge-question{color:#2d3436;text-align:center;margin:0;font-size:24px;font-weight:800}.kw-word{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:5px;margin:0;padding:0 1px;text-decoration:none;transition:background .12s}.kw-word:active,.kw-word-open{background:#e9e4ff}.kw-pop{color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;background:#2d3436;border-radius:12px;padding:7px 14px;font-size:21px;font-weight:700;position:fixed;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 6px 18px #00000047}.kw-pop.kw-pop-below{transform:translate(-50%,12px)}.kw-pop:after{content:"";border:7px solid #0000;border-top-color:#2d3436;position:absolute;top:100%;left:50%;transform:translate(-50%)}.kw-pop.kw-pop-below:after{border-top-color:#0000;border-bottom-color:#2d3436;top:auto;bottom:100%}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2d343673;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:340px;padding:22px 20px 18px;box-shadow:0 18px 40px #00000038}.confirm-title{color:#2d3436;margin:0 0 6px;font-size:22px;font-weight:900}.confirm-message{color:#636e72;margin:0 0 18px;font-size:15px}.confirm-actions{flex-direction:column;gap:10px;display:flex}.confirm-keep,.confirm-stop{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;padding:14px;font-size:17px;font-weight:900}.confirm-keep{color:#fff;background:#6c5ce7;box-shadow:0 4px #4a3db8}.confirm-keep:active{transform:translateY(3px);box-shadow:0 1px #4a3db8}.confirm-stop{color:#636e72;background:#ffffffe6;box-shadow:inset 0 0 0 2px #dfe6e9}.pip-icon{box-sizing:border-box;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;width:100%;height:100%;padding:2px;display:grid;overflow:hidden}.pip-icon-cell{font-size:11px;line-height:1}.mode-breakdown{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.mode-breakdown-row{background:#ffffff80;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.mode-breakdown-label{color:#2d3436;font-size:14px}.mode-breakdown-count{color:#6c5ce7;font-size:14px;font-weight:800}.mode-breakdown-empty{color:#636e72;margin:0;font-size:14px}.result-details{flex-direction:column;gap:10px;width:100%;max-width:320px;display:flex}.result-stats{background:#fff9;border-radius:14px;flex-direction:column;gap:8px;padding:16px 24px;display:flex}.result-stat-row{justify-content:space-between;align-items:center;display:flex}.result-stat-label{color:#636e72;font-size:14px}.result-stat-value{color:#2d3436;font-size:14px;font-weight:600}.result-breakdown{background:#fff6;border-radius:14px;padding:12px 16px}.history-panel{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:420px;display:flex}.history-header{align-items:center;gap:12px;display:flex}.history-back-btn{cursor:pointer;color:#2d3436;-webkit-tap-highlight-color:transparent;background:#fff9;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:flex}.history-back-btn:hover{background:#ffffffe6}.history-title{color:#2d3436;text-align:center;flex:1;margin:0;font-size:24px;font-weight:900}.history-empty{text-align:center;color:#636e72;padding:32px 0;font-size:16px}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-entry{background:#ffffff80;border-radius:14px;overflow:hidden}.history-entry-header{cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 16px;font-family:inherit;display:grid}.history-entry-when{color:#636e72;font-size:12px}.history-entry-score{color:#6c5ce7;font-size:20px;font-weight:800}.history-entry-mode{color:#2d3436;text-align:right;font-size:14px}.history-entry-chevron{color:#636e72;font-size:12px}.history-entry-details{justify-content:center;padding:0 16px 16px;display:flex}.home{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:460px;padding:4px 4px 12px;display:flex}.home-player{background:#ffffffd9;border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 4px;display:inline-flex;box-shadow:0 2px 8px #0000000f}.home-player-avatar{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#6c5ce71a;border:none;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;display:inline-flex}.home-player-avatar:active{transform:scale(.92)}.home-player-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:inline-flex}.home-player-name{color:#2d3436;font-size:16px;font-weight:800}.home-player-swap{color:#6c5ce7;font-size:12px;font-weight:700}.quick-start{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:none;border-radius:20px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:12px 16px;display:flex;box-shadow:0 6px #4a3db8}.quick-start:active{transform:translateY(3px);box-shadow:0 3px #4a3db8}.quick-start-eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.85;font-size:12px;font-weight:700}.quick-start-mode{font-size:20px;font-weight:900}.category-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.category-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:clamp(66px,11vh,88px);transition:transform .12s;display:flex;box-shadow:0 4px #0000000f}.category-card:active{transform:translateY(2px)}.category-icon{font-size:clamp(26px,4.4vh,34px);line-height:1}.category-title{color:#2d3436;font-size:15px;font-weight:800}.category-card-quiet{background:#fff9}.sheet-hearts{justify-content:center;display:flex}.sheet{flex-direction:column;gap:14px;width:100%;max-width:460px;padding:4px 4px 16px;display:flex}.sheet-header{align-items:center;gap:12px;display:flex}.sheet-back{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffd9;border:none;border-radius:14px;width:44px;height:44px;font-size:20px}.sheet-title{color:#2d3436;margin:0;font-size:22px;font-weight:900}.sheet-hint{color:#636e72;margin:0;font-size:14px}.level-list{flex-direction:column;gap:10px;display:flex}.level-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:none;border-radius:18px;align-items:center;gap:14px;padding:14px 16px;transition:transform .12s;display:flex;box-shadow:0 3px #0000000f}.level-card:active{transform:translateY(2px)}.level-icon{flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;display:inline-flex}.level-label{text-align:left;color:#2d3436;flex:1;font-size:17px;font-weight:800}.level-go{color:#6c5ce7;font-size:15px}.mixed-grid{flex-wrap:wrap;gap:8px;display:flex}.mixed-chip{color:#636e72;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:2px solid #dfe6e9;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700}.mixed-chip-on{color:#2d3436;background:#f0edff;border-color:#6c5ce7}.sheet-footer{padding-top:8px;position:sticky;bottom:0}.sheet-primary{color:#fff;cursor:pointer;background:#6c5ce7;border:none;border-radius:18px;width:100%;padding:16px;font-size:20px;font-weight:900;box-shadow:0 5px #4a3db8}.sheet-primary:disabled{opacity:.5;box-shadow:none;cursor:default}.bundle-cards{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.bundle-cards::-webkit-scrollbar{display:none}.bundle-card{scroll-snap-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#00b894,#55efc4);border:none;border-radius:20px;flex:0 0 88%;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 5px #009472}.bundle-cards:has(>:only-child) .bundle-card{flex-basis:100%}.bundle-card:active{transform:translateY(3px);box-shadow:0 2px #009472}.bundle-card-badge{font-size:24px}.bundle-card-main{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.bundle-card-name{text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:18px;font-weight:900;overflow:hidden}.bundle-card-rounds{color:#ffffffe6;font-size:12px;font-weight:700}.bundle-card-go{color:#fff;font-size:16px}.home-loading{min-height:60vh}.avatar-picker-title{color:#2d3436;margin:0 0 14px;font-size:20px;font-weight:900}.avatar-picker-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-choice{aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#6c5ce712;border:2px solid #0000;border-radius:14px;font-size:26px}.avatar-choice-on{background:#f0edff;border-color:#6c5ce7}.avatar-choice:active{transform:scale(.92)}.topbar{justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.topbar-section{flex:1;align-items:center;gap:6px;display:flex}.topbar-section-end{justify-content:flex-end}.topbar-controls{flex:none;justify-content:center}.topbar-hearts{background:#fff9;border-radius:10px;align-items:center;gap:2px;height:36px;padding:0 10px;display:flex}.topbar-heart{font-size:18px;line-height:1}.topbar-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff9;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:16px;transition:background .15s,transform .1s;display:flex}.topbar-btn:hover{background:#ffffffe6}.topbar-btn:active{transform:scale(.95)}.topbar-btn-quit{color:#e17055;font-weight:800}.topbar-score{color:#fff;background:#2d3436;border-radius:10px;justify-content:center;align-items:center;min-width:44px;height:36px;padding:0 12px;font-size:18px;font-weight:800;display:flex}.topbar-avatar{margin-right:6px;font-size:20px;line-height:1}.feedback-overlay{z-index:10;pointer-events:none;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.feedback-overlay.correct{background:#00b89440}.feedback-overlay.wrong{background:#e1705540}.feedback-icon{font-size:80px;font-weight:800;line-height:1}.correct .feedback-icon{color:#00b894}.wrong .feedback-icon{color:#e17055}.feedback-answer{color:#e17055;font-size:32px;font-weight:700}.pin-pad{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;margin:0 auto;display:flex}.pin-title{color:#2d3436;text-align:center;margin:0;font-size:24px;font-weight:800}.pin-subtitle{color:#636e72;text-align:center;margin:0;font-size:15px}.pin-dots{align-items:center;gap:14px;min-height:24px;display:flex}.pin-dot{background:0 0;border:2px solid #b2bec3;border-radius:50%;width:18px;height:18px;transition:background .15s,border-color .15s,transform .15s}.pin-dot-filled{background:#6c5ce7;border-color:#6c5ce7;transform:scale(1.1)}.pin-error{color:#d63031;text-align:center;margin:0;font-size:15px;font-weight:700}.pin-cancel{color:#636e72;cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:16px;font-weight:700}.profile-picker{flex-direction:column;align-items:center;gap:22px;width:100%;padding:16px;display:flex}.picker-title{color:#2d3436;margin:0;font-size:26px;font-weight:800}.picker-loading,.picker-empty{color:#636e72;text-align:center;font-size:16px}.picker-grid{flex-wrap:wrap;justify-content:center;gap:16px;max-width:520px;display:flex}.picker-card{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffd9;border:none;border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:120px;padding:18px 10px;display:flex;box-shadow:0 4px 14px #00000014}.picker-avatar{font-size:46px;line-height:1}.picker-name{color:#2d3436;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:17px;font-weight:700;overflow:hidden}.picker-parent-btn{color:#636e72;cursor:pointer;background:#ffffffb3;border:none;border-radius:14px;padding:10px 18px;font-size:15px;font-weight:700}.parent-area{flex-direction:column;gap:16px;width:100%;max-width:720px;margin:0 auto;padding:12px 16px 32px;display:flex;overflow-y:auto}.parent-header{align-items:center;gap:12px;display:flex}.parent-title{color:#2d3436;flex:1;margin:0;font-size:22px;font-weight:800}.parent-email{color:#636e72;font-size:13px}.parent-back{cursor:pointer;background:#fffc;border:none;border-radius:12px;align-self:flex-start;width:40px;height:40px;font-size:18px}.parent-card{background:#ffffffd9;border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 4px 14px #0000000f}.parent-card-title{color:#2d3436;margin:0;font-size:18px;font-weight:800}.parent-field{color:#636e72;flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.parent-field input{color:#2d3436;border:2px solid #dfe6e9;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:16px}.avatar-row{flex-wrap:wrap;gap:6px;display:flex}.avatar-option{cursor:pointer;background:#f1f2f6;border:2px solid #0000;border-radius:12px;width:44px;height:44px;font-size:22px}.avatar-option-active{background:#f0edff;border-color:#6c5ce7}.parent-primary-btn{color:#fff;cursor:pointer;background:#6c5ce7;border:none;border-radius:14px;padding:12px;font-size:16px;font-weight:800;box-shadow:0 4px #4a3db8}.parent-primary-btn:disabled{opacity:.5;cursor:default}.parent-error{color:#d63031;margin:0;font-weight:700}.parent-empty{color:#636e72;margin:0}.child-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.child-row{background:#f8f9fa;border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.child-avatar{font-size:28px}.child-name{color:#2d3436;flex:1;font-weight:700}.child-edit{flex-wrap:wrap;flex:1;gap:6px;display:flex}.child-edit input{border:2px solid #dfe6e9;border-radius:10px;flex:1;min-width:90px;padding:6px 8px;font-family:inherit;font-size:14px}.child-action{color:#2d3436;cursor:pointer;background:#dfe6e9;border:none;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700}.child-action-danger{color:#d63031;background:#ffe0e0}.dashboard{flex-direction:column;gap:18px;display:flex}.dashboard-section{background:#ffffffd9;border-radius:18px;padding:16px;box-shadow:0 4px 14px #0000000f}.dashboard-heading{color:#636e72;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:15px;font-weight:800}.stat-row{flex-wrap:wrap;gap:10px;display:flex}.stat-tile{background:#ffffffd9;border-radius:16px;flex-direction:column;flex:90px;align-items:center;gap:4px;padding:12px;display:flex;box-shadow:0 4px 14px #0000000f}.stat-value{color:#2d3436;font-size:24px;font-weight:900}.stat-label{color:#636e72;text-align:center;font-size:12px;font-weight:700}.activity-bars{align-items:flex-end;gap:3px;height:90px;display:flex}.activity-bar{background:#dfe6e9;border-radius:3px;flex:1;min-height:4px}.activity-bar-active{background:#6c5ce7}.mode-stats,.weak-facts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mode-stat-row{align-items:center;gap:10px;display:flex}.mode-stat-label{color:#2d3436;text-overflow:ellipsis;white-space:nowrap;width:120px;font-size:14px;font-weight:700;overflow:hidden}.mode-stat-bar{background:#eef0f2;border-radius:5px;flex:1;height:10px;overflow:hidden}.mode-stat-fill{background:#00b894;border-radius:5px;height:100%;display:block}.mode-stat-value{color:#636e72;text-align:right;width:84px;font-size:13px;font-weight:700}.weak-fact{background:#fff5f5;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.weak-fact-key{color:#2d3436;flex:1;font-size:17px;font-weight:800}.weak-fact-score{color:#d63031;font-size:14px;font-weight:800}.weak-fact-mode{color:#636e72;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:110px;font-size:12px;overflow:hidden}.parent-footer{justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 0;display:flex}.parent-signout{color:#d63031;cursor:pointer;background:#fffc;border:none;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:800}.parent-form-actions{gap:10px;display:flex}.parent-form-actions .parent-primary-btn{flex:1}.parent-secondary-btn{color:#2d3436;cursor:pointer;background:#dfe6e9;border:none;border-radius:14px;padding:12px 18px;font-size:16px;font-weight:800}.bundle-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.bundle-row{background:#f8f9fa;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.bundle-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bundle-row-name{color:#2d3436;font-weight:800}.bundle-row-items{color:#636e72;font-size:12px}.bundle-add-btn{width:100%}.bundle-modes{flex-direction:column;gap:10px;display:flex}.bundle-category-title{color:#636e72;font-size:12px;font-weight:800}.bundle-chip-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.bundle-plan{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bundle-plan-row{background:#f0edff;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.bundle-plan-mode{color:#2d3436;flex:1;font-size:14px;font-weight:800}.bundle-plan-counts{gap:4px;display:flex}.count-chip{color:#636e72;cursor:pointer;background:#fff;border:2px solid #dfe6e9;border-radius:10px;width:38px;height:34px;font-size:13px;font-weight:800}.count-chip-on{color:#fff;background:#6c5ce7;border-color:#6c5ce7}.hint-allowance{flex-direction:column;gap:6px;display:flex}.hint-allowance-counts{flex-wrap:wrap;gap:8px;display:flex}.hint-allowance-note{color:#636e72;margin:0;font-size:13px}.change-pin{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.change-pin-input{letter-spacing:4px;text-align:center;border:2px solid #dfe6e9;border-radius:12px;width:120px;padding:9px 12px;font-size:16px}.change-pin-input:focus{border-color:#6c5ce7;outline:none}.signin{flex-direction:column;align-items:center;gap:12px;width:100%;max-width:340px;padding:8px 4px;display:flex}.signin-title{color:#2d3436;text-align:center;margin:0 0 4px;font-size:24px;font-weight:900}.signin-google-mark{flex:none;width:20px;height:20px;margin-right:10px}.signin-google,.signin-submit{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;justify-content:center;align-items:center;width:100%;padding:14px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.signin-google{color:#2d3436;background:#fff;box-shadow:0 3px #0000001f}.signin-submit{color:#fff;background:#6c5ce7;box-shadow:0 4px #4a3db8}.signin-submit:disabled{opacity:.6;box-shadow:none}.signin-or{color:#b2bec3;text-transform:uppercase;font-size:13px;font-weight:700}.signin-form{flex-direction:column;gap:10px;width:100%;display:flex}.signin-input{box-sizing:border-box;color:#2d3436;background:#fff;border:2px solid #dfe6e9;border-radius:14px;width:100%;padding:13px 14px;font-size:16px}.signin-input:focus{border-color:#6c5ce7;outline:none}.signin-error,.signin-notice,.signin-devlink{text-align:center;margin:0;font-size:14px}.signin-error{color:#d63031;font-weight:700}.signin-notice{color:#00806a;font-weight:700}.signin-devlink{color:#6c5ce7;font-weight:700}.signin-links{flex-direction:column;align-items:center;gap:6px;display:flex}.signin-link{color:#6c5ce7;cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;font-weight:700}.app{background:linear-gradient(135deg,#dfe6e9 0%,#ffeaa7 100%);min-height:100dvh;font-family:Segoe UI,system-ui,-apple-system,sans-serif}.app-stack{flex-direction:column;width:100%;min-height:100dvh;display:flex}.app-content{flex:1;justify-content:center;align-items:center;padding:12px;display:flex}.hearts-selector{align-items:center;gap:8px;display:flex}.selector-label{color:#636e72;margin:0;font-size:14px;font-weight:800}.hearts-options{gap:8px;display:flex}.heart-option{cursor:pointer;background:#fff;border:2px solid #dfe6e9;border-radius:10px;padding:6px 12px;font-size:18px;transition:border-color .2s,transform .2s}.heart-option.selected{border-color:#e84393;transform:scale(1.05)}.game-board{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:640px;display:flex;position:relative}.game-over-screen{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.score-value{color:#6c5ce7;font-size:64px;font-weight:900;display:inline-block}.game-over-actions{gap:16px;display:flex}.action-icon-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;transition:transform .1s,box-shadow .1s;display:flex}.action-icon-menu{background:linear-gradient(135deg,#6c5ce7,#a29bfe);box-shadow:0 6px #4a3db8}.action-icon-replay{background:linear-gradient(135deg,#00b894,#55efc4);box-shadow:0 6px #009472}.action-icon-menu:active{transform:translateY(3px);box-shadow:0 3px #4a3db8}.action-icon-replay:active{transform:translateY(3px);box-shadow:0 3px #009472}.game-over-cheer{color:#00b894;margin:0;font-size:24px;font-weight:900}.screen-tools{justify-content:flex-end;width:100%;display:flex}.screen-tool-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffbf;border:none;border-radius:12px;width:36px;height:36px;font-size:16px;box-shadow:0 2px #0000000f}.auth-screen{box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}
