@font-face{font-family:"Young Serif";src:url(fonts/young-serif.woff) format("woff");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(fonts/instrument-sans-regular.woff) format("woff");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(fonts/instrument-sans-bold.woff) format("woff");font-weight:600 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(fonts/ibm-plex-mono-regular.woff) format("woff");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(fonts/ibm-plex-mono-bold.woff) format("woff");font-weight:600 900;font-style:normal;font-display:swap}:root{--bg:#F2EEEF;--surface:#FCFAFB;--ink:#25191E;--muted:#6C5F65;--line:#E2D8DB;--key:#F8F4F5;--key-op:#EEE5E8;--glyph:#4A1626;--accent:#A11F3A;--accent-ink:#FFF6F7;--accent-soft:#F7E4E8;--knob:#FFFFFF;--switch-off:#CDBFC4;--good:#1E7B3A;--bad:#B3261E;--warn:#8A5A00;--hp-good:#2E8B4E;--hp-warn:#D08A12;--hp-bad:#C0392B;--hp-temp:#4C7CC0;--track:#E7DEE1;--scrim:rgba(37,25,30,.5);--tray:#3B0F1F;--tray-hi:#5C1B30;--tray-rim:#28091A;--tray-ink:#F8EDEF;--tray-muted:#D0ADB6;--bone:#F3EDE4;--bone-ink:#3B0F1F;--face-max:#17733A;--face-min:#C0261C;--tray-max:#8BE0A0;--tray-min:#FF9A92;--max-ink:#0B2A15;--min-ink:#3A0806;--font-display:"Young Serif", Georgia, "Times New Roman", serif;--font-body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--row:clamp(44px, 7.4vh, 68px)}@media(prefers-color-scheme:dark){:root{--bg:#151013;--surface:#1E171B;--ink:#F2EAED;--muted:#AA9BA1;--line:#352A30;--key:#251D21;--key-op:#2F252A;--glyph:#DDB7C1;--accent:#E2546F;--accent-ink:#22060C;--accent-soft:#3A1822;--knob:#F2EAED;--switch-off:#4A3D44;--good:#74D68E;--bad:#FF8A80;--warn:#F2B85B;--hp-good:#4FBF72;--hp-warn:#E7A93A;--hp-bad:#E5584A;--hp-temp:#6F9BE0;--track:#2E2429;--scrim:rgba(0,0,0,.62);--tray:#370F1D;--tray-hi:#521829;--tray-rim:#0B0407;--tray-muted:#C9A2AD;color-scheme:dark}}@supports (height:1svh){:root{--row:clamp(42px, 7.2svh, 68px)}}[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}img{max-width:100%}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}body.modal-open{overflow:hidden}button,input,select{font:inherit;color:inherit}:where(button,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2{margin:0;text-wrap:balance}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}code{font-family:var(--font-mono);font-size:.86em;background:var(--key-op);color:var(--ink);padding:1px 6px;border-radius:5px;white-space:nowrap}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gutter{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.app:not(.editing) .edit-only{display:none}.app.editing .play-only{display:none}.app{min-height:100%;display:flex;flex-direction:column}.app[data-view=dice]{height:100%;min-height:440px}html{overscroll-behavior:none}@media(min-height:500px){html:has(.app[data-view=dice]),html:has(.app[data-view=dice]) body{overflow:hidden}}.app:not([data-view=dice]) #view-dice,.app:not([data-view=character]) #view-character,.app:not([data-view=log]) #view-log{display:none}.topbar{flex:none;z-index:9;background:var(--bg)}.app:not([data-view=dice]) .topbar{position:sticky;top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--line)}.topbar-in{max-width:600px;margin:0 auto;padding-block:8px;min-height:58px;display:flex;align-items:center;gap:10px}.app[data-view=dice] .topbar-in{max-width:560px}.icon-btn{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.icon-btn svg{width:20px;height:20px}.bar-title{display:flex;align-items:center;gap:9px;margin-right:auto;min-width:0;font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1}.bar-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-block:2px}.mark{width:28px;height:28px;flex:none;color:var(--accent)}.bar-dice{flex:none;display:flex;align-items:center;gap:7px;min-height:42px;padding:6px 14px 6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer}.bar-dice svg{width:20px;height:20px;color:var(--accent)}.drawer-scrim{position:fixed;inset:0;z-index:24;background:var(--scrim)}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:25;width:min(340px,88vw);overflow:auto;display:flex;flex-direction:column;gap:14px;background:var(--surface);border-right:1px solid var(--line);padding:calc(env(safe-area-inset-top,0px) + 12px) 14px calc(env(safe-area-inset-bottom,0px) + 18px) max(14px,env(safe-area-inset-left,0px));box-shadow:12px 0 40px #00000040;animation:slidein .22s cubic-bezier(.2,.8,.3,1)}@keyframes slidein{0%{transform:translate(-100%)}to{transform:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-left:4px}.drawer .eyebrow{padding:4px 12px 0}.nav{list-style:none;margin:0;padding:0;display:grid;gap:2px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 12px;border-radius:12px;border:0;background:transparent;color:var(--ink);text-align:left;font-weight:700;font-size:17px;line-height:1.25;cursor:pointer}.nav-item:hover{background:var(--key-op)}.nav-item[aria-current=page]{background:var(--accent-soft)}.nav-item>svg{width:22px;height:22px;flex:none;color:var(--accent)}.nav-item.add{color:var(--accent)}.count{margin-left:auto;font:600 13px var(--font-mono);color:var(--muted)}.ci-body{display:grid;flex:1;min-width:0}.ci-body strong{font-size:17px;overflow-wrap:anywhere}.ci-body span{font-weight:400;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.ci-hp{flex:none;font:600 14px var(--font-mono);font-variant-numeric:tabular-nums}.ci-hp.good{color:var(--good)}.ci-hp.warn{color:var(--warn)}.ci-hp.bad{color:var(--bad)}.xfer{margin:4px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:14px}.xfer p{margin:0 0 8px}.xfer-btns{display:flex;gap:8px;flex-wrap:wrap}.install-help{padding:0 12px 10px 48px;font-size:14px;line-height:1.45;color:var(--muted)}.install-help p{margin:0}.install-help svg{width:16px;height:16px;vertical-align:-3px;color:var(--ink)}.install-help strong{color:var(--ink)}.drawer-fine{margin:auto 0 0;padding:0 12px;font-size:13px;color:var(--muted)}.roller{flex:1 1 auto;min-height:0;width:100%;max-width:560px;margin:0 auto;padding-block:2px 12px;display:flex;flex-direction:column;gap:10px}.display-slot{flex:1 1 0;min-height:96px;display:flex;flex-direction:column;container-type:size}.entry{flex:none;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.entry-row{display:flex;gap:6px;min-width:0}#expr{flex:1 1 0;width:0;min-width:0;height:52px;font:500 22px/1.2 var(--font-mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}#expr:focus{outline:2px solid var(--accent);outline-offset:1px}#expr::placeholder{font:500 17px/1.2 var(--font-body);color:var(--muted);opacity:1}.ekey{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--key-op);color:var(--ink);font:600 19px/1 var(--font-mono);cursor:pointer;touch-action:manipulation}.ekey svg{width:22px;height:22px}.ekey:active{transform:translateY(1px)}.status-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:20px;padding-inline:2px}.status{margin:0;font-family:var(--font-mono);font-size:13px;color:var(--muted);overflow-wrap:anywhere;min-width:0}.status.err{color:var(--bad)}.controls{flex:none;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:8px}.pad{flex:none;height:calc(4 * var(--row) + 18px)}.pad-dice,.pad-num{height:100%;display:grid;gap:6px}.pad-dice{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.pad-num{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.tile{position:relative;min-height:0;display:grid;place-items:center;align-content:center;gap:6px;background:var(--key);border:1px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tile:hover{border-color:var(--glyph)}.tile:active{transform:translateY(1px)}.tile .shape{width:clamp(24px,4.4vh,40px);height:clamp(24px,4.4vh,40px);background:var(--glyph)}.tile .lbl{font:600 15px/1 var(--font-mono)}.tile-mod{background:var(--key-op)}.tile-mod .big{font:600 clamp(20px,3.4vh,28px)/1 var(--font-mono)}.tile-mod .lbl{font:500 12px/1 var(--font-body);color:var(--muted);letter-spacing:.04em}.tile .shape.coin{border-radius:50%;background:radial-gradient(circle,var(--glyph) 0 43%,transparent 44% 56%,var(--glyph) 57%)}.tile.split{grid-template-columns:1fr 1fr;place-items:stretch;align-content:stretch;gap:0;padding:0;overflow:hidden;cursor:default}.tile.split:active{transform:none}.tile.split:before{content:"";position:absolute;left:50%;top:16%;bottom:34%;width:1px;background:var(--line);pointer-events:none}.tile.split button{display:grid;place-items:center;min-width:0;min-height:0;padding:0 0 18px;border:0;background:transparent;color:var(--ink);font:600 clamp(24px,4vh,32px)/1 var(--font-mono);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tile.split button:active{background:var(--key)}.tile.split button:focus-visible{outline-offset:-3px}.tile.split .lbl{position:absolute;left:0;right:0;bottom:10px;text-align:center;pointer-events:none}.badge{position:absolute;top:6px;right:6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font:600 12px/22px var(--font-mono);text-align:center}.roller .roll{flex:none;width:100%;min-height:clamp(50px,7.4vh,62px);border:0;border-radius:14px;background:var(--accent);color:var(--accent-ink);font:700 24px/1 var(--font-display);letter-spacing:.02em;cursor:pointer;touch-action:manipulation}.roll:disabled{opacity:.42;cursor:not-allowed}.roll:not(:disabled):active{transform:translateY(1px)}@media(max-height:720px){.app[data-view=dice] .topbar-in{min-height:50px;padding-block:4px}.roller{gap:8px;padding-bottom:10px}#expr{height:46px;font-size:20px;padding-block:8px}.ekey{width:46px;height:46px}.roller .seg button,.roller .adv button{min-height:34px}}@media(max-height:560px){:root{--row:38px}.app[data-view=dice] .topbar-in{min-height:46px;padding-block:2px}.roller{gap:6px;padding-bottom:8px}#expr{height:42px;font-size:19px}.ekey{width:42px;height:42px}.roller .roll{min-height:46px}.display-slot{min-height:80px}}.page{flex:1 1 auto}.page-in{max-width:600px;margin:0 auto;padding-block:16px 40px;display:grid;gap:16px}.page-in.narrow{max-width:720px}.app.sheet-open .page-in{padding-bottom:calc(var(--sheet-h, 0px) + 24px)}.sheet-cols{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}.sheet-col{display:grid;gap:16px;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;flex-wrap:wrap}.card-head h2{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.15}.eyebrow{display:block;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.text-btn{background:none;border:0;padding:6px 2px;font-weight:700;font-size:15px;color:var(--accent);cursor:pointer}.hint{margin:0;font-size:14px;color:var(--muted)}.note{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:15px}.empty{margin:0;padding:14px;border-radius:10px;border:1px dashed var(--line);color:var(--muted);font-size:15px}.btn{min-height:42px;padding:8px 16px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:15px;cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.plain{background:transparent;border-color:var(--line);color:var(--ink)}.mini{min-height:34px;padding:4px 12px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer}.mini.danger{color:var(--bad)}.add-btn{margin-top:12px;width:100%;min-height:46px;border-radius:12px;border:1px dashed var(--accent);background:transparent;color:var(--accent);font-weight:700;font-size:15px;cursor:pointer}.form-grid{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.fld{display:grid;gap:4px;min-width:0;align-content:start}.fld>span,.fld>label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.03em}.inp{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:16px;color:var(--ink)}.inp.mono{font-family:var(--font-mono)}.inp[aria-invalid=true]{border-color:var(--bad)}.err{margin:0;font-size:14px;color:var(--bad)}.select-wrap{position:relative;display:flex}.select-wrap:after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.select{appearance:none;-webkit-appearance:none;width:100%;min-height:42px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 34px 8px 12px;font-weight:700;font-size:15px;color:var(--ink)}.check{display:flex;gap:10px;align-items:center;font-size:16px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--accent)}.adv,.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border-radius:12px;background:var(--key-op);border:1px solid var(--line)}.seg.two{grid-template-columns:repeat(2,minmax(0,1fr))}.adv button,.seg button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;font-size:15px;line-height:1.15;cursor:pointer}.seg button svg{width:18px;height:18px;flex:none}.adv button[aria-checked=true],.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line),0 1px 3px #0000001f}.adv button[data-adv=adv][aria-checked=true],.adv button[data-adv=dis][aria-checked=true]{color:var(--accent)}.char-head{display:grid;gap:12px}.char-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.char-id{min-width:0;flex:1 1 220px}.char-id h1{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,7vw,42px);line-height:1;letter-spacing:-.01em;overflow-wrap:anywhere}.char-id p{margin:6px 0 0;color:var(--muted);font-size:17px}.char-fields{flex:1 1 260px}.edit-foot{display:flex;justify-content:flex-end}.banner{position:relative;isolation:isolate;overflow:hidden;color:var(--tray-ink);background:radial-gradient(120% 170% at 10% 0%,var(--tray-hi) 0%,var(--tray) 64%);border-bottom:1px solid var(--tray-rim);box-shadow:inset 0 -12px 28px #0003}.banner-in{position:relative;max-width:600px;margin:0 auto;padding-block:24px 20px}.banner-mark{position:absolute;z-index:-1;right:-34px;top:50%;width:min(48vw,240px);height:auto;transform:translateY(-50%) rotate(-10deg);color:var(--tray-ink);opacity:.07;pointer-events:none}.banner .char-id h1{font-size:clamp(40px,11vw,64px);line-height:.95;color:var(--tray-ink);text-shadow:0 2px 14px rgba(0,0,0,.25)}.banner .char-id p{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--tray-muted);font-size:17px}.lvl{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 10px;border-radius:999px;border:1px solid var(--tray-muted);color:var(--tray-ink);white-space:nowrap}.banner #editToggle{border-radius:999px;padding-inline:20px;border-color:var(--tray-muted);background:#ffffff12;color:var(--tray-ink)}.banner #editToggle[aria-pressed=true]{background:var(--tray-ink);border-color:var(--tray-ink);color:var(--tray)}.banner .rest-row .btn{border-radius:999px;border-color:var(--tray-muted);background:transparent;color:var(--tray-ink)}@media(hover:hover){.banner .rest-row .btn:hover,.banner #editToggle[aria-pressed=false]:hover{background:#ffffff1f}}.banner .mini{border-radius:999px;border-color:var(--tray-muted);background:transparent;color:var(--tray-ink)}.banner .mini.danger{border-color:var(--tray-min);color:var(--tray-min)}.banner .note{background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:var(--tray-ink)}.banner .fld>span{color:var(--tray-muted)}.banner .inp{background:#00000042;border-color:#fff3;color:var(--tray-ink)}.banner .inp::placeholder{color:var(--tray-muted);opacity:.75}.banner :where(button,input):focus-visible{outline-color:var(--tray-ink)}.banner+.page-in{padding-top:18px}.hp-read{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.hp-num{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-variant-numeric:tabular-nums}.hp-cur{font-family:var(--font-display);font-weight:700;font-size:64px;line-height:.9;letter-spacing:-.02em}.hp-max{font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--muted)}.state-chip{align-self:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 10px;border-radius:999px;border:1.5px solid currentColor}.state-chip.good{color:var(--good)}.state-chip.warn{color:var(--warn)}.state-chip.bad{color:var(--bad)}.temp{display:flex;align-items:center;gap:6px}.temp label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.03em;margin-right:2px}.step{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--key);font:600 19px/1 var(--font-mono);cursor:pointer;touch-action:manipulation}#tempInput{width:58px;height:38px;text-align:center;font:600 18px var(--font-mono);color:var(--hp-temp);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:4px}.hp-bar{display:flex;height:12px;margin-top:14px;border-radius:999px;background:var(--track);overflow:hidden}.hp-fill{background:var(--hp-good);transition:width .35s ease,background-color .35s}.hp-fill.warn{background:var(--hp-warn)}.hp-fill.bad{background:var(--hp-bad)}.hp-tempfill{background:var(--hp-temp);transition:width .35s ease}.hp-edit{margin-top:14px}.death{display:grid;gap:10px;margin-top:14px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--bg)}.death-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.death-row>span:first-child{font-weight:700;font-size:16px}.pips{display:flex;gap:8px}.pip{width:30px;height:30px;padding:0;border-radius:50%;border:2.5px solid currentColor;background:transparent;cursor:pointer}.pips.s .pip{color:var(--good)}.pips.f .pip{color:var(--bad)}.pip[aria-pressed=true]{background:currentColor}.death-msg{margin:0;font-size:15px;color:var(--muted)}.hp-calc{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}#hpExpr{width:100%;min-width:0;font:500 22px/1.2 var(--font-mono);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 14px}#hpExpr:focus{outline:2px solid var(--accent);outline-offset:1px}.hp-calc .status-row{min-height:34px;align-items:center}#hpUndo{flex:none;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.key{min-height:50px;display:grid;place-items:center;align-content:center;gap:1px;padding:4px 2px;background:var(--key);border:1px solid var(--line);border-radius:12px;font:500 21px/1 var(--font-mono);color:var(--ink);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pad-num .key{min-height:0}.pad-adv{grid-template-columns:repeat(6,minmax(0,1fr))}.key.span2{grid-column:span 2}.key.span3{grid-column:span 3}.key.page{background:var(--accent-soft);color:var(--accent);font:700 18px/1 var(--font-mono)}.key.page small{color:var(--accent)}.key small{font:500 11px/1.1 var(--font-body);color:var(--muted)}.key.op{background:var(--key-op)}.key.dmg{color:var(--bad);font-weight:700}.key.heal{color:var(--good);font-weight:700}.key:active{transform:translateY(1px)}.key svg{width:22px;height:22px}.key.apply{grid-column:span 2;background:var(--accent);border-color:transparent;color:var(--accent-ink);font:700 21px/1 var(--font-display)}.key:disabled{opacity:.42;cursor:not-allowed}.mods{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.mods li{display:grid;gap:6px;min-width:0;align-content:start}.mod{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);cursor:pointer}.mod[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.switch{flex:none;position:relative;width:36px;height:22px;margin-top:1px;border-radius:999px;background:var(--switch-off);transition:background-color .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--knob);box-shadow:0 1px 2px #0000004d;transition:transform .2s}.mod[aria-checked=true] .switch,.nav-item[aria-checked=true] .switch{background:var(--accent)}.mod[aria-checked=true] .switch:after,.nav-item[aria-checked=true] .switch:after{transform:translate(14px)}.nav-item .switch{margin-left:auto}a.nav-item{text-decoration:none}.mod-body{display:grid;flex:1;min-width:0}.mod-body strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.mod-body span{font-family:var(--font-mono);font-size:13px;color:var(--muted);overflow-wrap:anywhere}.tag{flex:none;margin-top:2px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.row-tools{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.mods-foot{margin-top:12px}.entries{list-style:none;margin:0;padding:0;display:grid}.entry-item{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.entry-item:first-child{border-top:0;padding-top:0}.entry-item:last-child{padding-bottom:0}.entry-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.entry-info{flex:1 1 140px;min-width:0;display:grid}.entry-info strong{font-size:18px;line-height:1.2;overflow-wrap:anywhere}.entry-info span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.entry-rolls{display:flex;gap:6px;margin-left:auto}.rc{display:grid;justify-items:center;align-content:center;gap:3px;min-width:76px;min-height:54px;padding:6px 10px;border-radius:11px;border:1px solid var(--line);background:var(--key);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rc .f{font:600 16px/1.1 var(--font-mono);white-space:nowrap}.rc .l{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.rc.hit{border-color:var(--glyph)}.rc.heal .f{color:var(--good)}.rc.boosted .l:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--accent);vertical-align:1px}.rc:hover{border-color:var(--accent)}.rc:active{transform:translateY(1px)}.tray{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding:16px;color:var(--tray-ink);background:radial-gradient(130% 100% at 22% 0%,var(--tray-hi) 0%,var(--tray) 64%);border:1px solid var(--tray-rim);box-shadow:inset 0 4px 22px #00000080,inset 0 0 0 6px #00000024;display:grid;gap:10px;align-content:start}.tray:before,.banner:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.display-slot>.tray{flex:1 1 auto;min-height:0;overflow:hidden;padding:12px 16px 14px;row-gap:0;column-gap:16px;align-content:stretch;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr auto auto auto auto auto auto auto auto;grid-template-areas:"top top" "space space" "total dice" "crit dice" "worked worked" "mods mods" "note note" "err err" "act act" "copy copy"}.display-slot>.tray>*{margin-top:6px}.display-slot>.tray>.tray-top{grid-area:top;margin-top:0}.display-slot>.tray .tray-total{grid-area:total;align-self:end;white-space:nowrap;overflow-wrap:normal;font-size:clamp(34px,36cqh,112px)}.display-slot>.tray .tray-total.long{font-size:clamp(28px,26cqh,80px)}.display-slot>.tray .crit{grid-area:crit;justify-self:start;align-self:start}.display-slot>.tray .groups{grid-area:dice;align-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-end;gap:8px 14px}.display-slot>.tray .group{justify-items:end;gap:5px}.display-slot>.tray .g-head{gap:8px}.display-slot>.tray .chips{justify-content:flex-end}.display-slot>.tray{--die:clamp(32px, 17cqh, 48px)}.display-slot>.tray .die{width:var(--die);height:var(--die);font-size:calc(var(--die) * .4)}.display-slot>.tray .die.s4{padding-top:calc(var(--die) * .36);font-size:calc(var(--die) * .34)}.display-slot>.tray .die.long{font-size:calc(var(--die) * .3)}.display-slot>.tray .tray-top{padding-right:42px}.display-slot>.tray #copyIcon{position:absolute;top:10px;right:12px}.display-slot>.tray .tray-worked{grid-area:worked}.display-slot>.tray .tray-mods{grid-area:mods}.display-slot>.tray .tray-note{grid-area:note}.display-slot>.tray .tray-error{grid-area:err;font-size:15px}.display-slot>.tray .tray-actions{grid-area:act;display:none}.display-slot>.tray .tray-actions:has(#followBtn:not([hidden])){display:flex}.display-slot>.tray #copyFallback{grid-area:copy}.display-slot>.tray.f1 .tray-worked{display:none}.display-slot>.tray.f1>*{margin-top:3px}.display-slot>.tray.f1>.tray-top{margin-top:0}.display-slot>.tray.f1 .tray-title,.display-slot>.tray.f1 .tray-expr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.display-slot>.tray.f2 .g-head,.display-slot>.tray.f2 .tray-mods{display:none}.display-slot>.tray.f2 .groups{gap:6px 10px}.display-slot>.tray.f3 .tray-head{display:none}.display-slot>.tray.f4{--die:30px}.display-slot>.tray.f4 .tray-total{font-size:clamp(30px,30cqh,96px)}.display-slot>.tray.f4 .tray-total.long{font-size:clamp(24px,22cqh,64px)}.display-slot>.tray.f5{--die:25px}.display-slot>.tray.f5 .chips{gap:4px}.display-slot>.tray.f5 .tray-total{font-size:clamp(26px,26cqh,80px)}.display-slot>.tray.f5 .tray-total.long{font-size:clamp(22px,19cqh,56px)}.display-slot>.tray.f6{--die:21px}.display-slot>.tray.f6 .chips{gap:3px}.display-slot>.tray.f6 .tray-total{font-size:clamp(22px,22cqh,64px)}.display-slot>.tray.f7 .groups{display:none}.display-slot>.tray.f8 .tray-top{display:none}.display-slot>.tray.f8 .tray-total{margin-top:0}.tray-idle{display:none}.tray.idle>:not(.tray-idle){display:none}.display-slot>.tray.idle .tray-idle{grid-column:1 / -1;grid-row:1 / -1;place-self:center;margin:0;display:grid;justify-items:center;gap:10px;color:var(--tray-muted);text-align:center}.tray-idle svg{width:clamp(30px,26cqh,72px);height:clamp(30px,26cqh,72px);opacity:.55}.tray-idle p{margin:0;font-size:15px;font-weight:700;letter-spacing:.02em}.tray-title[hidden]+.tray-expr{font-size:16px;color:var(--tray-ink)}.tray:not(.as-sheet) .tray-close,.tray:not(.as-sheet) #againBtn,.tray:not(.as-sheet) #copyBtn,.tray.as-sheet #copyIcon{display:none}.tray-icon{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--tray-muted);background:transparent;color:var(--tray-ink);cursor:pointer}.tray-icon svg{width:15px;height:15px}.tray-icon .i-done,.tray-icon.done .i-copy{display:none}.tray-icon.done .i-done{display:block}.tray.as-sheet{position:fixed;left:0;right:0;bottom:0;z-index:15;width:100%;max-width:620px;margin-inline:auto;max-height:74vh;overflow:auto;border-radius:22px 22px 0 0;border-bottom:0;padding:14px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-shadow:0 -14px 40px #00000059,inset 0 4px 22px #0006;animation:rise .28s cubic-bezier(.2,.8,.3,1)}.tray.as-sheet:not(.open){display:none}.tray.as-sheet .tray-total{font-size:clamp(56px,17vw,84px)}.tray-top{display:flex;gap:8px 10px;align-items:flex-start;min-width:0}.tray-head{display:grid;flex:1;min-width:0}.tray-title{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.2;color:var(--tray-ink);overflow-wrap:anywhere}.tray-expr{font-family:var(--font-mono);font-size:14px;color:var(--tray-muted);overflow-wrap:anywhere}.pill{flex:none;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 9px;border-radius:999px;border:1px solid var(--tray-muted);color:var(--tray-muted)}.tray-close{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--tray-muted);background:transparent;color:var(--tray-ink);cursor:pointer}.tray-close svg{width:14px;height:14px}.tray-total{font-family:var(--font-display);font-weight:700;line-height:.92;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tray-ink);overflow-wrap:anywhere}.tray.as-sheet .tray-total.long{font-size:clamp(40px,12vw,60px)}.tray-total.is-crit{color:var(--tray-max)}.tray-total.is-fumble{color:var(--tray-min)}.crit{justify-self:start;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:var(--tray-max);color:var(--max-ink)}.crit.fumble{background:var(--tray-min);color:var(--min-ink)}.tray-worked{margin:0;font-family:var(--font-mono);font-size:15px;color:var(--tray-ink);overflow-wrap:anywhere}.tray-mods{margin:0;font-size:15px;color:var(--tray-muted)}.tray-note{margin:0;font-size:17px;font-weight:700;color:var(--tray-ink)}.tray-error{margin:0;font-size:17px;color:var(--tray-ink);max-width:44ch}.groups{display:grid;gap:10px;margin-top:2px}.group{display:grid;gap:7px;min-width:0}.g-head{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:13px;color:var(--tray-muted)}.chips{display:flex;flex-wrap:wrap;gap:6px}.more{align-self:center;font-family:var(--font-mono);font-size:13px;color:var(--tray-muted);padding-left:4px}.tray-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.tray-btn{min-height:40px;padding:7px 16px;border-radius:999px;border:1px solid var(--tray-muted);background:transparent;color:var(--tray-ink);font-weight:700;font-size:15px;cursor:pointer}.tray-btn:hover{background:#ffffff14}.tray-btn.primary{background:var(--tray-ink);border-color:var(--tray-ink);color:var(--tray)}.tray-btn.primary:disabled{opacity:.6;cursor:default}.tray :where(button,input):focus-visible{outline-color:var(--tray-ink)}#copyFallback{width:100%;font:14px var(--font-mono);padding:8px 10px;border-radius:8px;border:1px solid var(--tray-muted);background:#00000040;color:var(--tray-ink)}.die,.shape{display:grid;place-items:center;flex:none}.die{width:40px;height:40px;background:var(--bone);color:var(--bone-ink);font-family:var(--font-mono);font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}.die.long{font-size:11.5px}.s4{clip-path:polygon(50% 3%,98% 95%,2% 95%)}.die.s4{padding-top:13px;font-size:13px}.s6{border-radius:22%}.s8{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.s10{clip-path:polygon(50% 0,100% 42%,50% 100%,0 42%)}.s12{clip-path:polygon(50% 0,100% 37%,81% 98%,19% 98%,0 37%)}.s20{clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}.sx{border-radius:50%}.die.dropped{opacity:.33;text-decoration:line-through;text-decoration-thickness:2px}.die{transition:opacity .25s ease,color .2s ease}.die.spin{color:var(--bone-ink)!important;opacity:1!important;text-decoration:none!important}.g-head,.tray-worked,.crit{transition:opacity .2s ease}.tray.spinning .g-head,.tray.spinning .tray-worked,.tray.spinning .crit{opacity:0;transition:none}.die.face-max{color:var(--face-max);font-weight:700}.die.face-min{color:var(--face-min);font-weight:700}.tray.rolling .die{animation:tumble .5s cubic-bezier(.2,.8,.3,1.25) both;animation-delay:calc(var(--i, 0) * 32ms)}.die.coin{border-radius:50%;background:radial-gradient(circle at 35% 30%,#fbe7a6,#e8c25e 45%,#c9972f);color:#4a2a05;font-weight:700;box-shadow:inset 0 0 0 2px #4a2a0538}.tray.rolling .die.coin{animation:coinflip .62s cubic-bezier(.3,.7,.4,1) both}@keyframes coinflip{0%{transform:translateY(0) rotateX(0) scale(.7);opacity:0}15%{opacity:1}50%{transform:translateY(-30px) rotateX(900deg) scale(1.12)}to{transform:none}}.tray-total.coin-word{transition:opacity .25s ease}.tray.spinning .tray-total.coin-word{opacity:0;transition:none}.log-total.word{font-size:19px}@keyframes tumble{0%{transform:translateY(-20px) rotate(-160deg) scale(.45);opacity:0}70%{transform:translateY(2px) rotate(10deg) scale(1.06)}to{transform:none}}@keyframes rise{0%{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}details.card>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.15}details.card>summary::-webkit-details-marker{display:none}details.card>summary:after{content:"";flex:none;width:9px;height:9px;margin-right:6px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}details.card[open]>summary{margin-bottom:12px}details.card[open]>summary:after{transform:rotate(-135deg)}.notation-note{margin-bottom:12px}.notation{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:9px 14px;margin:0;align-items:baseline}.notation dt{margin:0}.notation dd{margin:0;color:var(--muted);font-size:15px}.log{list-style:none;margin:0;padding:0;display:grid}.log li{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.log li:first-child{border-top:0;padding-top:2px}.log-total{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.log-total.crit-hit{color:var(--good)}.log-total.crit-miss{color:var(--bad)}.log-body{display:grid;min-width:0}.log-name{font-weight:700;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.log-expr{font-family:var(--font-mono);font-size:14px;overflow-wrap:anywhere}.log-worked{font-family:var(--font-mono);font-size:12px;color:var(--muted);overflow-wrap:anywhere}.log-side{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.log .icon-btn{width:36px;height:36px;border-radius:50%;background:transparent}.log .icon-btn svg{width:17px;height:17px}.scrim{position:fixed;inset:0;z-index:30;display:grid;align-items:end;justify-items:center;background:var(--scrim);padding-top:env(safe-area-inset-top,0px)}.dialog{width:100%;max-width:540px;max-height:92vh;overflow:auto;display:grid;gap:14px;background:var(--surface);color:var(--ink);border-radius:20px 20px 0 0;padding:20px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-shadow:0 -10px 40px #0000004d;animation:rise .24s cubic-bezier(.2,.8,.3,1)}.dialog h2{font-family:var(--font-display);font-weight:600;font-size:25px;line-height:1.15}.dlg-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px}@media(min-width:640px){.scrim{align-items:center;padding:24px}.dialog{border-radius:20px;padding:24px}}.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 66px);transform:translate(-50%);z-index:40;width:max-content;max-width:calc(100% - 32px);padding:10px 18px;border-radius:14px;background:var(--ink);color:var(--bg);font-weight:700;font-size:15px;text-align:center;box-shadow:0 8px 24px #00000040}.blk-body{display:grid;gap:12px;min-width:0}.rest-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rest-row .btn{min-height:40px;padding:6px 14px}.rest-row #hpUndo{margin-left:auto}.blocks-list{list-style:none;margin:12px 0 0;padding:0;columns:2 300px;column-gap:10px}.blocks-list li{display:flex;gap:6px;min-width:0;margin-bottom:8px;break-inside:avoid;border-radius:12px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.blocks-list .blk-toggle{flex:1 1 auto;min-width:0}.blk-move{flex:none;display:flex;gap:6px}.mv{width:40px;min-height:36px;display:grid;place-items:center;padding:0;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;touch-action:manipulation}.mv svg{width:18px;height:18px}.mv:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.mv:disabled{opacity:.3;cursor:not-allowed}.blocks-list .mv{background:var(--bg)}.card-head .blk-move{margin-left:auto}#blocksCard .card-head{min-height:36px}.grip{flex:none;display:grid;place-items:center;width:26px;border-radius:10px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.grip svg{width:10px;height:16px}.grip:hover{color:var(--accent)}.card-head .grip{width:34px;min-height:36px;border:1px dashed var(--line);background:var(--bg)}.blocks-list .blk-toggle{transition:transform .3s ease}.blocks-list li.pressing .blk-toggle{transform:scale(.97)}.blocks-list li.dragging,.blk.dragging{position:relative;z-index:8}.blocks-list li.dragging{background:var(--surface);box-shadow:0 12px 30px #00000047}.blocks-list li.dragging .blk-toggle{border-color:var(--accent)}.blk.dragging{border-color:var(--accent);box-shadow:0 14px 36px #0000004d}html.grabbing,html.grabbing *{cursor:grabbing!important}.sheet-cols.sorting{grid-template-columns:minmax(0,1fr)}.sheet-cols.sorting .blk>:not(.card-head){display:none}.sheet-cols.sorting .blk>.card-head{margin-bottom:0}@media(max-width:599px){.blocks-list .blk-move{flex-direction:column;gap:4px}.blocks-list .mv{flex:1 1 0;width:44px;min-height:32px}}.blk-toggle{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}.blk-toggle[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.blk-toggle[aria-checked=true] .switch{background:var(--accent)}.blk-toggle[aria-checked=true] .switch:after{transform:translate(14px)}.blk-toggle .mod-body span{font-family:var(--font-body);font-size:14px}.fld-hint{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{display:grid;align-content:start;gap:2px;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:left;font:inherit}button.stat{cursor:pointer;touch-action:manipulation}button.stat:hover{border-color:var(--accent)}.stat-k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.25}.stat-v{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat.roll{border-color:var(--glyph)}.stat.roll .stat-v{color:var(--accent)}.stat-hint{font-size:12px;color:var(--muted)}.stat.toggle[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.abils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.abil{display:grid;justify-items:center;align-content:start;gap:6px;min-width:0;padding:10px 8px;border-radius:12px;border:1px solid var(--line);background:var(--bg)}.abil-k{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.abil-score{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.abil-rolls{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.abil-btn{display:grid;justify-items:center;gap:1px;min-width:0;padding:6px 2px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;touch-action:manipulation}.abil-btn:hover{border-color:var(--accent)}.abil-btn .v{font:600 15px/1.1 var(--font-mono);font-variant-numeric:tabular-nums}.abil-btn .l{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.abil-btn.prof .l:before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--accent);vertical-align:1px}.abil-in{text-align:center;font:600 20px var(--font-mono);padding:6px}.abil-mod{font:600 14px var(--font-mono);color:var(--muted)}.check.small{font-size:12px;gap:6px;line-height:1.2;color:var(--muted)}.check.small input{width:16px;height:16px;flex:none}.skills{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:4px 8px}.skill{width:100%;display:flex;align-items:center;gap:8px;min-height:42px;padding:6px 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer;touch-action:manipulation}.skill:hover{background:var(--key-op)}.app.editing .skill{border-color:var(--line)}.pm{flex:none;width:12px;height:12px;border-radius:50%;border:2px solid var(--muted)}.pm.p1{background:var(--accent);border-color:var(--accent)}.pm.p2{background:var(--accent);border-color:var(--accent);border-radius:2px;transform:rotate(45deg) scale(.9)}.sk-name{flex:1;min-width:0;font-size:15px;line-height:1.2}.sk-name small{margin-left:5px;font-size:12px;color:var(--muted)}.sk-v{font:600 15px var(--font-mono);font-variant-numeric:tabular-nums}.count-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.count-big{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1;font-variant-numeric:tabular-nums}.count-of{color:var(--muted);font-size:15px}.counter{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.step:disabled{opacity:.4;cursor:not-allowed}.slot-rows{display:grid}.slot-row{display:grid;grid-template-columns:minmax(4.2rem,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.slot-row:first-child{border-top:0;padding-top:0}.slot-l{font-weight:700;font-size:15px}.slot-n{font:600 14px var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}.slot-pips{display:flex;flex-wrap:wrap;gap:6px}.slot{width:30px;height:30px;padding:0;border-radius:8px;border:2px solid var(--accent);background:transparent;cursor:pointer;touch-action:manipulation}.slot.on{background:var(--accent)}.res-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name n" "uses uses";row-gap:6px}.res-row .res-name{grid-area:name;display:grid;min-width:0}.res-row .res-name strong{overflow-wrap:anywhere}.res-row .res-name small{font-size:12px;color:var(--muted)}.res-row .slot-n{grid-area:n}.res-row .slot-pips,.res-row .counter{grid-area:uses;margin-left:0}.res-edit{display:grid;gap:10px}.res-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.res-edit-row .inp,.res-edit-row .select{background:var(--surface)}.res-edit-row .mini{justify-self:end;align-self:end;min-height:42px}.res-edit+.add-btn{margin-top:0}.blk-body>.add-btn{margin-top:0}.chip-switch{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 14px 6px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer}.chip-switch[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.chip-switch[aria-checked=true] .switch{background:var(--accent)}.chip-switch[aria-checked=true] .switch:after{transform:translate(14px)}.conc-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.conc-in{flex:1 1 160px;width:auto}.sp-casts{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.rc:disabled{opacity:.45;cursor:not-allowed}.slot-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot-edit .inp,.coins .inp{text-align:center}.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.conds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,112px),1fr));gap:6px}.cond{min-height:42px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-weight:700;font-size:14px;cursor:pointer;touch-action:manipulation}.cond[aria-checked=true]{border-color:var(--bad);color:var(--bad);background:var(--surface);box-shadow:inset 0 0 0 1px var(--bad)}.cond-fx{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}.cond-fx strong{color:var(--bad)}.exh{display:flex;align-items:center;gap:8px}.exh-k{font-weight:700;margin-right:auto}.exh-v{min-width:2ch;text-align:center;font:700 20px var(--font-mono)}.coins{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:6px}.coins .fld>span{text-align:center}.coins .inp{padding:9px 4px}.notes{min-height:150px;resize:vertical;line-height:1.45;font-family:var(--font-body)}.opts{border:1px dashed var(--line);border-radius:12px;background:var(--bg)}.drop{border:1px solid var(--line);border-radius:12px;background:var(--bg)}.drop>summary{list-style:none;cursor:pointer;position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;min-height:48px;padding:12px 42px 12px 14px;border-radius:12px;touch-action:manipulation}.drop>summary::-webkit-details-marker{display:none}.drop>summary:after{content:"";position:absolute;right:17px;top:19px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}.drop[open]>summary:after{transform:rotate(-135deg);top:23px}.drop[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.drop-t{font-weight:700;font-size:16px}.drop-d{flex:1 1 160px;min-width:0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.drop[open] .drop-d{display:none}.drop-body{display:grid;gap:10px;padding:10px}.drop-body>.hint{padding-inline:4px}.opts>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:12px 40px 12px 14px;border-radius:12px;position:relative}.opts>summary::-webkit-details-marker{display:none}.opts>summary:after{content:"";position:absolute;right:16px;top:18px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s}.opts[open]>summary:after{transform:rotate(-135deg);top:22px}.opts-t{font-weight:700;font-size:15px;color:var(--accent)}.opts-d{flex:1 1 160px;min-width:0;font-size:14px;color:var(--muted)}.opts-body{display:grid;gap:10px;padding:0 14px 14px}.opts-body .add-btn{margin-top:0}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip-switch.sm{min-height:36px;padding:4px 12px 4px 6px;font-size:14px}.chip-switch.sm .switch{width:30px;height:18px}.chip-switch.sm .switch:after{width:12px;height:12px}.chip-switch.sm[aria-checked=true] .switch:after{transform:translate(12px)}.list-edit{display:grid;gap:8px}.list-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.list-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.list-head .mini{min-height:32px}.list-row>.check{align-self:center;min-height:42px}.add-row{display:flex;flex-wrap:wrap;gap:6px}.add-row .add-btn{flex:1 1 120px;width:auto;margin-top:0}.blk-opts:empty{display:none}#opts-hp{margin-top:14px}.field-rows{display:grid}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 0;border-top:1px solid var(--line)}.field-row:first-child{border-top:0;padding-top:0}.field-l{font-weight:700;font-size:15px;min-width:0;overflow-wrap:anywhere}.field-v{min-width:0;text-align:right;overflow-wrap:anywhere}.field-n{min-width:3ch;text-align:center;font:700 20px var(--font-mono);font-variant-numeric:tabular-nums}.field-row .counter{margin-left:0}.abil-rolls.one{grid-template-columns:1fr}.cond.add{border-style:dashed;color:var(--accent)}@keyframes settle{0%{opacity:.2}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tray,.dialog,.drawer{animation:none}.tray.rolling .die,.tray.rolling .die.coin{animation:settle .3s ease both}.hp-fill,.hp-tempfill,.switch,.switch:after{transition:none}}.gate{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--bg);overflow:auto}.gate[hidden]{display:none}.gate-card{width:100%;max-width:420px;display:grid;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.gate-mark{width:44px;height:44px;color:var(--accent)}.gate-card h2{margin:0;font:400 28px/1.15 var(--font-display)}.gate-lede{margin:0;color:var(--muted)}.gate-btns{display:grid;gap:10px}.gate-card .btn{min-height:48px;font-size:17px}.gate-card .btn:disabled{opacity:.6;cursor:default}.gate-fine{margin:0;font-size:14px;color:var(--muted)}.gate-fine:empty{display:none}.about{padding:0 12px 6px;font-size:13px;line-height:1.45;color:var(--muted)}.about summary{cursor:pointer;font-weight:700;color:var(--ink);padding:8px 0;list-style-position:inside}.about p{margin:0 0 8px;overflow-wrap:anywhere}.about strong{color:var(--ink)}
