@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/formudados/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/formudados/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2) format("woff2"),url(/formudados/assets/lilita-one-latin-400-normal-DXkechA3.woff) format("woff")}:root{color:#f5f1e8;background:#1b2430;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;--bg: #1b2430;--bg-deep: #111922;--panel: rgba(22, 33, 44, .86);--panel-strong: rgba(17, 25, 34, .96);--line: rgba(245, 241, 232, .14);--text: #f5f1e8;--muted: #b8c2c9;--cation: #e0862e;--anion: #2ec4b6;--accent: #f4d35e;--danger: #f26d6d;--floating-action-rail: 5rem;--dialog-outer-gap: clamp(.75rem, 2vw, 1.25rem);--topbar-height: 4rem;--stage-top-gap: .85rem;--floating-action-top: calc(var(--topbar-height) + var(--stage-top-gap) + .42rem);--drawer-max-width: 36rem;--drawer-width: min( var(--drawer-max-width), calc(100vw - var(--floating-action-rail) - var(--dialog-outer-gap) - var(--dialog-outer-gap)) )}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}button,select,input{font:inherit}button{cursor:pointer}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(244,211,94,.85);outline-offset:3px}sub,sup{line-height:0}.app-shell{display:grid;grid-template-rows:auto 1fr;height:100dvh;min-height:620px;color:var(--text);background:radial-gradient(circle at 50% 0%,rgba(46,196,182,.1),transparent 32rem),linear-gradient(180deg,#202b38 0%,var(--bg) 44%,#131c26 100%);transition:color .22s ease,background .22s ease}.app-shell--projector{--panel: rgba(22, 33, 44, .92);--muted: #d4dde2;grid-template-rows:minmax(0,1fr);min-height:100dvh;overflow:hidden;font-size:112%}.app-shell--projector .topbar,.app-shell--projector .floating-actions{display:none}.app-shell--config-panel{--drawer-max-width: 92rem}@media (min-width: 981px){.app-shell--config-panel{--drawer-width: min( 68vw, calc(100vw - var(--floating-action-rail) - var(--dialog-outer-gap) - var(--dialog-outer-gap)) )}}.topbar{display:flex;position:relative;z-index:30;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(.75rem,2vw,1.25rem);border-bottom:1px solid var(--line);background:#111922bd;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;justify-self:start;align-items:center;min-width:0;gap:.85rem}.brand-mark{display:inline-grid;flex:0 0 auto;width:3.75rem;height:2.5rem;place-items:center}.brand-logo{width:100%;height:100%;display:block;object-fit:contain}.brand h1,.brand p,.drawer h2,.drawer p,.history-block h2,.dice-editor h3{margin:0}.brand h1{font-size:clamp(1.35rem,1.75vw,2.05rem);line-height:1.05;font-weight:850;white-space:nowrap}.brand p{color:var(--muted);font-size:.92rem;white-space:nowrap}.topbar-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.48rem;margin-left:auto}.topbar-action-button{position:relative;display:inline-grid;width:2.65rem;height:2.65rem;place-items:center;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.48rem;box-shadow:inset 0 1px #ffffff0f;transition:background .16s ease,border-color .16s ease,transform .16s ease}.topbar-action-button:hover{color:#101820;background:var(--accent);border-color:#ffffff47;animation:topbar-action-shake .28s ease-in-out}.button-tooltip{position:absolute;z-index:100;display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:min(15rem,calc(100vw - 2rem));min-height:1.85rem;padding:.15rem .62rem;color:#101820;background:var(--accent);border:1px solid rgba(255,255,255,.3);border-radius:.38rem;box-shadow:inset 0 .08rem #ffffff52,inset 0 -.1rem #00000029,0 .75rem 1.65rem #00000057;font-size:.74rem;font-weight:900;line-height:1;opacity:0;pointer-events:none;text-transform:none;white-space:nowrap;transition:opacity .14s ease,transform .17s cubic-bezier(.2,.86,.28,1)}.button-tooltip:before{position:absolute;width:.55rem;height:.55rem;background:inherit;border:inherit;content:"";transform:rotate(45deg)}.topbar-action-button .button-tooltip{top:calc(100% + .55rem);left:50%;transform:translate(-50%,-.25rem) scale(.96)}.topbar-action-button .button-tooltip:before{top:-.34rem;left:calc(50% - .275rem);border-right:0;border-bottom:0}.topbar-action-button:last-child .button-tooltip{right:0;left:auto;transform:translateY(-.25rem) scale(.96)}.topbar-action-button:last-child .button-tooltip:before{right:1rem;left:auto}.topbar-action-button:hover .button-tooltip,.topbar-action-button:focus-visible .button-tooltip{opacity:1;transform:translate(-50%) scale(1)}.topbar-action-button:last-child:hover .button-tooltip,.topbar-action-button:last-child:focus-visible .button-tooltip{transform:translateY(0) scale(1)}.floating-action-button .button-tooltip{top:50%;right:calc(100% + .65rem);transform:translate(.25rem,-50%) scale(.96)}.floating-action-button .button-tooltip:before{top:calc(50% - .275rem);right:-.34rem;border-bottom:0;border-left:0}.floating-action-button:hover .button-tooltip,.floating-action-button:focus-visible .button-tooltip{opacity:1;transform:translateY(-50%) scale(1)}.projector-exit-button{position:fixed;z-index:70;top:clamp(.7rem,2dvh,1.2rem);right:clamp(.7rem,2vw,1.2rem);display:inline-grid;width:3rem;height:3rem;place-items:center;color:var(--text);background:#111922bd;border:1px solid var(--line);border-radius:.5rem;box-shadow:inset 0 1px #ffffff14,0 1rem 2.4rem #00000052;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .16s ease,color .16s ease,transform .16s ease}.projector-exit-button:hover{color:#101820;background:var(--accent);transform:translateY(-1px)}.about-overlay{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(1rem,4vw,2rem);background:radial-gradient(circle at 50% 35%,rgba(46,196,182,.16),transparent 22rem),#050a10ad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.about-dialog{position:relative;display:grid;width:min(28rem,calc(100vw - 2rem));justify-items:center;gap:1rem;padding:clamp(1.35rem,4vw,2rem);color:var(--text);background:linear-gradient(180deg,rgba(245,241,232,.07),transparent 36%),var(--panel-strong);border:1px solid rgba(245,241,232,.16);border-radius:.75rem;box-shadow:inset 0 1px #ffffff14,0 2rem 5rem #00000075;text-align:center;animation:about-dialog-grow .21s cubic-bezier(.2,.86,.28,1) both}.about-close-button{position:absolute;top:.75rem;right:.75rem;display:inline-grid;width:2.35rem;height:2.35rem;place-items:center;color:var(--muted);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;transition:background .16s ease,color .16s ease,transform .16s ease}.about-close-button:hover{color:#101820;background:var(--accent);transform:translateY(-1px)}.about-logo{width:clamp(5.8rem,20vw,8rem);height:clamp(5.8rem,20vw,8rem);object-fit:contain}.about-copy{display:grid;gap:.45rem}.about-kicker,.about-copy p,.about-license{margin:0}.about-kicker{color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.about-copy h2{margin:0;font-size:clamp(1.7rem,5vw,2.35rem);line-height:1.02}.about-copy p{color:var(--muted);line-height:1.45}.about-link,.about-license a{color:var(--accent);font-weight:850;text-decoration:none}.about-link{display:inline-flex;min-height:2.7rem;align-items:center;justify-content:center;padding:0 .95rem;background:#f4d35e1a;border:1px solid rgba(244,211,94,.24);border-radius:.45rem}.about-link:hover,.about-license a:hover{color:#ffe37b}.about-license{color:var(--muted);font-size:.9rem}@keyframes about-dialog-grow{0%{opacity:0;transform:translateY(.4rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes topbar-action-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1px) rotate(-4deg)}50%{transform:translate(1px) rotate(4deg)}75%{transform:translate(-1px) rotate(-2deg)}}@media (prefers-reduced-motion: reduce){.topbar-action-button:hover{animation:none}.floating-action-button,.floating-action-button:hover,.floating-action-button:after,.floating-action-button:hover:after{transition:box-shadow .18s ease,filter .18s ease}}.floating-actions{position:fixed;z-index:85;top:var(--floating-action-top);right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;transform:translate(0);transition:transform .34s cubic-bezier(.16,1,.3,1);will-change:transform}.app-shell--panel-open .floating-actions{transform:translate(calc(0rem - var(--drawer-width) - var(--dialog-outer-gap)))}.floating-action-button{--floating-tab-width: 3.1rem;--floating-tab-pull: 1.05rem;position:relative;display:inline-grid;width:var(--floating-tab-width);height:3.1rem;justify-items:end;align-items:center;color:#1d2631;background:var(--accent);border:0;border-radius:.5rem 0 0 .5rem;box-shadow:0 1rem 2rem #f4d35e38;transform-origin:right center;transition:transform .36s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,filter .18s ease;will-change:transform}.floating-action-button:after{position:absolute;z-index:0;top:0;right:calc(-1 * var(--floating-tab-pull));width:var(--floating-tab-pull);height:100%;background:var(--accent);content:"";opacity:0;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.2,.86,.28,1),opacity .12s ease;pointer-events:none}.floating-action-button svg{position:relative;z-index:1;justify-self:end;margin-right:calc((var(--floating-tab-width) - 22px) / 2);transform:none}.floating-action-button:hover{transform:translate(calc(-1 * var(--floating-tab-pull)));filter:brightness(1.03);transition:transform .24s cubic-bezier(.2,.86,.28,1),box-shadow .18s ease,filter .18s ease}.floating-action-button:hover:after{opacity:1;transform:scaleX(1)}.app-shell--panel-open .floating-action-button:hover{transform:translate(calc(-1 * var(--floating-tab-pull)))}.floating-action-button--active{box-shadow:0 1rem 2.1rem #f4d35e42,0 0 0 3px #f5f1e833}.preset-select{display:flex;align-items:center;flex:1;gap:.55rem;color:var(--muted);font-size:.92rem}select{min-height:2.55rem;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;padding:0 2rem 0 .8rem}.preset-select select{width:100%}.icon-button{display:inline-grid;width:2.75rem;height:2.75rem;place-items:center;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem}.icon-button:hover,.secondary-button:hover,.preset-strip button:hover{background:#f5f1e824}.game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:.9rem;min-height:0;padding:.85rem clamp(.75rem,2vw,1.25rem) 1rem}.stage{--stage-frame: clamp(.42rem, .85vw, .72rem);display:grid;position:relative;min-height:0;padding:var(--stage-frame);overflow:hidden;touch-action:none;background:linear-gradient(135deg,rgba(245,241,232,.2),transparent 18%),linear-gradient(315deg,rgba(0,0,0,.5),transparent 24%),linear-gradient(180deg,#33424d,#17222c 46%,#0a1017);border:1px solid rgba(245,241,232,.18);border-radius:.85rem;box-shadow:inset 0 1px #ffffff24,inset 0 -.35rem .9rem #00000057,0 1.4rem 4rem #00000047}.stage:before,.stage:after{position:absolute;pointer-events:none;content:""}.stage:before{z-index:2;inset:var(--stage-frame);border:1px solid rgba(5,10,16,.78);border-radius:.45rem;box-shadow:inset 0 0 0 1px #f5f1e814,inset 0 1.4rem 2.4rem #ffffff0a,inset 0 -1.2rem 2.2rem #0000003d}.stage:after{z-index:3;inset:var(--stage-frame);border-radius:.45rem;background:linear-gradient(122deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.045) 16%,transparent 36%),linear-gradient(180deg,rgba(255,255,255,.065),transparent 30%);mix-blend-mode:screen}.stage canvas{position:relative;z-index:1;display:block;width:100%!important;height:100%!important;cursor:grab;touch-action:none;border-radius:.45rem;box-shadow:0 0 0 1px #f5f1e80d}.stage:active canvas{cursor:grabbing}.play-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;gap:1rem}.roll-button{display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:.75rem;width:fit-content;max-width:100%;min-height:4.45rem;color:#1d2631;background:var(--accent);border:0;border-radius:.5rem;padding:0 2.8rem;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:900;text-transform:uppercase;white-space:nowrap;box-shadow:0 1rem 2rem #f4d35e38;transition:box-shadow .18s ease,filter .18s ease}.roll-button-icon{flex:0 0 auto;width:1.55em;height:1.55em}.roll-button--countdown{padding:0 1.45rem;font-size:clamp(.9rem,1.55vw,1.2rem);white-space:normal}.roll-button--countdown span{max-width:min(72vw,27rem);line-height:1.08;text-align:center}.roll-button:hover:not(:disabled):not(.roll-button--countdown){animation:roll-button-playful 2s cubic-bezier(.22,.8,.3,1) infinite;box-shadow:0 1.2rem 2.4rem #f4d35e52;filter:brightness(1.04)}@keyframes roll-button-playful{0%,to{transform:translateZ(0) rotate(0)}4%{transform:translate3d(-2px,-3px,0) rotate(-1.4deg)}9%{transform:translate3d(2px,-7px,0) rotate(1.5deg)}14%{transform:translate3d(-1px,-3px,0) rotate(-.9deg)}19%{transform:translate3d(1px,-1px,0) rotate(.5deg)}23%{transform:translateZ(0) rotate(0)}}.app-shell--projector .game-layout{position:relative;width:100%;height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr);gap:0;padding:0}.app-shell--projector .stage{--stage-frame: 0;border:0;border-radius:0;box-shadow:none}.app-shell--projector .stage:before,.app-shell--projector .stage:after,.app-shell--projector .stage canvas{border-radius:0}.app-shell--projector .roll-button{position:absolute;z-index:45;bottom:clamp(1rem,3.6dvh,2rem);left:50%;min-height:clamp(3.9rem,8dvh,4.75rem);padding:0 clamp(2.1rem,5vw,3.3rem);transform:translate(-50%)}.app-shell--projector .roll-button:hover:not(:disabled):not(.roll-button--countdown){animation-name:roll-button-playful-projector}@keyframes roll-button-playful-projector{0%,to{transform:translate(-50%) rotate(0)}4%{transform:translate(calc(-50% - 2px),-3px) rotate(-1.4deg)}9%{transform:translate(calc(-50% + 2px),-7px) rotate(1.5deg)}14%{transform:translate(calc(-50% - 1px),-3px) rotate(-.9deg)}19%{transform:translate(calc(-50% + 1px),-1px) rotate(.5deg)}23%{transform:translate(-50%) rotate(0)}}.result-block,.history-block,.drawer,.dice-editor{background:var(--panel);border:1px solid var(--line);border-radius:.5rem}.result-block{padding:1rem}.ions-row{display:flex;align-items:center;justify-content:center;min-height:4.8rem;gap:.7rem;font-size:clamp(1.65rem,3vw,2.65rem);font-weight:850}.ion-chip{display:inline-flex;align-items:center;justify-content:center;min-width:7rem;min-height:3.5rem;border-radius:.5rem;color:#101820;padding:.3rem .85rem}.ion-chip--cation{background:var(--cation)}.ion-chip--anion{background:var(--anion)}.plus{color:var(--muted)}.empty-result{color:#f5f1e847}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.85rem}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.8rem;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;padding:0 .8rem;font-weight:750}.timer{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;min-height:2.8rem;gap:.4rem;color:var(--accent);background:#f4d35e1a;border:1px solid rgba(244,211,94,.24);border-radius:.45rem;font-weight:850}.timer--done{color:var(--danger);background:#f26d6d1a;border-color:#f26d6d52}.solution-panel{margin-top:1rem;padding:1rem;background:var(--panel-strong);border:1px solid rgba(244,211,94,.22);border-radius:.5rem}.compound-formula{display:block;color:var(--accent);font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05;font-weight:900;text-align:center}.solution-panel dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem .8rem;margin:1rem 0 0}.solution-panel dt{color:var(--muted);font-weight:800}.solution-panel dd{margin:0;font-weight:720}.history-block{min-height:0;padding:1rem;overflow:hidden}.history-block header{display:flex;align-items:center;gap:.45rem;color:var(--muted)}.history-block h2{font-size:1rem}.history-list{display:grid;gap:.55rem;max-height:calc(100dvh - 31rem);margin-top:.75rem;overflow:auto;padding-right:.25rem}.history-empty{margin:0;color:#f5f1e873}.history-item{display:grid;grid-template-columns:minmax(4.6rem,auto) 1fr;gap:.75rem;align-items:center;padding:.7rem;background:#f5f1e80f;border:1px solid rgba(245,241,232,.08);border-radius:.45rem}.history-item>span:first-child{color:var(--accent);font-size:1.25rem;font-weight:850}.history-item>span:last-child{color:var(--muted);font-size:.93rem}.overlay{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:flex-end;padding:var(--dialog-outer-gap);background:#050a108a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.drawer{width:var(--drawer-width);max-height:calc(100dvh - var(--dialog-outer-gap) - var(--dialog-outer-gap));overflow:auto;padding:1rem;box-shadow:0 1.5rem 5rem #0000006b;animation:drawer-slide-left .34s cubic-bezier(.16,1,.3,1) both;will-change:transform}.drawer--wide{width:var(--drawer-width);padding:1.25rem}.drawer--settings{display:grid;height:calc(100dvh - var(--dialog-outer-gap) - var(--dialog-outer-gap));grid-template-rows:auto minmax(0,1fr)}.drawer--settings .settings-list{align-content:start}@keyframes drawer-slide-left{0%{transform:translate(calc(100% + var(--dialog-outer-gap)))}to{transform:translate(0)}}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.drawer-header h2{font-size:clamp(1.25rem,2.2vw,1.8rem)}.drawer-header p{color:var(--muted)}.preset-strip{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.preset-strip button{min-height:2.45rem;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;padding:0 .8rem;font-weight:720}.set-loader{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding:.85rem;background:#f5f1e80e;border:1px solid var(--line);border-radius:.55rem}.set-loader__field{display:grid;min-width:0;gap:.42rem;color:var(--muted);font-size:.78rem;font-weight:850}.set-loader__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-select{position:relative;min-width:0}.set-select__button,.set-select__option{width:100%;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;font-weight:760;text-align:left}.set-select__button{display:flex;align-items:center;min-height:3.05rem;gap:.62rem;padding:0 .75rem}.set-select__button:hover,.set-select__option:hover{background:#f5f1e824}.set-select__button .dice-face-select__icon,.set-select__option .dice-face-select__icon{width:1.28rem;height:1.28rem}.set-select__chevron{flex:0 0 auto;width:0;height:0;margin-left:auto;border-top:.35rem solid currentColor;border-right:.28rem solid transparent;border-left:.28rem solid transparent;opacity:.8}.set-select__menu{position:absolute;z-index:54;top:calc(100% + .35rem);right:0;left:0;display:grid;max-height:min(28rem,58dvh);gap:.45rem;overflow:auto;padding:.45rem;background:var(--panel-strong);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 1rem 2.8rem #0000005c}.set-select__group{display:grid;gap:.28rem}.set-select__group+.set-select__group{padding-top:.42rem;border-top:1px solid rgba(245,241,232,.1)}.set-select__group-title{display:flex;align-items:center;gap:.5rem;color:#f5f1e8a8;font-size:.67rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.set-select__group-title:after{content:"";flex:1 1 auto;height:1px;background:#f5f1e81a}.set-select__group-options{display:grid;gap:.18rem}.set-select__option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:3.35rem;gap:.58rem;padding:.52rem .62rem}.set-select__option-main{display:grid;min-width:0;gap:.12rem}.set-select__option-title{overflow:hidden;font-size:.94rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.set-select__option-meta{display:flex;min-width:0;gap:.35rem;color:var(--muted);font-size:.68rem;font-weight:780}.set-select__option-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-select__count{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;color:#101820;background:var(--accent);border:1px solid rgba(255,255,255,.34);border-radius:.35rem;box-shadow:inset 0 .08rem #ffffff61,inset 0 -.1rem #00000038,0 .16rem .32rem #00000047;font-size:.75rem;font-weight:950;line-height:1}.set-select__tooltip{grid-column:1 / -1;display:grid;max-height:0;overflow:hidden;color:var(--text);background:#080e14b8;border:0 solid transparent;border-radius:.42rem;opacity:0;transition:max-height .17s ease,margin-top .17s ease,padding .17s ease,opacity .14s ease,border-color .17s ease}.set-select__option:hover .set-select__tooltip,.set-select__option:focus-visible .set-select__tooltip{max-height:12rem;margin-top:.2rem;padding:.46rem;border-width:1px;border-color:#f5f1e81f;opacity:1}.set-select__tooltip-grid{display:flex;flex-wrap:wrap;gap:.24rem}.set-select__tooltip-chip{display:inline-flex;align-items:center;justify-content:center;min-height:1.42rem;padding:.05rem .36rem;color:var(--text);border:1px solid rgba(255,255,255,.18);border-radius:.32rem;font-size:.78rem;font-weight:850;line-height:1}.set-select__tooltip-chip--cation{background:color-mix(in srgb,var(--cation) 54%,#000 46%)}.set-select__tooltip-chip--anion{background:color-mix(in srgb,var(--anion) 52%,#000 48%)}.set-loader--mobile{display:none}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.app-shell--config-panel .config-grid{gap:1.25rem}.mobile-dice-tabs{display:none}.config-dice-panel{min-width:0}.dice-editor{padding:1rem}.dice-editor header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dice-editor h3{font-size:1.08rem}.dice-editor__title{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.setting-field{display:flex;align-items:center;gap:.55rem;color:var(--muted)}.dice-face-select{position:relative;min-width:min(15rem,48vw)}.dice-face-select__button,.dice-face-select__option{display:flex;align-items:center;width:100%;min-height:3.05rem;gap:.62rem;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;padding:0 .75rem;font-weight:760;text-align:left}.dice-face-select__button:hover,.dice-face-select__option:hover{background:#f5f1e824}.dice-face-select__icon{flex:0 0 auto;width:1.35rem;height:1.35rem;color:var(--accent)}.dice-face-select__chevron{flex:0 0 auto;width:0;height:0;margin-left:auto;border-top:.35rem solid currentColor;border-right:.28rem solid transparent;border-left:.28rem solid transparent;opacity:.8}.dice-face-select__menu{position:absolute;z-index:45;top:calc(100% + .35rem);right:0;left:0;display:grid;gap:.28rem;padding:.35rem;background:var(--panel-strong);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 1rem 2.8rem #0000005c}.dice-face-select__option{min-height:2.75rem;background:transparent;border-color:transparent}.dice-face-select__option--selected{color:#101820;background:var(--accent)}.dice-face-select__option--selected .dice-face-select__icon{color:#101820}.preview-box{height:13rem;margin:.9rem 0;overflow:hidden;background:#090f169e;border:1px solid rgba(245,241,232,.08);border-radius:.5rem}.preview-box canvas{cursor:grab;touch-action:none}.preview-box canvas:active{cursor:grabbing}.face-list{display:grid;grid-template-columns:1fr;gap:.7rem}.face-row{display:grid;grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.65rem;color:var(--muted);font-size:.86rem}.face-row__label{white-space:nowrap}.ion-select{position:relative;width:100%;min-width:0}.ion-select__button,.ion-select__option{display:flex;align-items:center;width:100%;min-height:3rem;gap:.5rem;color:var(--text);background:#f5f1e814;border:1px solid var(--line);border-radius:.45rem;padding:0 .7rem;font-size:.92rem;font-weight:720;text-align:left}.ion-select__button:hover,.ion-select__option:hover{background:#f5f1e824}.ion-select__badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:2.28rem;min-height:1.12rem;color:#fff;background-color:#9f883d;background-color:color-mix(in srgb,var(--accent) 68%,#000 32%);background-image:linear-gradient(180deg,#ffffff3d,#0000002e);border:1px solid rgba(255,255,255,.2);border-radius:.22rem;box-shadow:inset 0 .08rem #ffffff57,inset 0 -.13rem #00000042,0 .12rem .22rem #00000052;padding:0 .25rem;font-size:.56rem;font-weight:900;letter-spacing:0;line-height:1;text-shadow:0 .06rem .08rem rgba(0,0,0,.45)}.ion-select__badge--anion{background-color:#1d8f86;background-color:color-mix(in srgb,var(--anion) 68%,#000 32%)}.ion-select__badge--cation{background-color:#a55f20;background-color:color-mix(in srgb,var(--cation) 70%,#000 30%)}.ion-select__badge--polyatomic{font-size:.74rem}.ion-select__formula{flex:0 0 auto;min-width:2.45rem;color:var(--text);font-size:1.05rem;font-weight:880;white-space:nowrap}.ion-select__separator{flex:0 0 auto;color:var(--muted)}.ion-select__name{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.ion-select__face-lock{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.14rem;height:1.14rem;margin-left:auto;color:#101820;background:var(--accent);border:1px solid rgba(255,255,255,.38);border-radius:.2rem;box-shadow:inset 0 .06rem #ffffff6b,inset 0 -.1rem #0000003d,0 .1rem .2rem #00000052;font-size:.68rem;font-weight:950;line-height:1}.ion-select__chevron{flex:0 0 auto;width:0;height:0;margin-left:auto;border-top:.35rem solid currentColor;border-right:.28rem solid transparent;border-left:.28rem solid transparent;opacity:.8}.ion-select__menu{position:absolute;z-index:46;top:calc(100% + .35rem);right:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(22rem,52dvh);overflow:hidden;padding:.35rem;background:var(--panel-strong);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 1rem 2.8rem #0000005c}.ion-select__search{position:relative;z-index:2;padding-bottom:.65rem;background:var(--panel-strong)}.ion-select__search input{width:100%;min-height:2.65rem;color:var(--text);background:#26313b;border:1px solid var(--line);border-radius:.42rem;padding:0 .75rem;font:inherit;font-weight:700;outline:none}.ion-select__search input::placeholder{color:#f5f1e873}.ion-select__search input:focus{border-color:#f4d35e9e;box-shadow:0 0 0 .16rem #f4d35e29}.ion-select__options{display:grid;min-height:0;max-height:calc(min(22rem,52dvh) - 4rem);gap:.42rem;overflow:auto;overscroll-behavior:contain;padding-right:.12rem}.ion-select__group{display:grid;gap:.22rem}.ion-select__group+.ion-select__group{margin-top:.1rem;padding-top:.42rem;border-top:1px solid rgba(245,241,232,.1)}.ion-select__group-title{display:flex;align-items:center;gap:.5rem;color:#f5f1e8a8;font-size:.67rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ion-select__group-title:after{content:"";flex:1 1 auto;height:1px;background:#f5f1e81a}.ion-select__group-options{display:grid;gap:.16rem}.ion-select__option{min-height:2.18rem;gap:.42rem;padding:0 .55rem;background:transparent;border-color:transparent}.ion-select__option:disabled{cursor:not-allowed;opacity:1}.ion-select__option--locked,.ion-select__option--locked:hover{background:#f5f1e809}.ion-select__option--locked .ion-select__badge,.ion-select__option--locked .ion-select__formula,.ion-select__option--locked .ion-select__separator,.ion-select__option--locked .ion-select__name{opacity:.38}.ion-select__option .ion-select__badge{min-width:2.1rem;min-height:1rem;font-size:.52rem}.ion-select__option .ion-select__badge--polyatomic{font-size:.68rem}.ion-select__option .ion-select__formula{min-width:2.25rem;font-size:.98rem}.ion-select__option .ion-select__name{font-size:.9rem}.ion-select__option .ion-select__face-lock{width:1.05rem;height:1.05rem;font-size:.62rem}.ion-select__option--selected{background:#f4d35e24;border-color:#f4d35e47}.ion-select__empty{margin:0;padding:.75rem;color:var(--muted);font-size:.88rem;font-weight:700;text-align:center}.settings-list{display:grid;gap:2rem;padding-top:1rem}.settings-list>.settings-section:last-child{padding-bottom:2rem}.settings-list>.settings-section:last-child:before{bottom:1.75rem}.settings-section{display:grid;gap:.58rem;position:relative;padding-bottom:.24rem}.settings-section:before{position:absolute;top:1.18rem;bottom:0;left:.5rem;width:3px;background:#f5cf4c6b;border-radius:2px;content:""}.settings-section__header{display:flex;align-items:center;gap:.5rem;padding:0;color:var(--accent)}.settings-section__header svg{flex:0 0 auto;filter:drop-shadow(0 .12rem .22rem rgba(0,0,0,.3))}.settings-section__header h3{margin:0;color:var(--text);font-size:.92rem;font-weight:900;letter-spacing:0}.settings-subpanel{display:grid;gap:.7rem;margin-left:1.65rem;padding:0;background:transparent;border:0;border-radius:0;transition:opacity .18s ease,border-color .18s ease,background .18s ease}.settings-formulation-options{display:grid;gap:.7rem;transition:opacity .18s ease}.settings-formulation-options--disabled{opacity:.52}.settings-sound-options{display:grid;gap:.7rem;transition:opacity .18s ease}.settings-sound-options--disabled{opacity:.52}.settings-reset-button,.settings-reset-confirm{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;color:#fff;background:#a52b25;border:1px solid #c44942;border-radius:.45rem;font:inherit;font-weight:820;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.settings-reset-button{justify-self:start;padding:0 1rem}.settings-reset-button:hover,.settings-reset-button:focus-visible,.settings-reset-confirm:hover,.settings-reset-confirm:focus-visible{color:#fff;background:#be3730;border-color:#e06a64;transform:translateY(-1px)}.settings-reset-overlay{z-index:150}.app-shell:has(.settings-reset-overlay) .floating-actions{z-index:60}.settings-reset-dialog{width:min(42rem,calc(100vw - 2rem))}.settings-reset-dialog__icon{display:inline-grid;width:4rem;height:4rem;place-items:center;color:#101820;background:linear-gradient(180deg,#ffe577,#d9b736);border:1px solid rgba(255,246,187,.72);border-radius:50%;box-shadow:inset 0 1px #ffffff7a,0 .35rem .8rem #00000047}.settings-reset-dialog__copy{display:grid;gap:.55rem}.settings-reset-dialog__copy h2,.settings-reset-dialog__copy p{margin:0}.settings-reset-dialog__copy p:last-child{color:var(--muted);line-height:1.45}.settings-reset-dialog__actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:.7rem}.settings-reset-confirm{padding:0 .9rem;white-space:nowrap}.toggle-row,.setting-field{justify-content:space-between;min-height:3.1rem;padding:.75rem 0;border-bottom:1px solid rgba(245,241,232,.08)}.toggle-row{display:flex;align-items:center;gap:1rem}.toggle-row span,.setting-field span{color:var(--text);font-weight:720}.toggle-row--switch{position:relative;cursor:pointer}.toggle-row--compact{min-height:2.55rem;padding:.25rem 0 .45rem;border-bottom:0}.toggle-row--mode{min-height:2.75rem;padding:.18rem 0 .68rem}.checkbox-row{display:flex;align-items:center;gap:.75rem;min-height:2.45rem;color:var(--text);font-weight:720;cursor:pointer}.checkbox-row input[type=checkbox]{flex:0 0 auto}.checkbox-row:has(input:disabled){cursor:not-allowed}.settings-group{display:grid;gap:.42rem;padding-top:.48rem;border-top:1px solid rgba(245,241,232,.08)}.settings-subpanel>.settings-group:first-child{padding-top:0;border-top:0}.settings-formulation-options>.settings-group:first-child{padding-top:0;border-top:0}.setting-field--volume{padding-top:0}.settings-group h3{margin:0;color:var(--muted);font-size:.76rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.settings-heading{position:relative;display:flex;align-items:center;gap:.42rem;min-width:0}.settings-group h3.settings-control-title{color:var(--text);font-size:inherit;font-weight:720;letter-spacing:0;text-transform:none}.settings-help{position:relative;z-index:8;display:inline-grid;flex:0 0 auto;place-items:center}.settings-help__button{display:inline-grid;width:1.22rem;height:1.22rem;place-items:center;color:#101820;background:linear-gradient(180deg,#ffe577,#d9b736);border:1px solid rgba(255,246,187,.72);border-radius:999px;box-shadow:inset 0 1px #ffffff7a,0 .18rem .36rem #00000047;font:inherit;font-size:.78rem;font-weight:950;line-height:1;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}.settings-help__button:hover,.settings-help__button:focus-visible,.settings-help--open .settings-help__button{filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff80,0 .28rem .54rem #00000052,0 0 0 .18rem #f4d35e24}.settings-help__button:focus-visible{outline:.14rem solid rgba(244,211,94,.38);outline-offset:.14rem}.settings-help__tooltip{position:absolute;z-index:95;top:50%;left:calc(100% + .58rem);width:max-content;max-width:min(22rem,calc(100vw - 3rem));padding:.62rem .72rem;color:#101820;background:var(--accent);border:1px solid rgba(255,255,255,.32);border-radius:.45rem;box-shadow:inset 0 .08rem #ffffff57,inset 0 -.1rem #00000029,0 .8rem 1.8rem #0000005c;font-size:.78rem;font-weight:820;line-height:1.28;opacity:0;pointer-events:none;text-transform:none;transform:translate(-.18rem,-50%) scale(.96);transition:opacity .14s ease,transform .17s cubic-bezier(.2,.86,.28,1)}.settings-help__tooltip:before{position:absolute;top:calc(50% - .28rem);left:-.34rem;width:.56rem;height:.56rem;background:inherit;border:inherit;border-top:0;border-right:0;content:"";transform:rotate(45deg)}.settings-help:hover .settings-help__tooltip,.settings-help:focus-within .settings-help__tooltip,.settings-help--open .settings-help__tooltip{opacity:1;transform:translateY(-50%) scale(1)}.settings-choice-slider{--choice-edge-space: 1.5rem;--choice-thumb-radius: .6rem;--choice-thumb-size: 1.2rem;display:grid;gap:.28rem;width:100%;padding:.08rem .06rem .12rem}.settings-choice-slider--dense{--choice-edge-space: 1rem}.settings-choice-slider input[type=range]{width:calc(100% - var(--choice-edge-space) - var(--choice-edge-space));min-width:0;height:1.45rem;margin:0 var(--choice-edge-space);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent}.settings-choice-slider input[type=range]:focus-visible{outline:.16rem solid rgba(244,211,94,.38);outline-offset:.12rem;border-radius:999px}.settings-choice-slider input[type=range]::-webkit-slider-runnable-track{height:.5rem;background:linear-gradient(90deg,rgba(244,211,94,.82) 0 var(--choice-position),transparent var(--choice-position) 100%),linear-gradient(180deg,#f5f1e847,#f5f1e824);border:1px solid rgba(245,241,232,.16);border-radius:999px;box-shadow:inset 0 .12rem .24rem #00000042}.settings-choice-slider input[type=range]::-webkit-slider-thumb{width:var(--choice-thumb-size);height:var(--choice-thumb-size);margin-top:-.42rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#ffe577,#d9b736);border:2px solid rgba(255,246,187,.72);border-radius:50%;box-shadow:0 .24rem .46rem #00000052,inset 0 1px #ffffff73}.settings-choice-slider input[type=range]::-moz-range-track{height:.5rem;background:linear-gradient(180deg,#f5f1e847,#f5f1e824);border:1px solid rgba(245,241,232,.16);border-radius:999px;box-shadow:inset 0 .12rem .24rem #00000042}.settings-choice-slider input[type=range]::-moz-range-progress{height:.5rem;background:#f4d35ed1;border-radius:999px}.settings-choice-slider input[type=range]::-moz-range-thumb{width:var(--choice-thumb-size);height:var(--choice-thumb-size);background:linear-gradient(180deg,#ffe577,#d9b736);border:2px solid rgba(255,246,187,.72);border-radius:50%;box-shadow:0 .24rem .46rem #00000052,inset 0 1px #ffffff73}.settings-choice-slider__labels{position:relative;height:1.72rem;margin:0 calc(var(--choice-edge-space) + var(--choice-thumb-radius));color:var(--muted);font-size:.76rem;font-weight:800;line-height:1.15}.settings-choice-slider--dense .settings-choice-slider__labels{font-size:.68rem}.settings-choice-slider__labels>span{position:absolute;top:0;left:var(--choice-label-position);text-align:center;white-space:nowrap;transform:translate(-50%);transition:color .16s ease,text-shadow .16s ease}.settings-choice-slider__labels>span.is-selected{color:#ffe577;text-shadow:0 0 .55rem rgba(255,229,119,.22)}.nomenclature-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem}.nomenclature-card{display:flex;align-items:center;gap:.48rem;min-width:0;min-height:3.05rem;padding:.48rem .58rem;color:var(--text);font:inherit;font-weight:850;text-align:left;background:linear-gradient(180deg,#f5f1e813,#f5f1e809),#0c141c47;border:1px solid rgba(245,241,232,.12);border-radius:.5rem;box-shadow:inset 0 1px #ffffff0d,0 .22rem .6rem #00000024;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.nomenclature-card:hover:not(:disabled){transform:translateY(-.06rem);border-color:#f4d35e5c;box-shadow:inset 0 1px #ffffff14,0 .32rem .78rem #0000002e}.nomenclature-card.is-selected{color:#fff5c4;background:linear-gradient(180deg,#f4d35e38,#f4d35e17),#1217196b;border-color:#f4d35e8a;box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #f4d35e1f,0 .46rem 1rem #f4d35e1a}.nomenclature-card:disabled{cursor:not-allowed;opacity:.48;filter:saturate(.72)}.nomenclature-card:focus-visible{outline:.16rem solid rgba(244,211,94,.38);outline-offset:.18rem}.nomenclature-card__icon{display:grid;flex:0 0 auto;width:1.85rem;height:1.85rem;place-items:center;color:#f4d35e}.nomenclature-card__icon svg{display:block;width:1.85rem;height:1.85rem;filter:drop-shadow(0 .1rem .18rem rgba(0,0,0,.26))}.nomenclature-icon__paper{fill:transparent}.nomenclature-icon__accent,.nomenclature-icon__ink{fill:#f4d35e}.nomenclature-card.is-selected .nomenclature-card__icon{color:#ffe577}.nomenclature-card.is-selected .nomenclature-icon__paper{fill:transparent}.nomenclature-card.is-selected .nomenclature-icon__accent,.nomenclature-card.is-selected .nomenclature-icon__ink{fill:#ffe577}.nomenclature-card__label{min-width:0;color:inherit;font-size:.78rem;line-height:1.05}.toggle-row--switch:has(input:disabled){cursor:not-allowed}.toggle-row--switch input:disabled+.switch-control{opacity:.48;filter:saturate(.72)}.setting-field--select{display:flex;align-items:center;gap:1rem;min-height:2.7rem;padding:.25rem 0 0;border-bottom:0}.setting-field--select select{min-width:8rem}.setting-field--range{display:grid;width:100%;gap:.78rem;justify-content:stretch;justify-items:stretch;min-height:auto;padding:.2rem 0 0;border-bottom:0}.setting-field--disabled{cursor:not-allowed}.setting-range__control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:.8rem;width:100%}.setting-range__slider{display:grid;min-width:0;gap:.34rem;padding-top:.1rem}.setting-range__control strong{flex:0 0 auto;min-width:3.6rem;padding:.16rem 0 0;color:#ffe577;font-size:1.05rem;font-weight:900;text-align:center;text-shadow:0 .08rem 0 rgba(0,0,0,.45),0 0 .55rem rgba(255,229,119,.24)}.setting-field--range input[type=range]{width:100%;min-width:0;height:1.45rem;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;accent-color:var(--accent);background:transparent}.setting-field--range input[type=range]:disabled{cursor:not-allowed}.setting-field--range input[type=range]::-webkit-slider-runnable-track{height:.5rem;background:linear-gradient(180deg,#f5f1e847,#f5f1e824);border:1px solid rgba(245,241,232,.16);border-radius:999px;box-shadow:inset 0 .12rem .24rem #00000042}.setting-field--range input[type=range]::-webkit-slider-thumb{width:1.2rem;height:1.2rem;margin-top:-.42rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,#ffe577,#d9b736);border:2px solid rgba(255,246,187,.72);border-radius:50%;box-shadow:0 .24rem .46rem #00000052,inset 0 1px #ffffff73}.setting-field--range input[type=range]::-moz-range-track{height:.5rem;background:linear-gradient(180deg,#f5f1e847,#f5f1e824);border:1px solid rgba(245,241,232,.16);border-radius:999px;box-shadow:inset 0 .12rem .24rem #00000042}.setting-field--range input[type=range]::-moz-range-thumb{width:1.08rem;height:1.08rem;background:linear-gradient(180deg,#ffe577,#d9b736);border:2px solid rgba(255,246,187,.72);border-radius:50%;box-shadow:0 .24rem .46rem #00000052,inset 0 1px #ffffff73}.setting-range__marks{position:relative;display:block;height:.85rem;font-size:.72rem;line-height:1}.setting-range__marks span{position:absolute;left:var(--mark-position);transform:translate(-50%);color:var(--muted);font-weight:800;white-space:nowrap}.setting-range__marks--volume{font-size:.54rem}.toggle-row--switch input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);opacity:0}.switch-control{position:relative;flex:0 0 auto;width:3.6rem;height:2rem;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),#050a106b;border:1px solid rgba(245,241,232,.14);border-radius:999px;box-shadow:inset 0 .12rem .35rem #00000059,0 .55rem 1.2rem #0000002e;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.switch-control__thumb{position:absolute;top:.18rem;left:.18rem;width:1.52rem;height:1.52rem;background:linear-gradient(180deg,#edf3f4,#aebbc3);border-radius:50%;box-shadow:inset 0 .08rem #ffffffad,0 .18rem .42rem #0000006b;transition:transform .21s cubic-bezier(.34,1.56,.64,1)}.toggle-row--switch input:checked+.switch-control{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent),color-mix(in srgb,var(--accent) 76%,#101820 24%);border-color:#f4d35e8a;box-shadow:inset 0 .12rem .35rem #0000002e,0 .55rem 1.3rem #f4d35e33}.toggle-row--switch input:checked+.switch-control .switch-control__thumb{background:linear-gradient(180deg,#fff9dc,#f4d35e);transform:translate(1.6rem)}.toggle-row--switch input:focus-visible+.switch-control{outline:.16rem solid rgba(244,211,94,.34);outline-offset:.18rem}input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.theme-transition-overlay{position:fixed;z-index:260;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#f5f1e8;background:#18232d;opacity:1;pointer-events:all;animation:theme-overlay-enter .24s ease;transition:opacity .24s ease}.theme-transition-overlay--leaving{opacity:0}.theme-transition-loader{display:grid;justify-items:center;gap:1.2rem;padding:1.5rem;text-align:center}.theme-transition-animation{position:relative;width:5rem;height:2.5rem;overflow:hidden;border-radius:6.25rem 6.25rem 0 0}.theme-transition-animation:before{position:absolute;top:0;right:0;bottom:-100%;left:0;content:"";background:radial-gradient(farthest-side,#ffd738 80%,transparent) left 70% top 20% / .9375rem .9375rem,radial-gradient(farthest-side,#020308 92%,transparent) left 65% bottom 19% / .75rem .75rem,radial-gradient(farthest-side,#ecfefe 92%,transparent) left 70% bottom 20% / .9375rem .9375rem,linear-gradient(#9eddfe 50%,#020308 0);background-repeat:no-repeat;animation:theme-loader-turn 2s infinite}.theme-transition-loader p{margin:-.35rem 0 0;color:#b8c2c9;font-size:.95rem;font-weight:750}@keyframes theme-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes theme-loader-turn{0%,20%{transform:rotate(0)}40%,60%{transform:rotate(.5turn)}80%,to{transform:rotate(1turn)}}.app-shell--light{--bg: #e7eef1;--bg-deep: #d5e0e5;--panel: rgba(250, 252, 253, .9);--panel-strong: rgba(246, 249, 250, .98);--line: rgba(27, 45, 56, .17);--text: #1a2932;--muted: #60717b;--accent: #e0b62f;background:radial-gradient(circle at 50% 0%,rgba(46,196,182,.12),transparent 31rem),linear-gradient(180deg,#f8fafb 0%,var(--bg) 48%,#dbe5e9 100%)}.app-shell--light .topbar{background:#f8fafbd1;box-shadow:0 .45rem 1.4rem #1c2f3912}.app-shell--light:not(.app-shell--projector) .stage{background:linear-gradient(135deg,rgba(255,255,255,.88),transparent 20%),linear-gradient(315deg,rgba(65,86,96,.2),transparent 28%),linear-gradient(180deg,#f7fafb,#d8e2e6 48%,#b5c4ca);border-color:#56697252;box-shadow:inset 0 1px #ffffffeb,inset 0 -.3rem .8rem #3a4e5829,0 1.2rem 3.2rem #2639432e}.app-shell--light:not(.app-shell--projector) .stage:before{border-color:#374a534d;box-shadow:inset 0 0 0 1px #ffffffad,inset 0 1.1rem 2rem #ffffff14,inset 0 -.8rem 1.6rem #30434c1a}.app-shell--light .topbar-action-button,.app-shell--light .about-close-button,.app-shell--light .secondary-button,.app-shell--light .preset-strip button,.app-shell--light select,.app-shell--light .icon-button,.app-shell--light .set-select__button,.app-shell--light .set-select__option,.app-shell--light .dice-face-select__button,.app-shell--light .dice-face-select__option,.app-shell--light .ion-select__button,.app-shell--light .ion-select__option{color:var(--text);background:#ffffffad;border-color:var(--line);box-shadow:inset 0 1px #ffffffc7,0 .15rem .5rem #1b2d380d}.app-shell--light .topbar-action-button:hover,.app-shell--light .about-close-button:hover{color:#101820;background:var(--accent);border-color:#7d5c0033}.app-shell--light .secondary-button:hover,.app-shell--light .preset-strip button:hover,.app-shell--light .icon-button:hover,.app-shell--light .set-select__button:hover,.app-shell--light .set-select__option:hover,.app-shell--light .dice-face-select__button:hover,.app-shell--light .dice-face-select__option:hover,.app-shell--light .ion-select__button:hover,.app-shell--light .ion-select__option:hover{background:#fff;border-color:#1b2d383d}.app-shell--light select option{color:var(--text);background:#f6f9fa}.app-shell--light .projector-exit-button{color:var(--text);background:#f8fafbd6;box-shadow:inset 0 1px #fffc,0 1rem 2.4rem #1b2d382e}.app-shell--light .projector-exit-button:hover{color:#101820;background:var(--accent)}.app-shell--light .about-overlay{background:radial-gradient(circle at 50% 35%,rgba(46,196,182,.15),transparent 22rem),#d3dfe4c2}.app-shell--light .overlay{background:#d3dfe4ad}.app-shell--light .about-dialog,.app-shell--light .drawer{box-shadow:inset 0 1px #ffffffdb,0 1.5rem 4rem #1c2f3933}.app-shell--light .about-dialog{background:linear-gradient(180deg,rgba(255,255,255,.78),transparent 42%),var(--panel-strong);border-color:var(--line)}.app-shell--light .about-link:hover,.app-shell--light .about-license a:hover{color:#7a5c00}.app-shell--light .settings-reset-button,.app-shell--light .settings-reset-confirm{color:#fff;background:#a52b25;border-color:#8c211c}.app-shell--light .settings-reset-button:hover,.app-shell--light .settings-reset-button:focus-visible,.app-shell--light .settings-reset-confirm:hover,.app-shell--light .settings-reset-confirm:focus-visible{color:#fff;background:#be3730;border-color:#8c211c}.app-shell--light .settings-reset-dialog__icon{color:#101820;background:linear-gradient(180deg,#ffe577,#d9b736);border-color:#976f0047}.app-shell--light .result-block,.app-shell--light .history-block,.app-shell--light .drawer,.app-shell--light .dice-editor,.app-shell--light .set-loader{background-color:var(--panel)}.app-shell--light .set-loader,.app-shell--light .history-item{background:#ffffff80;border-color:var(--line)}.app-shell--light .empty-result,.app-shell--light .history-empty{color:#1a29326b}.app-shell--light .preview-box{background:#e2eaed;border-color:#1b2d3829;box-shadow:inset 0 1px #ffffffb8}.app-shell--light .set-select__menu,.app-shell--light .dice-face-select__menu,.app-shell--light .ion-select__menu{background:var(--panel-strong);box-shadow:0 1rem 2.8rem #1c2f3933}.app-shell--light .set-select__group+.set-select__group,.app-shell--light .ion-select__group+.ion-select__group,.app-shell--light .settings-group,.app-shell--light .toggle-row,.app-shell--light .setting-field{border-color:#1b2d381a}.app-shell--light .set-select__group-title,.app-shell--light .ion-select__group-title{color:#1a29329e}.app-shell--light .set-select__group-title:after,.app-shell--light .ion-select__group-title:after{background:#1b2d381f}.app-shell--light .set-select__tooltip{color:#f5f1e8;background:#111922f0}.app-shell--light .set-select__tooltip-chip{color:#fff}.app-shell--light .dice-face-select__option,.app-shell--light .ion-select__option{background:transparent;border-color:transparent;box-shadow:none}.app-shell--light .dice-face-select__option--selected{color:#101820;background:var(--accent)}.app-shell--light .ion-select__search,.app-shell--light .ion-select__menu{background:var(--panel-strong)}.app-shell--light .ion-select__search input{color:var(--text);background:#e7eef1;border-color:var(--line)}.app-shell--light .ion-select__search input::placeholder{color:#1a293273}.app-shell--light .ion-select__option--locked,.app-shell--light .ion-select__option--locked:hover{background:#1b2d3809}.app-shell--light .ion-select__option--selected{background:#e0b62f2e;border-color:#a0770047}.app-shell--light .nomenclature-card{background:linear-gradient(180deg,#ffffffc7,#f0f5f79e),#ffffff73;border-color:var(--line);box-shadow:inset 0 1px #ffffffe6,0 .22rem .6rem #1b2d3814}.app-shell--light .nomenclature-card.is-selected{color:#4b3900;background:linear-gradient(180deg,#f4d35e61,#e0b62f29),#fff;border-color:#a0770075;box-shadow:inset 0 1px #ffffffc2,0 0 0 1px #e0b62f1f,0 .42rem .9rem #7457001a}.app-shell--light .settings-formulation-options--disabled,.app-shell--light .settings-sound-options--disabled{opacity:.68}.app-shell--light .nomenclature-card:disabled{opacity:.72}.app-shell--light .settings-choice-slider__labels>span.is-selected{color:#866500;text-shadow:0 0 .45rem rgba(224,182,47,.18)}.app-shell--light .settings-choice-slider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,rgba(224,182,47,.92) 0 var(--choice-position),transparent var(--choice-position) 100%),linear-gradient(180deg,#d1dce1,#bdcbd1);border-color:#1b2d3829}.app-shell--light .settings-choice-slider input[type=range]::-moz-range-track,.app-shell--light .setting-field--range input[type=range]::-moz-range-track,.app-shell--light .setting-field--range input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(180deg,#d1dce1,#bdcbd1);border-color:#1b2d3829}.app-shell--light .setting-range__control strong{color:#866500;text-shadow:0 0 .45rem rgba(224,182,47,.18)}.app-shell--light .switch-control{background:linear-gradient(180deg,rgba(255,255,255,.42),transparent),#475b6633;border-color:#1b2d3833;box-shadow:inset 0 .12rem .35rem #1b2d3829,0 .45rem 1rem #1b2d3814}@media (max-width: 980px){body{overflow:hidden}.topbar{align-items:center}.app-shell{height:100dvh;min-height:100dvh}.game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.play-panel{grid-template-rows:auto auto auto}.history-list{max-height:15rem}}@media (max-width: 760px){.ion-select__menu{right:auto;left:-5.15rem;width:calc(100% + 5.15rem)}.settings-help__tooltip{top:calc(100% + .5rem);left:0;max-width:min(17rem,calc(100vw - 4.5rem));transform:translateY(-.18rem) scale(.96)}.settings-help__tooltip:before{top:-.34rem;left:.32rem;border:inherit;border-right:0;border-bottom:0}.settings-help:hover .settings-help__tooltip,.settings-help:focus-within .settings-help__tooltip,.settings-help--open .settings-help__tooltip{transform:translateY(0) scale(1)}.nomenclature-options{grid-template-columns:1fr;gap:.42rem}.nomenclature-card{min-height:2.65rem;gap:.55rem;padding:.42rem .56rem}.nomenclature-card__icon,.nomenclature-card__icon svg{width:1.45rem;height:1.45rem}.nomenclature-card__label{font-size:.8rem;line-height:1.12}.preset-select{flex:1}.preset-select select{width:100%}.config-grid,.face-list{grid-template-columns:1fr}.set-loader{grid-template-columns:1fr;gap:.55rem}.set-loader--desktop{display:none}.set-loader--mobile{display:grid;margin-top:.65rem}.set-select__menu{max-height:min(26rem,48dvh)}.set-select__tooltip{max-height:12rem;margin-top:.2rem;padding:.46rem;border-width:1px;border-color:#f5f1e81f;opacity:1}.mobile-dice-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:1rem;padding:.28rem;background:#f5f1e80f;border:1px solid var(--line);border-radius:.55rem}.mobile-dice-tab{min-width:0;min-height:2.75rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:.42rem;padding:0 .65rem;overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.mobile-dice-tab--active{color:#101820;background:var(--accent);border-color:#ffffff38;box-shadow:inset 0 .08rem #ffffff61,0 .45rem 1rem #00000038}.config-dice-panel{display:none}.config-dice-panel--mobile-active{display:block}.result-actions{align-items:stretch;flex-direction:column}.secondary-button,.timer{width:100%}}@media (max-width: 520px){:root{--floating-action-rail: 3.75rem;--dialog-outer-gap: .55rem;--topbar-height: 3.5rem;--stage-top-gap: .6rem;--floating-action-top: calc(var(--topbar-height) + var(--stage-top-gap) + .32rem)}.app-shell{min-height:100dvh}.brand-mark{width:3rem;height:2rem}.brand h1{font-size:1.22rem}.topbar{gap:.55rem}.topbar-actions{gap:.34rem}.topbar-action-button{width:2.35rem;height:2.35rem}.floating-actions{top:var(--floating-action-top);right:0;gap:.45rem}.floating-action-button{--floating-tab-width: 2.65rem;--floating-tab-pull: .82rem;width:var(--floating-tab-width);height:2.65rem}.floating-action-button svg{margin-right:calc((2.65rem - 22px)/2)}.floating-action-button:hover,.app-shell--panel-open .floating-action-button:hover{transform:translate(calc(-1 * var(--floating-tab-pull)))}.dice-editor header{align-items:stretch;flex-direction:column}.dice-editor__title{align-items:stretch;flex-direction:column}.dice-face-select{width:100%;min-width:0}.game-layout{grid-template-rows:minmax(0,1fr) auto;padding:.6rem}.stage{--stage-frame: .32rem;border-radius:.65rem}.roll-button{min-height:4.25rem;padding:0 2rem}.ions-row{flex-wrap:wrap}.ion-chip{min-width:6.5rem}.drawer{max-height:96dvh;padding:.85rem}.settings-reset-dialog__actions{grid-template-columns:1fr}.preview-box{height:11rem}.settings-choice-slider--dense .settings-choice-slider__labels{height:2.1rem;font-size:.62rem}.settings-choice-slider--dense .settings-choice-slider__labels>span{width:2.4rem;white-space:normal}}@media (max-width: 400px){.topbar{gap:.3rem;padding-right:.5rem;padding-left:.5rem}.brand{gap:.45rem}.brand-mark{width:2.6rem}.brand h1{font-size:1.05rem}.topbar-actions{gap:.2rem}.topbar-action-button{width:2rem;height:2rem}}@media (prefers-reduced-motion: reduce){.roll-button:hover:not(:disabled):not(.roll-button--countdown){animation:none;transform:none}.app-shell--projector .roll-button:hover:not(:disabled):not(.roll-button--countdown){transform:translate(-50%)}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
