:root{--bg: #f2f2ee;--bg-2: #fafaf7;--card: #ffffff;--card-solid: #ffffff;--card-raised: #f8f8f5;--ink: #0e0f12;--ink-soft: #1f2025;--muted: #6b6e75;--line: rgba(14, 15, 18, .1);--line-soft: rgba(14, 15, 18, .05);--accent: #5ea800;--accent-hover: #538f00;--accent-ink: #2f5300;--accent-on: #0b1a00;--accent-soft: rgba(94, 168, 0, .1);--accent-glow: rgba(94, 168, 0, .32);--accent-2: #ff5a3c;--danger: #e2354c;--shadow: 0 1px 2px rgba(14, 15, 18, .04), 0 4px 12px rgba(14, 15, 18, .05);--shadow-lift: 0 2px 4px rgba(14, 15, 18, .06), 0 12px 32px rgba(14, 15, 18, .1);--shadow-focus: 0 0 0 2px var(--bg-2), 0 0 0 4px var(--accent);--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--ease: cubic-bezier(.22, 1, .36, 1);--duration: .14s;--font-display: "Geist", "Söhne", "SF Pro Display", -apple-system, "Segoe UI", sans-serif;--font-ui: "Geist", "Söhne", "SF Pro Text", -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root[data-theme=dark]{--bg: #0e0f12;--bg-2: #14151a;--card: #1a1b20;--card-solid: #1a1b20;--card-raised: #22232a;--ink: #f5f5f0;--ink-soft: #d5d6d2;--muted: #9a9ca3;--line: rgba(255, 255, 255, .08);--line-soft: rgba(255, 255, 255, .04);--accent: #cbfb45;--accent-hover: #bef336;--accent-ink: #e6ff8a;--accent-on: #0c1800;--accent-soft: rgba(203, 251, 69, .14);--accent-glow: rgba(203, 251, 69, .28);--accent-2: #ff7a5c;--danger: #ff5a6e;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .5), 0 18px 44px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e0f12;--bg-2: #14151a;--card: #1a1b20;--card-solid: #1a1b20;--card-raised: #22232a;--ink: #f5f5f0;--ink-soft: #d5d6d2;--muted: #9a9ca3;--line: rgba(255, 255, 255, .08);--line-soft: rgba(255, 255, 255, .04);--accent: #cbfb45;--accent-hover: #bef336;--accent-ink: #e6ff8a;--accent-on: #0c1800;--accent-soft: rgba(203, 251, 69, .14);--accent-glow: rgba(203, 251, 69, .28);--accent-2: #ff7a5c;--danger: #ff5a6e;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .5), 0 18px 44px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg)}body{font-family:var(--font-ui);font-feature-settings:"ss01","cv11";font-size:15px;line-height:1.55;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 100% -10%,var(--accent-soft),transparent 55%),linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%);min-height:100vh;position:relative}::selection{background:var(--accent);color:var(--accent-on)}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 .75rem;line-height:1.08;font-family:var(--font-display);font-weight:600;letter-spacing:-.022em;color:var(--ink)}h1{font-weight:700;letter-spacing:-.035em}h2{letter-spacing:-.028em}p{margin:0 0 1rem;color:var(--muted)}.chrome{position:sticky;top:0;z-index:30;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--line)}.chrome-inner{width:min(1120px,94vw);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.85rem 0}.chrome-actions{display:inline-flex;align-items:center;gap:.4rem}.icon-chrome-btn{width:2.3rem;height:2.3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.icon-chrome-btn:hover{background:var(--card-raised);color:var(--ink)}.icon-chrome-btn:focus-visible{outline:none;box-shadow:var(--ring)}.icon-chrome-btn svg{display:block}.menu-toggle .icon-close,.menu-toggle.is-open .icon-menu{display:none}.menu-toggle.is-open .icon-close{display:block}#fullscreen-toggle .icon-fullscreen-exit,#fullscreen-toggle.is-active .icon-fullscreen{display:none}#fullscreen-toggle.is-active .icon-fullscreen-exit{display:block}#fullscreen-toggle.is-active{background:var(--accent);color:var(--accent-on)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.18rem;letter-spacing:-.035em;white-space:nowrap;display:inline-flex;align-items:center;gap:.55rem;color:var(--ink)}.brand:before{content:"";width:1.55rem;height:1.55rem;border-radius:6px;background:var(--accent);display:inline-block;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 80%,black 20%) inset;position:relative}.site-nav{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.site-nav a{padding:.45rem .85rem;border-radius:10px;color:var(--muted);font-weight:500;font-size:.92rem;letter-spacing:-.01em;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease)}.site-nav a:hover{background:var(--card-raised);color:var(--ink)}.site-nav a.active{background:var(--ink);color:var(--bg-2)}:root[data-theme=dark] .site-nav a.active{background:var(--accent);color:var(--accent-on)}.site-nav-external{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted)!important}.site-nav-external:hover{background:var(--card-raised)!important;color:var(--ink)!important}.site-nav-external-icon{font-size:.8em;opacity:.7}.settings-dialog{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:dialog-fade .22s ease}.settings-dialog[hidden]{display:none}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}.settings-dialog-backdrop{position:absolute;inset:0;border:0;margin:0;padding:0;background:#1a12087a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;touch-action:none}.settings-dialog-sheet{position:relative;z-index:1;width:min(96vw,28rem);max-height:min(90vh,40rem);max-height:min(90dvh,40rem);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:1.25rem;color:var(--ink);animation:dialog-rise .24s var(--ease);-webkit-transform:translate3d(0,0,0)}@keyframes dialog-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem;flex-shrink:0}.settings-dialog-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.025em}.settings-dialog-close{width:2.2rem;height:2.2rem;border-radius:999px}.settings-dialog-body{display:grid;gap:1.1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.settings-dialog-section{display:grid;gap:.5rem}.settings-dialog-subtitle{margin:.5rem 0 .3rem;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:500}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-radius:var(--radius-sm);background:var(--card-raised);padding:.7rem .9rem;min-height:2.85rem;transition:background-color var(--duration) var(--ease)}.settings-row:hover{background:color-mix(in srgb,var(--card-raised) 75%,var(--line))}.settings-row-label{font-weight:500;font-size:.94rem;letter-spacing:-.008em}.settings-row-control{display:inline-flex;align-items:center;justify-content:flex-end;flex:1}.settings-select,.settings-theme-btn{border:0;background:var(--card);color:var(--ink);border-radius:var(--radius-sm);padding:.5rem .75rem;font-family:var(--font-ui);font-weight:500;font-size:.9rem;letter-spacing:-.008em;max-width:100%;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--duration) var(--ease),background-color var(--duration) var(--ease)}.settings-select:hover,.settings-theme-btn:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 22%,var(--line))}.settings-select:focus-visible,.settings-theme-btn:focus-visible{outline:none;box-shadow:var(--ring)}.dice-settings-grid{display:flex;flex-wrap:wrap;gap:.5rem}body.settings-dialog-open{overflow:hidden;position:fixed;width:100%;height:100%;touch-action:none;-webkit-overflow-scrolling:none;overscroll-behavior:none}.page-shell{width:min(1120px,94vw);margin:1.5rem auto 0;padding-bottom:2rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;position:relative}.panel+.panel{margin-top:1rem}.page-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.55rem,2vw + 1.05rem,2.6rem);letter-spacing:-.04em;line-height:1.02;margin-bottom:.75rem}.muted{color:var(--muted)}.site-footer{width:min(1120px,94vw);margin:1rem auto 2.25rem}.footer-inner{border-top:1px solid var(--line);padding:1.5rem 0 0;color:var(--muted);font-size:.88rem;display:grid;gap:.6rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.4rem}.footer-nav a{color:var(--ink);font-weight:500;font-size:.88rem;transition:color var(--duration) var(--ease)}.footer-nav a:hover{color:var(--accent)}.footer-inner strong{color:var(--ink);font-weight:500}.footer-feedback{white-space:pre-line;margin-bottom:0}.footer-trademark{margin:0;font-size:.78rem;color:var(--muted);opacity:.8}.footer-links{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:0}.footer-links a{text-decoration:none;color:var(--muted);transition:color var(--duration) var(--ease)}.footer-links a:hover{color:var(--ink)}.footer-copy{margin-bottom:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center}.footer-version{color:var(--muted);transition:color var(--duration) var(--ease)}.footer-version:hover{color:var(--ink)}.btn{border:0;border-radius:var(--radius-pill);background:var(--card);color:var(--ink);padding:.6rem 1rem;font-family:var(--font-ui);font-weight:500;font-size:.92rem;letter-spacing:-.012em;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:transform .08s var(--ease),box-shadow var(--duration) var(--ease),background-color var(--duration) var(--ease)}.btn:hover{background:var(--card-raised);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 20%,var(--line))}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--accent-on);font-weight:600;letter-spacing:-.015em;box-shadow:0 4px 14px var(--accent-glow)}.btn.primary:hover{background:var(--accent-hover);box-shadow:0 6px 18px var(--accent-glow)}.btn.subtle{background:transparent;box-shadow:none}.btn.subtle:hover{background:var(--card-raised);box-shadow:none}.btn.danger{color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 35%,var(--line))}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 10%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 50%,var(--line))}.btn.small{padding:.4rem .75rem;font-size:.85rem}.icon-btn{width:2.35rem;height:2.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:0}.field{border:0;border-radius:var(--radius-sm);background:var(--card);color:var(--ink);padding:.6rem .75rem;font-family:var(--font-ui);font-size:.95rem;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--duration) var(--ease)}.field:focus-visible{outline:none;box-shadow:var(--ring)}.field[type=number]{width:4.5rem}.switch-row{display:inline-flex;align-items:center;gap:.55rem;border-radius:var(--radius-pill);padding:.4rem .85rem .4rem .55rem;background:var(--card-raised);font-weight:500;font-size:.9rem;letter-spacing:-.01em;transition:background-color var(--duration) var(--ease)}.switch-row:hover{background:color-mix(in srgb,var(--card-raised) 75%,var(--line))}.switch-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1.7rem;height:1rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 18%,var(--card));position:relative;cursor:pointer;margin:0;transition:background-color .18s var(--ease);flex-shrink:0}.switch-row input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:.75rem;height:.75rem;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .18s var(--ease)}.switch-row input[type=checkbox]:checked{background:var(--accent)}.switch-row input[type=checkbox]:checked:after{transform:translate(.7rem);background:var(--accent-on)}.switch-row input[type=checkbox]:focus-visible{box-shadow:var(--ring)}.menu-toggle{display:none}@media(max-width:860px){.chrome-inner{grid-template-columns:1fr auto;align-items:center;gap:.6rem}.menu-toggle{display:inline-flex}.site-nav{display:none;grid-column:1 / -1;order:3;padding-top:.25rem}.site-nav.open{display:flex}.chrome-actions{justify-self:end}}
