:root{--ink:#fffdf5;--ink-soft:#fffdf5bf;--ink-dark:#2a1f00;--panel:#ffffff1a;--panel-strong:#ffffff2e;--sun:#ffd23f;--green:#5cb247;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:#0d1240;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;min-height:100%;margin:0}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#0d1240 linear-gradient(#1b2259,#0d1240 36rem)}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}input{-webkit-user-select:text;user-select:text}h1,h2,h3,p{margin:0}.app{max-width:76rem;min-height:100dvh;padding:max(env(safe-area-inset-top), 1rem) max(env(safe-area-inset-right), 1.25rem) max(env(safe-area-inset-bottom), 1.25rem) max(env(safe-area-inset-left), 1.25rem);flex-direction:column;gap:1.1rem;margin:0 auto;display:flex}main{flex:1}.top{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.logo{background:var(--sun);width:1.5em;height:1.5em;color:var(--ink-dark);vertical-align:.05em;border-radius:.45em;place-items:center;margin-right:.2em;font-size:.8em;display:inline-grid}.top h1{letter-spacing:.01em;white-space:nowrap;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800}.tabs{background:var(--panel);border-radius:999px;gap:.25rem;padding:.3rem;display:flex}.tab{white-space:nowrap;background:0 0;border-radius:999px;padding:.6rem 1.15rem;font-size:1.1rem;font-weight:800;transition:background .2s,transform .1s}.tab.on{background:var(--sun);color:var(--ink-dark)}.top-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.round,.chip{background:var(--panel-strong);border-radius:999px;transition:transform .1s,background .2s}.round:active,.chip:active,.tab:active,.card:active,.key:active,.fact-button:active,.grid button:active{transform:scale(.94)}.round{flex:none;place-items:center;width:3rem;height:3rem;font-size:1.8rem;line-height:1;display:grid}.round.small{width:2.6rem;height:2.6rem;font-size:1.25rem}.round:disabled{opacity:.35}.chip{white-space:nowrap;padding:.6rem 1rem;font-size:1.05rem;font-weight:700}.chip.primary{background:var(--sun);color:var(--ink-dark)}.chip.big{align-self:center;padding:.9rem 2rem;font-size:1.3rem;font-weight:800}.chip.danger{background:#e5484d}.stars{background:#ffd23f33}.panel{background:var(--panel);border-radius:1.5rem;padding:clamp(1rem,2vw,1.5rem)}.note,.hint{color:var(--ink-soft);font-size:1.1rem;line-height:1.4}.hint{text-align:center;padding:2rem .5rem;font-size:1.25rem}.big-sum{white-space:nowrap;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800;line-height:1.1}.answer{color:var(--sun)}.answer.hidden{color:var(--ink-soft)}.tip{font-size:1.2rem;font-weight:700;line-height:1.35}.extra{color:var(--ink-soft);font-size:1.05rem;line-height:1.4}.steps{gap:.45rem;margin:0;padding-left:1.6rem;font-size:1.2rem;line-height:1.35;display:grid}.steps li::marker{color:var(--sun);font-weight:800}.steps li:last-child:not(.next){font-weight:800}.steps .next{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:1rem;display:flex}.steps .next::marker{content:""}.row-actions{flex-wrap:wrap;gap:.6rem;display:flex}.explorer{flex-direction:column;align-items:center;gap:.7rem;width:100%;display:flex}.explorer-caption{text-align:center;font-size:1.25rem}.dots-box{width:100%;container-type:inline-size}.dots{transition:height .7s ease-in-out;position:relative}.dot{transition:top .7s ease-in-out,left .7s ease-in-out,color .5s;position:absolute}.dot:after{content:"";box-shadow:0 0 10px color-mix(in srgb, currentColor 45%, transparent);opacity:0;background:currentColor;border-radius:50%;transition:transform .35s cubic-bezier(.3,1.6,.5,1),opacity .2s;position:absolute;inset:12%;transform:scale(.2)}.dot.on:after{opacity:1;transform:scale(1)}.dot-total{opacity:0;align-items:center;font-weight:800;transition:top .7s ease-in-out,left .7s ease-in-out,opacity .3s,transform .3s;display:flex;position:absolute;transform:translate(-.4em)}.dot-total.on{opacity:1;transform:none}.sum{text-align:center;max-width:100%;font-size:1.25rem;font-weight:700;line-height:1.5}.sum span{opacity:.15;transition:opacity .3s}.sum span.on{opacity:1}.explorer-actions{gap:.6rem;display:flex}.section-title{margin:.6rem 0 .8rem;font-size:1.4rem}.cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem;display:grid}.card{background:var(--panel);text-align:left;border-radius:1.4rem;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 1.15rem;transition:transform .1s;display:flex}.card strong{font-size:1.3rem}.card>span{color:var(--ink-soft);font-size:1.05rem}.card-emoji{font-size:2.2rem;line-height:1.1}.card.idea{background:linear-gradient(135deg,#ffd23f38,#79c6ff24)}.card.table{background:linear-gradient(var(--table), var(--table)) top / 100% 6px no-repeat, var(--panel)}.card.locked{opacity:.45}.table-badge{background:var(--table);border-radius:1rem;place-items:center;min-width:3.2rem;height:3.2rem;padding:0 .5rem;font-weight:800;display:grid;color:var(--ink-dark)!important;font-size:1.5rem!important}.fact-dots{gap:4px;margin:.2rem 0;display:flex}.fact-dot{background:#ffffff26;border-radius:50%;width:.8rem;height:.8rem}.fact-dot.level-1{background:color-mix(in srgb, var(--table) 40%, transparent)}.fact-dot.level-2{background:color-mix(in srgb, var(--table) 70%, transparent)}.fact-dot.level-3{background:var(--table)}.table-status{font-size:.95rem!important}.page{flex-direction:column;gap:1rem;display:flex}.page-head{align-items:center;gap:.9rem;display:flex}.page-head h2{color:var(--table);font-size:clamp(1.6rem,3.4vw,2.2rem)}.trick{border-left:6px solid var(--table);background:var(--panel);border-radius:1rem;gap:.4rem;padding:1rem 1.25rem;font-size:1.15rem;line-height:1.4;display:grid}.fact-picker{grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr));gap:.5rem;display:grid}.fact-button{background:var(--panel-strong);white-space:nowrap;border-radius:1rem;padding:.7rem .5rem;font-size:1.2rem;font-weight:800}.fact-button.on{background:var(--table);color:var(--ink-dark)}.study{flex-direction:column;align-items:center;gap:1rem;display:flex}.study-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1.5rem;width:100%;display:grid}.study-columns>div:last-child{gap:.8rem;display:grid}.make{align-items:center;gap:1rem;display:flex}.stepper{align-items:center;gap:.5rem;display:flex}.stepper strong{text-align:center;min-width:2ch;font-size:2.4rem}.times{color:var(--ink-soft);font-size:2rem;font-weight:800}.reference{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.reference-grid,.reference-detail{flex-direction:column;gap:.9rem;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.lookup{align-items:center;gap:.5rem;font-size:1.6rem;font-weight:800;display:flex}.lookup-input{background:var(--panel-strong);width:3.6rem;color:inherit;font:inherit;text-align:center;border:0;border-radius:.8rem;padding:.3rem}.lookup-input::placeholder{color:var(--ink-soft)}.grid{grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;display:grid}.grid>*{aspect-ratio:1;border-radius:22%;place-items:center;font-size:clamp(.72rem,1.5vw,1.05rem);font-weight:800;transition:opacity .2s,background .2s,transform .15s;display:grid}.grid-corner{color:var(--ink-soft)}.grid-head{color:var(--table);background:0 0}.grid-head.on{background:var(--table);color:var(--ink-dark)}.grid-cell{background:hsl(var(--hue) 70% 62% / .22);padding:0}.grid-cell.square{background:hsl(var(--hue) 70% 62% / .4)}.grid.picking .grid-cell:not(.lit){opacity:.4}.grid-cell.lit{background:hsl(var(--hue) 80% 62% / .55)}.grid-cell.selected{z-index:1;background:var(--sun);color:var(--ink-dark);position:relative;transform:scale(1.18);box-shadow:0 4px 14px #0006}.practice{flex-direction:column;gap:1rem;max-width:42rem;margin:0 auto;display:flex}.centred{text-align:center;align-items:center;gap:1rem;padding:2rem 1.5rem}.centred h2{font-size:clamp(1.8rem,4vw,2.4rem)}.hero-emoji{font-size:4.5rem;line-height:1}.mix{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:1.1rem;display:flex}.mix-chip{background:var(--panel-strong);color:var(--ink);border-radius:999px;padding:.35rem .8rem;font-weight:800}.mix-chip.new{background:var(--sun);color:var(--ink-dark)}.unlocked{color:var(--sun);font-size:1.5rem;font-weight:800}.practice-top{align-items:center;gap:.8rem;display:flex}.progress-dots{flex-wrap:wrap;flex:1;gap:5px;display:flex}.progress-dot{border:2px solid #ffffff4d;border-radius:50%;width:.85rem;height:.85rem}.progress-dot.right{background:var(--sun);border-color:var(--sun)}.progress-dot.wrong{background:#c3a6ff;border-color:#c3a6ff}.streak{color:#ffb347;white-space:nowrap;font-size:1.1rem;font-weight:800}.question-area{gap:1rem;display:grid}.question{text-align:center;justify-items:center;gap:.4rem;padding:1.6rem 1rem;transition:background .3s;display:grid}.question.right{background:linear-gradient(135deg,#5cb24773,#ffd23f40)}.typed{border-bottom:5px solid var(--sun);min-width:2.4ch;color:var(--sun);display:inline-block}.typed.empty{color:var(--ink-soft)}.praise{color:var(--sun);font-size:1.6rem;font-weight:800}.keypad{grid-template-columns:repeat(3,1fr);gap:.6rem;width:min(100%,24rem);margin:0 auto;display:grid}.key{background:var(--panel-strong);border-radius:1.1rem;height:clamp(3.4rem,8vh,4.6rem);font-size:1.9rem;font-weight:800;transition:transform .1s,opacity .2s}.key.ok{background:var(--green)}.key.del{background:var(--panel)}.key:disabled{opacity:.4}.feedback{text-align:center;flex-direction:column;align-items:center;gap:.8rem;display:flex}.feedback.wrong{background:linear-gradient(160deg,#c3a6ff40,#79c6ff1f)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#05081e99;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.sheet{background:#1e2766;border-radius:1.75rem;flex-direction:column;align-items:flex-start;gap:.9rem;width:min(40rem,100%);max-height:90dvh;padding:1.5rem;display:flex;overflow:auto;box-shadow:0 20px 60px #00000080}.sheet>.grid{width:100%}.sheet-head{justify-content:space-between;align-items:center;width:100%;display:flex}.sheet-head h2{font-size:1.8rem}.legend{flex-wrap:wrap;gap:.4rem 1rem;font-size:.95rem;display:flex}.swatch{vertical-align:-.1rem;border-radius:.25rem;width:.9rem;height:.9rem;display:inline-block}.status-0{color:var(--ink-soft);background:#ffffff12}.status-1{background:#ff6b6b99}.status-2{background:#ffd23f73}.status-3{background:#5cb247bf}.setting{cursor:pointer;align-items:center;gap:.7rem;font-size:1.1rem;display:flex}.setting input{width:1.4rem;height:1.4rem;accent-color:var(--sun)}@media (width<=900px){.top{grid-template-columns:1fr auto}.tabs{grid-area:2/1/auto/-1;justify-self:center}.reference,.study-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.tabs{justify-self:stretch}.tab{flex:1;padding:.55rem .4rem}.tab-emoji{display:none}.grid{gap:2px}.grid>*{letter-spacing:-.03em;font-size:.66rem}.make{gap:.4rem}.stepper{gap:.3rem}.stepper .round{width:2.5rem;height:2.5rem;font-size:1.5rem}.panel.reference-grid{padding:.75rem}}
