:root{color-scheme:dark;--bg: #0d0b09;--bg2: #14100b;--panel: #19130d;--panel2: #221a11;--line: rgba(230, 184, 92, .15);--line2: rgba(230, 184, 92, .34);--ink: #efe6d2;--dim: #a89c84;--faint: #73685a;--gold: #e6b85c;--gold2: #f5d690;--gold3: #b8862f;--red: #d2402f;--red2: #ff6450;--ok: #86c06f;--epic: #b65cf2;--rare: #3d8bff;--radius: 14px;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--serif: Georgia, "Times New Roman", serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;--tabbar-h: 0px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg) radial-gradient(ellipse 120% 60% at 50% -10%,#2a1f14,#0d0b0900 70%) no-repeat;color:var(--ink);font:16px/1.55 var(--sans);padding-bottom:var(--tabbar-h)}body.no-scroll{overflow:hidden}main{flex:1}img,svg{max-width:100%}a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--gold2)}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.2;margin:0 0 .5em;color:var(--ink);letter-spacing:.01em}h1{font-size:clamp(1.9rem,6vw,2.8rem)}h2{font-size:clamp(1.35rem,4vw,1.8rem)}h3{font-size:1.12rem}p{margin:0 0 1em}code,.mono{font-family:var(--mono);font-size:.92em}code{overflow-wrap:anywhere}html{overflow-x:hidden}.dim{color:var(--dim)}.faint{color:var(--faint)}.gold{color:var(--gold)}.red{color:var(--red2)}.small{font-size:.88rem}.center{text-align:center}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--gold);color:#1a1209;padding:8px 12px;border-radius:8px}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.section{padding:28px 0}.section-tight{padding:16px 0}.stack>*+*{margin-top:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row-center{justify-content:center}.row-between{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.grid{display:grid;gap:14px}@media (min-width: 720px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding:44px 0}}.demo-banner{background:repeating-linear-gradient(135deg,#2a160f 0 12px,#241309 12px 24px);border-bottom:1px solid rgba(210,64,47,.45);color:#f2c9a6;font-size:.85rem;padding:7px 16px;text-align:center}.demo-banner b{color:var(--red2);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.topbar{position:sticky;top:0;z-index:30;background:#0d0b09db;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--line2),transparent) 1;padding-top:env(safe-area-inset-top)}.topbar-in{display:flex;align-items:center;gap:12px;min-height:58px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--gold);font-family:var(--serif);font-size:1.32rem;font-weight:700;letter-spacing:.03em}.brand img{border-radius:8px;box-shadow:0 0 0 1px var(--line2)}.brand b{color:var(--red)}.topnav{display:none;gap:4px;margin-left:12px}.topnav a{color:var(--dim);text-decoration:none;padding:7px 12px;border-radius:9px;font-size:.95rem}.topnav a:hover{color:var(--ink);background:#ffffff0a}.topnav a.active{color:var(--gold);background:#e6b85c17}.auth-slot{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:34px}.user-chip{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;max-width:160px}.user-name{display:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--line2);flex:none}.avatar-letter{display:inline-grid;place-items:center;background:linear-gradient(135deg,#3a2814,#1f160c);color:var(--gold);font-family:var(--serif);font-weight:700}body:not(.signed-in) .needs-auth{display:none!important}body.signed-in .signed-out-only{display:none!important}.topnav a{white-space:nowrap}@media (min-width: 900px){.topnav{display:flex}}@media (min-width: 1040px){.user-name{display:inline}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;background:#100c09f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--faint);text-decoration:none;font-size:.72rem;padding:4px 0;border-radius:10px}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--gold)}body:has(.tabbar){--tabbar-h: calc(62px + env(safe-area-inset-bottom)) }@media (min-width: 900px){.tabbar{display:none}body:has(.tabbar){--tabbar-h: 0px}}.btn{--b: var(--line2);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:11px;border:1px solid var(--b);background:#ffffff08;color:var(--ink);font:600 .98rem/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;white-space:nowrap}.btn:hover{border-color:var(--gold);color:var(--ink)}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-gold{background:linear-gradient(180deg,var(--gold2),var(--gold) 55%,var(--gold3));color:#1d1408;border-color:#f7dc9c;box-shadow:0 6px 18px #e6b85c38,inset 0 1px #ffffff73;text-shadow:0 1px 0 rgba(255,255,255,.25)}.btn-gold:hover{color:#1d1408;box-shadow:0 8px 24px #e6b85c57,inset 0 1px #ffffff80}.btn-red{background:linear-gradient(180deg,#e2563f,var(--red) 60%,#a02a1c);border-color:#f07a62;color:#fff3ec;box-shadow:0 6px 18px #d2402f40}.btn-ghost{background:transparent}.btn-danger{background:transparent;border-color:#d2402f8c;color:#ff9c8b}.btn-danger:hover{background:#d2402f1f;border-color:var(--red2);color:#ffb3a5}.btn-sm{min-height:34px;padding:6px 12px;font-size:.88rem;border-radius:9px}.btn-lg{min-height:52px;padding:14px 24px;font-size:1.06rem}.btn-block{width:100%}.btn .icon{flex:none}.discord{background:#5865f2;border-color:#7983f5;color:#fff}.discord:hover{background:#4f5ae0;color:#fff}.input{width:100%;min-height:46px;padding:10px 14px;border-radius:11px;border:1px solid var(--line2);background:#0f0c08;color:var(--ink);font:inherit}.input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e6b85c26}label.field{display:block}label.field>span{display:block;font-size:.88rem;color:var(--dim);margin-bottom:6px}.toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--faint);font:600 .84rem var(--sans);cursor:pointer}.toggle[aria-pressed=true]{color:var(--gold);border-color:var(--line2);background:#e6b85c17}.toggles{display:inline-flex;gap:6px;flex-wrap:wrap}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:46px;height:26px;border-radius:99px;background:#2b2218;border:1px solid var(--line2);position:relative;transition:background .2s;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--dim);transition:transform .2s,background .2s}.switch input:checked+.track{background:#e6b85c4d}.switch input:checked+.track:after{transform:translate(20px);background:var(--gold)}.switch input:focus-visible+.track{outline:2px solid var(--gold);outline-offset:2px}.card{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow),inset 0 1px #ffffff08}.card>:last-child{margin-bottom:0}.card-error{border-color:#d2402f80}.card-gold{border-color:var(--line2)}.card h2{margin-bottom:.35em}.eyebrow{font:700 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);border:0;margin:22px 0}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font:700 .72rem/1.3 var(--sans);letter-spacing:.04em;border:1px solid var(--line2);color:var(--gold);background:#e6b85c12}.badge-red{color:#ff9c8b;border-color:#d2402f80;background:#d2402f1a}.badge-green{color:var(--ok);border-color:#86c06f73;background:#86c06f14}.badge-dim{color:var(--dim);border-color:var(--line);background:transparent}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width: 560px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 900px){.stats-wide{grid-template-columns:repeat(6,minmax(0,1fr))}}.stat{background:#00000038;border:1px solid var(--line);border-radius:11px;padding:10px 12px;min-width:0}.stat-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font:700 1.35rem/1.25 var(--serif);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value.red{color:var(--red2)}.stat-value.gold{color:var(--gold)}.stat-sub{font-size:.76rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xpbar{position:relative;height:12px;border-radius:99px;background:#0c0906;border:1px solid var(--line2);overflow:hidden}.xpbar>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7b3cc8,#a35cf0);box-shadow:0 0 12px #a35cf080;border-radius:99px}.xpbar-label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--dim);margin-top:5px}.hero{padding:26px 0 8px}.hero-grid{display:grid;gap:22px;align-items:center}@media (min-width: 880px){.hero-grid{grid-template-columns:1.05fr 1fr;gap:40px}.hero{padding:56px 0 24px}}.hero h1{font-size:clamp(2.3rem,9vw,3.9rem);line-height:1.05;margin-bottom:.3em}.hero h1 .x{color:var(--red)}.hero h1 .g{color:var(--gold)}.lede{font-size:1.1rem;color:var(--dim);max-width:36em}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-art{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line2);background:radial-gradient(ellipse at 40% 30%,#3a2b18,#17110a 75%);box-shadow:var(--shadow);aspect-ratio:4 / 3}.hero-art svg{display:block;width:100%;height:100%}.trail{fill:none;stroke:var(--red);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:1 9}.trail-mask{fill:none;stroke:#fff;stroke-width:10;stroke-dasharray:1400;stroke-dashoffset:1400;animation:walk 9s ease-in-out infinite}@keyframes walk{0%{stroke-dashoffset:1400}70%,to{stroke-dashoffset:0}}.pulse{animation:pulse 2.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){.trail-mask{animation:none;stroke-dashoffset:0}.pulse{animation:none}html{scroll-behavior:auto}}.features{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 880px){.features{grid-template-columns:repeat(4,minmax(0,1fr))}}.feature{padding:14px}.feature .glyph{font:700 1.5rem/1 var(--serif);color:var(--gold);margin-bottom:8px;display:block}.feature .glyph.red{color:var(--red2)}.feature h3{font-size:1rem;margin-bottom:4px}.feature p{font-size:.9rem;color:var(--dim);margin:0}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:12px}.steps>li{counter-increment:step;position:relative;padding:14px 14px 14px 58px}.steps>li:before{content:counter(step);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 .95rem var(--serif);color:#1d1408;background:linear-gradient(180deg,var(--gold2),var(--gold3))}.steps h3{margin-bottom:4px}.steps p{margin:0;color:var(--dim);font-size:.94rem}.pathbox{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;margin:10px 0}.pathbox code{flex:1 1 260px;min-width:0;display:block;padding:11px 13px;border-radius:10px;background:#0b0906;border:1px solid var(--line2);color:var(--gold2);overflow-x:auto;white-space:nowrap;font-size:.86rem;line-height:1.5}.pathbox code .ph{color:var(--red2)}.note{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--dim);background:#e6b85c0d;border:1px dashed var(--line2);padding:10px 12px;border-radius:10px}.note b{color:var(--ink)}kbd{font:600 .82em var(--mono);padding:1px 6px;border-radius:5px;border:1px solid var(--line2);background:#0b0906;color:var(--gold2)}.dropzone{position:relative;display:grid;place-items:center;text-align:center;gap:8px;padding:30px 18px;border-radius:16px;cursor:pointer;border:2px dashed var(--line2);background:radial-gradient(ellipse at 50% 0%,rgba(230,184,92,.07),transparent 70%),#0003;transition:border-color .15s,background .15s,transform .15s}.dropzone:hover,.dropzone.over{border-color:var(--gold);background:radial-gradient(ellipse at 50% 0%,rgba(230,184,92,.14),transparent 70%),#00000040}.dropzone.over{transform:scale(1.01)}.dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.dropzone .big{font:700 1.25rem var(--serif);color:var(--ink)}.dropzone .tomb{width:54px;height:54px}.local-note{display:flex;gap:8px;align-items:center;justify-content:center;color:var(--ok);font-size:.88rem;margin-top:10px;text-align:center}.progress{height:8px;border-radius:99px;background:#0b0906;border:1px solid var(--line);overflow:hidden}.progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold3),var(--gold2));transition:width .2s}.diff-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.diff-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:10px;background:#0003;border:1px solid var(--line);font-size:.92rem;flex-wrap:wrap}.diff-list .when{color:var(--ink);font-weight:600}.diff-list .meta{color:var(--dim);font-size:.84rem}.char-card{padding:0;overflow:hidden}.char-head{display:flex;gap:14px;align-items:center;padding:16px 16px 12px}.crest{--c: var(--gold);width:54px;height:54px;flex:none;border-radius:14px;display:grid;place-items:center;font:700 1.5rem var(--serif);color:var(--c);background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.1),transparent 60%),#120d08;border:1px solid color-mix(in srgb,var(--c) 50%,transparent);box-shadow:inset 0 0 18px color-mix(in srgb,var(--c) 18%,transparent)}.char-name{font:700 1.3rem/1.15 var(--serif);margin:0}.char-name .realm{color:var(--faint);font-size:.85rem;font-family:var(--sans);font-weight:500}.char-sub{color:var(--dim);font-size:.9rem}.char-body{padding:0 16px 16px}.char-head.flush{padding:0}.playline{margin:0;font:600 1rem var(--serif);color:var(--gold2);letter-spacing:.01em}.swatch{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #00000080,0 0 10px currentColor}.char-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:#0000002e}.char-actions .btn-gold{flex:1 1 140px}details.sessions{border-top:1px solid var(--line)}details.sessions>summary{list-style:none;cursor:pointer;padding:12px 16px;color:var(--dim);font-size:.92rem;display:flex;align-items:center;gap:8px}details.sessions>summary::-webkit-details-marker{display:none}details.sessions>summary .icon{transition:transform .2s}details.sessions[open]>summary .icon{transform:rotate(90deg)}.session-list{list-style:none;margin:0;padding:0 12px 12px;display:grid;gap:6px}.session-list li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px 12px;border-radius:10px;background:#00000038;border:1px solid var(--line)}.session-list .when{font-weight:600}.session-list .meta{grid-column:1 / -1;color:var(--dim);font-size:.84rem;display:flex;gap:12px;flex-wrap:wrap}.session-list .acts{display:flex;gap:6px}.share-box{display:grid;gap:10px;padding:14px 16px;border-top:1px solid var(--line);background:#e6b85c0a}.share-link{display:flex;gap:6px}.share-link input{flex:1;min-width:0;font-family:var(--mono);font-size:.8rem;min-height:38px}.empty{text-align:center;padding:36px 18px}.empty .tomb{width:76px;height:76px;margin-bottom:8px;opacity:.9}.story-head{display:grid;gap:12px}.player-box{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line2);background:#0a0806;box-shadow:var(--shadow);height:min(76vh,860px);height:min(76dvh,860px);min-height:420px}.player-frame{display:block;width:100%;height:100%;border:0;background:#0a0806}.player-box.theater{position:fixed;inset:0;z-index:60;height:100%;border-radius:0;border:0}.player-box:fullscreen{height:100%;border-radius:0;border:0}.player-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0a0806d1;z-index:2;text-align:center;padding:20px}.player-overlay.hide{display:none}.theater-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;z-index:3;display:none}.player-box.theater .theater-close{display:inline-flex}.player-bar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.session-pick{max-width:100%}select.input{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}@media (max-width: 600px){.player-box{height:72vh;height:72dvh;min-height:360px;border-radius:12px}}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(230,184,92,.2);border-top-color:var(--gold);animation:spin .9s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 16px);transform:translate(-50%);z-index:90;display:grid;gap:8px;width:min(92vw,420px);pointer-events:none}.toast{pointer-events:auto;padding:11px 14px;border-radius:11px;background:#231a10;border:1px solid var(--line2);color:var(--ink);box-shadow:var(--shadow);font-size:.94rem;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.toast.in{opacity:1;transform:none}.toast-ok{border-color:#86c06f8c}.toast-error{border-color:#d2402fb3;background:#2a130e}.dialog{border:1px solid var(--line2);border-radius:16px;background:linear-gradient(180deg,var(--panel2),var(--panel));color:var(--ink);padding:20px;width:min(92vw,460px);box-shadow:0 20px 60px #000000b3}.dialog::backdrop{background:#050403b8;backdrop-filter:blur(3px)}.dialog p{color:var(--dim)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.auth-card{max-width:440px;margin:0 auto}.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:.82rem;margin:16px 0;text-transform:uppercase;letter-spacing:.12em}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.prose{max-width:720px}.prose h2{margin-top:1.4em}.prose li{margin-bottom:.4em;color:var(--dim)}.prose li b{color:var(--ink)}.prose p{color:var(--dim)}.site-footer{border-top:1px solid var(--line);margin-top:30px;padding:22px 0 26px;color:var(--faint);font-size:.85rem}.site-footer a{color:var(--dim)}.site-footer p{margin:0 0 6px}.site-footer .links{display:flex;gap:6px 16px;flex-wrap:wrap}body.app:not(.ready) main{opacity:0}body.app.ready main{opacity:1;transition:opacity .2s}.soon-chip{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;border:1px dashed var(--line2);color:var(--dim);font-size:.82rem;text-decoration:none;white-space:nowrap}.soon-chip:hover{color:var(--gold);border-color:var(--gold)}.soon-long{display:none}@media (min-width: 520px){.soon-long{display:inline}.soon-short{display:none}}.grow{flex:1 1 200px;min-width:0}button.badge{cursor:pointer}button.badge:hover{border-color:var(--gold)}.glyph-x{font:700 4rem/1 var(--serif);color:var(--red);text-shadow:0 0 24px rgba(210,64,47,.5)}details.card>summary{cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary:before{content:"+ ";color:var(--gold)}details.card[open]>summary:before{content:"- "}details.card[open]>summary{margin-bottom:10px}body.accounts-off .signed-out-only{display:none!important}
