:root{--bg:#f5f4f0;--surface:#fffefb;--surface-2:#f2f0ea;--input:#ffffff;--text:#3a3833;--text-2:#605c53;--muted:#726d63;--brand:#43736e;--brand-hover:#4b7d77;--brand-soft:#4b7d77;--accent:#a05f34;--ok:#4b7a4e;--warn:#946f1e;--danger:#ab4f45;--info:#566e80;--line:#e5e2da;--line-soft:rgba(58,56,51,0.06);--shadow-1:0 1px 2px rgba(58,56,51,0.04);--shadow-2:0 6px 24px rgba(58,56,51,0.10);--r-lg:16px;--r:12px;--r-sm:9px;--r-pill:999px;--sidebar-w:252px;--ink:#3a3833;--paper:#3a3833;--paper-deep:#605c53;--fog:#726d63;--moss:#43736e;--lantern:#43736e;--blood:#ab4f45;--surface-0:#f5f4f0;--surface-1:#fffefb;--surface-3:#ffffff;--overlay:rgba(58,56,51,0.36);--shadow-pop:0 6px 24px rgba(58,56,51,0.10);--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-28:26px;--fs-36:32px;--font-serif:"PingFang SC","HarmonyOS Sans SC","MiSans","Noto Sans SC","Source Han Sans SC","Microsoft YaHei UI",system-ui,sans-serif;--font-sans:"PingFang SC","HarmonyOS Sans SC","MiSans","Noto Sans SC","Source Han Sans SC","Microsoft YaHei UI",system-ui,sans-serif;--font-mono:"SF Mono","JetBrains Mono","Consolas","Courier New",monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--r-1:9px;--r-2:12px;--r-3:16px;--t-fast:160ms ease-out;--t-mid:240ms ease-out;--t-dice:600ms ease-out;--topbar-h:56px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-sans);background:radial-gradient(900px 420px at 68% -12%,rgba(67,115,110,.07),transparent 62%),radial-gradient(700px 380px at 8% 102%,rgba(160,95,52,.06),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text)}a{color:var(--lantern);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}.icon{display:inline-block;vertical-align:middle;width:18px;height:18px;flex:none}.icon.lg{width:32px;height:32px}.shell{max-width:1080px;margin:0 auto;padding:24px 20px 80px}.shell.wide{max-width:1200px}.kicker{color:var(--fog);font-size:var(--fs-13);letter-spacing:.22em;text-transform:uppercase}.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--sp-5);margin-bottom:var(--sp-4);width:100%;box-sizing:border-box}.card h2{font-family:var(--font-sans);font-weight:400;font-size:var(--fs-20);margin:0 0 var(--sp-3)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.field{display:grid;grid-gap:6px;gap:6px;flex:1 1;min-width:160px}.field,.field .hint,.hint,label .hint{font-size:var(--fs-13);color:var(--paper-deep)}label{display:grid;grid-gap:6px;gap:6px;font-size:13px;color:var(--paper-deep);flex:1 1;min-width:160px}input,select,textarea{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-1);padding:10px 12px;outline:none;color:var(--paper);box-sizing:border-box}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{width:100%;max-width:100%}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-width:18px;padding:0;flex:none;accent-color:var(--brand);background:none;border:none;box-shadow:none}input:focus,select:focus,textarea:focus{border-color:var(--lantern)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-4);background:var(--brand);color:#fff;border:0;border-radius:var(--r);font-weight:600;letter-spacing:.04em;cursor:pointer}.btn:hover:not(:disabled){background:var(--brand-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--lantern);outline-offset:2px}.btn.ghost{background:transparent;color:var(--paper)}.btn.ghost,.btn.secondary{border:1px solid var(--line)}.btn.secondary{background:var(--surface);color:var(--text)}.btn.secondary:hover:not(:disabled){background:var(--surface-2)}.btn.danger{background:var(--blood);color:#fffdf8}.btn.text{background:none;border:0;color:var(--lantern);min-height:0;padding:0;font-weight:400}.btn.lg{min-height:48px;padding:0 var(--sp-6);font-size:17px}.btn.sm{min-height:32px;padding:0 var(--sp-3);font-size:var(--fs-13)}.btn.block{width:100%}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.module-card{border:1px solid var(--line);border-radius:var(--r-2);padding:16px;background:rgba(90,122,98,.06);cursor:pointer;text-align:left;width:100%;color:inherit}.module-card strong{display:block;margin-bottom:6px}.module-card span{color:var(--paper-deep);font-size:13px}.module-card.selected{border-color:var(--lantern)}.module-card:disabled{opacity:.5;cursor:not-allowed}.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 11px;border-radius:var(--r-pill);font-size:12px;white-space:nowrap;border:1px solid transparent}.tag.lobby{background:rgba(114,109,99,.12);color:#5c574e}.tag.playing{background:rgba(67,115,110,.14);color:var(--brand)}.tag.era{background:rgba(86,110,128,.13);color:var(--info)}.tag.moss,.tag.published{background:rgba(75,122,78,.13);color:var(--ok)}.tag.warm{background:rgba(160,95,52,.13);color:var(--accent)}.tag.draft,.tag.ended,.tag.rose{background:rgba(114,109,99,.12);color:var(--muted)}.tag.paused{background:rgba(148,111,30,.13);color:var(--warn)}.tag.tutorial{background:rgba(67,115,110,.14);color:var(--brand)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:var(--sp-4);height:var(--topbar-h);padding:0 var(--sp-6);background:rgba(246,241,232,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:var(--sp-2);font-size:18px;letter-spacing:.18em;color:var(--paper)}.topbar .brand,.topbar .brand:hover{text-decoration:none}.topbar .page{color:var(--paper-deep);font-size:var(--fs-16)}.topbar .spacer{flex:1 1}.topbar .credits{gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-14)}.topbar .credits,.topbar-nav{display:flex;align-items:center}.topbar-nav{gap:14px;flex-wrap:wrap}.topbar-mobile{display:none}.toast{position:fixed;top:calc(var(--topbar-h) + var(--sp-6));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:var(--sp-2);padding:10px var(--sp-4);max-width:min(420px,calc(100vw - 32px));background:var(--surface-3);border:1px solid var(--line-soft);border-left:3px solid var(--info);border-radius:var(--r-2);box-shadow:var(--shadow-pop);font-size:var(--fs-14);z-index:60}.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--danger)}.dialog-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--sp-6)}.dialog{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--sp-6);max-height:88vh;overflow:auto}.dialog h3{margin:0 0 8px;font-weight:600;font-size:19px;display:flex;align-items:center;gap:9px}.dialog h3 .icon.tone-warn{color:var(--warn)}.dialog h3 .icon.tone-brand{color:var(--brand)}.dialog h3 .icon.tone-danger{color:var(--danger)}.dialog .d-note,.dialog .dialog-note,.dialog p{margin:0 0 14px;font-size:14px;color:var(--text-2)}.dialog .actions,.dialog .d-acts{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.code-input{font-size:24px;letter-spacing:.3em;text-indent:.3em;border-radius:var(--r-sm)}.code-input,.pwd-input{background:var(--input);color:var(--text)}.pwd-input{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:16px}.code-input:focus,.pwd-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(67,115,110,.12)}.field-err{font-size:13px;color:var(--danger);margin-top:8px}.switch-row{display:flex;align-items:center;gap:10px;padding:4px 0 8px}.switch-row input{width:18px;height:18px;accent-color:var(--brand);flex:none}.switch-row label{min-width:0;font-size:14px;color:var(--text)}.drawer-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:100vw;background:#faf6ee;border-left:1px solid var(--line-soft);z-index:41;display:flex;flex-direction:column}.drawer.wide{width:min(480px,100vw)}.drawer .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4);border-bottom:1px solid var(--line-soft)}.drawer .drawer-body{flex:1 1;overflow:auto;padding:var(--sp-4)}.banner{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);background:var(--surface-1);border:1px solid var(--line);border-left:3px solid var(--info);border-radius:var(--r-2);font-size:var(--fs-14)}.banner.warn{border-left-color:var(--warn)}.banner.err{border-left-color:var(--danger)}.empty{justify-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-12) var(--sp-4)}.empty p{margin:0;font-size:var(--fs-14)}.room-code{font-family:var(--font-mono);font-size:var(--fs-28);letter-spacing:.18em;text-transform:uppercase;color:var(--paper);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-1);padding:var(--sp-2) var(--sp-4)}.invite-card{border-color:var(--lantern)}.wizard-steps{gap:16px;margin-bottom:20px}.wizard-steps .on{color:var(--lantern)}.hero{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;align-items:center;margin-bottom:32px}.hero h1{font-size:var(--fs-36);letter-spacing:.18em;font-weight:400;margin:8px 0}.harbor{min-height:220px;border-radius:var(--r-2);background:radial-gradient(ellipse at 50% 120%,rgba(196,160,86,.16),transparent 50%),linear-gradient(180deg,#efe6d4,#d9cbb6 70%);position:relative;overflow:hidden}.harbor:after{content:"";position:absolute;left:18%;right:18%;bottom:28px;height:48px;background:linear-gradient(180deg,#c4b49a,#8f816c);-webkit-clip-path:polygon(8% 100%,20% 30%,28% 48%,42% 10%,50% 36%,62% 18%,78% 55%,92% 100%);clip-path:polygon(8% 100%,20% 30%,28% 48%,42% 10%,50% 36%,62% 18%,78% 55%,92% 100%);opacity:.7}.feat{display:flex;gap:10px;align-items:flex-start;color:var(--paper-deep);font-size:14px;margin:8px 0}.landing-cols{display:grid;justify-items:center}.landing-cols .card{width:100%;max-width:420px}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.play-layout{display:grid;grid-template-columns:168px 1fr;grid-gap:16px;gap:16px;align-items:start}.play-main{min-width:0}.play-nav{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 12px);display:flex;flex-direction:column;gap:6px}.play-nav button{justify-content:flex-start;width:100%}.play-nav button.active{border-color:var(--lantern);color:var(--lantern)}.play-status{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:12px;color:var(--paper-deep);font-size:14px}.play-status .icon{vertical-align:-3px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px}.mobile-play-tools{display:none}.timeline{display:flex;flex-direction:column;gap:12px}.bubble{border-left:3px solid var(--moss);padding:8px 12px;background:rgba(255,253,248,.8)}.bubble.player{border-color:var(--lantern)}.bubble.dice{border-color:var(--blood);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bubble.dice.success{border-color:var(--moss)}.bubble.dice.fail{border-color:var(--blood)}.bubble.dice.extreme{border-color:var(--ok)}.bubble.dice.fumble{border-color:var(--danger)}.dice-inline .stamp{font-size:var(--fs-14);color:var(--lantern);letter-spacing:.12em}.dice-inline .roll{font-family:var(--font-mono);font-size:var(--fs-20);margin-top:4px}.bubble.system{border-color:var(--fog);color:var(--fog)}.bubble.handout{border-color:var(--lantern)}.bubble.ooc{border-color:var(--fog);font-style:italic;color:var(--fog)}.bubble.streaming{position:relative}.bubble.streaming:after{content:"";display:inline-block;width:1px;height:1em;margin-left:2px;background:var(--lantern);animation:cursor-blink .8s step-end infinite;vertical-align:text-bottom}.handout-img{display:block;max-width:100%;max-height:360px;margin-top:8px}.handout-img,.handout-text{border:1px solid var(--line);background:rgba(18,16,14,.45)}.handout-text{white-space:pre-wrap;font-size:14px;line-height:1.55;padding:10px 12px;margin:8px 0 0;overflow:auto;max-height:280px}.handout-editor{border:1px solid var(--line);padding:12px;margin-bottom:12px;width:100%;box-sizing:border-box}.handout-preview{max-width:240px;max-height:160px;display:block;margin:8px 0;border:1px solid var(--line)}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.map-stage{margin-top:8px;height:320px;overflow:hidden;border:1px solid var(--line);background:var(--surface-3);cursor:-webkit-grab;cursor:grab;touch-action:none}.map-stage img{transform-origin:center center;max-width:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.statbar{display:flex;gap:16px;font-size:13px;color:var(--fog)}.notice{color:#e2b8b4;font-size:14px}.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.steps button{background:transparent;border:1px solid var(--line);padding:6px 10px;cursor:pointer;min-height:44px}.steps button.active{border-color:var(--lantern);color:var(--lantern)}.combat-track{padding:8px 0}.combat-track span{padding:6px 10px}.combat-track span.now{border-color:var(--lantern);color:var(--lantern)}.captcha-row{align-items:flex-end}.captcha{background:var(--surface-3);border:1px solid var(--line);padding:4px;cursor:pointer;height:52px}.captcha img{display:block;height:44px;width:120px}.stat-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.derived-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.skill-wrap{overflow:auto;max-height:480px;margin-top:8px}.skill-table{width:100%;border-collapse:collapse;font-size:13px}.skill-table td,.skill-table th{border-bottom:1px solid var(--line);padding:4px 6px;text-align:left}.skill-table tr.occ-skill td:first-child{color:var(--lantern)}.skill-table input{width:64px;padding:4px 6px}.alloc{display:inline-flex;gap:4px;align-items:center}button.mini{background:transparent;border:1px solid var(--line);color:var(--fog);padding:2px 6px;cursor:pointer;font-size:12px}textarea{min-height:88px;width:100%;resize:vertical;line-height:1.6}.code-input{width:100%;min-height:56px;text-align:center;font-family:var(--font-mono);font-size:var(--fs-28);letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:var(--paper);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-1)}.code-input:focus{outline:none;border-color:var(--lantern)}.skill-zone{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--sp-4);margin-bottom:var(--sp-3);background:var(--surface-1)}.skill-zone.choice{border-color:var(--lantern);background:rgba(216,181,103,.07)}.skill-zone .zone-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.skill-zone .zone-title{font-size:var(--fs-16);color:var(--paper)}.skill-zone .zone-rule{font-size:var(--fs-13);color:var(--paper-deep);margin:0 0 var(--sp-3)}.skill-zone .zone-rule.pending{color:var(--warn)}.choice-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);border:1px solid var(--line-soft);border-radius:var(--r-1);margin-bottom:var(--sp-2);cursor:pointer;background:transparent;width:100%;color:inherit;text-align:left;font:inherit}.choice-row:hover:not(:disabled){background:var(--surface-2)}.choice-row[aria-checked=true]{border-color:var(--lantern);background:rgba(216,181,103,.12)}.choice-row:disabled{opacity:.45;cursor:not-allowed}.choice-row .mark{width:18px;height:18px;border:1px solid var(--line);border-radius:50%;flex:none}.choice-row[aria-checked=true] .mark{background:var(--lantern);border-color:var(--lantern)}.choice-row .nm{font-size:var(--fs-16);color:var(--paper)}.choice-row .base{font-size:var(--fs-13);color:var(--paper-deep);font-family:var(--font-mono);margin-left:auto}.weapon-row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center;padding:var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-1);margin-bottom:var(--sp-2)}.weapon-row.unlinked{border-color:var(--warn)}.weapon-row .link-state{font-size:var(--fs-13);color:var(--warn);grid-column:1/-1}.weapon-pick{margin-bottom:12px}.weapon-limit-layout{display:grid;grid-template-columns:132px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;margin-top:12px;width:100%}.weapon-limit-nav{display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 12px)}.weapon-limit-nav button{justify-content:space-between;width:100%}.weapon-limit-nav button.active{border-color:var(--lantern);color:var(--lantern)}.weapon-spec-wrap{overflow-x:auto;margin:0}.weapon-spec{width:100%;border-collapse:collapse;font-size:13px}.weapon-spec td,.weapon-spec th{border-bottom:1px solid var(--line-soft);padding:8px 10px;text-align:left;white-space:nowrap}.weapon-spec th{color:var(--fog);font-weight:500}.weapon-spec tbody tr.on{background:rgba(196,160,86,.1)}.weapon-spec tbody tr{cursor:default}.weapon-spec tbody tr:has(.weapon-check){cursor:pointer}.weapon-spec tbody tr:has(.weapon-check):hover{background:var(--surface-2)}.weapon-check{width:36px;text-align:center}.inv-sheet{margin-top:16px}.inv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inv-head h2{margin:4px 0 0;font-size:28px;font-weight:400}.inv-age{color:var(--fog);font-size:14px}.inv-flags{color:var(--warn)}.inv-loc{color:var(--paper-deep)}.inv-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:16px 0}.inv-stat{background:var(--surface-2);padding:10px 12px;border-radius:var(--r-1)}.inv-stat span{display:block;font-size:12px;color:var(--fog)}.inv-stat strong{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inv-stat em{font-style:normal;font-size:11px;color:var(--fog)}.inv-skills{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:4px 16px;gap:4px 16px}.inv-skill{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px solid var(--line-soft);font-size:13px}.inv-skill.trained .nm{color:var(--paper)}.inv-skill .nm{color:var(--paper-deep)}.inv-skill .num,.inv-skill .sub{font-family:var(--font-mono)}.inv-skill .sub{font-size:11px;color:var(--fog)}.inv-roster{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.inv-roster-btn{text-align:left;border:1px solid var(--line);background:var(--surface-2);padding:8px 12px;min-width:140px;cursor:pointer}.inv-roster-btn.on{border-color:var(--lantern)}.inv-roster-btn strong{display:block}.inv-roster-btn span{display:block;font-size:12px;color:var(--fog)}.dice-history{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px}.dice-chip{border:1px solid var(--line);padding:8px 10px;min-width:96px;font-size:13px;background:rgba(18,16,14,.4)}.dice-chip.extreme,.dice-chip.fumble{border-color:var(--danger);color:#e2b8b4}.char-name{cursor:pointer;color:var(--lantern);background:none;border:0;padding:0;font:inherit}.dice-card{position:relative}.dice-card .roll{font-size:var(--fs-28);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dice-card .stamp{position:absolute;top:var(--sp-3);right:var(--sp-3);padding:2px var(--sp-2);border:1px solid;border-radius:var(--r-1);font-size:var(--fs-13);letter-spacing:.22em;transform:rotate(2deg)}.dice-card.success{border-color:var(--moss)}.dice-card.success .stamp{color:var(--ok)}.dice-card.fail{border-color:var(--blood)}.dice-card.fail .stamp{color:var(--danger)}.dice-card.extreme{border-color:var(--ok);box-shadow:0 0 0 2px rgba(125,155,118,.3);animation:dice-pop var(--t-dice)}.dice-card.extreme .stamp{color:var(--ok)}.dice-card.fumble{border-color:var(--danger);box-shadow:0 0 0 2px rgba(168,68,60,.3);animation:dice-shake var(--t-dice)}.dice-card.fumble .stamp{color:var(--danger)}.vitals{grid-gap:var(--sp-2)}.vital-row,.vitals{display:grid;gap:var(--sp-2)}.vital-row{grid-template-columns:34px 1fr auto;align-items:center;grid-gap:var(--sp-2);font-size:var(--fs-13)}.vital-row .bar{height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.vital-row .bar i{display:block;height:100%}.vital-row.hp .bar i{background:var(--blood)}.vital-row.san .bar i{background:var(--moss)}.vital-row.mp .bar i{background:var(--info)}.vital-row .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vital-row.wounded .num{color:var(--danger)}.char-offsite{opacity:.55}.char-unconscious{opacity:.4}.sys-card{max-width:420px;margin:48px auto;text-align:center}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}.admin-table th{color:var(--fog);font-weight:400}.admin-table .num{font-family:var(--font-mono);text-align:right}.admin-wrap{overflow:auto}.split-banner{color:var(--fog);font-size:13px;margin:0 0 12px}.tabs{gap:0;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{border-bottom:2px solid transparent;color:var(--fog);padding:8px 16px;min-height:44px}.tabs button.on{color:var(--lantern);border-bottom-color:var(--lantern)}.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:24px;font-size:14px;color:var(--fog)}.wizard-steps .step{display:flex;align-items:center;gap:8px}.wizard-steps .dot{width:22px;height:22px;border:1px solid var(--fog);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-family:var(--font-mono)}.wizard-steps .now{color:var(--lantern)}.wizard-steps .now .dot{border-color:var(--lantern);color:var(--lantern)}.wizard-steps .done{color:var(--ok)}.wizard-steps .done .dot{border-color:var(--ok);color:var(--ok)}.wizard-steps .step+.step:before{content:"";width:48px;height:1px;background:var(--line);margin:0 12px}.syn{color:var(--paper-deep);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-card .meta{gap:8px;margin-top:10px;font-size:13px;color:var(--paper-deep)}.member,.module-card .meta{display:flex;align-items:center}.member{gap:10px;padding:10px 4px;min-height:44px;border-bottom:1px solid var(--line);font-size:15px}.member .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}.member .dot.off{background:var(--fog)}.member .stat{margin-left:auto;font-size:13px;color:var(--fog)}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.chip{border-radius:var(--r-1);padding:6px 12px;min-height:44px;background:none;color:var(--paper);font:inherit;font-size:14px}.chip:disabled{opacity:.45}.side-title{font-size:13px;color:var(--fog);letter-spacing:.18em;margin-bottom:10px;text-transform:uppercase}.charline{border-bottom:1px solid var(--line)}.charline .num{color:var(--fog)}.entry{display:flex;align-items:center;gap:10px;width:100%;padding:9px 4px;font-size:15px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;cursor:pointer;text-align:left}.gold-dot{width:7px;height:7px;border-radius:50%;background:var(--lantern);margin-left:auto}.tl-scroll{max-height:min(52vh,520px)}.workshop-rail{display:flex;gap:16px;align-items:flex-start}.workshop-nav{width:200px;flex:none;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h) + 12px);padding:10px 8px;background:var(--surface-1);border:1px solid var(--line-soft);border-radius:var(--r-1)}.workshop-nav button{justify-content:flex-start;width:100%}.workshop-nav button.active{border-color:var(--lantern);color:var(--lantern)}.workshop-main{flex:1 1;min-width:0}@media (max-width:767px){.workshop-rail{flex-direction:column}.workshop-nav{width:100%;position:static;flex-direction:row;overflow-x:auto}.workshop-nav button{width:auto;white-space:nowrap}}.details-toggle{margin:16px 0}.details-toggle summary{cursor:pointer;color:var(--lantern)}.player-chat{margin-top:0}.ooc-box{padding:12px 14px 14px}.ooc-box .kicker{margin-bottom:6px}.chat-log{max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.chat-row{font-size:14px;display:grid;grid-gap:2px;gap:2px}.chat-row.whisper{color:var(--paper-deep)}.chat-name{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--fog)}.chat-name .ts{margin-left:auto;font-family:var(--font-mono);opacity:.8}.chat-tag{font-size:12px;color:var(--fog)}.chat-tag.whisper{color:var(--lantern)}.chat-compose{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.chat-compose .field{flex:1 1;min-width:0;margin:0}.chat-target-wrap{position:relative;flex:none}.chat-target{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--muted);cursor:pointer}.chat-target.on{border-color:var(--brand);color:var(--brand);background:rgba(67,115,110,.08)}.chat-target-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:160px;padding:6px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-1);display:grid;grid-gap:4px;gap:4px;z-index:4}.chat-target-menu button{text-align:left;border:0;background:none;color:inherit;font:inherit;padding:8px 10px;cursor:pointer;border-radius:6px}.chat-target-menu button.on,.chat-target-menu button:hover{background:var(--surface-2)}.chat-target-empty{font-size:12px;color:var(--fog);padding:8px 10px}.keeper-status{color:var(--lantern)}.bubble.keeper-think{border-left-color:var(--lantern);background:rgba(160,95,52,.07)}.keeper-think-mark{display:inline-flex;align-items:center;gap:5px;color:var(--lantern);flex:none}.keeper-think-mark .icon{animation:keeper-think-pulse 1.4s ease-in-out infinite;transform-origin:center}.keeper-think-mark.rolling .icon{animation:keeper-think-spin 1.15s linear infinite}.think-dots{display:inline-flex;gap:3px;align-items:flex-end;height:10px}.think-dots i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;animation:keeper-think-dot 1.1s ease-in-out infinite}.think-dots i:nth-child(2){animation-delay:.16s}.think-dots i:nth-child(3){animation-delay:.32s}@keyframes keeper-think-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes keeper-think-dot{0%,70%,to{transform:translateY(0);opacity:.3}35%{transform:translateY(-4px);opacity:1}}@keyframes keeper-think-spin{to{transform:rotate(1turn)}}.handout-inline{padding:10px 12px;background:var(--surface-2);border-radius:var(--r-1);font-size:15px;line-height:1.6}@keyframes dice-pop{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes dice-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}60%{transform:translateX(4px)}}@keyframes cursor-blink{50%{opacity:0}}@keyframes combat-veil{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes combat-pop{0%{transform:scale(.86) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes combat-ring{0%{transform:scale(.72);opacity:.7}to{transform:scale(1.55);opacity:0}}@keyframes combat-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes combat-card-in{0%{box-shadow:0 0 0 0 rgba(171,79,69,.28)}55%{box-shadow:0 0 0 8px rgba(171,79,69,.08)}to{box-shadow:var(--shadow-1)}}.app-layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;width:100%}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:var(--sp-6) 0 var(--sp-5);background:linear-gradient(180deg,#fffefb,#f2f0ea);border-right:1px solid var(--line)}.app-brand{display:flex;align-items:center;gap:11px;padding:0 var(--sp-5) var(--sp-6);color:inherit}.app-brand,.app-brand:hover{text-decoration:none}.app-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(140deg,var(--brand),var(--brand-hover));box-shadow:var(--shadow-1)}.app-mark .icon{width:22px;height:22px}.app-word{font-size:19px;letter-spacing:.12em;font-weight:600}.app-sub{font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:-3px}.nav-label{padding:0 var(--sp-5);margin-bottom:var(--sp-2)}.app-nav{display:flex;flex-direction:column;gap:3px;padding:0 var(--sp-3)}.app-nav a{display:flex;align-items:center;gap:11px;min-height:44px;padding:0 13px;border-radius:var(--r);color:var(--text-2);font-size:15px;font-weight:500;text-decoration:none;position:relative}.app-nav a .icon{width:20px;height:20px;opacity:.85}.app-nav a:hover{background:rgba(67,115,110,.07);color:var(--text);text-decoration:none}.app-nav a[aria-current=page]{background:rgba(67,115,110,.11);color:var(--text);font-weight:600}.app-nav a[aria-current=page] .icon{opacity:1;color:var(--brand)}.app-nav a[aria-current=page]:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.app-foot{margin-top:auto;padding:var(--sp-4) var(--sp-4) 0;border-top:1px solid var(--line)}.app-user{display:flex;align-items:center;gap:10px;padding:var(--sp-2) 4px}.app-avatar,.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,rgba(67,115,110,.16),rgba(160,95,52,.14));border:1px solid var(--line);font-size:15px;font-weight:600;color:var(--brand);flex:none}.avatar.lg{width:54px;height:54px;font-size:21px}.app-user .nm{font-size:14px;font-weight:600;line-height:1.3}.app-user .bal{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.app-user .bal .icon{width:13px;height:13px;color:var(--accent)}.side-actions{padding:10px 2px 0}.app-main,.side-actions .btn{width:100%}.app-main{padding:var(--sp-8) var(--sp-8) 72px;max-width:none;min-width:0;box-sizing:border-box}.app-main.wide{max-width:none;padding-right:var(--sp-6)}.page-head{display:flex;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;width:100%}.page-head h1{font-size:26px;line-height:1.3;margin:0;font-weight:600}.page-head .desc{font-size:14px;color:var(--text-2);margin-top:4px}.page-head .actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.crumb{font-size:13px;color:var(--muted);margin-bottom:6px}.back-link{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--brand);font-size:14px;padding:0;min-height:32px;margin-bottom:var(--sp-3);cursor:pointer}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4);width:100%}.chips,.toolbar .chips{display:flex;gap:8px;flex-wrap:wrap}.toolbar .search{position:relative;flex:1 1 280px;min-width:220px;max-width:560px}.toolbar .search .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.toolbar .search input{width:100%;min-height:40px;padding:6px 12px 6px 36px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill)}.toolbar .search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(67,115,110,.12)}.toolbar .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1 1 280px;justify-content:flex-end;min-width:0}.chip{border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 15px;background:var(--surface);color:var(--text-2);font-size:13px;white-space:nowrap;cursor:pointer}.chip:hover{border-color:var(--brand);color:var(--brand)}.chip.on,.chip[aria-pressed=true]{border-color:transparent;background:var(--brand);color:#fff}.empty{display:grid;place-items:center;grid-gap:10px;gap:10px;padding:56px 16px;text-align:center;color:var(--text-2);font-size:14px}.empty .icon{width:34px;height:34px;color:var(--muted);opacity:.7}.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:var(--sp-5);flex-wrap:wrap}.pager .info{font-size:13px;color:var(--muted);margin-right:6px}.pager button{min-width:38px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text-2);font-size:14px;cursor:pointer}.pager button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager .nums{display:flex;gap:6px}.pager .nums button[aria-current=page]{background:var(--brand);border-color:transparent;color:#fff}.room-head,.room-row{display:grid;grid-template-columns:minmax(200px,2.6fr) minmax(96px,.7fr) minmax(160px,1.4fr) minmax(72px,.6fr) 40px minmax(96px,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:center;width:100%}.room-head{padding:0 18px 8px;font-size:12px;letter-spacing:.12em;color:var(--muted)}.room-row{padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:10px;box-shadow:var(--shadow-1);transition:border-color .16s,box-shadow .16s,transform .16s}.room-row:hover{border-color:rgba(67,115,110,.35);box-shadow:var(--shadow-2);transform:translateY(-1px)}.room-name .nm{font-size:16px;font-weight:600;display:block}.room-name .mod{font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-host{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--text-2)}.room-host .icon{width:15px;height:15px;color:var(--accent)}.cap-line{font-size:13px;color:var(--text-2);margin-bottom:6px}.seats{display:flex;gap:5px;align-items:center;margin-bottom:5px;flex-wrap:wrap}.seat{width:15px;height:15px;border-radius:50%;border:1.5px solid rgba(58,56,51,.16)}.seat.on{background:var(--brand);border-color:var(--brand)}.seat.spec{background:var(--accent);border-color:var(--accent)}.cap-meta{font-size:12px;color:var(--muted);display:flex;gap:10px}.cap-meta .sp{color:var(--accent)}.room-lock{display:grid;place-items:center}.room-lock .icon{width:17px;height:17px;color:var(--warn)}.room-lock.open .icon{color:var(--muted);opacity:.55}.room-act{display:flex;justify-content:flex-end}.room-status{justify-self:start}.char-list,.hist-list{display:grid;grid-gap:10px;gap:10px;width:100%}.char-row,.mod-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:border-color .16s,box-shadow .16s}.mod-row{margin-bottom:10px}.char-row:hover,.mod-row:hover{border-color:rgba(67,115,110,.35);box-shadow:var(--shadow-2)}.char-row .who,.mod-row .who{min-width:0;flex:1 1}.char-row .who{min-width:150px}.char-row .who .nm,.mod-row .who .nm{font-size:17px;font-weight:600;line-height:1.35}.mod-row .who .nm{font-size:16px}.char-row .who .meta,.mod-row .who .meta{font-size:13px;color:var(--text-2)}.char-row .who .tag-row{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.mod-row .who .syn{font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.mod-row .who .meta{font-size:12px;color:var(--muted);margin-top:4px;display:flex;gap:12px;flex-wrap:wrap}.mod-row .cover{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,rgba(67,115,110,.14),rgba(160,95,52,.12));color:var(--brand)}.stats{display:grid;grid-template-columns:repeat(8,minmax(44px,1fr));grid-gap:6px;gap:6px;margin-left:auto;flex:0 1 520px;width:min(520px,42%)}.stats .stat{background:var(--surface-2);border-radius:var(--r-sm);padding:6px 2px;text-align:center}.stats .stat .k{font-size:10px;letter-spacing:.04em;color:var(--muted)}.stats .stat .v{font-family:var(--font-mono);font-size:14px}.char-acts,.mod-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:none}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:var(--r-pill);margin-bottom:var(--sp-5);width:-moz-fit-content;width:fit-content}.tabs button{padding:8px 20px;background:none;border:0;border-radius:var(--r-pill);color:var(--text-2);font-size:14px;cursor:pointer}.tabs button.on,.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-1)}.hist-card{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-4);gap:var(--sp-4);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.hist-card .ttl{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hist-card .ttl small{font-size:13px;color:var(--text-2);font-weight:400}.hist-card .meta{font-size:13px;color:var(--text-2);margin-top:6px;display:flex;gap:14px;flex-wrap:wrap}.hist-card .right{text-align:right;display:grid;grid-gap:4px;gap:4px;align-content:start}.dur{font-family:var(--font-mono);font-size:19px;color:var(--brand)}.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.mod-stat{display:grid;grid-gap:9px;gap:9px;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.mod-stat .top{display:flex;align-items:baseline;gap:10px}.mod-stat .top .nm{font-size:16px;font-weight:600}.mod-stat .top .num{margin-left:auto;font-size:13px;color:var(--muted)}.bar{height:8px;background:var(--surface-2);overflow:hidden}.bar,.bar>i{border-radius:var(--r-pill)}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-hover))}.store-top{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-6);width:100%}.bal-card{background:linear-gradient(140deg,rgba(160,95,52,.1),var(--surface));border-color:rgba(160,95,52,.28)}.store-bal{font-family:var(--font-mono);font-size:34px;line-height:1.15;display:flex;align-items:center;gap:10px}.store-bal .icon{width:26px;height:26px;color:var(--accent)}.store-bal small{font-size:14px;color:var(--text-2);letter-spacing:0}.pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--sp-4);gap:var(--sp-4)}.pkg{position:relative;display:flex;flex-direction:column;gap:9px;padding:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.pkg.hot{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-1)}.pkg .ribbon{position:absolute;top:14px;right:14px;padding:2px 10px;background:var(--brand);color:#fff;font-size:11px;border-radius:var(--r-pill)}.pkg .credits{font-family:var(--font-mono);font-size:28px;color:var(--brand);line-height:1.2}.pkg .credits small{font-size:13px;color:var(--text-2);letter-spacing:0;margin-left:4px}.pkg .price{font-size:15px;color:var(--text-2)}.pkg .desc{font-size:13px;color:var(--text-2);min-height:40px}.pkg .nm{font-size:15px;font-weight:600}.pkg .btn{margin-top:auto;width:100%}.redeem-row{display:flex;gap:8px;margin-top:12px;align-items:flex-end}.redeem-row .field{flex:1 1;min-width:0}.section-ttl{font-size:17px;margin:0 0 12px;font-weight:600}.hist-sum{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:16px}.hist-sum .dur small{font-size:13px;color:var(--text-2);letter-spacing:0}.btn.danger-ghost{color:var(--danger);border-color:var(--danger)}.btn.danger-ghost:hover:not(:disabled){background:rgba(171,79,69,.08)}.ledger{display:grid;grid-gap:6px;gap:6px;margin-top:var(--sp-2)}.ledger .row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2);padding:8px 0;border-bottom:1px solid var(--line-soft)}.ledger .row .amt{margin-left:auto;font-family:var(--font-mono);color:var(--ok)}.ledger .row .amt.minus{color:var(--danger)}.budget{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);font-size:12px;color:var(--text-2)}.budget .bar{flex:1 1;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.budget .bar>i{display:block;height:100%;background:var(--brand)}.budget.over{border-color:var(--danger);color:var(--danger)}.budget.over .bar>i{background:var(--danger)}.san-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}.appear-row{display:grid;grid-template-columns:1fr 88px;grid-gap:10px;gap:10px;align-items:center}.dup-hint{color:var(--danger);font-size:13px;margin:4px 0 0}.multiselect{position:relative}.multiselect-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px 10px;gap:4px 10px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-2);padding:8px}.multiselect-option{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;margin:0;padding:7px 8px;min-width:0;min-height:0;flex:none;background:transparent;border:0;border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:none}.multiselect-option.on,.multiselect-option:hover{background:var(--surface-2)}.multiselect-check{flex:none;width:18px;height:18px;box-sizing:border-box;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:4px;background:var(--input);color:#fff;font-size:12px;line-height:1}.multiselect-option.on .multiselect-check{background:var(--brand);border-color:var(--brand)}.multiselect-name{flex:1 1 auto;min-width:0;color:var(--text);font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);font-size:13px}.play{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start;width:100%}.play-col,.playmain{min-width:0}.play-col,.play-rail,.playmain,.sidebar-col{display:flex;flex-direction:column;gap:var(--sp-4)}.inputbar{border:1px solid var(--line);border-radius:var(--r-lg);padding:12px;background:var(--surface);box-shadow:var(--shadow-1)}.inputbar,.ooc-box{position:static;z-index:auto}.send-row{display:flex;gap:10px;align-items:flex-end}.send-row .field{flex:1 1;min-width:0;margin:0}.send-row .field input{min-height:42px;width:100%}.combat-card{padding:14px 16px;border-color:rgba(171,79,69,.32);background:linear-gradient(180deg,rgba(171,79,69,.08),transparent 56%),var(--surface)}.combat-card.fresh{animation:combat-card-in .7s ease}.combat-head{display:flex;align-items:center;gap:12px;margin-bottom:4px;flex-wrap:wrap;font-size:15px}.combat-badge,.combat-head .icon{color:var(--danger)}.combat-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-pill);background:rgba(171,79,69,.14);font-size:12px;letter-spacing:.08em;font-weight:600}.combat-badge .icon{width:14px;height:14px}.combat-now{color:var(--danger);font-size:13px}.combat-fanfare{position:fixed;inset:0;z-index:70;display:grid;place-items:center;background:rgba(42,36,32,.52);animation:combat-veil 3.2s ease forwards;cursor:pointer}.combat-fanfare-card{position:relative;text-align:center;padding:32px 36px 22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid rgba(171,79,69,.35);box-shadow:var(--shadow-2);animation:combat-pop .52s cubic-bezier(.16,1.12,.3,1);max-width:min(360px,calc(100vw - 32px))}.combat-fanfare-rings{position:absolute;left:50%;top:44px;width:88px;height:88px;transform:translate(-50%);pointer-events:none}.combat-fanfare-rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(171,79,69,.45);animation:combat-ring 1.4s ease-out infinite}.combat-fanfare-rings i:last-child{animation-delay:.45s}.combat-fanfare-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:rgba(171,79,69,.12);color:var(--danger);animation:combat-icon-pulse 1.1s ease-in-out 2}.combat-fanfare-kicker{margin:0 0 4px;font-size:12px;letter-spacing:.18em;color:var(--danger);text-transform:none}.combat-fanfare-card h2{margin:0 0 8px;font-size:28px;letter-spacing:.14em;color:var(--danger)}.combat-fanfare-sub{margin:0 0 8px;font-size:15px;color:var(--text)}.combat-fanfare-turn{margin:0 0 10px;font-size:13px;color:var(--accent);letter-spacing:.04em}.bubble.system.combat{border-left-color:var(--danger);background:rgba(171,79,69,.08);color:var(--text)}.bubble.system.combat .who{color:var(--danger)}.rail-card{padding:16px}.inv-name{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap}.inv-name .nm{font-size:16px;font-weight:600}.meta-line{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:6px}.dice-card{border-radius:var(--r-lg);padding:16px 18px;background:var(--surface);border:1px solid rgba(86,110,128,.35);box-shadow:var(--shadow-1)}.dice-card .roll{font-family:var(--font-mono);font-size:28px}.dice-card .roll small{font-size:15px;color:var(--text-2)}.dice-card .stamp{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);font-size:12px;letter-spacing:.1em;background:rgba(75,122,78,.14);color:var(--ok);margin-bottom:6px}.tl-scroll{padding:16px;max-height:min(46vh,520px);overflow:auto}.vital{display:grid;grid-template-columns:34px 1fr auto;align-items:center;grid-gap:9px;gap:9px;font-size:13px;margin-bottom:7px}.vital .bar{height:8px;background:var(--surface-2);overflow:hidden}.vital .bar,.vital .bar i{border-radius:var(--r-pill)}.vital .bar i{display:block;height:100%}.vital.hp .bar i{background:var(--danger)}.vital.san .bar i{background:var(--ok)}.vital.mp .bar i{background:var(--info)}.vital .num{font-family:var(--font-mono);font-size:12px}.charline{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:14px;width:100%;background:none;border:0;border-bottom:1px solid var(--line-soft);color:inherit;text-align:left;cursor:pointer}.charline:last-child{border-bottom:0}.charline .nm{color:var(--brand);font-weight:500}.charline .num{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.entry.clue{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;font-size:14px;border-bottom:1px solid var(--line-soft)}.entry.clue .body{flex:1 1;min-width:0}.entry.clue .t{font-size:14px;line-height:1.45}.entry.clue .m{font-size:12px;color:var(--muted);margin-top:2px}.entry.clue .dl{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--brand);font-size:12px;min-height:28px;text-decoration:none}.entry.clue.locked{opacity:.5}.entry.clue.locked .dl{display:none}.clue-kind{font-size:11px;padding:1px 7px;border-radius:var(--r-pill);flex:none}.clue-kind.file{background:rgba(86,110,128,.14);color:var(--info)}.clue-kind.item{background:rgba(160,95,52,.14);color:var(--accent)}.clue-kind.note{background:rgba(67,115,110,.13);color:var(--brand)}.clue-count{font-size:12px;color:var(--muted);margin:-2px 0 8px}.combat-track{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.combat-track span{border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px;white-space:nowrap;font-size:13px;background:var(--surface)}.combat-track span.now{border-color:transparent;background:var(--brand);color:#fff}.bubble{border-radius:var(--r);padding:12px 14px;background:var(--surface-2);border-left:3px solid var(--brand);font-size:15px}.bubble.player{background:rgba(160,95,52,.08);border-left-color:var(--accent)}.bubble.dice{background:rgba(86,110,128,.09);border-left-color:var(--info)}.bubble.ooc,.bubble.system{background:var(--surface-2);border-left-color:rgba(58,56,51,.2);color:var(--text-2);font-size:14px}.bubble .kicker,.bubble .who{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.bubble .ts,.bubble .when{margin-left:auto;font-family:var(--font-mono);letter-spacing:.04em;opacity:.8}.wizard{max-width:none}.wizard,.wizard .card{width:100%}.wizard .card h2 .icon{margin-right:6px;vertical-align:-3px}.wizard .field,.wizard label.field{width:100%;min-width:0}.wizard .field input:not([type=checkbox]):not([type=radio]),.wizard .field select,.wizard .field textarea{width:100%;max-width:100%}.meta-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.icon.brand{color:var(--brand)}.icon.accent{color:var(--accent)}.icon.info{color:var(--info)}.icon.ok{color:var(--ok)}.icon.warn{color:var(--warn)}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.roll-banner{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 16px;border-radius:var(--r-lg);background:rgba(160,95,52,.08);border:1px solid rgba(160,95,52,.22)}.roll-banner .txt{flex:1 1;min-width:0;display:grid;grid-gap:2px;gap:2px}.roll-banner .txt b{font-size:15px}.roll-banner .txt span{font-size:13px;color:var(--text-2)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.stat-cell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.stat-cell .lb{font-size:13px;color:var(--text-2)}.stat-cell .ab{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--muted)}.stat-cell input{width:64px;min-height:34px;padding:4px 8px;text-align:right;font-family:var(--font-mono);font-size:15px;background:var(--input)}.stat-cell input:-moz-read-only{background:transparent;border-color:transparent}.stat-cell input:read-only{background:transparent;border-color:transparent}.derived{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}.derived .dv{display:flex;flex-direction:column;gap:2px}.derived .k{font-size:11px;color:var(--muted)}.derived .v{font-size:17px;color:var(--brand)}.pools{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4);margin-bottom:var(--sp-4)}.pool{padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2)}.pool .top{display:flex;align-items:baseline;gap:8px}.pool .top b{font-family:var(--font-mono);font-size:20px;color:var(--brand)}.pool.interest .top b{color:var(--accent)}.pool .top span{font-size:13px;color:var(--text-2)}.pool .bar{height:8px;background:rgba(58,56,51,.08);margin-top:10px;overflow:hidden}.pool .bar,.pool .bar i{border-radius:var(--r-pill)}.pool .bar i{display:block;height:100%;background:var(--brand)}.pool.interest .bar i{background:var(--accent)}.skill-tools{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-3);flex-wrap:wrap}.skill-scroll{max-height:min(56vh,520px);overflow:auto;margin:0 -4px;padding:0 4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.skill-row{display:grid;grid-template-columns:1fr 58px 92px 92px 62px;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:center;padding:9px 12px;border-radius:var(--r);background:var(--surface-2);margin-bottom:6px;font-size:14px}.skill-row.head{background:var(--surface);padding:8px 12px;font-size:12px;color:var(--muted);letter-spacing:.06em;position:-webkit-sticky;position:sticky;top:0;z-index:2;margin-bottom:8px;border-radius:var(--r-sm)}.skill-row .base{font-family:var(--font-mono);font-size:13px;color:var(--muted);text-align:center}.skill-row .alloc{display:flex;align-items:center;justify-content:flex-end;gap:6px}.skill-row .alloc .v{font-family:var(--font-mono);font-size:13px;min-width:30px;text-align:center}.skill-row .total{font-family:var(--font-mono);font-size:15px;text-align:right}.badge-occ,.skill-row.occ .total{color:var(--brand)}.badge-occ{display:inline-block;margin-left:8px;font-size:11px;padding:1px 8px;border-radius:var(--r-pill);background:rgba(67,115,110,.14)}.choice-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.choice-chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:4px 10px;font-size:13px;min-height:30px;cursor:pointer}.choice-chip.on{border-color:transparent;background:rgba(67,115,110,.14);color:var(--brand)}.weapon-card{padding:12px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;background:var(--surface-2)}.weapon-card.unlinked{border-color:rgba(160,95,52,.55);background:rgba(160,95,52,.06)}.weapon-card .wrow{display:grid;grid-template-columns:1.4fr 1fr auto;grid-gap:var(--sp-3);gap:var(--sp-3);align-items:end}.weapon-card .field{margin:0}.wspec{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft);font-size:13px}.wspec i{display:block;font-style:normal;font-size:11px;color:var(--muted);margin-bottom:2px}.weapon-card .rm{width:36px;height:36px;border:0;background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer}.weapon-card .rm:hover{color:var(--danger)}.wiz-steps{gap:6px;margin-bottom:var(--sp-5);flex-wrap:wrap}.wiz-step,.wiz-steps{display:flex;align-items:center}.wiz-step{gap:8px;padding:6px 14px;border-radius:var(--r-pill);font-size:14px;background:var(--surface);border:1px solid var(--line);color:var(--text-2);cursor:pointer}.wiz-step .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--surface-2);color:var(--muted)}.wiz-step.now{border-color:transparent;background:rgba(67,115,110,.12);color:var(--brand);font-weight:600}.wiz-step.now .dot{background:var(--brand);color:#fff}.wiz-step.done .dot{background:var(--ok);color:#fff}.step-arrow{color:var(--muted);font-size:12px}.check-row{display:flex;align-items:center;gap:10px;padding:9px 2px;font-size:14px;width:100%;background:none;border:0;border-bottom:1px solid var(--line-soft);color:inherit;text-align:left;cursor:pointer}.check-row .amt{margin-left:auto;font-size:13px}.wizard-foot{display:flex;align-items:center;gap:10px;margin-top:var(--sp-5);position:-webkit-sticky;position:sticky;bottom:0;z-index:40;padding:12px 14px;border-radius:var(--r-lg);background:rgba(255,254,251,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:0 -6px 20px -12px rgba(58,56,51,.28)}.dialog.model-pick-dialog{max-width:560px}.model-pick-list{display:grid;grid-gap:4px;gap:4px;max-height:58vh;overflow:auto}.model-pick-list section{margin-top:10px}.model-pick-list section:first-child{margin-top:0}.model-pick{display:grid;grid-gap:4px;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-1);background:var(--surface-3);color:inherit;cursor:pointer}.model-pick:hover{border-color:var(--brand)}.model-pick.on{border-color:transparent;background:var(--brand);color:#fff}.model-pick-name{display:flex;align-items:center;gap:8px;font-weight:600}.model-pick.on .kicker{color:inherit;opacity:.85}.model-pick-bands{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--paper-deep)}.model-pick.on .model-pick-bands{color:inherit;opacity:.9}.keeper-model{margin-top:12px}.keeper-model .kicker{display:flex;align-items:center;gap:6px}.keeper-model select{width:100%}.model-pick-trigger{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.model-pick-trigger-name{font-weight:600}.step-note{font-size:13px;color:var(--muted)}@media (max-width:1180px){.meta-4{grid-template-columns:1fr 1fr}.room-head{display:none}.room-row{grid-template-columns:1fr auto;grid-template-areas:"name act" "cap cap" "host lock";gap:12px}.room-row .room-name{grid-area:name}.room-row .room-host{grid-area:host}.room-row .room-cap{grid-area:cap}.room-row .room-lock{grid-area:lock;justify-content:start}.room-row .room-act{grid-area:act}.room-row .room-status{display:none}.play{grid-template-columns:1fr}}@media (max-width:1000px){:root{--sidebar-w:200px}.app-main{padding:var(--sp-5) var(--sp-5) 56px;max-width:none}.app-sidebar{padding:var(--sp-5) 0 var(--sp-4)}.app-brand{padding:0 var(--sp-4) var(--sp-4)}.app-nav a{min-height:40px;font-size:14px}.page-head{margin-bottom:var(--sp-5)}.page-head h1{font-size:22px}.grid-2,.meta-4,.mod-grid,.pkg-grid,.pools,.store-top{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.derived{grid-template-columns:repeat(3,1fr)}.wspec{grid-template-columns:repeat(4,1fr)}.weapon-card .wrow{grid-template-columns:1fr}.char-row,.mod-row{flex-wrap:wrap}.stats{margin-left:0;grid-template-columns:repeat(4,1fr);width:100%}.char-acts,.mod-acts{width:100%;justify-content:flex-start}.skill-row{grid-template-columns:1fr 52px 84px 84px 56px;gap:8px;font-size:13px}.hist-card,.weapon-limit-layout,.weapon-row{grid-template-columns:1fr}.hist-card .right{text-align:left}.toolbar{gap:10px}.toolbar .search{max-width:none}.multiselect-panel{grid-template-columns:1fr}}html.share-mode,html.share-mode body{--share-ink:#3d4544;--share-mute:#5f6a68;--share-faint:#8a9491;--share-bg:#eef3f1;--share-card:rgba(255,255,255,0.72);--share-line:rgba(90,110,104,0.14);--share-sage:#4f7a72;--share-sage-soft:#dceae6;--share-mint:#7eb8a8;--share-mx:50vw;--share-my:20vh;font-family:PingFang SC,Hiragino Sans GB,HarmonyOS Sans SC,MiSans,Noto Sans SC,Source Han Sans SC,system-ui,sans-serif;color:var(--share-ink);background:var(--share-bg)}html.share-mode body{min-height:100%;background:var(--share-bg)}.share-site{position:relative;isolation:isolate;max-width:920px;margin:0 auto;padding:28px 22px 88px;letter-spacing:.01em}.share-aurora,.share-grain,.share-orb,.share-spot{position:fixed;inset:0;pointer-events:none;z-index:0}.share-aurora{background:radial-gradient(720px 420px at 12% -10%,rgba(126,184,168,.34),transparent 58%),radial-gradient(640px 380px at 92% 8%,rgba(154,176,196,.28),transparent 60%),radial-gradient(560px 360px at 70% 100%,rgba(186,198,168,.22),transparent 55%)}.share-orb{width:280px;height:280px;border-radius:50%;filter:blur(8px);opacity:.55;mix-blend-mode:multiply}.share-orb-a{top:12%;left:8%;background:radial-gradient(circle,rgba(126,184,168,.55),transparent 70%);animation:share-drift 18s ease-in-out infinite}.share-orb-b{top:auto;bottom:10%;left:auto;right:6%;width:340px;height:340px;background:radial-gradient(circle,rgba(168,186,210,.45),transparent 70%);animation:share-drift 22s ease-in-out infinite reverse}.share-orb-c{top:46%;left:42%;width:220px;height:220px;background:radial-gradient(circle,rgba(214,196,150,.32),transparent 70%);animation:share-drift 16s ease-in-out 1.4s infinite}.share-grain{opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.share-spot{background:radial-gradient(220px 220px at var(--share-mx) var(--share-my),rgba(255,255,255,.42),transparent 62%);mix-blend-mode:soft-light}.share-foot,.share-hero,.share-nav,.share-section{position:relative;z-index:1}.share-nav{position:-webkit-sticky;position:sticky;top:14px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:42px;padding:10px 14px 10px 16px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(247,250,249,.62);box-shadow:0 10px 40px rgba(61,69,68,.06);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.share-brand{font-size:14px;letter-spacing:.12em;color:var(--share-ink);text-decoration:none}.share-nav-links{display:flex;gap:4px}.share-nav-links a{padding:6px 12px;border-radius:999px;font-size:13px;color:var(--share-mute);text-decoration:none;transition:background .2s ease,color .2s ease}.share-nav-links a.on,.share-nav-links a:hover{background:rgba(79,122,114,.12);color:var(--share-sage)}.share-hero{padding:28px 6px 18px}.share-kicker,.share-tag{margin:0 0 12px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--share-sage)}.share-hero h1{margin:0 0 18px;font-size:clamp(40px,8vw,72px);font-weight:560;letter-spacing:.06em;line-height:1.1}.share-title-shine{background:linear-gradient(110deg,#3d4544,#3d4544 32%,#8ec4b4 50%,#3d4544 68%,#3d4544);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:share-shine 7s ease-in-out infinite}.share-intro{margin:0;max-width:36em;font-size:16px;line-height:1.9;color:var(--share-mute)}.share-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.share-chips span{padding:6px 12px;border-radius:999px;border:1px solid var(--share-line);background:rgba(255,255,255,.45);font-size:12px;letter-spacing:.06em;color:var(--share-sage)}.share-section{margin-top:56px}.share-section-head{margin-bottom:18px;padding:0 4px}.share-section-head h2{margin:0;font-size:22px;font-weight:540;letter-spacing:.04em}.share-about,.share-card,.share-feature,.share-method{--rx:0deg;--ry:0deg;background:var(--share-card);border:1px solid var(--share-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 16px 40px rgba(61,69,68,.05);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease}.share-feature{margin-bottom:16px;padding:28px 26px 24px;border-radius:24px;animation:share-rise .7s ease both}.share-card:hover,.share-feature:hover,.share-method:hover{border-color:rgba(79,122,114,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 20px 50px rgba(61,69,68,.09)}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.share-card{padding:22px 20px 18px;border-radius:20px;animation:share-rise .72s ease both}.share-card-hit,.share-feature-hit{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.share-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.share-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--share-sage-soft);color:var(--share-sage);font-size:12px;letter-spacing:.08em}.share-meta time{font-size:12px;color:var(--share-faint)}.share-card h3,.share-feature h3{margin:0 0 10px;font-size:22px;font-weight:540;letter-spacing:.03em;color:var(--share-ink)}.share-card h3{font-size:18px}.share-about p,.share-body,.share-excerpt,.share-method p{margin:0 0 10px;font-size:15px;line-height:1.9;color:var(--share-mute)}.share-body{margin-top:8px}.share-about p:last-child,.share-body:last-child,.share-method p:last-child{margin-bottom:0}.share-more{display:inline-flex;margin-top:6px;font-size:12px;letter-spacing:.12em;color:var(--share-sage)}.share-card.is-open,.share-feature.is-open{border-color:rgba(79,122,114,.32)}.share-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.share-method{padding:22px 20px;border-radius:20px}.share-method-mark{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.2em;color:var(--share-mint)}.share-method h3{margin:0 0 10px;font-size:17px;font-weight:540}.share-about{padding:26px 26px 22px;border-radius:22px}.share-foot{margin:48px 0 0;text-align:center;font-size:12px;letter-spacing:.14em;color:var(--share-faint)}@keyframes share-shine{0%,55%,to{background-position:100% 50%}70%,85%{background-position:0 50%}}@keyframes share-drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(24px,-18px,0) scale(1.08)}}@keyframes share-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:720px){.share-grid,.share-methods{grid-template-columns:1fr}.share-nav{top:8px}.share-hero h1{letter-spacing:.03em}}@media (prefers-reduced-motion:reduce){.share-card,.share-feature,.share-orb,.share-title-shine{animation:none}.share-card,.share-feature,.share-method{transform:none;transition:none}.bubble.streaming:after,.dice-card.extreme,.dice-card.fumble,.keeper-think-mark .icon,.think-dots i{animation:none}.room-row{transform:none}.combat-card.fresh,.combat-fanfare,.combat-fanfare-card,.combat-fanfare-icon,.combat-fanfare-rings i{animation:none}}