:root{--night:#0b1020;--dusk:#1b2340;--deep:#070a16;--lantern:#f2b24a;--ember:#d9622b;--parchment:#eadfc6;--vellum:#c9b98f;--mist:#8fa3c7;--moss:#6e8a4e;--hp:#4fae5a;--sp:#3d7fd9;--exp:#e8b23a;--ground:#0b1020;--ground-top:#1a1424;--ground-mid:#120f1e;--ground-bot:#0b0a14;--glow-a:#f2b24a6b;--glow-b:#d9622b38;--glow-c:#3d7fd924;--pane:#080b18bd;--pane-deep:#050710db;--line:#e9dcc08c;--line-soft:#e9dcc047;--line-faint:#e9dcc024;--line-glint:#fff0d2e6;--ink:#f4eee1;--ink-2:#c7c2b4;--ink-3:#8e8a80;--label:#8fa3c7;--accent:#f2b24a;--accent-ink:#ffe7b0;--sel:#3d7fd959;--sel-line:#8fa3c7b3;--tab-bg:linear-gradient(90deg, #000000b8, #00000080);--tab-ink:#e9e2d2;--tab-sel-bg:linear-gradient(90deg, #f6efe0, #e7dec9);--tab-sel-ink:#15131a;--speech-bg:#eadfc6;--speech-ink:#2a2520;--speech-who:#4b4237;--status-bg:#000000c7;--flavor-ink:#cfe3ff;--flavor-glow:#78aaff73;--chip-bg:#00000059;--track:#0009;--input-bg:#00000073;--danger:#e08a6e;--ok:#8fd497;--grain-opacity:.07;--display:"Cinzel", Georgia, "Times New Roman", serif;--ui:"Alegreya Sans", "Gill Sans", "Segoe UI", system-ui, sans-serif;--flavor:"Alegreya", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=moon]{--ground:#0a1130;--ground-top:#0e1a3a;--ground-mid:#0b1430;--ground-bot:#080d20;--glow-a:#8fa3c759;--glow-b:#3d7fd940;--glow-c:#f2b24a14;--accent:#9fc4ff;--accent-ink:#dcebff}[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#eadfc6;--ground-top:#efe6d0;--ground-mid:#e8dcc0;--ground-bot:#e2d4b4;--glow-a:#fff9;--glow-b:#aa8c5a59;--glow-c:#ffffff4d;--pane:#fffaf0c7;--pane-deep:#fffaf0eb;--line:#5a461e73;--line-soft:#5a461e38;--line-faint:#5a461e1f;--line-glint:#ffffffe6;--ink:#2a2520;--ink-2:#4b4237;--ink-3:#7a6d56;--label:#6b5b3e;--accent:#b8862b;--accent-ink:#7a5410;--sel:#b8862b38;--sel-line:#7a541099;--tab-bg:linear-gradient(90deg, #3c2d14d9, #3c2d14a6);--tab-ink:#f4eee1;--tab-sel-bg:linear-gradient(90deg, #2a2520, #3a3228);--tab-sel-ink:#f7f1e3;--speech-bg:#fff8ea;--status-bg:#2a2520eb;--flavor-ink:#6b4a1e;--flavor-glow:transparent;--chip-bg:#fff6;--track:#0000002e;--input-bg:#fff9;--danger:#a33f22;--ok:#3e7a46;--grain-opacity:.1}*,:before,:after{box-sizing:border-box}html{height:100%}body{background:var(--ground);min-height:100%;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.45}body:before{content:"";z-index:-2;background:radial-gradient(1000px 600px at 18% -5%, var(--glow-a), transparent 60%), radial-gradient(700px 500px at 90% 35%, var(--glow-c), transparent 60%), radial-gradient(600px 400px at 80% 95%, var(--glow-b), transparent 60%), linear-gradient(180deg, var(--ground-top) 0%, var(--ground-mid) 55%, var(--ground-bot) 100%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#03040a8c 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.07'/></svg>");position:fixed;inset:0}[data-theme=day] body:after{background:radial-gradient(120% 90% at 50% 45%,#0000 60%,#5a461e2e 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.12'/></svg>")}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-ink)}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:500}p{margin:0}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--sel)}.display{font-family:var(--display);letter-spacing:.04em;text-shadow:0 0 24px #f2b24a33;font-weight:600;line-height:1.05}[data-theme=day] .display{text-shadow:none}h1.display{font-size:clamp(28px,4vw,44px)}.title{font-family:var(--display);letter-spacing:.06em;font-size:clamp(22px,3vw,30px);font-weight:600}.rule-title{align-items:center;gap:16px;margin-bottom:18px;display:flex}.rule-title:after{content:"";background:linear-gradient(90deg, var(--line), transparent);flex:1;height:1px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:500}.caps{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.lede{color:var(--ink-2);max-width:62ch;font-size:19px}.small{color:var(--ink-3);font-size:14px}.muted{color:var(--ink-3)}.flavor{font-family:var(--flavor);color:var(--flavor-ink);text-shadow:0 0 12px var(--flavor-glow);font-style:italic}.num{font-variant-numeric:tabular-nums;letter-spacing:.06em}.big{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:44px;font-weight:300;line-height:1}.big small{color:var(--ink-3);font-size:17px}.ok{color:var(--ok)}.danger{color:var(--danger)}.pane{background:var(--pane);border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(10px);padding:18px 20px;position:relative}.pane:before{content:"";border:1px solid var(--line-soft);pointer-events:none;position:absolute;inset:3px}.pane:after{content:"";background:linear-gradient(90deg, transparent, var(--line-glint), transparent);pointer-events:none;height:1px;position:absolute;top:0;left:8%;right:8%}.pane.deep{background:var(--pane-deep)}.pane.tight{padding:10px 14px}.pane-title{text-align:center;letter-spacing:.03em;margin-bottom:4px;font-size:20px;font-weight:500}.orn{color:var(--vellum);align-items:center;gap:10px;margin:4px 0 14px;display:flex}.orn:before,.orn:after{content:"";background:linear-gradient(90deg, transparent, var(--line-soft), transparent);flex:1;height:1px}.orn span{border:1px solid var(--vellum);width:7px;height:7px;display:inline-block;transform:rotate(45deg)}[data-theme=day] .orn span{border-color:#8c7a52}.ghost{border:1px solid var(--line-faint);padding:12px 16px}.row{border-bottom:1px solid var(--line-faint);align-items:center;gap:12px;padding:9px 12px;display:flex}.row:last-child{border-bottom:0}.row.sel,.row:hover{background:linear-gradient(90deg, transparent, var(--sel) 40%, transparent);box-shadow:inset 0 -1px 0 var(--sel-line)}.glove{vertical-align:-2px;fill:currentColor;filter:drop-shadow(0 1px #00000080);width:22px;height:16px;display:inline-block}.tabs{flex-direction:column;gap:8px;display:flex}.tab{height:40px;color:var(--tab-ink);background:var(--tab-bg);clip-path:polygon(0 0,91% 0,100% 50%,91% 100%,0 100%);align-items:center;gap:10px;width:100%;padding-left:46px;padding-right:30px;font-size:19px;transition:padding-left .15s;display:flex;position:relative}.tab:after{content:"";background:linear-gradient(90deg, transparent, var(--line-faint), transparent);height:1px;position:absolute;bottom:0;left:14px;right:40px}.tab .glove{opacity:0;transition:opacity .15s;position:absolute;left:14px}.tab:hover{color:var(--accent-ink);padding-left:52px}.tab .glove{transition:left .15s}.tab:hover .glove{left:20px}.tab.sel{background:var(--tab-sel-bg);color:var(--tab-sel-ink);font-weight:500}.tab.sel .glove{opacity:1}.tab .badge{letter-spacing:.08em;border:1px solid;border-radius:2px;margin-left:auto;padding:1px 7px;font-size:12px}.speech{background:var(--speech-bg);color:var(--speech-ink);border-radius:12px;max-width:60ch;padding:10px 18px 10px 16px;font-size:16px;line-height:1.35;position:relative;box-shadow:0 6px 18px #00000059}.speech .who{color:var(--speech-who);letter-spacing:.02em;margin-bottom:2px;font-size:14px;font-weight:700;display:block}.speech .who small{color:#7a6d56;letter-spacing:.04em;margin-left:8px;font-weight:400}.speech:after{content:"";background:var(--speech-bg);clip-path:polygon(0 0,100% 0,50% 100%);width:16px;height:16px;position:absolute;bottom:-9px;left:28px}.gauge{grid-template-columns:auto 1fr auto;align-items:baseline;gap:3px 10px;display:grid}.gauge .lab{letter-spacing:.14em;color:var(--label);text-transform:uppercase;font-size:12px}.gauge .lab.hp{color:#8fd497}.gauge .lab.gold{color:#e6c57a}[data-theme=day] .gauge .lab.hp{color:#3e7a46}[data-theme=day] .gauge .lab.gold{color:#8a6414}.gauge .val{font-variant-numeric:tabular-nums;letter-spacing:.06em;text-align:right;color:var(--ink);font-size:19px}.gauge .val small{color:var(--ink-3);letter-spacing:.04em;font-size:13px}.bar{background:var(--track);border:1px solid #00000059;grid-column:1/-1;height:6px;position:relative;overflow:hidden}.bar i{width:var(--w,50%);background:var(--c,var(--hp));transition:width .4s;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff73}.party{border-bottom:1px solid var(--line-faint);align-items:center;gap:14px;padding:10px 6px;display:flex}.party:last-child{border-bottom:0}.party .stats{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.party .name{letter-spacing:.02em;justify-content:space-between;align-items:baseline;gap:10px;font-size:18px;font-weight:500;display:flex}.party .name small{color:var(--label);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-size:12px}.party .name small b{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:none;margin-left:5px;font-size:16px;font-weight:400}.avatar{border:1px solid var(--line-soft);background:#000;flex:none;display:block;box-shadow:0 4px 10px #00000073}.avatar.round{border-radius:50%}.medal{color:#3a2a10;width:56px;height:56px;font-family:var(--display);background:radial-gradient(circle at 35% 30%,#ffe9a8,#d9a441 55%,#8c611b 100%);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid;position:relative;box-shadow:0 0 0 2px #3a2a10,0 0 0 4px #e9dcc073,0 6px 14px #00000080}.medal:before{content:"";border:1px solid #5a3c0a8c;border-radius:50%;position:absolute;inset:6px}.medal.silver{color:#2a2f3a;background:radial-gradient(circle at 35% 30%,#fff,#bfc6d3 55%,#6a7384 100%)}.medal.bronze{color:#2e1a0c;background:radial-gradient(circle at 35% 30%,#f3c9a6,#b7794b 55%,#6b4123 100%)}.medal.sealed{color:#8e8a80;background:radial-gradient(circle at 35% 30%,#4a4f63,#2a2e40 55%,#14161f 100%);box-shadow:0 0 0 2px #0b0d16,0 0 0 4px #8fa3c74d}.medal.sm{width:40px;height:40px;font-size:14px}.ribbon{font-family:var(--flavor);color:var(--accent-ink);background:linear-gradient(90deg,#0000,#f2b24a38 20% 80%,#0000);align-items:center;gap:10px;padding:3px 26px;font-size:18px;font-style:italic;display:inline-flex}.chip{border:1px solid var(--line-soft);color:var(--ink-2);background:var(--chip-bg);cursor:pointer;align-items:center;gap:6px;padding:1px 9px;font-size:13px;line-height:1.5;display:inline-flex}.chip:hover{border-color:var(--line);color:var(--ink)}.chip.on{border-color:var(--accent);color:var(--accent-ink)}.chip.quiet{cursor:default}.icon{border:1px solid var(--line-soft);width:30px;height:30px;color:var(--accent);background:var(--chip-bg);flex:none;place-items:center;font-size:15px;display:grid}.feed-item{border-bottom:1px solid var(--line-faint);grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px 4px;display:grid}.feed-item:last-child{border-bottom:0}.feed-item .t{font-size:17px;line-height:1.35}.feed-item .t b{color:var(--ink);font-weight:500}.feed-item .t a:hover{text-underline-offset:3px;text-decoration:underline}.feed-item .meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:6px;font-size:13px;display:flex}@media (width<=560px){.feed-item .chip .lbl{display:none}.feed-item{grid-template-columns:26px minmax(0,1fr)}.feed-item .when{grid-column:2;margin-top:2px}}.when{color:var(--label);font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap;font-size:13px}.thread{flex-direction:column;gap:16px;margin:10px 0 4px;display:flex}details.comments>summary{cursor:pointer;list-style:none;display:inline-flex}details.comments>summary::-webkit-details-marker{display:none}.field{flex-direction:column;gap:6px;display:flex}.field label,.lab-text{letter-spacing:.18em;text-transform:uppercase;color:var(--label);font-size:12px}input[type=text],input[type=password],input[type=number],input[type=date],input[type=month],input[type=url],select,textarea{background:var(--input-bg);border:1px solid var(--line-soft);width:100%;color:var(--ink);border-radius:0;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--line);box-shadow:0 0 0 1px var(--line-soft);outline:none}textarea{resize:vertical;min-height:80px}.btn{border:1px solid var(--line);background:var(--pane-deep);color:var(--ink);cursor:pointer;letter-spacing:.04em;align-items:center;gap:8px;padding:7px 18px;display:inline-flex;position:relative}.btn:before{content:"";border:1px solid var(--line-faint);pointer-events:none;position:absolute;inset:2px}.btn:hover{color:var(--accent-ink);border-color:var(--accent)}.btn.primary{background:var(--tab-sel-bg);color:var(--tab-sel-ink);font-weight:500}.btn.primary:hover{color:var(--tab-sel-ink);filter:brightness(1.05)}.btn.small{padding:3px 12px;font-size:14px}.btn.link{color:var(--accent-ink);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.btn.link:before{display:none}.form-row{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.notice{border:1px solid var(--line-soft);background:var(--chip-bg);padding:10px 14px;font-size:15px}.notice.ok{border-color:var(--ok)}.notice.danger{border-color:var(--danger);color:var(--danger)}.stack{flex-direction:column;gap:14px;display:flex}.stack.lg{gap:24px}.cols{gap:20px;display:grid}.cols.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cols.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kv{grid-template-columns:auto 1fr;gap:6px 18px;font-size:16px;display:grid}.kv dt{color:var(--label);letter-spacing:.1em;text-transform:uppercase;padding-top:4px;font-size:12px}.kv dd{color:var(--ink);margin:0}.empty{text-align:center;color:var(--ink-3);padding:28px 16px;font-size:16px}.empty .q{font-family:var(--display);letter-spacing:.3em;color:var(--ink-2);margin-bottom:8px;font-size:28px}.scroll-x{overflow-x:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
