:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#ececf1;--surface:#fff;--text:#111114;--muted:#55555f;--key-number:#e4e4ea;--key-number-text:#111114;--key-function:#c9c9d3;--key-function-text:#111114;--key-operator:#4338ca;--key-operator-text:#fff;--pressed:brightness(.85);--focus:#4338ca;--menu-bg:#fff;--shadow:0 12px 40px #0000001f;--gap:12px;--key-font:1.6rem;--key-font-small:1.15rem;--display-font-max:64px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--surface:#111114;--text:#fff;--muted:#a5a5b0;--key-number:#2e2e34;--key-number-text:#fff;--key-function:#55555e;--key-function-text:#fff;--key-operator:#4f46e5;--pressed:brightness(1.35);--focus:#a5b4fc;--menu-bg:#26262c;--shadow:0 12px 40px #0009}}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{height:100%}.app{box-sizing:border-box;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100%;padding:24px;display:grid}.calc{box-sizing:border-box;gap:var(--gap);background:var(--surface);width:336px;max-width:100%;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;padding:20px;display:flex}.display{text-align:right;-webkit-user-select:none;user-select:none;touch-action:none;cursor:copy;flex-direction:column;justify-content:flex-end;min-height:120px;padding:4px 8px;display:flex;position:relative}.display-indicators{min-height:1.2em;color:var(--muted);gap:8px;font-size:.8rem;font-weight:600;display:flex}.display-expression{min-height:1.3em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;direction:rtl;unicode-bidi:plaintext;font-size:1rem;overflow:hidden}.display-main-box{min-height:0;max-height:var(--display-font-max);flex:auto;justify-content:flex-end;align-items:flex-end;display:flex;overflow:hidden}.display-main{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:300;line-height:1;display:block}.keypad{gap:var(--gap);display:grid}.block-basic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:64px}.block-sci{grid-template-columns:repeat(6,minmax(0,1fr))}.mode-scientific .calc{width:760px}.keypad-scientific{gap:var(--gap);display:flex}.keypad-scientific .block-sci{flex:6 1 0}.keypad-scientific .block-basic{flex:4 1 0}.keypad-scientific .keypad{grid-auto-rows:56px}.key{min-width:0;font:inherit;font-size:var(--key-font);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:999px;padding:0;transition:filter 80ms ease-out}.key-number{background:var(--key-number);color:var(--key-number-text)}.key-function{background:var(--key-function);color:var(--key-function-text)}.key-operator{background:var(--key-operator);color:var(--key-operator-text);font-size:calc(var(--key-font) * 1.15)}.key-operator.active{background:var(--key-operator-text);color:var(--key-operator)}.key-function.active{background:var(--key-operator);color:var(--key-operator-text)}.key-small{font-size:var(--key-font-small)}.key.pressed{filter:var(--pressed)}.key:focus-visible,.mode-menu button:focus-visible,.display-menu button:focus-visible,.toast button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.menu-backdrop{z-index:10;position:fixed;inset:0}.mode-menu,.display-menu{z-index:11;background:var(--menu-bg);min-width:180px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute}.mode-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.display-menu{top:8px;right:8px}.mode-menu button,.display-menu button{min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 14px;display:flex}.mode-menu button:hover:not(:disabled),.display-menu button:hover{background:var(--key-number)}.mode-menu button:disabled{color:var(--muted);cursor:default}.mode-menu .check{width:1em}.mode-menu .soon{font-size:.85em}.mode-menu-items{flex-direction:column;display:flex}.mode-menu-version{color:var(--muted);font-variant-numeric:tabular-nums;padding:6px 14px 2px;font-size:.75rem}.toast{z-index:20;background:var(--text);color:var(--surface);border-radius:999px;padding:8px 14px;font-size:.875rem}.toast-copied{position:absolute;top:8px;left:8px}.toast-update{left:50%;bottom:max(16px, env(safe-area-inset-bottom));white-space:nowrap;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast-update button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 10px;font-weight:600}@media (prefers-reduced-motion:reduce){.key{transition:none}}.mode-programmer .calc{width:640px}.keypad-programmer{gap:var(--gap);display:flex}.block-prog-wrap{flex:5 1 0;min-width:0;display:flex;position:relative}.block-prog{flex:auto;grid-template-columns:repeat(5,minmax(0,1fr))}.block-prognum{flex:4 1 0;grid-template-columns:repeat(4,minmax(0,1fr))}.keypad-programmer .keypad{grid-auto-rows:52px}.keypad-programmer .key-small{font-size:.95rem}.key:disabled{opacity:.3;cursor:default}.chips{flex-wrap:wrap;gap:4px;min-height:28px;display:flex;position:relative}.chip{background:var(--key-number);height:28px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;padding:0 10px;font-size:.75rem;font-weight:600}.chip[aria-pressed=true]{background:var(--key-operator);color:var(--key-operator-text)}.chip:focus-visible,.chip-menu button:focus-visible,.bit:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.chip-menu{z-index:11;background:var(--menu-bg);min-width:170px;box-shadow:var(--shadow);text-align:left;border-radius:14px;flex-direction:column;padding:6px;display:flex;position:absolute;top:32px;left:0}.chip-menu button{min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.chip-menu button:hover{background:var(--key-number)}.chip-menu .check{width:1em}.display-expression-line{gap:12px;min-width:0;display:flex}.display-expression-line .display-expression{flex:auto;min-width:0}.display-aside{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);text-align:left;flex:0 auto;font-size:.85rem;overflow:hidden}.display-line{display:block}.bits{flex-direction:column;gap:4px;display:flex}.bit-row{align-items:center;gap:2px;display:flex}.bit{background:var(--key-number);min-width:0;height:24px;color:var(--muted);cursor:pointer;border:0;border-radius:4px;flex:1 1 0;padding:0;font:600 .75rem ui-monospace,SF Mono,Menlo,Consolas,monospace}.bit[aria-pressed=true]{background:var(--key-operator);color:var(--key-operator-text)}.bit.nibble-start{margin-left:6px}.bit-label{color:var(--muted);text-align:center;flex:0 0 2.2ch;font-size:.65rem}.bits-sheet{z-index:5;background:var(--surface);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;gap:8px;padding:8px;display:flex;position:absolute;inset:0}.bits-sheet .bits{flex:auto;justify-content:space-evenly}.bits-sheet .bit{align-self:stretch;height:auto;min-height:20px}.bits-sheet .bit-row{flex:1 1 0;max-height:44px}.bits-sheet>.chip{align-self:flex-end}@media (width<=499.98px),(height<=499.98px){:root{--gap:10px;--key-font:clamp(1.25rem, min(7vw, 6.5vh), 2.25rem);--display-font-max:96px}html,body{overflow:hidden}.app{height:100dvh;min-height:0;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));display:flex}.calc{width:100%;height:100%;box-shadow:none;background:0 0;border-radius:0;padding:0}.display{flex:auto;min-height:64px}.keypad-basic,.keypad-scientific{width:100%;max-height:calc(100% - 64px - var(--gap));flex:none}.keypad-basic{aspect-ratio:4/5;display:flex}.keypad-basic .block-basic{flex:auto}.calc .keypad{grid-template-rows:repeat(5,1fr);grid-auto-rows:unset}.mode-scientific{--gap:6px;--key-font:clamp(1.1rem, min(5.5vw, 5vh), 1.9rem);--key-font-small:clamp(.8rem, min(3.8vw, 4.2vh), 1.3rem)}.keypad-scientific{aspect-ratio:10/5}.menu-backdrop-dim{background:#0006}.mode-menu{padding:8px 8px max(8px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;inset:auto 0 0;transform:none}}@media (height<=420px){:root{--gap:6px}}@media (width<=699.98px) and (orientation:portrait){.mode-scientific .calc{width:480px}.keypad-scientific{aspect-ratio:6/9.5;flex-direction:column}.keypad-scientific .block-sci,.keypad-scientific .block-basic{flex:1 1 0}}@media (width<=499.98px),(height<=499.98px){.app.mode-programmer{--gap:4px;--key-font:clamp(1rem, min(5vw, 5vh), 1.7rem);--key-font-small:clamp(.75rem, min(3.4vw, 3.8vh), 1.15rem);padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.mode-programmer .display{min-height:84px}.keypad-programmer{aspect-ratio:9/5;width:100%;max-height:calc(100% - 84px - var(--gap));flex:none}.keypad-programmer .keypad{grid-template-rows:repeat(5,1fr);grid-auto-rows:unset}.mode-programmer .bits-sheet .bit{font-size:.7rem}.keypad-programmer .key-small{font-size:var(--key-font-small)}}@media (width<=699.98px) and (orientation:portrait){.mode-programmer .calc{width:480px}.keypad-programmer{aspect-ratio:5/8.5;flex-direction:column}.keypad-programmer .block-prog-wrap,.keypad-programmer .block-prognum{flex:1 1 0}.keypad-programmer .block-prog-wrap{min-height:0}}
