@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/Inter-latin-var-8kRkwJBP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#7c5cff;--accent-glow:#7c5cff8c;--accent-dark:#5a3ce0;--accent-hover-from:#8b6cff;--accent-hover-to:#6646e6;--operator-accent:#ff5e7a;--operator-accent-dark:#e0466a;--operator-accent-hover-from:#ff7088;--operator-accent-hover-to:#e84d70;--operator-glow:#ff5e7a80;--text-on-accent:#fff;--error:#ff8a8a;--accent-rgb:124, 92, 255;--operator-accent-rgb:255, 94, 122;--scrim-rgb:14, 10, 36;--calc-fallback-rgb:26, 18, 56;--op-shadow-rgb:120, 0, 30;--eq-shadow-rgb:40, 0, 90;--readout-font-floor:1.25rem;--text-on-scrim:#fff;--text-on-scrim-soft:#ffffffa8;--text-primary:#f4f2ff;--text-secondary:#f4f2ff9e;--glass-fill:#ffffff1a;--glass-fill-hover:#ffffff2b;--glass-fill-display:#ffffff0d;--glass-border:#ffffff38;--glass-border-bright:#ffffff73;--display-scrim:#0e0a24c7;--bg-base:#0a0820;--bg-aurora:radial-gradient(40% 50% at 20% 25%, #3a1d8a 0%, transparent 60%), radial-gradient(45% 55% at 80% 20%, #b21e6e 0%, transparent 60%), radial-gradient(50% 60% at 75% 80%, #1d4ed8 0%, transparent 62%), radial-gradient(45% 50% at 25% 80%, #6d28d9 0%, transparent 60%), linear-gradient(135deg, #160d3a 0%, #2a1052 50%, #3a0e44 100%);--bg-blob:radial-gradient(circle, #ff5e7a8c 0%, #7c5cff66 45%, transparent 70%);--motion-press:80ms ease-out;--motion-hover-bg:.12s ease;--motion-hover-shadow:.15s ease;--motion-result-rise:.2s ease-out;--glass-glow-hover:#ffffff1f;--radius-body:30px;--radius-display:22px;--radius-btn:18px;--blur-body:22px;--blur-display:16px;--blur-key:10px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden auto}body:before{content:"";z-index:0;background:var(--bg-aurora);filter:saturate(125%);background-size:200% 200%,200% 200%,200% 200%,200% 200%,100% 100%;animation:26s ease-in-out infinite alternate auroraDrift;position:fixed;inset:-30%}body:after{content:"";z-index:0;background:var(--bg-blob);filter:blur(40px);border-radius:50%;width:420px;height:420px;margin:-210px 0 0 -210px;animation:18s linear infinite blobOrbit;position:fixed;top:50%;left:50%}@keyframes auroraDrift{0%{background-position:0 0,100% 0,100% 100%,0 100%,0 0}to{background-position:100%,0 60%,20% 0,80% 40%,0 0}}@keyframes blobOrbit{0%{transform:rotate(0)translate(120px)rotate(0)}to{transform:rotate(360deg)translate(120px)rotate(-360deg)}}.grain{z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.app-layout{z-index:2;flex-direction:row;justify-content:center;align-items:center;gap:24px;width:100%;max-width:640px;display:flex;position:relative}.history-slot{flex-shrink:0;align-self:stretch;width:240px}.calc{border-radius:var(--radius-body);background:var(--glass-fill);width:100%;max-width:360px;-webkit-backdrop-filter:blur(var(--blur-body)) saturate(160%);border:1px solid var(--glass-border);box-shadow:0 30px 70px #00000073, 0 0 60px rgba(var(--accent-rgb), .22),  inset 0 1px 0 #fff6,  inset 0 0 60px #ffffff0a;padding:22px;position:relative;transform:perspective(1400px)rotateX(2.2deg)}.calc:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .7), #ffffffd9, rgba(var(--operator-accent-rgb), .7), transparent);opacity:.8;border-radius:2px;height:2px;position:absolute;top:0;left:12%;right:12%}.toggle-slot{width:38px;height:22px;position:absolute;top:16px;right:16px}.display{border-radius:var(--radius-display);background:var(--glass-fill-display);min-height:124px;-webkit-backdrop-filter:blur(var(--blur-display)) saturate(140%);border:1px solid var(--glass-border);flex-direction:column;justify-content:flex-end;align-items:flex-end;margin-bottom:18px;padding:18px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 14px #00000059,inset 0 1px #ffffff2e}.display:before{content:"";background:var(--display-scrim);z-index:0;border-radius:16px;position:absolute;inset:8px;box-shadow:inset 0 0 30px #00000059}.display>*{z-index:1;position:relative}.pending-line{color:var(--text-on-scrim-soft);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;width:100%;min-height:1.2em;font-family:Inter,sans-serif;font-size:.95rem;font-weight:400;line-height:1.2}.pending-line[hidden]{visibility:hidden;display:block}.readout{color:var(--text-on-scrim);font-variant-numeric:tabular-nums;text-align:right;word-break:break-word;text-shadow:0 1px 12px #00000059;white-space:nowrap;width:100%;font-family:Inter,sans-serif;font-size:clamp(2.6rem,13vw,4.2rem);font-weight:300;line-height:1.05;overflow:hidden}.readout[data-overflow=scroll]{scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;-webkit-overflow-scrolling:touch;direction:rtl;overflow-x:scroll}.readout[data-overflow=scroll]::-webkit-scrollbar{display:none}.readout[data-overflow=scroll] .readout-inner{direction:ltr;unicode-bidi:isolate;display:inline-block}.display--error .readout{color:var(--error);word-break:break-word;white-space:normal;font-size:clamp(1.4rem,6vw,2rem);font-weight:500;line-height:1.25;overflow:visible}@keyframes resultRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.readout--result{animation:resultRise var(--motion-result-rise) both}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.calc{background:rgba(var(--calc-fallback-rgb), .88)}.display{background:rgba(var(--scrim-rgb), .92)}}.keypad{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.key{border:1px solid var(--glass-border);border-radius:var(--radius-btn);background:var(--glass-fill);min-width:64px;min-height:64px;-webkit-backdrop-filter:blur(var(--blur-key)) saturate(150%);color:var(--text-primary);cursor:pointer;transition:transform var(--motion-press), background var(--motion-hover-bg), box-shadow var(--motion-hover-shadow), filter var(--motion-press);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:1.55rem;font-weight:500;display:flex;position:relative;box-shadow:0 4px 16px #00000038,inset 0 1px #ffffff38}.key:hover{background:var(--glass-fill-hover);box-shadow:0 6px 22px #00000047, 0 0 18px var(--glass-glow-hover), inset 0 1px 0 #ffffff4d}.key:active{filter:brightness(1.12);transform:scale(.96)}.key:focus-visible{outline:3px solid var(--accent);outline-offset:3px;z-index:3}.key--util{color:var(--text-secondary);letter-spacing:.04em;font-size:1.15rem;font-weight:600}.key--op{background:linear-gradient(145deg, var(--operator-accent), var(--operator-accent-dark));border-color:var(--glass-border-bright);color:var(--text-on-accent);box-shadow:0 6px 20px var(--operator-glow), inset 0 1px 0 #ffffff73;text-shadow:0 1px 6px rgba(var(--op-shadow-rgb), .4);font-size:1.85rem;font-weight:500}.key--op:hover{background:linear-gradient(145deg, var(--operator-accent-hover-from), var(--operator-accent-hover-to));box-shadow:0 8px 28px var(--operator-glow), 0 0 22px var(--operator-glow), inset 0 1px 0 #ffffff80}.key--equals{background:linear-gradient(155deg, var(--accent), var(--accent-dark));border-color:var(--glass-border-bright);color:var(--text-on-accent);box-shadow:0 8px 26px var(--accent-glow), 0 0 26px var(--accent-glow), inset 0 1px 0 #ffffff80;text-shadow:0 1px 8px rgba(var(--eq-shadow-rgb), .5);grid-area:4/4/span 2;font-size:2.1rem;font-weight:500}.key--equals:hover{background:linear-gradient(155deg, var(--accent-hover-from), var(--accent-hover-to));box-shadow:0 10px 34px var(--accent-glow), 0 0 38px var(--accent-glow), inset 0 1px 0 #ffffff8c}.key--zero{grid-column:1/span 2;justify-content:flex-start;padding-left:26px}@media (width<=640px){.app-layout{flex-direction:column;max-width:420px}.history-slot{width:100%;height:0}.calc{max-width:100%;transform:none}.key{min-width:44px;min-height:44px}}@media (width<=640px) and (orientation:landscape){body{align-items:flex-start;padding:16px 12px}.calc{max-width:100%}}@media (prefers-reduced-motion:reduce){body:before,body:after{animation:none}.readout,.readout--result{animation:none!important}.key{transition:none}.key:active{filter:none;transform:none}.calc{transform:none}}:root{--tape-scrim:#0e0a24bd;--radius-tape:24px}.history-tape{border-radius:var(--radius-tape);background:var(--glass-fill-display);-webkit-backdrop-filter:blur(var(--blur-display)) saturate(140%);border:1px solid var(--glass-border);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000052,inset 0 1px #ffffff2e}.history-tape:before{content:"";background:var(--tape-scrim);z-index:0;border-radius:18px;position:absolute;inset:7px;box-shadow:inset 0 0 28px #0000004d}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.history-tape{background:#120c2ce6}}.history-slot{max-height:calc(100vh - 100px);display:flex}.history-tape__header{z-index:1;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);opacity:.78;padding:16px 18px 8px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.65rem;font-weight:600;position:relative}.history-tape__scroll{z-index:1;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;padding:2px 16px 12px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 18px),#0000 100%)}.history-tape__scroll::-webkit-scrollbar{width:5px}.history-tape__scroll::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}.history-tape__scroll:focus-visible{outline:3px solid var(--accent);outline-offset:-2px;border-radius:12px}.history-list{flex-direction:column;list-style:none;display:flex}.history-entry{text-align:right;font-variant-numeric:tabular-nums;cursor:default;pointer-events:none;-webkit-user-select:text;user-select:text;border-bottom:1px solid #ffffff12;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:0 .4ch;padding:9px 2px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;display:flex;position:relative}.history-entry:last-child{border-bottom:none}.history-expr{color:var(--text-secondary);overflow-wrap:anywhere}.history-eq{color:var(--accent);opacity:.8;padding:0 .15ch}.history-result{color:var(--text-primary);overflow-wrap:anywhere;font-weight:500}@keyframes historySlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.history-entry--new{animation:.18s ease-out both historySlideIn}.history-empty{z-index:1;text-align:center;color:var(--text-secondary);flex:1;justify-content:center;align-items:center;padding:24px 20px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;display:none;position:relative}.history-tape[data-empty=true] .history-tape__scroll{display:none}.history-tape[data-empty=true] .history-empty{display:flex}@media (width<=640px){.history-slot{align-self:auto;width:100%;height:auto;max-height:150px}.history-tape{max-height:150px}}@media (prefers-reduced-motion:reduce){.history-entry--new{animation:none}}
