:root{--bg: #FBF6EC;--bg-2: #F4ECDC;--paper: #FFFCF5;--ink: #1A1614;--ink-soft: #534A45;--ink-faint: #8C7E74;--rule: #E5DAC4;--tomato: #E8503A;--tomato-deep: #B43523;--lemon: #F5C84B;--leaf: #5A8A4A;--plum: #6B4D7E;--sky: #5B8CB8;--shadow: 0 1px 0 rgba(26, 22, 20, .04), 0 12px 24px -12px rgba(26, 22, 20, .18);--tape: rgba(245, 200, 75, .55);--highlight: rgba(245, 200, 75, .35)}html[data-theme=midnight]{--bg: #161520;--bg-2: #1F1D2E;--paper: #232234;--ink: #F4EFE2;--ink-soft: #C8C2B0;--ink-faint: #8A8499;--rule: #3A3650;--tomato: #FF7A5C;--tomato-deep: #FF4A28;--lemon: #FFD66B;--leaf: #8FD27A;--plum: #C29CDB;--sky: #7FB6E5;--shadow: 0 1px 0 rgba(0, 0, 0, .4), 0 18px 36px -16px rgba(0, 0, 0, .6);--tape: rgba(255, 214, 107, .35);--highlight: rgba(255, 214, 107, .2)}html[data-theme=arcade]{--bg: #0D1F2D;--bg-2: #112A3A;--paper: #163349;--ink: #E8FBFF;--ink-soft: #B8DCEA;--ink-faint: #7AA0B2;--rule: #244E69;--tomato: #FF3D6E;--tomato-deep: #FF0F4A;--lemon: #FFE042;--leaf: #4ADE80;--plum: #C77DFF;--sky: #4FC3F7;--shadow: 0 0 0 1px rgba(255, 224, 66, .15), 0 0 32px rgba(255, 61, 110, .2), 0 18px 36px -16px rgba(0, 0, 0, .6);--tape: rgba(255, 224, 66, .3);--highlight: rgba(255, 61, 110, .25)}html[data-tilt=off] .eq-card{--tilt: 0deg !important}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Inter Tight,system-ui,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(232,80,58,.04),transparent 40%),radial-gradient(circle at 80% 70%,rgba(245,200,75,.06),transparent 45%);pointer-events:none;z-index:0}html[data-theme=midnight] body:before{background-image:radial-gradient(circle at 20% 30%,rgba(255,122,92,.06),transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,214,107,.05),transparent 45%)}html[data-theme=arcade] body:before{background-image:radial-gradient(circle at 20% 30%,rgba(255,61,110,.12),transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,224,66,.08),transparent 45%)}.app{position:relative;max-width:720px;margin:0 auto;padding:56px 28px 80px;z-index:1}.app.is-shake{animation:shakeApp .42s cubic-bezier(.36,.07,.19,.97)}@keyframes shakeApp{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.app.is-tearing .stack,.app.is-tearing .solver{animation:tearOff .38s cubic-bezier(.6,-.05,.7,.4) forwards}@keyframes tearOff{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(80px) rotate(2deg);opacity:0}}.masthead{text-align:center;margin-bottom:44px;position:relative}.logo-wrap{display:inline-block;position:relative}.logo{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(56px,12vw,88px);margin:0;letter-spacing:-.02em;line-height:1;color:var(--ink);position:relative;cursor:default;-webkit-user-select:none;user-select:none}.logo-puzzle{font-style:italic;color:var(--tomato)}.logo-emoji{display:inline-block;font-size:.82em;margin:0 -.18em;transform:translateY(.04em) rotate(-6deg);transition:transform .4s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 0 rgba(0,0,0,.06));position:relative;z-index:2}.logo>span{position:relative;z-index:2}.logo-wrap:hover .logo-emoji{transform:translateY(.04em) rotate(14deg) scale(1.08)}.logo-underline{position:absolute;left:0;right:0;bottom:.18em;height:.42em;color:var(--lemon);opacity:.85;z-index:1;pointer-events:none}.logo-underline svg{width:100%;height:100%;overflow:visible;display:block}.logo-underline path{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600;animation:drawLine 1s cubic-bezier(.5,0,.2,1) .3s forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.tagline{font-size:15px;color:var(--ink-soft);margin:16px 0 0;letter-spacing:.005em}.tag-spark{font-family:"Instrument Serif";font-style:italic;color:var(--tomato);font-size:18px;padding:0 1px}.stack{display:flex;flex-direction:column;gap:14px;margin-bottom:48px;perspective:800px}.eq-card{position:relative;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;padding:18px 24px;box-shadow:var(--shadow);transform:rotate(var(--tilt, 0deg));transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;will-change:transform;animation:cardIn .5s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i, 0) * .08s)}@keyframes cardIn{0%{transform:rotate(var(--tilt, 0deg)) translateY(20px);opacity:0}to{transform:rotate(var(--tilt, 0deg)) translateY(0);opacity:1}}.eq-card:hover{transform:rotate(0) translateY(-3px) scale(1.01);box-shadow:0 1px #1a16140a,0 20px 32px -10px #1a161438}.eq-mystery{background:linear-gradient(135deg,var(--paper) 0%,color-mix(in oklch,var(--lemon) 18%,var(--paper)) 100%)}html[data-theme=midnight] .eq-mystery{background:linear-gradient(135deg,var(--paper) 0%,color-mix(in oklch,var(--plum) 22%,var(--paper)) 100%)}.eq-tape{position:absolute;top:-10px;left:50%;width:56px;height:18px;background:var(--tape);transform:translate(-50%) rotate(-3deg);border-radius:2px;box-shadow:inset 0 0 0 1px #0000000a;pointer-events:none}.eq-card:nth-child(2) .eq-tape{transform:translate(-50%) rotate(4deg);left:60%}.eq-card:nth-child(3) .eq-tape{transform:translate(-50%) rotate(-6deg);left:35%}.eq-card:nth-child(4) .eq-tape{transform:translate(-50%) rotate(2deg);left:55%}.eq-inner{position:relative;z-index:1}.eq-parts{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:500;color:var(--ink)}.eq-glyph{position:relative;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.eq-group{position:relative;display:inline-flex;align-items:center;gap:0;padding:2px 6px}.eq-group .eq-glyph{position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.eq-group .eq-glyph+.eq-glyph{margin-left:-14px}.eq-group .eq-emoji{filter:drop-shadow(0 3px 3px rgba(0,0,0,.28))}html[data-theme=midnight] .eq-group .eq-emoji,html[data-theme=arcade] .eq-group .eq-emoji{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}.eq-group .eq-glyph:nth-child(1){transform:rotate(-7deg) translateY(2px);z-index:1}.eq-group .eq-glyph:nth-child(2){transform:rotate(0) translateY(-2px);z-index:2}.eq-group .eq-glyph:nth-child(3){transform:rotate(7deg) translateY(2px);z-index:3}.eq-group .eq-glyph:nth-child(4){transform:rotate(-3deg) translateY(0);z-index:4}.eq-group.is-solved{padding:0}.eq-group-num{font-family:"Instrument Serif",serif;font-size:30px;font-style:italic;color:var(--leaf);display:inline-flex;align-items:baseline;gap:2px;animation:numIn .35s cubic-bezier(.2,.8,.2,1)}.eq-group-x{font-style:normal;font-family:JetBrains Mono,monospace;font-size:.55em;color:var(--ink-faint);position:relative;top:-.15em;margin:0 1px}.eq-group-paren{color:var(--ink-faint);font-weight:400}.eq-paren{color:var(--ink-soft);font-family:JetBrains Mono,monospace;font-size:30px;font-weight:400;padding:0 1px}.eq-pow{position:relative}.eq-exp{font-family:JetBrains Mono,monospace;font-size:.55em;font-weight:600;color:var(--ink-soft);margin-left:1px;position:relative;top:-.5em;vertical-align:baseline}.eq-pow-solved{display:inline-flex;align-items:baseline}.eq-pow-solved .eq-exp{color:var(--leaf)}.eq-glyph.is-solved{animation:solvedPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes solvedPop{0%{transform:scale(1)}50%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}.eq-emoji{font-size:30px;line-height:1;display:inline-block;transition:opacity .25s,transform .25s;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06))}.eq-glyph.is-solved .eq-emoji{opacity:.25;transform:scale(.7)}.eq-solved-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:"Instrument Serif",serif;font-size:30px;color:var(--leaf);font-style:italic;animation:numIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes numIn{0%{opacity:0;transform:translateY(-6px) rotate(-8deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.eq-op{color:var(--ink-faint);font-weight:400;font-size:26px;padding:0 2px}.eq-eq{color:var(--ink-soft);margin:0 4px}.eq-answer{font-family:"Instrument Serif",serif;font-size:30px;color:var(--ink);font-style:italic}.eq-mystery .eq-answer{color:var(--tomato);animation:mysteryWobble 3s ease-in-out infinite;display:inline-block}@keyframes mysteryWobble{0%,to{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.08)}}.solver{background:var(--bg-2);border:1.5px dashed var(--rule);border-radius:16px;padding:32px 32px 28px;position:relative}.solver-title{font-family:"Instrument Serif",serif;font-weight:400;font-size:26px;margin:0 0 24px;text-align:center;letter-spacing:-.01em;line-height:1.1}.solver-title em{font-style:italic;color:var(--tomato)}.solve-grid{display:flex;flex-direction:column;gap:14px;max-width:320px;margin:0 auto}.solve-line{display:grid;grid-template-columns:40px 24px 1fr;align-items:center;gap:8px;transition:transform .25s}.solve-line.solve-right{transform:translate(2px)}.solve-emoji{font-size:30px;text-align:center;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06));transition:transform .3s}.solve-right .solve-emoji{transform:scale(1.1) rotate(-6deg)}.solve-final-mark{font-family:"Instrument Serif";color:var(--tomato);font-size:28px;font-style:italic}.solve-eq{color:var(--ink-faint);font-family:JetBrains Mono;font-size:18px;text-align:center}.solve-input-wrap{position:relative}.solve-input{width:100%;background:transparent;border:none;border-bottom:0;padding:8px 28px 10px 6px;font-family:"Instrument Serif",serif;font-size:28px;font-style:italic;color:var(--ink);outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.solve-input::-webkit-outer-spin-button,.solve-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.solve-input::placeholder{color:var(--ink-faint);font-style:italic;font-size:18px}.solve-underline{position:absolute;left:0;right:0;bottom:4px;height:0;border-bottom:2px dotted var(--ink-faint);transition:border-color .25s,border-bottom-style .25s}.solve-input:focus~.solve-underline{border-bottom-color:var(--tomato);border-bottom-style:solid}.solve-right .solve-underline{border-bottom-color:var(--leaf);border-bottom-style:solid}.solve-wrong .solve-underline{border-bottom-color:var(--tomato);border-bottom-style:solid;animation:underlineShake .42s}@keyframes underlineShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.solve-tick,.solve-cross{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:"Instrument Serif";font-size:22px;animation:stampIn .35s cubic-bezier(.34,1.56,.64,1)}.solve-tick{color:var(--leaf)}.solve-cross{color:var(--tomato)}@keyframes stampIn{0%{opacity:0;transform:translateY(-50%) scale(2) rotate(-20deg)}to{opacity:1;transform:translateY(-50%) scale(1) rotate(0)}}.solve-final{margin-top:18px;padding-top:22px;position:relative}.solve-final:before{content:"";position:absolute;top:0;left:-8px;right:-8px;height:0;border-top:1.5px solid var(--ink);opacity:.9}.solve-final:after{content:"= ?";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--bg-2);padding:0 10px;font-family:"Instrument Serif",serif;font-style:italic;font-size:16px;color:var(--ink-soft);letter-spacing:.02em}.hint-chip{display:flex;align-items:center;gap:8px;margin:18px auto 0;background:color-mix(in oklch,var(--lemon) 25%,var(--paper));border:1.5px solid var(--ink);border-radius:99px;padding:8px 16px 8px 12px;font-family:Inter Tight;font-size:13px;color:var(--ink);cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 0 var(--ink);animation:hintIn .4s cubic-bezier(.2,.8,.2,1)}@keyframes hintIn{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.hint-chip:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--ink)}.hint-chip:active{transform:translateY(1px);box-shadow:0 1px 0 var(--ink)}.hint-bulb{animation:bulbFlicker 2s ease-in-out infinite}@keyframes bulbFlicker{0%,to{transform:rotate(-3deg)}50%{transform:rotate(8deg) scale(1.1)}}.hint-chip b{font-weight:700}.actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;padding:12px 20px;font-family:Inter Tight;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);transition:transform .12s,box-shadow .12s,background .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--ink)}.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.btn-primary{background:var(--tomato);color:#fff;border-color:var(--tomato-deep);box-shadow:0 3px 0 var(--tomato-deep)}.btn-primary:hover{box-shadow:0 4px 0 var(--tomato-deep)}.btn-primary:active{box-shadow:0 1px 0 var(--tomato-deep)}.btn-arrow{transition:transform .2s;font-family:"Instrument Serif";font-size:20px}.btn-primary:hover .btn-arrow{transform:translate(4px)}.btn-shuffle{display:inline-flex;opacity:.8}.feedback{text-align:center;margin-top:18px;min-height:22px;font-size:14px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;gap:6px;animation:fbIn .3s ease-out}@keyframes fbIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.feedback-win{color:var(--leaf);font-weight:600}.feedback-wrong{color:var(--tomato)}.fb-emoji{font-size:16px}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:100}.confetti-piece{position:absolute;left:50%;top:60%;animation:confettiFly var(--d) cubic-bezier(.25,.6,.35,1) var(--delay) forwards;transform-origin:center;will-change:transform,opacity}@keyframes confettiFly{0%{transform:translate(-50%) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(calc(-50% + var(--x)),var(--y)) rotate(var(--r));opacity:0}}.settings{position:fixed;top:16px;right:16px;z-index:200}.settings-trigger{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);transition:transform .12s,box-shadow .12s;padding:0}.settings-trigger:hover{transform:translateY(-1px) rotate(20deg);box-shadow:0 3px 0 var(--ink)}.settings-trigger:active{transform:translateY(1px);box-shadow:0 1px 0 var(--ink)}.settings-trigger[aria-expanded=true] svg{transform:rotate(60deg);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.settings-pop{position:absolute;top:48px;right:0;width:240px;background:var(--paper);border:1.5px solid var(--ink);border-radius:14px;padding:14px 16px 16px;box-shadow:0 4px 0 var(--ink),0 18px 36px -16px #1a161459;display:flex;flex-direction:column;gap:14px;font-family:Inter Tight,system-ui,sans-serif;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);transform-origin:top right}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-section{display:flex;flex-direction:column;gap:6px}.settings-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}.settings-row{display:flex;flex-direction:column;gap:6px}.settings-row-h{flex-direction:row;align-items:center;justify-content:space-between}.settings-seg{display:flex;background:var(--bg-2);border-radius:8px;padding:3px;gap:2px}.settings-seg-btn{flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:12px;font-weight:500;padding:6px 4px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-seg-btn:hover{color:var(--ink)}.settings-seg-btn.is-on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1a161426}.settings-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:32px;padding:0 30px 0 10px;font:inherit;font-size:13px;font-weight:500;color:var(--ink);background:var(--bg-2);border:1px solid var(--rule);border-radius:8px;outline:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='rgba(0,0,0,.5)' d='M0 0h10L5 6z'/></svg>");background-repeat:no-repeat;background-position:right 10px center}html[data-theme=midnight] .settings-select,html[data-theme=arcade] .settings-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='rgba(255,255,255,.6)' d='M0 0h10L5 6z'/></svg>")}.settings-select:focus{border-color:var(--ink)}.settings-toggle{position:relative;width:36px;height:20px;border:0;border-radius:999px;background:var(--rule);transition:background .15s;cursor:pointer;padding:0}.settings-toggle[data-on="1"]{background:var(--leaf)}.settings-toggle i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.settings-toggle[data-on="1"] i{transform:translate(16px)}.settings-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:4px 0 0;text-align:left;font:inherit;font-size:12px;font-weight:500;color:var(--tomato);cursor:pointer}.settings-link:hover{text-decoration:underline}.custom-set-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.custom-set-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-2);border-radius:8px;font-size:12px}.custom-set-emojis{font-size:13px;letter-spacing:1px;grid-column:1 / -1;line-height:1}.custom-set-name{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-set-del{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-faint);width:22px;height:22px;border-radius:6px;font-size:11px;cursor:pointer;transition:background .15s,color .15s}.custom-set-del:hover{background:#e8503a1f;color:var(--tomato)}@media (max-width: 540px){.settings{top:12px;right:12px}.settings-pop{width:220px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a161473;z-index:300;display:grid;place-items:center;padding:24px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:min(560px,100%);max-height:calc(100vh - 48px);background:var(--paper);border:1.5px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink),0 24px 48px -16px #00000080;display:flex;flex-direction:column;padding:20px 22px 18px;gap:16px;animation:popIn .22s cubic-bezier(.34,1.56,.64,1)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:"Instrument Serif",serif;font-weight:400;font-size:24px;margin:0;letter-spacing:-.01em}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-faint);width:28px;height:28px;border-radius:8px;font-size:14px;cursor:pointer}.modal-close:hover{background:var(--bg-2);color:var(--ink)}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}.modal-input{width:100%;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg-2);border:1.5px solid var(--rule);border-radius:8px;outline:none;transition:border-color .15s}.modal-input:focus{border-color:var(--ink)}.picker-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.picker-slot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px dashed var(--rule);background:var(--bg-2);border-radius:10px;aspect-ratio:1;font-size:28px;color:var(--ink-faint);cursor:pointer;transition:border-color .15s,transform .12s;padding:0}.picker-slot.has-emoji{border-style:solid;border-color:var(--ink);background:var(--paper);color:var(--ink)}.picker-slot.has-emoji:hover{transform:translateY(-1px);border-color:var(--tomato)}.picker-slot:disabled{cursor:default}.picker-grid-wrap{flex:1;min-height:0;overflow-y:auto;padding:4px;background:var(--bg-2);border-radius:12px;display:flex;flex-direction:column;gap:14px}.picker-cat-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);padding:6px 4px 4px}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px}.picker-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-size:22px;aspect-ratio:1;border-radius:8px;cursor:pointer;transition:background .12s,transform .12s;padding:0}.picker-cell:hover{background:var(--paper);transform:scale(1.1)}.picker-cell.is-picked{background:color-mix(in oklch,var(--tomato) 22%,var(--paper));outline:1.5px solid var(--tomato)}.picker-cell:disabled{opacity:.3;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:0 3px 0 var(--ink)}.modal-actions .btn-primary[disabled]{box-shadow:0 3px 0 var(--tomato-deep)}@media (max-width: 540px){.modal{padding:16px 16px 14px}.modal-title{font-size:20px}.picker-slot{font-size:22px}}@media (max-width: 540px){.app{padding:44px 16px 60px}.eq-card{padding:14px 16px}.eq-parts{font-size:18px;gap:6px}.eq-op{font-size:22px}.eq-emoji,.eq-solved-num,.eq-answer{font-size:26px}.solver{padding:24px 18px}}
