:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101416;--surface:#172024;--surface-2:#1f2a2f;--surface-3:#2a373d;--border:#2b383e;--fg:#eef3f4;--fg-muted:#a1b0b5;--fg-subtle:#75868c;--accent:#7be0c2;--accent-strong:#a6f0da;--accent-fg:#062a20;--accent-soft:#7be0c224;--warn:#f3c56f;--warn-soft:#f3c56f1f;--danger:#ff8f80;--success:#7be0c2;--focus:#a6f0da;--overlay:#04080a99;--shadow:0 10px 30px #00000073;--key:#1b2428;--key-pressed:#2f3d44;--key-op:#222e34;--cat-nonmetal:#8fd39a;--cat-semimetal:#f0c36a;--cat-metal:#8db8ef;--cat-nonmetal-bg:#8fd39a29;--cat-semimetal-bg:#f0c36a2e;--cat-metal-bg:#8db8ef26;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius:16px;--radius-sm:10px;--gutter:16px;--tap:48px;--key-h:54px;--tab-h:60px;--safe-bottom:env(safe-area-inset-bottom,0px);--ease:cubic-bezier(.2, .8, .2, 1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3ee;--surface:#fff;--surface-2:#ebeae4;--surface-3:#dddcd4;--border:#d6d4cb;--fg:#132023;--fg-muted:#4a5b61;--fg-subtle:#6b7a7f;--accent:#0a7a5d;--accent-strong:#075e48;--accent-fg:#fff;--accent-soft:#0a7a5d1a;--warn:#8a5a00;--warn-soft:#b078001a;--danger:#b3261e;--success:#0a7a5d;--focus:#0a7a5d;--overlay:#141e2059;--shadow:0 10px 30px #14202329;--key:#fff;--key-pressed:#dedcd3;--key-op:#eceae3;--cat-nonmetal:#2f7d3a;--cat-semimetal:#8a5a00;--cat-metal:#2a5ea8;--cat-nonmetal-bg:#dcefd9;--cat-semimetal-bg:#f6e6c0;--cat-metal-bg:#dbe7f7}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.page{max-width:760px;padding:20px var(--gutter) calc(var(--tab-h) + var(--safe-bottom) + 32px);flex-direction:column;gap:20px;margin:0 auto;display:flex}.page__title{letter-spacing:-.01em;font-size:1.6rem;font-weight:700}.page__intro{color:var(--fg-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--fg-muted);font-size:.9rem;font-weight:600}.field__row{align-items:center;gap:8px;display:flex}.input{width:100%;min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);padding:10px 14px;font-size:1.1rem}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.unit{color:var(--fg-muted);min-width:3.5em}.btn{min-height:var(--tap);border:1px solid var(--border);background:var(--surface-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:inline-flex}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn--ghost{background:0 0}.icon-btn{width:var(--tap);height:var(--tap);color:var(--fg-muted);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn:active{background:var(--surface-3)}.icon-btn[aria-pressed=true]{color:var(--warn)}.note{color:var(--fg-muted);font-size:.9rem}.note--warn{color:var(--warn)}.error{color:var(--danger);font-size:.95rem}.chip-row{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{min-height:40px;min-width:var(--tap);border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex;position:relative}.chip:after{content:"";position:absolute;inset:-4px 0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{min-height:100dvh}.shell__loading{padding:24px var(--gutter);color:var(--fg-muted)}.tabbar{z-index:40;height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar__item{min-height:var(--tap);color:var(--fg-subtle);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.tabbar__item.is-active{color:var(--accent)}.tabbar__label{white-space:nowrap}@media (width>=900px){:root{--tab-h:0px}.shell{padding-top:64px}.tabbar{border-top:0;border-bottom:1px solid var(--border);justify-content:center;gap:8px;height:64px;padding:0 24px;display:flex;top:0;bottom:auto}.tabbar__item{flex-direction:row;gap:8px;padding:0 16px;font-size:.95rem}}.toast-region{left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:60;pointer-events:none;padding:0 var(--gutter);justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;min-height:var(--tap);background:var(--fg);color:var(--bg);box-shadow:var(--shadow);max-width:100%;animation:toast-in .16s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:6px 18px;font-weight:600;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}}.toast--action{padding-right:6px}.toast__action{min-height:40px;min-width:var(--tap);background:var(--accent);color:var(--accent-fg);border:0;border-radius:999px;padding:0 16px;font-weight:700}
