:root{--bg:#120f0d;--panel:rgba(38,29,23,0.86);--panel-strong:rgba(56,40,31,0.96);--line:rgba(226,176,93,0.24);--gold:#d9a94a;--gold-bright:#f4cf7a;--ember:#ad472b;--moss:#5f7751;--ink:#f9edd6;--muted:#bca98e;--shadow:rgba(0,0,0,0.42)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(circle at 18% 12%,rgba(173,71,43,.26),transparent 28rem),radial-gradient(circle at 85% 18%,rgba(95,119,81,.24),transparent 25rem),linear-gradient(135deg,#100d0c,#211711 48%,#0d1210);font-family:Georgia,Times New Roman,serif}a,button,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.landing-page{min-height:100dvh;overflow-x:hidden;color:#fff8e8;background:#050403}.landing-hero{position:relative;display:grid;min-height:92dvh;place-items:center;padding:28px clamp(18px,4vw,56px) 54px;overflow:hidden;isolation:isolate}.landing-background,.landing-scrim{position:absolute;inset:0;z-index:-2}.landing-background{width:100%;height:100%;object-fit:cover;object-position:center}.landing-scrim{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.64),rgba(0,0,0,.2) 44%,#050403),radial-gradient(circle at 50% 48%,rgba(0,0,0,.08),rgba(0,0,0,.7) 72%),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 46%,rgba(0,0,0,.56))}.landing-nav{position:absolute;top:0;left:0;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:78px;padding:20px clamp(18px,4vw,56px);color:#fff8e8;font-size:.84rem;font-weight:800;text-transform:uppercase}.landing-brand{font-size:clamp(1.1rem,2.3vw,1.65rem);text-transform:none}.landing-nav nav{display:flex;align-items:center;gap:clamp(18px,3vw,34px)}.landing-nav a{text-shadow:0 1px 18px rgba(0,0,0,.72)}.landing-nav a:hover{color:#ffcf6f}.landing-hero-copy{display:grid;justify-items:center;width:min(100%,980px);padding-top:64px;text-align:center;text-shadow:0 2px 28px rgba(0,0,0,.82)}.landing-author,.landing-kicker,.landing-scroll-cue,.landing-section-label{font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800;letter-spacing:0;text-transform:uppercase}.landing-kicker{margin-bottom:18px;color:#ffcf6f;font-size:.82rem}.landing-hero h1{max-width:15ch;margin-bottom:30px;font-size:clamp(2.25rem,7vw,5.8rem);line-height:.96}.landing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.landing-button{display:inline-flex;align-items:center;justify-content:center;min-width:210px;min-height:66px;padding:20px 34px;border-radius:8px;font-size:.96rem;font-weight:800;letter-spacing:0;text-align:center;text-transform:uppercase;transition:border-color .18s ease,color .18s ease,transform .18s ease,background .18s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button-primary{border:1px solid #ffcf6f;color:#080605;background:#ffcf6f;box-shadow:0 18px 44px rgba(0,0,0,.34)}.landing-button-primary:hover{background:#ffe4a3}.landing-button-secondary{border:1px solid rgba(255,207,111,.72);color:#ffcf6f;background:rgba(0,0,0,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-button-secondary:hover{border-color:#ffe4a3;color:#ffe4a3}.landing-scroll-cue{position:absolute;bottom:18px;left:50%;color:rgba(255,248,232,.76);font-size:.68rem;transform:translateX(-50%)}.landing-section{width:min(100% - 36px,1120px);margin:0 auto;padding:clamp(56px,9vw,104px) 0}.landing-section h2{max-width:760px;margin-bottom:18px;font-size:clamp(2rem,5vw,4rem);line-height:1}.landing-section>p{max-width:720px;color:rgba(255,248,232,.74);font-size:clamp(1rem,2vw,1.22rem);line-height:1.7}.landing-section-label{margin-bottom:16px;color:#68d2b3;font-size:.78rem}.landing-scenario-grid,.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:22px;gap:22px;margin-top:44px}.landing-scenario-grid article,.landing-steps article{min-width:0;border-top:1px solid rgba(255,207,111,.34);padding-top:22px}.landing-steps span{display:block;margin-bottom:18px;color:#ffcf6f;font-size:2.8rem;font-weight:800;line-height:1}.landing-scenario-grid h3,.landing-steps h3{margin-bottom:10px;font-size:clamp(1.25rem,2.4vw,1.75rem)}.landing-scenario-grid p,.landing-steps p{margin-bottom:0;color:rgba(255,248,232,.7);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.96rem;line-height:1.6}.landing-scenarios{display:grid;justify-items:start;padding-top:34px;padding-bottom:96px}.landing-scenario-grid{margin-bottom:38px}.landing-author{color:#68d2b3;font-size:.72rem}.table-page{position:fixed;inset:0;height:auto;overflow:hidden;padding:0}.table-page:before{inset:0;content:"";background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 78%);mask-image:radial-gradient(circle at center,black,transparent 78%)}.ambient,.table-page:before{position:absolute;pointer-events:none}.ambient{width:34rem;height:34rem;filter:blur(90px);opacity:.22}.ambient-one{left:-11rem;top:8rem;background:var(--ember)}.ambient-two{right:-13rem;bottom:-6rem;background:var(--moss)}.play-table{position:relative;z-index:1;display:flex;flex-direction:column;width:100vw;height:100dvh;margin:0;overflow:hidden;border:0;border-radius:0;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),var(--panel);box-shadow:inset 0 0 70px rgba(217,169,74,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.table-header{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}.brand-mark,.message-icon{display:grid;place-items:center;border:1px solid var(--line);background:rgba(217,169,74,.1);color:var(--gold-bright)}.brand-mark{width:54px;height:54px;border-radius:8px}.eyebrow{margin:0 0 4px;color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1}.status-pill{gap:8px;margin-left:auto;padding:0 14px;border:1px solid rgba(244,207,122,.32);border-radius:999px;color:var(--gold-bright);background:rgba(17,13,10,.48);font-size:.84rem}.account-pill,.status-pill{display:inline-flex;align-items:center;min-height:36px;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:700}.account-pill{gap:10px;min-width:0;padding:0 8px 0 13px;border:1px solid rgba(244,207,122,.24);border-radius:999px;color:var(--muted);background:rgba(17,13,10,.42);font-size:.78rem}.account-pill span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pill button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:999px;color:var(--gold-bright);background:rgba(244,207,122,.08)}.account-pill button:hover{background:rgba(173,71,43,.24)}.auth-page{display:grid;min-height:100dvh;place-items:center;padding:28px}.auth-panel{width:min(100%,420px);padding:30px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.055),transparent 34%),var(--panel);box-shadow:0 26px 80px var(--shadow)}.auth-panel h1{margin-bottom:22px}.auth-form{display:grid;grid-gap:13px;gap:13px;font-family:ui-sans-serif,system-ui,sans-serif}.auth-form label{color:var(--gold-bright);font-size:.8rem;font-weight:800;text-transform:uppercase}.auth-input-row{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 13px;border:1px solid rgba(244,207,122,.28);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.56)}.auth-input-row input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font:inherit}.auth-form button{min-height:46px;border:1px solid rgba(244,207,122,.38);border-radius:8px;color:#140f0b;background:var(--gold-bright);font-weight:800}.auth-form .google-auth-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);background:rgba(17,13,10,.58)}.google-auth-button span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;color:#4285f4;background:#ffffff;font-family:Arial,sans-serif;font-weight:800}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.auth-divider:after,.auth-divider:before{flex:1 1;height:1px;content:"";background:rgba(244,207,122,.2)}.auth-form button:disabled{cursor:wait;opacity:.68}.auth-error,.auth-note{margin-bottom:0;font-size:.88rem}.auth-note{color:var(--muted)}.auth-error{color:#ffb199}.new-adventure-page{display:grid;min-height:100dvh;place-items:center;padding:28px}.new-adventure-shell{display:grid;grid-gap:24px;gap:24px;width:min(100%,1040px);padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),var(--panel);box-shadow:0 26px 80px var(--shadow)}.new-adventure-heading{display:grid;justify-items:center;text-align:center}.new-adventure-heading h1{max-width:18ch;margin-bottom:18px;font-size:clamp(2rem,4.5vw,4rem);line-height:.98}.new-adventure-heading p:not(.eyebrow){margin-bottom:0;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.92rem;font-weight:800}.new-adventure-form{display:grid;align-content:start;grid-gap:20px;gap:20px;width:min(100%,760px);margin:0 auto;font-family:ui-sans-serif,system-ui,sans-serif}.creation-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.creation-steps li{display:grid;justify-items:center;grid-gap:7px;gap:7px;min-width:0;color:rgba(249,237,214,.44);font-size:.68rem;font-weight:900;text-transform:uppercase}.creation-steps li:after{width:100%;height:1px;content:"";background:rgba(226,176,93,.18)}.creation-steps li.active,.creation-steps li.complete{color:var(--gold-bright)}.creation-steps span{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(226,176,93,.24);border-radius:999px;background:rgba(10,8,7,.5)}.creation-steps li.active span,.creation-steps li.complete span{border-color:rgba(244,207,122,.74);color:#140f0b;background:var(--gold-bright)}.creation-stage{display:grid;align-content:center;grid-gap:18px;gap:18px;padding:clamp(18px,4vw,34px);border-top:1px solid rgba(226,176,93,.2);border-bottom:1px solid rgba(226,176,93,.2);background:linear-gradient(90deg,transparent,rgba(244,207,122,.08),transparent),rgba(10,8,7,.18)}.creation-stage-roomy{min-height:360px}.mode-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(18px,5vw,46px);gap:clamp(18px,5vw,46px);width:min(100%,600px);margin:0 auto}.mode-picker button{display:grid;justify-items:center;grid-gap:14px;gap:14px;min-height:210px;padding:18px;border:0;border-radius:8px;color:var(--ink);background:transparent;text-align:center}.mode-picker button.selected,.mode-picker button:hover{background:rgba(255,255,255,.035)}.mode-medallion{display:grid;width:clamp(112px,18vw,152px);aspect-ratio:1;place-items:center;border:2px solid rgba(226,176,93,.46);border-radius:999px;color:var(--gold-bright);background:radial-gradient(circle at 50% 40%,rgba(244,207,122,.22),transparent 48%),rgba(10,8,7,.72);box-shadow:inset 0 0 0 7px rgba(12,9,8,.82),0 18px 42px rgba(0,0,0,.26)}.mode-picker button.selected .mode-medallion,.mode-picker button:hover .mode-medallion{border-color:var(--gold-bright);box-shadow:inset 0 0 0 7px rgba(12,9,8,.82),0 0 0 1px rgba(244,207,122,.18),0 18px 42px rgba(0,0,0,.34)}.mode-picker span,.new-adventure-form label{display:grid;grid-gap:11px;gap:11px;min-width:0}.mode-picker strong,.new-adventure-form label span{color:var(--gold-bright);font-size:.8rem;font-weight:900;text-transform:uppercase}.mode-picker strong{color:var(--ink);font-size:clamp(1.2rem,2.2vw,1.6rem);text-transform:none}.mode-picker small{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.45}.multiplayer-intent-picker{width:min(100%,600px);margin:0 auto}.multiplayer-intent-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.genre-picker{min-width:0;margin:0;padding:0;border:0}.genre-picker legend,.option-picker legend{margin-bottom:12px;color:var(--gold-bright);font-size:.8rem;font-weight:900;text-transform:uppercase}.genre-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.genre-picker button,.option-picker button{display:grid;grid-gap:5px;gap:5px;min-height:84px;padding:12px;border:1px solid rgba(244,207,122,.22);border-radius:8px;color:var(--ink);background:rgba(17,13,10,.48);text-align:left}.genre-picker button.selected,.genre-picker button:hover,.option-picker button.selected,.option-picker button:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(90deg,rgba(173,71,43,.16),transparent),rgba(255,255,255,.05)}.genre-picker strong,.option-picker strong{color:var(--ink);font-size:.92rem;font-weight:900}.genre-picker small,.option-picker small{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.35}.character-builder{display:grid;grid-gap:20px;gap:20px}.character-creation-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.character-creation-steps li{display:grid;justify-items:center;grid-gap:5px;gap:5px;min-width:0;color:rgba(249,237,214,.42);font-size:.62rem;font-weight:900;text-transform:uppercase}.character-creation-steps span{display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(226,176,93,.22);border-radius:999px;background:rgba(10,8,7,.52)}.character-creation-steps li.active,.character-creation-steps li.complete{color:var(--gold-bright)}.character-creation-steps li.active span,.character-creation-steps li.complete span{border-color:rgba(244,207,122,.74);color:#140f0b;background:var(--gold-bright)}.option-picker{min-width:0;margin:0;padding:0;border:0}.option-picker>div{display:grid;grid-gap:10px;gap:10px}.class-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-option-picker>div{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.compact-option-picker button{min-height:50px}.build-mode-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.build-mode-picker button{min-height:136px;align-content:center}.quick-fantasy-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-fantasy-picker button{min-height:124px;align-content:center}.equipment-picker>div{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.ability-score-panel{display:grid;grid-gap:14px;gap:14px}.ability-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.ability-score-grid label{position:relative;padding:12px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.4)}.ability-score-grid input{min-height:46px;padding-right:52px;font-size:1rem;font-weight:900}.ability-score-grid strong{position:absolute;right:26px;bottom:25px;color:var(--gold-bright);font-size:.82rem;font-weight:900}.character-step-note{display:grid;grid-gap:4px;gap:4px;margin:0;color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.4}.character-step-note strong{color:var(--gold-bright);font-size:.78rem;font-weight:900;text-transform:uppercase}.character-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.character-identity-fields,.identity-panel{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.identity-panel{align-items:start;padding-top:2px}.character-sheet-preview{display:grid;grid-gap:12px;gap:12px;min-width:0;padding:14px;border:1px solid rgba(95,119,81,.42);border-radius:8px;background:linear-gradient(90deg,rgba(95,119,81,.18),transparent),rgba(10,8,7,.36)}.character-sheet-preview>div{display:flex;align-items:center;gap:8px;color:var(--gold-bright);font-size:.78rem;font-weight:900;text-transform:uppercase}.character-sheet-preview pre{max-height:260px;margin:0;overflow:auto;white-space:pre-wrap;color:rgba(249,237,214,.88);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.5}.character-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.character-current-pick,.character-summary-grid div{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:12px;border:1px solid rgba(244,207,122,.18);border-radius:8px;background:rgba(17,13,10,.4)}.character-current-pick span,.character-summary-grid span{color:var(--gold-bright);font-size:.68rem;font-weight:900;text-transform:uppercase}.character-current-pick strong,.character-summary-grid strong{min-width:0;overflow:hidden;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.02rem;text-overflow:ellipsis;white-space:nowrap}.custom-world-field{display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-6px);transition:grid-template-rows .22s ease,opacity .18s ease,transform .22s ease}.custom-world-field.expanded{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.custom-world-field>label{min-height:0}.custom-world-field textarea{min-height:190px}.join-code-panel{display:grid;grid-gap:16px;gap:16px;width:min(100%,460px);margin:0 auto}.join-code-panel input{text-align:center;font-size:1.35rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.join-preview{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid rgba(244,207,122,.26);border-radius:8px;background:rgba(17,13,10,.48);text-align:center}.join-preview strong{color:var(--ink);font-size:1rem}.join-preview span{color:var(--muted);font-size:.82rem;font-weight:800}.new-adventure-form input,.new-adventure-form textarea{width:100%;border:1px solid rgba(244,207,122,.28);border-radius:8px;outline:0;color:var(--ink);background:rgba(17,13,10,.56);font:inherit}.new-adventure-form input{min-height:52px;padding:0 14px}.new-adventure-form textarea{min-height:150px;resize:vertical;padding:12px;line-height:1.5}.new-adventure-form input:focus,.new-adventure-form textarea:focus{border-color:rgba(244,207,122,.72)}.new-adventure-error{margin:0;color:#ffb199;font-size:.86rem;font-weight:800}.creation-review{display:grid;grid-gap:18px;gap:18px;justify-items:center;width:min(100%,540px);margin:0 auto;text-align:center}.creation-review>svg{color:var(--gold-bright)}.creation-review dl{display:grid;grid-gap:10px;gap:10px;width:100%;margin:0}.creation-review div{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:14px;gap:14px;min-height:44px;align-items:center;border-bottom:1px solid rgba(226,176,93,.16);text-align:left}.creation-review dt{color:var(--gold-bright);font-size:.74rem;font-weight:900;text-transform:uppercase}.creation-review dd{min-width:0;margin:0;overflow:hidden;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.15rem;text-overflow:ellipsis;white-space:nowrap}.creation-actions{display:flex;justify-content:space-between;gap:12px}.creation-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:148px;padding:0 18px}.creation-actions button[type=submit]{min-height:48px;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731);font-weight:900}.creation-secondary{border:1px solid rgba(244,207,122,.28);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.54);font-weight:900}.creation-actions button:disabled{cursor:wait;opacity:.68}.table-grid{display:grid;grid-template-columns:292px minmax(0,1fr) 320px;flex:1 1;min-height:0;overflow:hidden}.table-grid.session-panel-collapsed{grid-template-columns:292px minmax(0,1fr)}.chat-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:18px;overflow:hidden;border-right:1px solid var(--line);background:rgba(12,9,8,.32)}.chat-sidebar-actions,.chat-sidebar-history{display:flex;flex:1 1;flex-direction:column;min-height:0}.chat-sidebar-history{gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(226,176,93,.18)}.chat-sidebar-actions{gap:10px;justify-content:flex-end;padding-top:14px}.chat-sidebar-actions button{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:46px;border:1px solid rgba(226,176,93,.22);border-radius:8px;padding:0 12px;color:var(--gold-bright);background:rgba(217,169,74,.1);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.84rem;font-weight:900;letter-spacing:0}.chat-sidebar-actions button:focus-visible,.chat-sidebar-actions button:hover{border-color:rgba(244,207,122,.62);background:rgba(217,169,74,.16)}.chat-sidebar-header{display:flex;align-items:center;gap:12px;justify-content:space-between}.chat-sidebar-header h2{margin-bottom:0;font-size:1.18rem}.chat-sidebar-header .adventures-title{margin-bottom:0;font-size:.72rem}.chat-list-item,.chat-list-row,.chat-search,.chat-sidebar-header button{border-radius:8px}.chat-sidebar-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(226,176,93,.22);color:var(--gold-bright);background:rgba(217,169,74,.1)}.chat-sidebar-header button:disabled{cursor:wait;opacity:.48}.chat-search{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(226,176,93,.16);color:var(--muted);background:rgba(10,8,7,.5)}.chat-search input{min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-family:ui-sans-serif,system-ui,sans-serif}.chat-search input::placeholder{color:rgba(249,237,214,.44)}.chat-list{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow:auto}.chat-list-empty{margin:0;padding:10px 2px;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem}.chat-list-row{position:relative;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;width:100%;min-height:72px;border:1px solid transparent;color:var(--ink)}.chat-list-item,.chat-list-row{display:grid;background:transparent}.chat-list-item{grid-template-columns:minmax(0,1fr);grid-gap:4px;gap:4px;align-items:flex-start;min-width:0;padding:12px 8px 12px 12px;border:0;color:inherit;text-align:left}.chat-list-row.active,.chat-list-row:hover{border-color:rgba(244,207,122,.68);background:linear-gradient(90deg,rgba(173,71,43,.22),transparent),rgba(255,255,255,.045)}.chat-list-item span{display:grid;grid-gap:4px;gap:4px;min-width:0}.chat-list-item em,.chat-list-item small,.chat-list-item strong{overflow:hidden;font-family:ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.chat-list-item strong{font-size:.92rem}.chat-list-item em,.chat-list-item small{color:var(--muted);font-size:.78rem;font-style:normal}.chat-list-item em{justify-self:end}.chat-row-actions{display:grid;grid-gap:6px;gap:6px;align-self:start;margin-top:8px;margin-right:8px}.chat-action-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(226,176,93,.16);border-radius:8px;color:var(--muted);background:rgba(10,8,7,.42);opacity:0}.chat-action-button:focus-visible,.chat-list-row:focus-within .chat-action-button,.chat-list-row:hover .chat-action-button{opacity:1}.chat-delete-button:hover{border-color:rgba(173,71,43,.7);color:var(--gold-bright);background:rgba(173,71,43,.24)}.chat-rename-button:hover{border-color:rgba(244,207,122,.62);color:var(--gold-bright);background:rgba(217,169,74,.16)}.story-column{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px}.table-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 12px;border:1px solid rgba(173,71,43,.48);border-radius:8px;color:#f2b199;background:rgba(173,71,43,.16);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.84rem;font-weight:800;letter-spacing:0}.table-alert button{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border:1px solid rgba(244,207,122,.2);border-radius:8px;color:var(--gold-bright);background:rgba(10,8,7,.32)}.table-alert button:hover{border-color:rgba(244,207,122,.62);background:rgba(10,8,7,.52)}.character-sheet-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:clamp(14px,3vw,28px);background:rgba(18,15,13,.16);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.character-sheet-overlay-panel{display:flex;flex-direction:column;width:min(1040px,100%);height:min(760px,calc(100dvh - 56px));min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 22px 70px rgba(0,0,0,.42)}.dnd-sheet-header{display:flex;align-items:stretch;gap:14px;border-bottom:1px solid var(--line);padding:14px}.dnd-sheet-nameplate{display:grid;align-content:end;flex:1.15 1 260px;min-width:0;border:1px solid rgba(226,176,93,.3);border-radius:8px;padding:12px 14px;background:linear-gradient(180deg,rgba(244,207,122,.08),transparent),rgba(10,8,7,.3)}.dnd-sheet-box span,.dnd-sheet-lined-panel h3,.dnd-sheet-meta-grid span,.dnd-sheet-nameplate span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.66rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.dnd-sheet-nameplate h2{margin:0;overflow:hidden;color:var(--ink);font-size:clamp(1.6rem,3vw,2.6rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.dnd-sheet-meta-grid{display:grid;flex:1 1 420px;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;min-width:0}.dnd-sheet-meta-grid div{display:grid;align-content:space-between;min-width:0;min-height:58px;border:1px solid rgba(226,176,93,.22);border-radius:8px;padding:9px 10px;background:rgba(10,8,7,.34)}.dnd-sheet-meta-grid strong{overflow:hidden;color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.84rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.character-sheet-overlay-panel button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.character-sheet-overlay-panel button:focus-visible,.character-sheet-overlay-panel button:hover{border-color:rgba(244,207,122,.62);background:rgba(217,169,74,.14)}.dnd-sheet-body{display:grid;flex:1 1;grid-template-columns:minmax(210px,.82fr) minmax(260px,1fr) minmax(260px,1fr);grid-gap:12px;gap:12px;min-height:0;overflow:auto;padding:14px}.dnd-sheet-center,.dnd-sheet-left,.dnd-sheet-right{display:grid;align-content:start;grid-gap:10px;gap:10px;min-width:0}.dnd-ability-card,.dnd-sheet-box,.dnd-sheet-lined-panel{border:1px solid rgba(226,176,93,.22);border-radius:8px;background:linear-gradient(180deg,rgba(244,207,122,.055),transparent),rgba(10,8,7,.38)}.dnd-sheet-box{display:grid;place-items:center;min-height:66px;padding:10px;text-align:center}.dnd-sheet-box strong{color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.28rem;font-weight:900;line-height:1}.dnd-ability-list{display:grid;grid-gap:8px;gap:8px}.dnd-ability-card{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:1fr 1fr;grid-gap:8px;gap:8px;min-height:82px;padding:6px 8px}.dnd-ability-score{display:grid;align-self:stretch;grid-row:1/-1;place-items:center;border:1px solid rgba(244,207,122,.32);border-radius:8px;margin:2px 0;background:rgba(217,169,74,.08)}.dnd-ability-score strong{color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.55rem;font-weight:900;line-height:1}.dnd-ability-card h3,.dnd-ability-card p{margin:0;min-width:0;font-family:ui-sans-serif,system-ui,sans-serif}.dnd-ability-card h3{align-self:end;color:var(--ink);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.dnd-ability-card p{align-self:start;grid-column:2;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.35}.dnd-combat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.dnd-combat-grid .dnd-sheet-box{grid-column:span 2}.dnd-combat-grid .dnd-sheet-box:nth-child(n+4){grid-column:span 3}.dnd-sheet-lined-panel{display:flex;flex-direction:column;min-height:128px;overflow:hidden}.dnd-sheet-lined-content{flex:1 1;min-height:0;margin:0;overflow:auto;padding:10px 12px;color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;line-height:1.46;background-image:linear-gradient(rgba(226,176,93,.12) 1px,transparent 0);background-size:100% 1.9rem}.dnd-sheet-lined-content p{margin:0 0 .38rem}.dnd-sheet-lined-panel h3{margin:0;border-top:1px solid rgba(226,176,93,.18);padding:7px 10px;text-align:center}.dnd-spell-panel .dnd-sheet-lined-content{display:grid;align-content:start;grid-gap:12px;gap:12px}.dnd-spell-groups{display:grid;grid-gap:13px;gap:13px}.dnd-spell-group{display:grid;grid-gap:6px;gap:6px}.dnd-spell-group h4{margin:0;color:var(--gold-bright);font-size:.72rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.dnd-sheet-table-wrap{width:100%;overflow-x:auto}.dnd-sheet-table{width:100%;min-width:520px;border-collapse:collapse;color:var(--ink);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.75rem;line-height:1.25}.dnd-sheet-table td,.dnd-sheet-table th{border:1px solid rgba(226,176,93,.18);padding:7px 8px;text-align:left;vertical-align:top}.dnd-sheet-table th{color:var(--gold-bright);background:rgba(217,169,74,.09);font-size:.65rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.dnd-sheet-table td{background:rgba(17,12,8,.34);font-weight:750}.dnd-sheet-table td:first-child,.dnd-sheet-table th:first-child{width:30%;font-weight:900}.dnd-sheet-table td:nth-child(2),.dnd-sheet-table td:nth-child(3),.dnd-sheet-table th:nth-child(2),.dnd-sheet-table th:nth-child(3){width:17%}.dnd-spell-details{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:.76rem}.dnd-sheet-right .dnd-sheet-lined-panel:nth-child(-n+4){min-height:94px}.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(2),.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(3),.dnd-sheet-center .dnd-sheet-lined-panel:nth-child(4),.dnd-sheet-right .dnd-sheet-lined-panel:nth-child(5){min-height:210px}.begin-adventure-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px;border:1px solid rgba(226,176,93,.18);border-radius:8px;background:rgba(10,8,7,.5)}.begin-adventure-panel p{margin:0;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.86rem;font-weight:800;letter-spacing:0}.game-code-callout{display:grid;grid-gap:2px;gap:2px;min-width:112px;padding:8px 10px;border:1px solid rgba(244,207,122,.24);border-radius:8px;background:rgba(0,0,0,.28)}.game-code-callout span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.62rem;font-weight:900;text-transform:uppercase}.game-code-callout strong{color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:1rem;letter-spacing:.08em}.begin-adventure-panel button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;white-space:nowrap;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900}.begin-adventure-panel button:disabled{cursor:not-allowed;opacity:.46}.message-log{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;margin:0 0 18px;overflow:auto;padding-right:6px}.message-card{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:12px;gap:12px;width:100%;padding:15px;border:1px solid rgba(226,176,93,.18);border-radius:8px;background:rgba(20,15,12,.58)}.message-player{background:rgba(95,119,81,.22)}.message-ask-dm-answer,.message-ask-dm-question{border-color:rgba(129,184,166,.32);background:rgba(35,74,70,.2)}.message-system{color:var(--muted);background:rgba(217,169,74,.08)}.message-waiting{border-style:dashed;color:var(--muted);background:rgba(95,119,81,.12)}.message-icon{width:38px;height:38px;border-radius:8px;overflow:hidden}.message-avatar-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.message-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-bottom:6px}.message-label{margin-bottom:0;color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-weight:800}.message-label-detail{color:var(--muted);font-size:.72rem;font-weight:700}.message-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.message-action-button{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border:1px solid rgba(244,207,122,.28);border-radius:8px;color:var(--muted);background:rgba(17,13,10,.42)}.message-action-button:focus-visible,.message-action-button:hover{color:var(--gold-bright);border-color:rgba(244,207,122,.58);background:rgba(217,169,74,.12)}.message-action-button:disabled{cursor:wait;opacity:.48}.message-body{display:grid;grid-gap:1.15rem;gap:1.15rem}.message-body p{margin-bottom:0;font-size:.94rem;white-space:pre-wrap;line-height:1.5}.message-dm .message-body{gap:1.45rem}.message-dm .message-body p{font-size:.96rem;line-height:1.58}.debug-modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.76)}.debug-modal{display:flex;flex-direction:column;width:min(980px,100%);max-height:min(820px,calc(100dvh - 44px));border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(21,16,13,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.debug-modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid var(--line)}.debug-modal-content h3,.debug-modal-header h2,.debug-modal-header p{margin-bottom:0}.debug-modal-header h2{font-size:1.35rem}.debug-modal-header p{margin-top:4px;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem}.debug-modal-header button{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.debug-modal-content{display:grid;grid-gap:16px;gap:16px;min-height:0;overflow:auto;padding:16px}.debug-modal-content section{display:grid;grid-gap:8px;gap:8px}.debug-modal-content h3{color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.debug-modal-content pre{max-height:42dvh;margin:0;overflow:auto;border:1px solid rgba(226,176,93,.18);border-radius:8px;padding:12px;color:#f8ead0;background:rgba(5,4,4,.52);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.rune-loader{display:inline-flex;align-items:baseline;margin:0;color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.94rem;font-weight:900;letter-spacing:0;text-transform:uppercase;animation:rune-loader-pulse 1.6s ease-in-out infinite}.rune-loader-dots{display:inline-grid;grid-template-columns:repeat(3,.42em);margin-left:.12em}.rune-loader-dots span{animation:rune-loader-dot 1.2s infinite;opacity:.18}.rune-loader-dots span:nth-child(2){animation-delay:.18s}.rune-loader-dots span:nth-child(3){animation-delay:.36s}@keyframes rune-loader-pulse{0%,to{opacity:.68;text-shadow:0 0 0 rgba(244,207,122,0)}50%{opacity:1;text-shadow:0 0 16px rgba(244,207,122,.28)}}@keyframes rune-loader-dot{0%,20%{opacity:.18;transform:translateY(0)}45%{opacity:1;transform:translateY(-1px)}75%,to{opacity:.18;transform:translateY(0)}}.turn-form{display:grid;grid-template-columns:142px 72px minmax(0,1fr) 118px;grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(10,8,7,.54)}.turn-form-warning{border-color:rgba(244,207,122,.55);box-shadow:0 0 0 1px rgba(244,207,122,.12)}.turn-form-submitted{background:rgba(5,4,4,.72)}.turn-form-attention{animation:turn-form-attention .72s ease}.turn-form-validation{grid-column:1/-1;margin:0;color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;font-weight:900;letter-spacing:0;animation:turn-validation-appear .38s ease}.turn-form-input-wrap{position:relative;min-width:0}.turn-form-input-wrap textarea{width:100%;min-height:72px;resize:none;border:0;outline:0;color:var(--ink);background:transparent;line-height:1.45}.turn-form-submitted .turn-form-input-wrap:after{position:absolute;inset:-4px;border:1px solid rgba(244,207,122,.22);border-radius:8px;background:rgba(0,0,0,.58);content:"";pointer-events:none}.turn-form-submitted textarea{color:rgba(249,237,214,.36);opacity:.64}.turn-form-submitted-label{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:0 14px;color:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.88rem;font-weight:900;letter-spacing:0;text-align:center;text-transform:uppercase;pointer-events:none;animation:turn-submitted-appear .28s ease}.turn-form-input-wrap textarea::placeholder{color:rgba(249,237,214,.44)}.input-mode-toggle{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.turn-form .input-mode-button{min-height:32px;padding:0 8px;color:var(--muted);background:rgba(217,169,74,.08);font-size:.72rem}.turn-form .input-mode-button.active{color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731)}.dice-roll-control{position:relative;min-width:0}.turn-form .dice-roll-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:72px;padding:8px;color:var(--gold-bright);background:rgba(217,169,74,.1)}.turn-form .dice-roll-button span{font-size:.72rem;line-height:1;text-transform:uppercase}.dice-picker-popover{position:absolute;bottom:calc(100% + 10px);left:0;z-index:8;display:grid;grid-gap:10px;gap:10px;width:228px;padding:10px;border:1px solid rgba(244,207,122,.42);border-radius:8px;background:rgba(20,14,10,.98);box-shadow:0 18px 46px rgba(0,0,0,.44);animation:dice-picker-appear .18s ease}.dice-picker-popover:after{position:absolute;bottom:-6px;left:27px;width:10px;height:10px;border-right:1px solid rgba(244,207,122,.42);border-bottom:1px solid rgba(244,207,122,.42);background:rgba(20,14,10,.98);content:"";transform:rotate(45deg)}.dice-picker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.turn-form .dice-picker-option{position:relative;min-height:42px;padding:0 8px;color:var(--gold-bright);background:rgba(217,169,74,.1)}.dice-picker-option strong{position:absolute;top:-7px;right:-5px;display:grid;min-width:20px;height:20px;place-items:center;padding:0 6px;border:1px solid rgba(244,207,122,.72);border-radius:999px;color:#1b120b;background:var(--gold-bright);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.68rem;line-height:1}.dice-picker-actions{display:grid;grid-template-columns:74px minmax(0,1fr);grid-gap:8px;gap:8px}.turn-form .dice-picker-clear,.turn-form .dice-picker-roll{min-height:42px}.turn-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px solid rgba(244,207,122,.45);border-radius:8px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731);font-family:ui-sans-serif,system-ui,sans-serif;font-weight:900}.turn-form button:disabled{cursor:not-allowed;opacity:.5}.turn-form .dice-picker-clear{color:var(--gold-bright);background:rgba(217,169,74,.08)}@keyframes dice-picker-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dice-reveal-backdrop{position:fixed;inset:0;z-index:40;background:radial-gradient(circle at 50% 48%,rgba(244,207,122,.08),transparent 34rem),rgba(5,4,3,.72);pointer-events:none;animation:dice-reveal-backdrop-appear .18s ease}.dice-reveal-panel{position:absolute;inset:0;overflow:hidden}.dice-reveal-canvas{position:absolute;inset:0;width:100%;height:100%}.dice-reveal-canvas canvas{display:block;width:100%!important;height:100%!important}.dice-reveal-fallback{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.dice-reveal-fallback-die{display:grid;width:clamp(78px,14vw,148px);height:clamp(78px,14vw,148px);place-items:center;border:2px solid rgba(244,207,122,.62);border-radius:22px;color:#1b120b;background:linear-gradient(145deg,rgba(255,244,210,.98),rgba(196,159,93,.92));box-shadow:0 24px 80px rgba(0,0,0,.5),inset 0 2px 12px rgba(255,255,255,.55);font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.6rem,5vw,3.3rem);font-weight:900;transform:rotate(12deg);animation:dice-reveal-fallback-roll .58s ease-in-out infinite alternate}.dice-reveal-fallback-die:empty:after{color:rgba(27,18,11,.72);content:"?"}.dice-reveal-summary{position:absolute;right:clamp(18px,4vw,48px);bottom:clamp(18px,4vw,48px);left:clamp(18px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:560px;margin:0 auto;padding:14px 16px;border:1px solid rgba(244,207,122,.34);border-radius:8px;background:rgba(12,8,6,.78);box-shadow:0 18px 48px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:ui-sans-serif,system-ui,sans-serif}.dice-reveal-summary span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.dice-reveal-summary strong{color:var(--gold-bright);font-size:1.35rem;letter-spacing:0}@keyframes dice-reveal-backdrop-appear{0%{opacity:0}to{opacity:1}}@keyframes dice-reveal-fallback-roll{0%{transform:translate(-8px,4px) rotate(-14deg) scale(.96)}to{transform:translate(8px,-4px) rotate(14deg) scale(1.04)}}@keyframes turn-submitted-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes turn-form-attention{0%,to{transform:translateX(0);box-shadow:0 0 0 1px rgba(244,207,122,.12)}18%{transform:translateX(-4px);box-shadow:0 0 0 2px rgba(244,207,122,.28)}36%{transform:translateX(4px)}54%{transform:translateX(-3px)}72%{transform:translateX(2px)}}@keyframes turn-validation-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.session-panel{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;padding:20px;border-left:1px solid var(--line);background:rgba(16,12,10,.34)}.session-panel section{padding-bottom:18px;border-bottom:1px solid rgba(226,176,93,.14)}.session-panel section:last-child{padding-bottom:0;border-bottom:0}.session-panel h3{margin-bottom:0;font-size:1.16rem;line-height:1.25}.player-panel{gap:16px}.player-card{display:grid;justify-items:center;grid-gap:12px;gap:12px}.character-portrait{display:grid;place-items:center;width:min(180px,100%);aspect-ratio:1;border:1px solid rgba(244,207,122,.3);border-radius:8px;color:rgba(249,237,214,.56);background:radial-gradient(circle at 50% 35%,rgba(244,207,122,.12),transparent 34%),#111;box-shadow:inset 0 0 45px rgba(0,0,0,.55)}.player-fields{display:grid;grid-gap:12px;gap:12px}.player-fields label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-weight:800;text-transform:uppercase}.player-fields input,.sheet-modal textarea{width:100%;border:1px solid rgba(226,176,93,.18);border-radius:8px;outline:0;color:var(--ink);background:rgba(10,8,7,.5);font:inherit}.player-fields input{min-height:42px;padding:0 12px;font-family:Georgia,Times New Roman,serif;font-size:1rem;text-transform:none}.player-fields input:focus,.sheet-modal textarea:focus{border-color:rgba(244,207,122,.68);box-shadow:0 0 0 3px rgba(217,169,74,.08)}.profile-update-button,.sheet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;border:1px solid rgba(244,207,122,.36);border-radius:8px;color:var(--gold-bright);background:rgba(217,169,74,.1);font-family:ui-sans-serif,system-ui,sans-serif;font-weight:900}.profile-update-button{margin-top:10px;color:#1b120b;background:linear-gradient(180deg,#f4cf7a,#c88731)}.sheet-button:hover{border-color:rgba(244,207,122,.68);background:rgba(173,71,43,.22)}.profile-update-button:hover{border-color:rgba(244,207,122,.72);background:linear-gradient(180deg,#ffe09a,#d49743)}.sheet-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:rgba(3,2,2,.72)}.sheet-modal{display:flex;flex-direction:column;width:min(720px,100%);height:min(720px,calc(100dvh - 44px));border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,248,220,.045),transparent 28%),rgba(26,19,15,.98);box-shadow:0 26px 90px rgba(0,0,0,.58)}.sheet-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.sheet-modal-header h2{margin-bottom:0;font-size:1.5rem}.sheet-modal-header button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(244,207,122,.32);border-radius:8px;color:var(--gold-bright);background:rgba(17,13,10,.48)}.sheet-modal textarea{flex:1 1;min-height:0;resize:none;border-width:0;border-radius:0 0 8px 8px;padding:18px;line-height:1.55}.stat-row{display:flex;align-items:center;min-height:32px;font-family:ui-sans-serif,system-ui,sans-serif}.clue-box,.stat-row{gap:10px;color:var(--muted)}.clue-box{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px}.clue-box p{margin-bottom:0;line-height:1.45}.mini-map{display:grid;place-items:center;height:150px;border:1px solid rgba(226,176,93,.18);border-radius:8px;color:var(--gold-bright);background:linear-gradient(45deg,rgba(244,207,122,.05) 25%,transparent 0),linear-gradient(-45deg,rgba(244,207,122,.05) 25%,transparent 0),rgba(95,119,81,.13);background-size:28px 28px}.floating-send{display:none}@media (max-width:1040px){.landing-scenario-grid,.landing-steps{grid-template-columns:1fr}.character-sheet-overlay-panel{width:min(860px,100%)}.dnd-sheet-header{flex-wrap:wrap}.dnd-sheet-header>button{margin-left:auto}.dnd-sheet-body{grid-template-columns:minmax(210px,.8fr) minmax(0,1fr)}.dnd-sheet-right{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.table-grid,.table-grid.session-panel-collapsed{grid-template-columns:252px minmax(0,1fr)}.new-adventure-shell{grid-template-columns:1fr}.new-adventure-heading h1{max-width:16ch}.session-panel{display:none}}@media (max-width:720px){.landing-hero{min-height:92dvh;padding:88px 18px 48px}.landing-background{object-position:58% center}.landing-nav{min-height:64px;padding:16px 18px}.landing-nav nav{gap:14px;font-size:.76rem}.landing-hero-copy{padding-top:0}.landing-hero h1{max-width:12ch;margin-bottom:24px}.landing-actions{width:100%}.landing-button{width:min(100%,330px);min-height:58px;padding:17px 22px;font-size:.88rem}.landing-section{width:min(100% - 32px,1120px)}.table-page{padding:0}.play-table{height:100dvh;border-width:0;border-radius:0}.new-adventure-page{padding:0}.new-adventure-shell{min-height:100dvh;border-width:0;border-radius:0}.ability-score-grid,.build-mode-picker>div,.character-builder-grid,.character-summary-grid,.class-picker>div,.genre-picker>div,.mode-picker,.quick-fantasy-picker>div{grid-template-columns:1fr}.character-creation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.table-header{padding:14px}.brand-mark{width:44px;height:44px}.status-pill{display:none}.character-sheet-overlay{padding:10px}.character-sheet-overlay-panel{height:calc(100dvh - 20px)}.dnd-sheet-header{gap:10px;padding:10px}.dnd-sheet-meta-grid,.dnd-sheet-nameplate{flex-basis:100%}.dnd-sheet-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dnd-sheet-body{grid-template-columns:1fr;padding:10px}.dnd-combat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dnd-combat-grid .dnd-sheet-box,.dnd-combat-grid .dnd-sheet-box:nth-child(n+4){grid-column:auto}.dnd-sheet-right{grid-column:auto;grid-template-columns:1fr}.table-grid,.table-grid.session-panel-collapsed{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.chat-sidebar{max-height:320px;border-right:0;border-bottom:1px solid var(--line);padding:14px}.chat-sidebar-history{flex:1 1 65%;padding-bottom:10px}.chat-sidebar-actions{flex:0 0 auto;padding-top:10px}.chat-sidebar-actions button{min-height:42px}.chat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto}.chat-list-item{min-height:84px}.chat-list-item em{display:none}.story-column{padding:14px}.message-log{min-height:0}.turn-form{grid-template-columns:64px 1fr}.input-mode-toggle{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.turn-form .dice-roll-button,.turn-form button{min-height:46px}.turn-form-input-wrap{grid-column:span 1}.turn-form button[type=submit]{grid-column:1/-1}}.loading-table{display:grid;place-items:center}