/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-950:oklch(27.1% .105 12.094);--color-zinc-50:oklch(98.5% 0 none);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-canvas:#080e14;--theme-surface:#111923;--theme-surface-raised:#1b2530;--theme-border:#34404c;--theme-accent:#d5b477;--theme-accent-strong:#806230;--theme-secondary:#6fc3a1;--theme-text:#f0eadf;--theme-text-muted:#a4afb9;--theme-focus:#f2d49a;--font-display:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--radius-panel:14px;--surface-shadow:0 12px 36px #0005;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=midnight]{--theme-canvas:#0c0d18;--theme-surface:#171927;--theme-surface-raised:#24273a;--theme-border:#41445e;--theme-accent:#b9aff0;--theme-accent-strong:#7266aa;--theme-focus:#d9d2ff}body{background:var(--theme-canvas);min-width:320px;min-height:100dvh;color:var(--theme-text);margin:0}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:not(:disabled),summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--theme-focus);outline-offset:4px}label:focus-within{outline-color:var(--theme-focus)}input:not([type=checkbox]):not([type=file]),textarea,select{color:var(--theme-text);background:var(--theme-canvas);border-color:var(--theme-border)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--theme-accent)}h1,h2{font-family:var(--font-display);font-weight:500}img{display:block}:root{--theme-canvas:#090c14;--theme-surface:#101624;--theme-surface-raised:#1a2435;--theme-border:#c4944f55;--theme-accent:#e5b66b;--theme-accent-strong:#6b369d;--theme-secondary:#12cc91;--theme-text:#f5eee4;--theme-text-muted:#afb4c4;--theme-focus:#f3cc89;--theme-art:url(/art/dungeon.webp);--theme-atmosphere:#13414c}:root[data-theme=forest]{--theme-art:url(/art/forest.webp);--theme-atmosphere:#163e2e;--theme-secondary:#5fe4a1}:root[data-theme=tavern]{--theme-art:url(/art/tavern.webp);--theme-atmosphere:#522c19;--theme-secondary:#f5bc76}:root[data-theme=midnight]{--theme-art:url(/art/night.webp);--theme-atmosphere:#292855;--theme-canvas:#090c14;--theme-surface:#101624;--theme-surface-raised:#1a2435;--theme-border:#c4944f55;--theme-accent:#e5b66b;--theme-focus:#f3cc89;--theme-accent-strong:#6b369d}button,input,select,textarea{font:inherit}button{transition:transform .14s,border-color .14s,background-color .14s}button:active:not(:disabled){transform:translateY(1px)}}@layer components{.app-themed-background,.product-shell{background:radial-gradient(ellipse at 35% 0%, #28425155, transparent 60%), radial-gradient(ellipse at 100% 85%, #173c3a38, transparent 55%), var(--theme-canvas);color:var(--theme-text)}.product-shell{min-height:100dvh}.theme-panel{border:1px solid var(--theme-border);background:var(--theme-surface)}@supports (color:color-mix(in lab, red, red)){.theme-panel{background:color-mix(in srgb, var(--theme-surface) 94%, transparent)}}.theme-panel{color:var(--theme-text)}.theme-button,.theme-button-secondary,.danger-button{border:1px solid var(--theme-border);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}:root[data-theme=midnight] .theme-button{background:var(--theme-accent-strong);color:#fff;border-color:var(--theme-accent)}.theme-button-secondary{background:var(--theme-surface-raised);color:var(--theme-text)}.theme-button:hover,.theme-button-secondary:hover{border-color:var(--theme-focus);filter:brightness(1.08)}.danger-button{color:#f4a7a7;background:#562b3333;border-color:#9f535f}.eyebrow,.rail-heading{letter-spacing:.14em;text-transform:uppercase;color:var(--theme-text-muted);font-size:10px;font-weight:600;line-height:1.5}.rail-heading{border-bottom:1px solid #c5a67540;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 0 14px;display:flex}.rail-heading h2{font-family:inherit;font-size:inherit}.icon-button{width:36px;height:36px;color:var(--theme-text-muted);border:1px solid #0000;border-radius:50%;place-items:center;display:inline-grid}.icon-button:hover{background:var(--theme-surface-raised);color:var(--theme-accent);border-color:var(--theme-border)}.text-button{min-height:44px;color:var(--theme-accent);padding:0 8px;font-size:11px}.error-message{color:#ffc4cb;background:#55293670;border-radius:8px;margin-top:10px;padding:10px;font-size:12px}.game-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c141ceb;border-bottom:1px solid #a68b553a;padding:12px 24px;position:sticky;top:0}.game-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1800px;margin:auto;display:flex}.game-header h1{letter-spacing:.02em;font-size:21px}.game-header .theme-select>span{display:none}.theme-select select{background:0 0;border-color:#0000;max-width:160px;min-height:40px}.game-layout{grid-template-columns:210px minmax(0,1fr) 240px;align-items:start;gap:24px;max-width:1800px;margin:auto;padding:28px 24px;display:grid}.master-rail{order:1}.game-center{order:2}.players-rail{order:3}.session-rail{min-width:0;padding-top:7px}.participant-card{align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.participant-avatar{width:48px;height:48px;color:var(--theme-accent);font-family:var(--font-display);background:linear-gradient(135deg,#435160,#1e2835);border:1px solid #667482;border-radius:50%;flex:none;place-items:center;font-size:17px;display:grid;position:relative;box-shadow:0 3px 12px #0005}.participant-avatar>img{object-fit:cover;border-radius:50%;width:100%;height:100%}.participant-copy{flex:1;min-width:0}.participant-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.participant-copy p{color:var(--theme-text-muted);margin-top:4px;font-size:10px}.avatar-change{min-height:32px;color:var(--theme-accent);cursor:pointer;align-items:center;font-size:10px;display:inline-flex;position:relative}.avatar-change:focus-within{outline:2px solid var(--theme-focus);border-radius:4px}.mic-badge{background:var(--theme-surface);border:1px solid var(--theme-border);width:22px;height:22px;color:var(--theme-text-muted);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.mic-badge svg{width:12px;height:12px}.mic-slash{background:currentColor;width:13px;height:1px;position:absolute;transform:rotate(45deg)}[data-microphone-on=true] .mic-badge{color:var(--theme-secondary)}[data-speaking=true] .participant-avatar{border-color:var(--theme-secondary);box-shadow:0 0 0 3px #6fc3a12b,0 0 20px #6fc3a11a}[data-speaking=true] .participant-copy p{color:var(--theme-secondary)}.room-invite{border-top:1px solid var(--theme-border);margin-top:24px;padding-top:18px}.room-invite>div{justify-content:space-between;align-items:center;display:flex}.room-invite strong{letter-spacing:.16em;font-family:ui-monospace,monospace;font-size:16px}.voice-panel{border-top:1px solid var(--theme-border);margin-top:20px;padding-top:18px}.voice-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.voice-panel h3{font-family:var(--font-display);font-size:15px;font-weight:500}.voice-controls{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.voice-controls button{width:100%}.voice-note,.upload-status{color:var(--theme-text-muted);margin-top:10px;font-size:11px}.session-flourish{font-family:var(--font-display);color:#8296a6;justify-items:center;gap:12px;margin-top:50px;font-size:12px;font-style:italic;display:grid}.session-flourish svg{color:#b59a6160;width:32px;height:32px}.player-roster{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.roster-entry{border:1px solid #0000;border-radius:10px;min-width:0;padding:4px 8px;position:relative}.roster-entry[data-selected=true]{background:#d5b4770e;border-color:#d5b47755}.roster-actions{justify-content:flex-end;margin-top:-8px;display:flex}.roster-actions .icon-button{width:32px;height:32px}.roster-hint,.empty-roster{color:var(--theme-text-muted);margin-top:20px;font-size:12px;line-height:1.7}.scene-navigation{scrollbar-width:thin;align-items:start;gap:8px;padding:0 0 14px;display:flex;overflow-x:auto}.scene-tab{min-width:105px;min-height:42px;color:var(--theme-text-muted);border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:12px}.scene-tab-idle:hover{color:var(--theme-text);background:var(--theme-surface)}.current-scene-badge{color:var(--theme-secondary);text-align:center;letter-spacing:.05em;margin-top:3px;font-size:9px;display:block}.board-frame{box-shadow:var(--surface-shadow);background:#0b121b;border:1px solid #57606a;border-radius:14px}.scene-canvas{background-color:#101d28;background-image:linear-gradient(#41556815 1px,#0000 1px),linear-gradient(90deg,#41556815 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:13px 13px 0 0;position:relative;overflow:hidden}.board-hud{background:linear-gradient(90deg,#16202b,#0d1620);border-top:1px solid #45536380;border-radius:0 0 13px 13px;justify-content:space-between;align-items:center;gap:10px;min-height:62px;padding:8px 12px;display:flex;position:relative}.scene-editor{order:1}.editor-launcher{background:#ffffff06;border:1px solid #53606d66;border-radius:8px;gap:2px;display:flex}.editor-launcher button[aria-pressed=true]{color:var(--theme-accent);background:#d5b47712}.editor-drawer{z-index:35;background:var(--theme-surface);border:1px solid var(--theme-border);border-top:2px solid var(--theme-accent);width:min(340px,100vw - 32px);max-height:min(60dvh,600px);box-shadow:var(--surface-shadow);border-radius:12px;padding:20px;position:absolute;bottom:calc(100% + 12px);left:0;overflow:auto}.dice-hud{flex:1;order:2;justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}.activity-button{text-align:right;gap:2px;min-width:0;max-width:180px;min-height:44px;display:grid}.activity-button>span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.activity-button strong{color:var(--theme-accent);margin-left:8px;font-size:16px}.dice-launcher{width:46px;height:46px;color:var(--theme-accent);flex:none;place-items:center;display:grid;position:relative}.dice-launcher svg{opacity:.5;width:44px;height:44px;position:absolute}.dice-launcher span{background:#111923;padding:2px;font-size:11px;font-weight:600}.game-dialog{width:min(480px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--theme-text);background:var(--theme-surface);border:1px solid #d5b47766;border-top:2px solid var(--theme-accent);border-radius:16px;margin:auto;padding:0;overflow:auto;box-shadow:0 30px 100px #0009}.game-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030a12c9}.dialog-heading{border-bottom:1px solid var(--theme-border);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.dialog-heading h2{font-size:22px}.dialog-content{padding:20px 22px}.hud-tabs{border-bottom:1px solid var(--theme-border);gap:24px;margin-bottom:20px;display:flex}.hud-tabs button{min-height:44px;padding:0 4px;font-size:12px}.hud-tabs button[aria-pressed=true]{color:var(--theme-accent);border-bottom:2px solid var(--theme-accent)}.dice-options{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.dice-options button{border:1px solid var(--theme-border);color:var(--theme-accent);background:linear-gradient(145deg,#36415066,#1a27333a);border-radius:10px;justify-items:center;gap:10px;padding:18px 8px;display:grid}.dice-options svg{width:36px;height:36px}.dice-history{gap:8px;display:grid}.dice-history li{background:var(--theme-surface-raised);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.dice-history li div{gap:4px;font-size:12px;display:grid}.dice-history li span{color:var(--theme-text-muted)}.roll-total{font-family:var(--font-display);color:var(--theme-accent);font-size:30px}.accessible-tokens{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.accessible-tokens:focus-within{clip-path:none;flex-wrap:wrap;gap:10px;width:auto;height:auto;padding:12px;display:flex;position:relative}.accessible-tokens button{min-height:44px;font-size:12px}.role-shell{position:relative;overflow:hidden}.role-shell:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #c8a86e14;border-radius:50%;width:min(85vw,760px);position:absolute;box-shadow:0 0 0 60px #c8a86e05,0 0 0 120px #c8a86e03}.role-card{background:linear-gradient(145deg,#20324177,#101821d9);border:1px solid #8b9eaa30;border-top-color:#d4b47770;border-radius:18px;width:100%;max-width:720px;padding:48px;position:relative;box-shadow:0 25px 70px #0005}.role-card h1{font-size:clamp(36px,6vw,58px);line-height:1.15}.role-choice{text-align:left;background:linear-gradient(145deg,#3a4e5b40,#17263355);border:1px solid #667d8755;border-radius:12px;min-height:160px;padding:24px;position:relative}.role-choice:hover{border-color:var(--theme-accent);background:#d5b4770b}.role-choice>span:first-child{font-family:var(--font-display);color:var(--theme-accent);font-size:26px}.role-choice:after{content:"↗";color:var(--theme-accent);position:absolute;top:24px;right:24px}.product-panel{border:1px solid var(--theme-border);box-shadow:var(--surface-shadow);background:#16222dba;border-radius:16px}.character-shell{box-shadow:none;background:#101a25a6;border:0;border-radius:10px}.character-nav{grid-template-columns:repeat(3,1fr);gap:4px;padding:5px;display:grid}.character-nav button{min-height:44px;color:var(--theme-text-muted);background:0 0;border:0;border-radius:7px;font-size:12px}.character-nav button[aria-expanded=true]{color:var(--theme-accent);box-shadow:inset 0 -2px var(--theme-accent);background:#d5b47718}@media (width>=1600px){.game-layout{grid-template-columns:240px minmax(0,1fr) 260px;gap:32px}}@media (width<=1023px){.theme-select{font-size:0}.theme-select select{min-height:36px;padding-left:0;font-size:11px}.voice-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.dice-hud{gap:6px}.game-dialog{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 24px);padding-bottom:env(safe-area-inset-bottom);border-radius:20px 20px 0 0;margin:auto 0 0}.dialog-heading{padding:16px 20px}.dialog-heading .icon-button{width:44px;height:44px}.dialog-content{padding:16px 20px 24px}.avatar-change{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.roster-master{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:4px;display:grid}.roster-main{min-width:0;position:relative}.roster-select{border-radius:6px;position:absolute;inset:0}.roster-select:hover{background:#d5b47708}.roster-actions{margin:0}.role-card{padding:clamp(24px,5vw,48px)}.product-shell,.app-themed-background{isolation:isolate;background:linear-gradient(#090c1448, #090c14b5), var(--theme-art) center / cover, radial-gradient(ellipse at top, var(--theme-atmosphere), transparent), var(--theme-canvas);position:relative}.app-brand{color:var(--theme-accent);flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.app-brand svg{filter:drop-shadow(0 0 8px #e5b66b30);width:43px;height:43px}.app-brand>span{font-family:var(--font-display);letter-spacing:.07em;white-space:nowrap;font-size:20px}.app-brand b{font-weight:500}.app-brand small{letter-spacing:.24em;color:#b8996d;margin-top:3px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;display:block}.ornate-panel,.session-rail,.board-frame,.room-card,.role-card{background-color:#0b101ce0;border:1px solid #b58a4b70;border-radius:3px;position:relative;box-shadow:inset 0 0 0 3px #080e18,inset 0 0 0 4px #b58a4b22,0 12px 40px #0005}.ornate-panel:after,.session-rail:after,.board-frame:after,.room-card:after,.role-card:after{content:"";pointer-events:none;z-index:3;background:linear-gradient(135deg,#e5b66b 0 1px,#0000 1px) 0 0/15px 15px no-repeat,linear-gradient(225deg,#e5b66b 0 1px,#0000 1px) 100% 0/15px 15px no-repeat,linear-gradient(45deg,#e5b66b 0 1px,#0000 1px) 0 100%/15px 15px no-repeat,linear-gradient(315deg,#e5b66b 0 1px,#0000 1px) 100% 100%/15px 15px no-repeat;border-style:solid;border-width:1px;border-image:linear-gradient(120deg,#e5b66b90,#e5b66b08,#e5b66b80) 1;position:absolute;inset:-1px}.rail-heading{color:#d4b27e;letter-spacing:.16em;padding-bottom:12px;font-size:10px}.rail-heading:after{content:"◆";color:#b58a4b;margin-left:8px;font-size:7px}.game-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(90deg,#0b101af5,#151722dc,#0b101af5);border-bottom:1px solid #b58a4b80;padding:14px 18px}.game-header-inner{gap:24px}.game-header-inner>.game-title-group:first-of-type{flex:1}.game-header h1{color:#fff3de;font-size:23px}.game-header-inner>.game-title-group>button{order:2;margin-left:auto;font-size:11px}.header-tools>button{align-items:center;gap:8px;display:flex}.game-layout{grid-template-columns:220px minmax(0,1fr) 236px;gap:16px;padding:18px 16px 32px}.session-rail{padding:16px 14px}.participant-card{gap:12px;padding:10px 0}.participant-avatar{background:radial-gradient(circle at 30% 20%,#435764,#151a29);border:2px solid #bd9a5f;box-shadow:0 0 0 3px #b58a4b20,0 4px 18px #0008}.participant-copy strong{font-family:var(--font-display);color:#f5eee4;font-size:16px}.participant-copy p{font-size:10px;line-height:1.5}.master-rail .participant-avatar{width:64px;height:64px}.avatar-change{min-height:44px}.roster-entry{background:linear-gradient(100deg,#171e2b80,#0b101c70);border:1px solid #b58a4b20;border-radius:3px;padding:9px 6px}.roster-master{grid-template-columns:minmax(0,1fr) 32px;gap:0}.roster-entry[data-selected=true]{border-color:#d6ad62;box-shadow:inset 0 0 18px #d6ad6210,0 0 10px #d6ad6210}.roster-entry .participant-copy strong{font-size:14px}.icon-button{min-width:44px;min-height:44px}.roster-actions .icon-button{width:32px;min-width:32px}.room-invite{background:#050b1680;border:1px solid #b58a4b35;margin-top:18px;padding:10px 12px}.room-invite strong{letter-spacing:.12em;font-size:14px}.voice-panel{margin-top:18px;padding-top:15px}.voice-controls button{min-height:44px}.session-flourish{color:#d7bb91;text-align:center;margin:34px 0 12px}.scene-navigation{gap:6px;padding-bottom:12px}.scene-tab{color:#c4beaf;border-radius:3px;min-height:44px}.scene-tab-selected{color:#efd3a4;background:linear-gradient(#b58a4b22,#b58a4b06);border-color:#b58a4b90}.current-scene-badge{margin-top:2px;font-size:8px}.scene-canvas{aspect-ratio:16/9;background:radial-gradient(#112a35,#080e18);border-radius:2px 2px 0 0;height:auto}.map-art-plane{pointer-events:none;will-change:transform;background:50%/contain no-repeat;position:absolute;top:0;left:0}.scene-canvas .konvajs-content{touch-action:none}.map-title{z-index:5;text-align:center;pointer-events:none;background:#0c111be0;border:1px solid #bd9a5f60;max-width:70%;padding:9px 24px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0006}.map-title strong{font:19px var(--font-display);color:#f2d6a5;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.map-title .eyebrow{font-size:8px}.map-tools,.map-zoom{z-index:5;background:#080e19e6;border:1px solid #b58a4b60;border-radius:4px;padding:3px;display:grid;position:absolute;box-shadow:0 4px 16px #0006}.map-tools{gap:3px;top:76px;left:10px}.map-zoom{bottom:12px;right:10px}.map-tools button,.map-zoom button{color:#d8c2a0;border-radius:3px;place-items:center;width:44px;height:44px;display:grid}.map-tools button[aria-pressed=true]{color:#e7b6ff;background:linear-gradient(135deg,#8e3dce66,#5d2f9655);box-shadow:inset 0 0 0 1px #ac58de80,0 0 12px #903cff30}.map-zoom output{text-align:center;color:#d8c2a0;font-size:9px}.board-hud{background:linear-gradient(90deg, #0c1422ee, #182338d9), var(--theme-art) bottom / cover;border-color:#b58a4b70;border-radius:0;min-height:94px;padding:10px 20px}.editor-launcher{background:#0b101be8;border-color:#b58a4b50;border-radius:3px}.editor-launcher button{min-height:44px}.dice-hud{gap:20px}.dice-launcher{color:#fff;width:84px;height:78px}.dice-launcher img{object-fit:contain;filter:drop-shadow(0 0 12px #ac54f980);width:104px;height:104px;transition:transform .24s;position:absolute;inset:-16px -8px}.dice-launcher:hover img{transform:rotate(8deg)scale(1.08)}.dice-launcher span{z-index:1;color:#fae6ff;text-shadow:0 0 6px #34075c;font:bold 17px var(--font-display);background:0 0;border:0;position:relative}.dice-ritual{justify-items:center;margin:8px 0 24px;display:grid}.dice-ritual img{object-fit:contain;filter:drop-shadow(0 0 20px #903cff80);width:160px;height:160px}.dice-ritual p{font:italic 14px var(--font-display);color:#d0b78d}.room-workspace{margin-top:16px;padding:16px}.workspace-summary{align-items:center;gap:18px;margin-bottom:14px;display:flex}.workspace-summary h2{color:#f1d7ab;margin:3px 0;font-size:21px}.workspace-summary p:last-child{color:#b7b6bc;font-size:11px}.workspace-emblem{background:#151c2c;border:1px solid #b58a4b70;border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.workspace-emblem img{object-fit:cover;width:100%;height:100%}.workspace-emblem svg{color:#d7b178;width:30px;height:30px}.character-shell{background:#0a101b90;border-color:#b58a4b40;border-radius:3px}.character-nav button{font-family:var(--font-display);border-radius:3px;font-size:15px}.character-nav button[aria-expanded=true]{color:#f2d2ff;background:#903cff20;box-shadow:inset 0 -2px #b16af0}.game-dialog{background:linear-gradient(#0b101af2, #0b101afa), var(--theme-art) center / cover;border-color:#b58a4b80;border-radius:8px}.dialog-heading{border-color:#b58a4b50}.room-settings-dialog{width:min(1000px,100vw - 48px)}.settings-cover{background:linear-gradient(90deg, #090c14c4, #090c1430), var(--theme-art) center / cover;border-bottom:1px solid #b58a4b50;margin:-20px -22px 24px;padding:30px}.settings-cover h3{font:28px var(--font-display);color:#f3d5a4;margin-top:6px}.settings-cover p{color:#c5c2bf;margin-top:5px;font-size:11px}.settings-form>label{font-size:13px}.settings-atmosphere{padding:12px 0}.settings-atmosphere h3,.lifecycle-boundary h3{font:20px var(--font-display);color:#e5c18a}.settings-atmosphere>p{color:#b1b5c4;margin:6px 0 16px;font-size:12px}.theme-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.theme-gallery>button{text-align:left;background:#101624;border:1px solid #b58a4b60;border-radius:5px;min-width:0;position:relative;overflow:hidden}.theme-gallery img{object-fit:cover;opacity:.8;width:100%;height:118px;transition:opacity .24s}.theme-gallery button:hover img,.theme-gallery button[aria-pressed=true] img{opacity:1}.theme-gallery button[aria-pressed=true]{border-color:#be78fc;box-shadow:0 0 0 1px #903cff60,0 0 16px #903cff30}.theme-gallery span{padding:12px 10px;display:block}.theme-gallery strong{font:17px var(--font-display);color:#f5eee4;display:block}.theme-gallery small{color:#afb4c4;margin-top:4px;font-size:9px;line-height:1.5;display:block}.theme-check{color:#fff;background:#903cff;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:8px;right:8px}.settings-code{background:#070d18a0;border:1px solid #b58a4b50;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.settings-code strong{letter-spacing:.15em;margin-top:4px;font:18px ui-monospace,monospace;display:block}.settings-code button{min-height:44px;padding:0 16px}.settings-switch{background:#101624b0;border:1px solid #b58a4b30;min-height:58px;padding:12px 16px}.settings-switch input{accent-color:#903cff;order:2;width:36px;height:22px;margin-left:auto}.lifecycle-boundary{border-top:1px solid #b58a4b40;margin:10px 0;padding:20px 0}.lifecycle-boundary>div{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.lifecycle-boundary button{border:1px solid #b58a4b80;border-radius:4px;align-items:center;gap:8px;min-height:44px;padding:0 16px;display:flex}.lifecycle-boundary button:last-child{color:#ffb4c7;border-color:#ae4262}.lifecycle-boundary p{color:#adb3c4;max-width:650px;font-size:12px;line-height:1.6}.mobile-room-dock{display:none}.ambient-embers{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.ambient-embers i{background:#e5b66b;border-radius:50%;width:3px;height:3px;animation:9s linear infinite ember-rise;position:absolute;bottom:4%;left:4%;box-shadow:0 0 16px 3px #dc7a3350}.ambient-embers i:nth-child(2){animation-delay:-4s;left:95%}.ambient-embers i:nth-child(3){animation-delay:-7s;left:12%}[data-speaking=true] .participant-avatar{border-color:#12cc91;animation:2s ease-in-out infinite speaker-halo}.theme-button,.theme-button-secondary,.danger-button{border-radius:4px;min-height:44px}.theme-button,:root[data-theme=midnight] .theme-button{color:#fff0ff;background:linear-gradient(#7b42ad,#56257c);border-color:#aa6dde}.theme-button-secondary{background:linear-gradient(#182130,#0f1725);border-color:#b58a4b60}@media (width>=1600px){.game-layout{grid-template-columns:245px minmax(0,1fr) 265px;gap:18px}}@media (width>=1024px) and (width<=1199px){.game-layout{grid-template-columns:170px minmax(0,1fr) 190px;gap:12px;padding:14px 12px}.session-rail{padding:12px 8px}.master-rail .participant-avatar{width:48px;height:48px}.participant-copy strong{font-size:12px}.game-header .app-brand{gap:6px}.app-brand>span{font-size:15px}.app-brand svg{width:34px;height:34px}.game-header-inner{gap:12px}.game-header h1{font-size:18px}.settings-label{display:none}}@media (width<=1023px){.product-shell,.app-themed-background{background-attachment:scroll}.room-settings-dialog{width:100%}.game-dialog{border-radius:18px 18px 0 0}.settings-cover{margin:-16px -20px 20px;padding:24px 20px}.settings-cover h3{font-size:24px}.theme-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-gallery img{height:110px}.theme-gallery strong{font-size:16px}.theme-gallery small{font-size:9px}.settings-switch{font-size:13px}.lifecycle-boundary>div{flex-direction:column}.lifecycle-boundary button{justify-content:center}}.lobby-container{max-width:1800px;margin:auto}.lobby-header{background:#0b101ce0;border-bottom:1px solid #b58a4b80;align-items:center;gap:22px;padding:20px 28px;display:flex}.lobby-header h1{font:28px var(--font-display);color:#f3d5a4}.lobby-header p{color:#afb4c4;margin-top:3px;font-size:11px}.lobby-header>div{flex:1}.lobby-header>button{padding:0 16px;font-size:12px}.lobby-header .icon-button{padding:0}.lobby-layout{grid-template-columns:220px minmax(0,1fr) 250px;align-items:start;gap:22px;padding:28px;display:grid}.lobby-navigation{padding:20px 12px}.lobby-navigation>p{padding:0 12px 18px}.lobby-navigation>a,.lobby-navigation>button{color:#d4c4ab;text-align:left;border-bottom:1px solid #b58a4b20;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;font-size:13px;display:flex}.lobby-navigation a:first-of-type{color:#efd3a4;background:linear-gradient(90deg,#b58a4b20,#0000)}.lobby-navigation a>span{color:#b58a4b;margin-left:auto}.lobby-navigation-art{text-align:center;background:radial-gradient(circle,#903cff20,#0000 65%);padding:32px 10px 20px;position:relative}.lobby-navigation-art img{object-fit:contain;filter:drop-shadow(0 0 18px #903cff50);width:130px;height:130px;margin:auto}.lobby-navigation-art p{font:italic 18px/1.5 var(--font-display);color:#d7bb91}.lobby-hero{background:linear-gradient(90deg,#080c16d9,#080c1620),url(/art/night.webp) 50%/cover;border:1px solid #b58a4b70;min-height:260px;padding:40px 30px;box-shadow:inset 0 0 0 4px #b58a4b15}.lobby-hero h2{color:#fff0d6;max-width:320px;margin:8px 0;font-size:34px}.lobby-hero p{color:#cdc4bb;max-width:250px;font-size:12px;line-height:1.7}.lobby-hero button{margin-top:22px;padding:0 18px;font-size:12px}.lobby-section-heading{border-bottom:1px solid #b58a4b50;margin-top:30px;padding-bottom:16px}.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.room-card{overflow:hidden}.room-card-cover{object-fit:cover;width:100%;height:175px}.room-state{color:#e5d7be;background:#0b101ce8;border:1px solid #b58a4b80;border-radius:3px;padding:5px 9px;font-size:10px;position:absolute;top:12px;left:12px}.room-card-menu{color:#efd3a4;background:#0b101ccc;border:1px solid #b58a4b60;position:absolute;top:6px;right:6px}.room-card-content{background:linear-gradient(#18213060,#0b101cd9);padding:18px}.room-card h3{font:21px var(--font-display);color:#f3d7a9;overflow-wrap:anywhere}.room-card-content p{color:#b1b5c4;margin:7px 0 16px;font-size:10px}.room-card-content button{justify-content:space-between;width:100%;min-height:44px;padding:8px 10px;font-size:11px}.lobby-profile{padding:20px 18px}.lobby-profile h2{color:#f3d7a9;border-bottom:1px solid #b58a4b50;padding-bottom:16px}.lobby-profile img{object-fit:cover}.lobby-profile .size-24{border-color:#b58a4b80;width:64px;height:64px;box-shadow:0 0 0 4px #b58a4b15}.lobby-profile .grid>div>span:last-child{overflow-wrap:anywhere}.lobby-profile button{min-height:44px}.join-card{overflow:hidden}.join-art{background:linear-gradient(#090c1450,#090c1450),url(/art/night.webp) 50%/cover;border-block:1px solid #b58a4b60;place-items:center;height:130px;margin:20px -24px 0;display:grid}.join-art img{object-fit:contain;filter:drop-shadow(0 0 16px #903cff80);width:110px;height:110px}.create-room-art{background:linear-gradient(#090c1440,#090c1440),url(/art/night.webp) 50%/cover;border-bottom:1px solid #b58a4b50;height:140px;margin:-20px -22px 20px}.archive-emblem{color:#e5b66b;place-items:center;padding:25px;display:grid}.archive-emblem svg{filter:drop-shadow(0 0 12px #e5b66b40);width:72px;height:72px}.role-card{background:linear-gradient(110deg,#0b101cf5,#0b101cb8)}.role-choice{background:linear-gradient(135deg,#20324090,#0b101cc0);border-color:#b58a4b70;border-radius:4px}.role-choice>svg{color:#e5b66b;width:30px;height:30px;margin-bottom:14px}@media (width>=1024px) and (width<=1199px){.lobby-layout{grid-template-columns:170px minmax(0,1fr) 200px;gap:16px;padding:20px}.lobby-hero h2{font-size:28px}.room-card h3{font-size:17px}.room-card-content{padding:12px}}@media (width<=1023px){.lobby-header{padding:calc(12px + env(safe-area-inset-top)) 12px 12px;flex-wrap:wrap;gap:10px}.lobby-header .app-brand>span{font-size:14px}.lobby-header .app-brand svg{width:32px;height:32px}.lobby-header>div{flex-basis:100%;order:3}.lobby-header h1{font-size:25px}.lobby-header .theme-select{margin-left:auto}.lobby-header .theme-select select{max-width:116px;font-size:10px}.lobby-header>.theme-button-secondary{display:none}.lobby-layout{padding:12px 12px calc(28px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:16px}.lobby-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:4px;display:grid}.lobby-navigation>.eyebrow,.lobby-navigation-art{display:none}.lobby-navigation>a,.lobby-navigation>button{text-align:center;border:0;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:6px 2px;font-size:9px}.lobby-navigation>a>span{display:none}.lobby-hero{min-height:240px;padding:28px 20px}.lobby-hero h2{max-width:250px;font-size:28px}.lobby-section-heading{margin-top:24px}.lobby-section-heading h2{font-size:20px}.room-card-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px}.room-card{grid-template-columns:110px minmax(0,1fr);min-height:170px;display:grid}.room-card-cover{height:100%;min-height:170px}.room-state{padding:3px 6px;font-size:8px;top:8px;left:8px}.room-card-content{padding:20px 14px 14px}.room-card h3{padding-right:24px;font-size:20px}.room-card-content p{margin:10px 0 14px}.room-card-menu{border-radius:3px;width:36px;min-width:36px;min-height:44px;top:4px;right:4px}.room-card-content button{padding:7px 8px;font-size:10px}.lobby-profile{padding:18px}.create-room-art{margin:-16px -20px 16px}.role-shell{align-content:center}.role-card .app-brand>span{font-size:17px}}.theme-select{display:grid}.mobile-leave-button{display:none}.lifecycle-room-name{font:24px var(--font-display);color:#f3d7a9;text-align:center;margin-bottom:16px}.lifecycle-confirm-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.lifecycle-confirm-actions button{padding:8px 16px}.archived-room-list{gap:18px;display:grid}.archived-room-list>li{padding:20px}.archived-room-list h3{font:22px var(--font-display);color:#f3d7a9}.file-picker-label{border:1px solid var(--theme-border);background:var(--theme-canvas);min-height:48px;color:var(--theme-text-muted);overflow-wrap:anywhere;cursor:pointer;align-items:center;padding:12px 16px;display:flex}label:focus-within>.file-picker-label{outline:2px solid var(--theme-accent);outline-offset:3px}.join-card{border-radius:3px;box-shadow:inset 0 0 0 3px #080e18,inset 0 0 0 4px #b58a4b22,0 16px 60px #0009}.join-card button[type=submit]{color:#fff3de;background:linear-gradient(160deg,#8e45b8,#592883);border:1px solid #bf75ee80;border-radius:3px}.app-update-notice{bottom:calc(12px + env(safe-area-inset-bottom));z-index:100;background:var(--theme-surface);width:min(420px,100vw - 24px);color:var(--theme-text);border:1px solid var(--theme-accent);border-radius:8px;padding:16px;font-size:13px;position:fixed;left:12px;box-shadow:0 4px 24px #0008}.app-update-notice button{min-height:44px;margin-top:10px;padding:8px 14px}.voice-settings{margin-top:12px;font-size:12px}.voice-settings summary{cursor:pointer;color:var(--theme-accent);padding:8px 0}.voice-settings-grid{gap:10px;padding-top:8px;display:grid}.voice-settings-grid label{gap:4px;display:grid}.voice-settings-grid select{border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:6px;width:100%;min-height:44px;padding:6px}.voice-settings-grid meter{width:100%}.voice-settings-grid button{min-height:44px;padding:8px}.lss-group-panel{border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:8px;gap:10px;margin:16px 0;padding:12px;font-size:12px;display:grid}.lss-group-panel button{min-height:44px;padding:8px}.lss-group-frame{background:var(--theme-surface);border:0;width:100%;height:clamp(28rem,65vh,50rem)}.lss-inline-workspace[open]{border:1px solid var(--theme-border);width:100%;max-width:100%;max-height:none;color:var(--theme-text);background:var(--theme-surface);border-radius:8px;margin:0;padding:0;display:block;position:static}.lss-sheet-workspace{width:min(64rem,100vw - 24px)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-full{width:100%;height:100%}.h-\[clamp\(36rem\,72vh\,64rem\)\]{height:clamp(36rem,72vh,64rem)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-36{width:calc(var(--spacing) * 36)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--theme-accent\)\],.border-\[var\(--theme-accent\)\]\/50{border-color:var(--theme-accent)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--theme-accent\)\]\/50{border-color:color-mix(in oklab, var(--theme-accent) 50%, transparent)}}.border-\[var\(--theme-border\)\]{border-color:var(--theme-border)}.border-amber-400{border-color:var(--color-amber-400)}.border-amber-400\/30{border-color:#fcbb004d}@supports (color:color-mix(in lab, red, red)){.border-amber-400\/30{border-color:color-mix(in oklab, var(--color-amber-400) 30%, transparent)}}.border-amber-400\/40{border-color:#fcbb0066}@supports (color:color-mix(in lab, red, red)){.border-amber-400\/40{border-color:color-mix(in oklab, var(--color-amber-400) 40%, transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/50{border-color:color-mix(in oklab, var(--color-amber-500) 50%, transparent)}}.border-emerald-400{border-color:var(--color-emerald-400)}.border-emerald-400\/30{border-color:#00d2944d}@supports (color:color-mix(in lab, red, red)){.border-emerald-400\/30{border-color:color-mix(in oklab, var(--color-emerald-400) 30%, transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.border-emerald-600{border-color:var(--color-emerald-600)}.border-rose-400\/30{border-color:#ff667f4d}@supports (color:color-mix(in lab, red, red)){.border-rose-400\/30{border-color:color-mix(in oklab, var(--color-rose-400) 30%, transparent)}}.border-rose-500\/30{border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/30{border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-rose-700{border-color:var(--color-rose-700)}.border-rose-800{border-color:var(--color-rose-800)}.bg-\[var\(--theme-accent-strong\)\]\/5{background-color:var(--theme-accent-strong)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-accent-strong\)\]\/5{background-color:color-mix(in oklab, var(--theme-accent-strong) 5%, transparent)}}.bg-\[var\(--theme-canvas\)\]{background-color:var(--theme-canvas)}.bg-\[var\(--theme-surface\)\],.bg-\[var\(--theme-surface\)\]\/80{background-color:var(--theme-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-surface\)\]\/80{background-color:color-mix(in oklab, var(--theme-surface) 80%, transparent)}}.bg-\[var\(--theme-surface\)\]\/95{background-color:var(--theme-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--theme-surface\)\]\/95{background-color:color-mix(in oklab, var(--theme-surface) 95%, transparent)}}.bg-\[var\(--theme-surface-raised\)\]{background-color:var(--theme-surface-raised)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-400\/10{background-color:#fcbb001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-400\/10{background-color:color-mix(in oklab, var(--color-amber-400) 10%, transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/10{background-color:color-mix(in oklab, var(--color-emerald-400) 10%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-rose-400\/10{background-color:#ff667f1a}@supports (color:color-mix(in lab, red, red)){.bg-rose-400\/10{background-color:color-mix(in oklab, var(--color-rose-400) 10%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-rose-950\/70{background-color:#4d0218b3}@supports (color:color-mix(in lab, red, red)){.bg-rose-950\/70{background-color:color-mix(in oklab, var(--color-rose-950) 70%, transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--theme-accent\)\]{color:var(--theme-accent)}.text-\[var\(--theme-text-muted\)\]{color:var(--theme-text-muted)}.text-amber-100{color:var(--color-amber-100)}.text-amber-200{color:var(--color-amber-200)}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-300{color:var(--color-emerald-300)}.text-rose-100{color:var(--color-rose-100)}.text-rose-200{color:var(--color-rose-200)}.text-rose-300{color:var(--color-rose-300)}.text-white{color:var(--color-white)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-950{color:var(--color-zinc-950)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.accent-violet-500{accent-color:var(--color-violet-500)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow\/unused{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.shadow-black\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-zinc-600::placeholder{color:var(--color-zinc-600)}@media (hover:hover){.hover\:border-zinc-500:hover{border-color:var(--color-zinc-500)}.hover\:bg-\[var\(--theme-accent-strong\)\]\/10:hover{background-color:var(--theme-accent-strong)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--theme-accent-strong\)\]\/10:hover{background-color:color-mix(in oklab, var(--theme-accent-strong) 10%, transparent)}}.hover\:text-\[var\(--theme-accent\)\]:hover{color:var(--theme-accent)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-zinc-300:hover{color:var(--color-zinc-300)}}.focus\:border-\[var\(--theme-accent\)\]:focus{border-color:var(--theme-accent)}.focus\:border-emerald-400:focus{border-color:var(--color-emerald-400)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-violet-400\/20:focus{--tw-ring-color:#a685ff33}@supports (color:color-mix(in lab, red, red)){.focus\:ring-violet-400\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-violet-400) 20%, transparent)}}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cormorant-garamond.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/cormorant-garamond-italic.woff2)format("woff2")}:root{--concept-bg:#0a0c13;--concept-nav:#10121a;--concept-panel:#151824;--concept-raised:#1b1f2c;--concept-gold:#dabc78;--concept-gold-secondary:#9e7a43;--concept-violet:#a894e4;--concept-green:#8bceb7;--concept-text:#f4f0e6;--concept-soft:#c5c2c6;--concept-muted:#888a98;--concept-border:#e6dabb21;--theme-canvas:var(--concept-bg);--theme-nav:var(--concept-nav);--theme-surface:var(--concept-panel);--theme-surface-raised:var(--concept-raised);--theme-accent:var(--concept-gold);--theme-accent-strong:var(--concept-gold-secondary);--theme-secondary:var(--concept-green);--theme-text:var(--concept-text);--theme-text-muted:#a3a3b1;--theme-border:var(--concept-border);--theme-focus:var(--concept-gold);--theme-atmosphere:#776080;--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--surface-shadow:0 16px 70px #0006;--motion-hover:.2s;--motion-screen:.22s;--motion-sheet:.32s;--motion-dice:.56s;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=forest]{--theme-atmosphere:#426458}:root[data-theme=tavern]{--theme-atmosphere:#876445}:root[data-theme=midnight]{--theme-atmosphere:#675d99}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:var(--theme-text);background:var(--theme-canvas)}h1,h2,h3{font-family:var(--font-display)}button,a{-webkit-tap-highlight-color:transparent}button{transition:color var(--motion-hover), background-color var(--motion-hover), border-color var(--motion-hover), transform var(--motion-hover), box-shadow var(--motion-hover)}:focus-visible{outline:2px solid var(--theme-focus);outline-offset:4px}.product-shell,.app-themed-background{color:var(--theme-text);background:radial-gradient(ellipse at 65% 0%, var(--theme-atmosphere), transparent 65%), var(--theme-canvas)}@supports (color:color-mix(in lab, red, red)){.product-shell,.app-themed-background{background:radial-gradient(ellipse at 65% 0%, color-mix(in srgb, var(--theme-atmosphere) 10%, transparent), transparent 65%), var(--theme-canvas)}}:root[data-theme=forest] .game-room,:root[data-theme=tavern] .game-room,:root[data-theme=midnight] .game-room{background:linear-gradient(#0a0c13c7, #0a0c13e8), var(--theme-art) center / cover, var(--theme-canvas)}.app-brand{color:var(--theme-text);gap:12px}.app-brand svg{width:38px;height:38px;color:var(--theme-accent);filter:none}.app-brand b{color:#bcac8e;font-weight:400}.app-brand small{display:none}.eyebrow{color:var(--theme-accent);letter-spacing:.24em;font-weight:700}.theme-button,.theme-button-secondary,.danger-button{border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding-inline:16px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.theme-button,:root[data-theme=midnight] .theme-button,.join-card button[type=submit]{color:#191722;background:#dabc78 linear-gradient(115deg,#ead4a0,#c5a364);border:1px solid #eedba8;font-weight:700;box-shadow:0 7px 23px #d9b97226}.theme-button-secondary{color:var(--theme-text);background:#ffffff06;border:1px solid #f0edde38}.theme-button:hover:not(:disabled){filter:none;transform:translateY(-2px);box-shadow:0 9px 32px #d9b97240}.theme-button-secondary:hover:not(:disabled){border-color:var(--theme-accent);filter:none;background:#222533}.danger-button{color:#f2afb6;background:#cf7d8610;border:1px solid #cf7d8650}.danger-button:hover:not(:disabled){background:#cf7d8620}.icon-button{border-radius:8px}.ornate-panel,.session-rail,.board-frame,.room-card,.role-card,.product-panel{border:1px solid var(--theme-border);background:var(--theme-surface);box-shadow:var(--surface-shadow);border-radius:13px}.ornate-panel:after,.session-rail:after,.board-frame:after,.room-card:after,.role-card:after{content:none}.ambient-embers{display:none}.error-message{color:#f2afb6;background:#cf7d8614;border:1px solid #cf7d8633;padding:12px;line-height:1.65}.upload-status,.voice-note{line-height:1.65}.landing-header{border-bottom:1px solid var(--theme-border);z-index:2;background:#0b0c13f0;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:12px 4.4%;display:flex;position:relative}.landing-header nav{border:1px solid var(--theme-border);background:#13151e;border-radius:50px;gap:6px;padding:4px;display:flex}.landing-header nav a{min-height:44px;color:var(--concept-soft);border-radius:30px;align-items:center;padding:8px 18px;font-size:12px;display:grid}.landing-header nav a:hover{color:var(--theme-accent);background:#dabc7817}.landing-edition{color:var(--theme-text-muted);letter-spacing:.15em;text-transform:uppercase;font-size:10px}.landing-hero{isolation:isolate;background:radial-gradient(56% 72% at 78% 48%,#76577f30,#0000 69%),radial-gradient(45% 80% at 47% 45%,#a573421c,#0000 65%),#0b0c13;align-items:center;min-height:710px;padding:85px 8.7% 100px;display:flex;position:relative;overflow:hidden}.landing-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#0000 38%,#d9b97812 38.1%,#0000 39% 50%,#d9b97821 50.1%,#0000 50.5% 66%,#d9b9780f 66.1%,#0000 67%);border-radius:50%;width:650px;height:650px;position:absolute;top:40px;right:6%}.landing-hero-copy{z-index:1;max-width:780px;position:relative}.hero-tag{color:var(--theme-accent);letter-spacing:.1em;background:#dabc7811;border:1px solid #dabc7847;border-radius:40px;align-items:center;gap:9px;padding:9px 15px;font-size:10px;font-weight:700;display:inline-flex}.hero-tag:before{content:"✦"}.landing-hero h1{letter-spacing:-.035em;margin:26px 0 27px;font-size:clamp(72px,8vw,135px);font-weight:500;line-height:.88}.landing-hero h1 em{color:var(--theme-accent)}.hero-description{color:#b9b8c2;max-width:480px;font-size:15px;line-height:1.8}.hero-actions{gap:12px;margin-top:33px;display:flex}.hero-actions a{padding:15px 23px;font-size:13px}.hero-metrics{gap:38px;margin-top:66px;display:flex}.hero-metrics>div{border-left:1px solid var(--theme-border);padding-left:17px}.hero-metrics b{color:#f2e4c9;font:500 29px Georgia,serif;display:block}.hero-metrics span{letter-spacing:.07em;text-transform:uppercase;color:var(--theme-text-muted);margin-top:5px;font-size:9px;display:block}.arcane-circle{aspect-ratio:1;opacity:.82;pointer-events:none;width:min(54vw,650px);animation:9s ease-in-out infinite circle-float;position:absolute;top:7%;right:3%}.arcane-circle svg{filter:drop-shadow(0 0 33px #d9bc781a);width:100%;height:100%;animation:95s linear infinite circle-turn}.hero-stars{pointer-events:none;opacity:.6;background-image:radial-gradient(1px 1px at 10% 30%,#c3a171 99%,#0000),radial-gradient(1px 1px at 76% 17%,#9d9dbe 99%,#0000),radial-gradient(1px 1px at 81% 74%,#c3a171 99%,#0000),radial-gradient(2px 2px at 59% 57%,#a0948c 99%,#0000),radial-gradient(1px 1px at 40% 87%,#c3a171 99%,#0000);animation:6s ease-in-out infinite alternate stars-breathe;position:absolute;inset:0}.landing-entry,.landing-tools{border-top:1px solid var(--theme-border);padding:65px 8.7%}.landing-entry{background:#10121a;grid-template-columns:1fr 1.7fr;align-items:center;gap:48px;display:grid}.landing-entry h2,.landing-tools h2{margin:16px 0;font-size:clamp(36px,4.3vw,58px);font-weight:500;line-height:1.1}.entry-intro>p:last-child{max-width:330px;color:var(--theme-text-muted);font-size:13px;line-height:1.8}.entry-choices{min-width:0}.role-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.role-choice{border:1px solid var(--theme-border);background:#171923;border-radius:13px;min-width:0;padding:24px}.role-choice>svg{color:var(--theme-accent);width:27px;height:27px}.role-choice>span:nth-child(2){font:600 26px var(--font-display)}.role-choice>span:last-child{color:var(--theme-text-muted);font-size:12px;line-height:1.7}.role-choice:hover:not(:disabled){background:#1b1f2c;border-color:#dabc7873;transform:translateY(-4px)}.landing-tools{background:linear-gradient(#10121a,#0b0d13);padding-bottom:90px}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:30px;display:grid}.landing-feature-grid article{border:1px solid var(--theme-border);min-height:180px;transition:transform var(--motion-hover), border-color var(--motion-hover);background:#171923;border-radius:13px;padding:24px}.landing-feature-grid article:hover{border-color:#dabc7873;transform:translateY(-4px)}.landing-feature-grid svg{width:28px;height:28px;color:var(--theme-accent)}.landing-feature-grid h3{margin:18px 0 9px;font:600 14px Inter,sans-serif}.landing-feature-grid p{color:var(--theme-text-muted);font-size:12px;line-height:1.7}.landing-footer{border-top:1px solid var(--theme-border);justify-content:space-between;align-items:center;gap:24px;padding:30px 8.7%;display:flex}.landing-footer p{color:var(--theme-text-muted);font-size:11px}.landing-footer .app-brand>span{font-size:20px}.landing-footer .app-brand svg{width:28px;height:28px}.auth-shell{background:radial-gradient(ellipse at 70% 20%, #76577f1f, transparent 60%), var(--theme-canvas);position:relative;overflow:clip}.auth-content,.join-card{z-index:1;position:relative}.auth-shell .entry-circle{opacity:.18;width:min(78vw,800px);animation:none;position:fixed;top:8%;right:-18%}.entry-circle svg{animation:none}.auth-panel,.join-card{border:1px solid var(--theme-border);box-shadow:var(--surface-shadow);background:#151824ed;border-radius:15px}.auth-content>header .app-brand{margin:0 0 25px}.auth-content h1,.join-card h1{font-size:36px;font-weight:500}.auth-panel h2{font-size:28px;font-weight:500}.join-art{background:radial-gradient(circle,#dabc7814,#0000 70%);border:0;border-radius:10px;height:88px;margin:18px 0 0}.join-art>svg{width:44px;height:44px;color:var(--theme-accent)}.file-picker-label{border-radius:9px}.game-room .game-header{border-bottom:1px solid var(--theme-border);background:#10121af2;padding-block:12px}.game-header h1{color:var(--theme-text);font-size:24px;font-weight:600}.game-header .app-brand svg{width:32px;height:32px}.game-layout{gap:16px}.session-rail{background:var(--theme-surface);box-shadow:none;padding:20px 16px}.rail-heading{color:var(--theme-text-muted);border-color:var(--theme-border);letter-spacing:.14em;font:600 10px Inter,sans-serif}.rail-heading:after{content:none}.rail-heading h2{font:inherit}.lss-group-panel h3{font:600 12px Inter,sans-serif}.participant-avatar{color:#e5ddf5;width:40px;height:40px;box-shadow:none;background:#363249;border:1px solid #63577e}.master-rail .participant-avatar{background:#3c3129;border-color:#b99b65;width:48px;height:48px}.participant-copy strong,.roster-entry .participant-copy strong{color:var(--theme-text);font:500 12px Inter,sans-serif}.participant-copy p{font-size:9px}.avatar-change{font-size:10px}.mic-badge{background:var(--theme-surface);border-color:var(--theme-border)}[data-speaking=true] .participant-avatar{border-color:var(--theme-secondary);transition:box-shadow .2s,border-color .2s;animation:none;box-shadow:0 0 0 3px #8bceb721,0 0 18px #8bceb71a}.roster-entry{background:var(--theme-surface-raised);border:1px solid var(--theme-border);border-radius:9px;padding:6px}.roster-entry[data-selected=true]{box-shadow:inset 2px 0 var(--theme-accent);background:#dabc7811;border-color:#dabc7866}.roster-entry:hover{border-color:#dabc7844}.roster-master{grid-template-columns:minmax(0,1fr) 44px}.roster-actions .icon-button,.room-card-menu{width:44px;min-width:44px;min-height:44px}.room-invite{border:1px solid var(--theme-border);background:#10121a;border-radius:9px;padding:12px}.voice-panel{background:linear-gradient(145deg,#25252e,#19232a);border:1px solid #9bd5b92e;border-radius:11px;padding:14px}.voice-panel h3{font:600 12px Inter,sans-serif}.voice-heading>span{transition:color .2s}.voice-controls{gap:8px}.session-flourish{color:var(--theme-text-muted);margin-top:28px}.session-flourish svg{color:#dabc7855}.scene-tab{border-radius:8px;font-size:12px}.scene-tab-selected{color:var(--theme-accent);background:#dabc7817;border-color:#dabc7847}.current-scene-badge{color:var(--theme-secondary)}.desktop-map-actions button{padding:8px 12px}.board-frame{background:#0e1017;border-color:#e9dcc229;overflow:clip;box-shadow:0 20px 65px #0005}.scene-canvas{background:#0e1017;border-radius:12px 12px 0 0}.map-title{border-color:var(--theme-border);background:#10121aed;border-radius:8px;padding:8px 18px;box-shadow:0 4px 18px #0004}.map-title strong{font:500 16px var(--font-display);color:var(--theme-text)}.map-tools,.map-zoom{border-color:var(--theme-border);background:#10121ae8;border-radius:9px;box-shadow:0 4px 16px #0005}.map-tools button,.map-zoom button{color:var(--concept-soft);border-radius:6px}.map-tools button[aria-pressed=true]{color:var(--theme-accent);background:#dabc781a;box-shadow:inset 0 0 0 1px #dabc7840}.map-tools button:hover,.map-zoom button:hover{color:var(--theme-accent);background:#dabc7810}.map-zoom output{color:var(--theme-accent)}.board-hud{border-color:var(--theme-border);background:#10121a;min-height:70px;padding:10px 16px}.editor-launcher{border-color:var(--theme-border);background:var(--theme-surface-raised);border-radius:8px}.editor-drawer{border:1px solid #dabc7847;border-radius:13px}.dice-hud{gap:16px}.dice-launcher{color:#26202a;background:linear-gradient(135deg,#d9be83,#9d7d4c);border-radius:9px;width:48px;height:48px}.dice-launcher svg{opacity:.55;width:40px;height:40px}.dice-launcher span{color:#26202a;text-shadow:none;background:0 0;font:800 13px Inter,sans-serif}.dice-launcher:hover{transform:rotate(8deg)}.dice-ritual{color:var(--theme-accent);margin:8px 0 20px}.dice-ritual>svg{filter:drop-shadow(0 0 20px #dabc7826);width:96px;height:96px;padding:12px}.dice-ritual p{color:var(--theme-text-muted);font-size:16px}.dice-ritual[data-rolling=true]>svg{animation:die-turn var(--motion-dice) ease-in-out infinite}.dice-options button{background:var(--theme-surface-raised);color:var(--theme-accent);border-radius:9px}.dice-options button:hover:not(:disabled){background:#dabc7812;border-color:#dabc7873;transform:translateY(-2px)}.dice-history li{border:1px solid var(--theme-border);background:var(--theme-surface-raised);border-radius:9px}.dice-result{animation:result-arrive var(--motion-dice) ease-out;background:#dabc780a;border:1px solid #dabc7847;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px;display:flex}.dice-result p{color:var(--concept-soft);font-size:12px}.dice-result strong{font:600 44px var(--font-display);color:var(--theme-accent)}.dice-confirmation{z-index:65;bottom:calc(144px + env(safe-area-inset-bottom));pointer-events:none;box-shadow:var(--surface-shadow);animation:result-arrive var(--motion-dice) ease-out;background:#1b1f2cf5;border:1px solid #dabc7847;border-radius:13px;align-items:center;gap:24px;padding:12px 20px;display:flex;position:fixed;right:16px}.dice-confirmation span{color:var(--concept-soft);font-size:12px}.dice-confirmation strong{font:600 40px var(--font-display);color:var(--theme-accent)}.room-workspace{background:var(--theme-surface);border-radius:13px}.workspace-emblem{background:var(--theme-surface-raised);border-color:#dabc7847;width:48px;height:48px}.workspace-summary h2{color:var(--theme-text);font-size:25px}.workspace-summary p:last-child{color:var(--theme-text-muted)}.character-shell{border:1px solid var(--theme-border);background:#10121a;border-radius:10px}.character-nav button{border-radius:8px;font:500 12px Inter,sans-serif}.character-nav button[aria-expanded=true]{color:var(--theme-accent);box-shadow:inset 0 -2px var(--theme-accent);background:#dabc7817}.lss-group-panel{background:#10121a;line-height:1.65}.game-dialog{background:var(--theme-surface);animation:panel-arrive var(--motion-screen) ease-out;border:1px solid #e9d4a04d;border-radius:15px;box-shadow:0 30px 100px #0009}.game-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:backdrop-arrive var(--motion-screen) ease-out;background:#03040ac4}.dialog-heading{border-color:var(--theme-border)}.dialog-heading h2{font-size:28px;font-weight:500}.hud-tabs button[aria-pressed=true]{color:var(--theme-accent)}.settings-cover{background:linear-gradient(90deg, #10121aee, #10121a70), var(--theme-art) center / cover, var(--theme-nav);border-color:var(--theme-border)}.settings-cover h3,.settings-atmosphere h3,.lifecycle-boundary h3,.lifecycle-room-name,.archived-room-list h3{color:var(--theme-text)}.settings-code,.settings-switch{border-color:var(--theme-border);background:#10121a;border-radius:9px}.settings-switch input{accent-color:var(--theme-accent)}.theme-gallery>button{border-color:var(--theme-border);background:var(--theme-surface-raised);border-radius:10px}.theme-gallery button[aria-pressed=true]{border-color:var(--theme-accent);box-shadow:0 0 0 1px #dabc7833}.theme-check{background:var(--theme-accent);color:#191722}.theme-gallery strong{font-size:20px}.lifecycle-boundary{border-color:var(--theme-border)}.lifecycle-boundary button{border-radius:8px}.game-room-notices{background:#1b1f2cf5;border-radius:11px}.lobby-header{border-color:var(--theme-border);background:#10121a}.lobby-header h1{color:var(--theme-text)}.lobby-navigation{box-shadow:none}.lobby-navigation>a,.lobby-navigation>button{color:var(--concept-soft);border-color:var(--theme-border);border-radius:8px}.lobby-navigation a:first-of-type{color:var(--theme-accent);background:#dabc7817}.lobby-navigation-art{border-top:1px solid var(--theme-border);background:0 0;margin-top:20px;padding-top:24px}.lobby-navigation-art>svg{width:58px;height:58px;color:var(--theme-accent);margin:0 auto 14px}.lobby-navigation-art p{color:var(--theme-text-muted)}.lobby-hero{border:1px solid var(--theme-border);min-height:240px;box-shadow:none;background:radial-gradient(at 90% 40%,#a894e422,#0000 65%),#151824;border-radius:15px;position:relative;overflow:hidden}.lobby-hero h2{color:var(--theme-text);z-index:1;font-size:43px;line-height:1.05;position:relative}.lobby-hero p{color:var(--theme-text-muted);z-index:1;position:relative}.lobby-hero .eyebrow{color:var(--theme-accent)}.lobby-hero button{z-index:1;position:relative}.lobby-hero .arcane-circle{opacity:.28;width:360px;animation:none;top:-35px;right:-90px}.lobby-hero .arcane-circle svg{animation:none}.lobby-section-heading,.lobby-profile h2{border-color:var(--theme-border)}.room-card-cover{opacity:.65}.room-card-content{background:var(--theme-surface)}.room-card h3{color:var(--theme-text);font-size:25px}.room-state,.room-card-menu{color:var(--concept-soft);border-color:var(--theme-border);background:#10121ae8;border-radius:8px}.room-card:hover{border-color:#dabc7855}.lobby-profile h2{color:var(--theme-text)}.lobby-profile .size-24{box-shadow:none;border-color:#dabc7847}.create-room-art{border-color:var(--theme-border);height:100px;color:var(--theme-accent);background:radial-gradient(#a894e419,#0000 70%),#10121a;place-items:center;display:grid}.create-room-art svg{width:40px;height:40px}@media (width<=1199px){.landing-edition{display:none}.landing-entry{grid-template-columns:1fr 2fr;gap:24px}.game-header h1,.game-header .app-brand>span{font-size:19px}}@media (width>=1024px){.game-room .game-layout{grid-template-columns:210px minmax(0,1fr) 242px;padding:22px 3% 36px}.game-room .board-hud{border-radius:0 0 12px 12px}}@media (width>=1024px) and (width<=1199px){.game-room .game-layout{grid-template-columns:170px minmax(0,1fr) 190px;gap:12px;padding:16px 12px}.session-rail{padding:14px 10px}.roster-entry .participant-avatar{width:40px;height:40px}}@media (width<=1023px){.game-room .game-header{padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left))}.game-header h1{font-size:16px}.game-room .mobile-participants{background:var(--theme-surface);border-bottom:1px solid var(--theme-border)}.game-room .participant-chip{border:1px solid #0000}.game-room .participant-chip[data-selected=true]{background:#dabc780a}.participant-chip .participant-avatar{box-shadow:none;background:#363249;border-width:1px}.participant-chip:first-child .participant-avatar{background:#3c3129;border-color:#b99b65}.game-room .board-frame{box-shadow:none;border-radius:9px}.game-room .map-controls{border-color:var(--theme-border);background:#10121a}.game-room .map-tools,.game-room .map-zoom{box-shadow:none;background:0 0}.game-room .mobile-room-dock{border-color:var(--theme-border);background:#171a24}.game-room .mobile-room-dock button{color:var(--theme-text-muted)}.game-room .mobile-room-dock button[data-active=true]{color:var(--theme-accent);box-shadow:inset 0 2px var(--theme-accent);background:#dabc780d}.game-room .mobile-room-dock button[data-connected=true] .dock-voice-icon{color:var(--theme-secondary)}.game-dialog{animation:sheet-arrive var(--motion-sheet) cubic-bezier(.2, .85, .25, 1);border-radius:20px 20px 0 0}.game-dialog .dialog-heading h2{font-size:26px}.game-dialog .dialog-heading:before{content:"";background:#676577;border-radius:4px;width:36px;height:3px;position:absolute;top:5px;left:calc(50% - 18px)}.room-workspace{background:0 0}.landing-header{gap:12px}.landing-header .app-brand>span{font-size:23px}.landing-header .app-brand svg{width:30px;height:30px}.landing-entry{grid-template-columns:minmax(0,1fr)}.entry-intro>p:last-child{max-width:550px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-hero h2{font-size:36px}.lobby-hero .arcane-circle{opacity:.17;right:-140px}}@media (width<=860px){.landing-hero{min-height:650px;padding:65px 7% 80px}.landing-hero h1{font-size:88px}.landing-hero .arcane-circle{opacity:.32;width:540px;top:80px;right:-180px}.landing-hero:before{opacity:.4;right:-250px}.landing-entry,.landing-tools{padding-inline:7%}}@media (width<=520px){.landing-header{min-height:68px;padding-inline:6%}.landing-header nav{background:0 0;border:0;padding:0}.landing-header nav a{padding:6px 0 6px 8px;font-size:10px}.landing-header nav a:first-child{display:none}.landing-hero{min-height:620px;padding:56px 7% 60px}.landing-hero h1{margin-block:30px 24px;font-size:clamp(64px,17.5vw,88px)}.hero-tag{padding-inline:12px;font-size:9px}.hero-description{font-size:13px;line-height:1.8}.hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:27px}.hero-actions a{min-height:48px;padding:13px 16px;font-size:12px}.hero-metrics{gap:12px;margin-top:34px}.hero-metrics>div{flex:1;padding-left:9px}.hero-metrics b{font-size:24px}.hero-metrics span{font-size:8px;line-height:1.6}.landing-entry,.landing-tools{padding-block:44px}.role-choice-grid{grid-template-columns:minmax(0,1fr)}.role-choice{min-height:150px}.landing-feature-grid{grid-template-columns:minmax(0,1fr)}.landing-feature-grid article{min-height:150px;padding:22px}.landing-footer{padding:28px 7% calc(28px + env(safe-area-inset-bottom));flex-direction:column}.auth-content h1,.join-card h1{font-size:32px}.auth-shell .entry-circle{opacity:.12;width:600px;right:-420px}}@media (width<=1023px) and (height<=500px) and (orientation:landscape){.game-header h1{font-size:14px}}@keyframes circle-turn{to{transform:rotate(360deg)}}@keyframes circle-float{50%{transform:translateY(-12px)}}@keyframes stars-breathe{to{opacity:.25}}@keyframes panel-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-arrive{0%{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes die-turn{50%{transform:rotate(25deg)scale(.92)}}@keyframes result-arrive{0%{opacity:0;transform:translateY(5px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--concept-bg:#0b0b0e;--concept-nav:#101013;--concept-panel:#161619;--concept-raised:#202023;--concept-gold:#d6b779;--concept-gold-secondary:#927344;--concept-text:#f0ebe0;--concept-border:#c6b28b21;--theme-text-muted:#b1aaa1;--motion-screen:.42s;--motion-sheet:.28s;--surface-shadow:0 24px 70px #0006}.app-brand{gap:10px}.app-brand>span{font:600 30px var(--font-display);letter-spacing:.22em}.app-brand svg{width:32px;height:32px}.theme-button,.theme-button-secondary,.danger-button{border-radius:6px}.theme-button{background:#d6b779 linear-gradient(120deg,#e0c58e,#c19a59);border-color:#d9bb81;position:relative;box-shadow:0 4px 22px #b78f3420}.theme-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 1px #edcf9a44,0 8px 32px #d5ac5735}.theme-button:active:not(:disabled),.theme-button-secondary:active:not(:disabled){transform:translateY(1px)}.theme-button-secondary:hover:not(:disabled){background:#d6b77912}button:disabled{cursor:not-allowed}.game-dialog{background:radial-gradient(ellipse at 50% 0, #c3985220, transparent 65%), var(--theme-surface);border-color:#d6b7794a;border-radius:10px}.dialog-heading h2{font-weight:500}.dialog-heading .icon-button{min-width:44px;min-height:44px}.landing-shell{background:#09090c;flex-direction:column;height:100svh;min-height:100svh;display:flex;position:relative;overflow:clip}.landing-shell .landing-header{background:0 0;border:0;min-height:86px;padding:18px 5%}.landing-edition{letter-spacing:.18em;color:#b6a689;font-size:9px}.landing-shell .landing-hero{background:radial-gradient(at 73% 45%,#88612816,#0000 57%);flex:1;width:100%;min-height:0;padding:24px 8% 84px;overflow:visible}.landing-shell .landing-hero:before{filter:blur(30px);background:radial-gradient(#a3793414,#0000 60%);width:85%;height:95%;animation:16s ease-in-out infinite alternate veyl-fog;inset:4% -15% 0 auto}.landing-shell .landing-hero-copy{pointer-events:none;width:57%;max-width:700px;animation:1.3s cubic-bezier(.2,.8,.2,1) both veyl-enter}.landing-shell .hero-tag{letter-spacing:.4em;color:#cbb687;background:0 0;border:0;border-radius:0;gap:16px;padding:0;font-size:10px}.landing-shell .hero-tag:before{content:"";background:#b89458;width:32px;height:1px}.landing-shell .landing-hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:650px;margin:24px 0;font-size:clamp(64px,7vw,112px);font-weight:400;line-height:.98}.landing-shell .landing-hero h1 em{color:#dec38e;font-weight:400;display:block}.landing-shell .hero-description{color:#b3aaa0;text-wrap:pretty;max-width:350px;font-size:13px;line-height:1.9}.landing-shell .hero-actions{pointer-events:auto;gap:12px;margin-top:32px}.landing-shell .hero-actions button{min-height:48px;padding:12px 22px;font-size:12px}.landing-shell .hero-actions button span{margin-left:16px}.landing-signature{bottom:max(26px, env(safe-area-inset-bottom));letter-spacing:.22em;color:#8e8371;font-size:8px;position:absolute;left:8%}.landing-network{color:#e4c693;font-size:12px;position:absolute;bottom:54px;left:8%}.landing-shell .hero-stars{opacity:.5;pointer-events:none}.landing-shell .arcane-circle{z-index:0;aspect-ratio:1;opacity:.95;perspective:900px;pointer-events:auto;width:min(64vw,880px);height:auto;animation:1.8s ease-out both veyl-ritual-enter;position:absolute;top:50%;right:-2%;transform:translateY(-52%)}.arcane-circle svg{width:100%;height:100%;overflow:visible}.landing-shell .arcane-circle svg{transform:rotateX(var(--ritual-y,0deg)) rotateY(var(--ritual-x,0deg));filter:drop-shadow(0 0 2px #d3a95730);transition:transform .5s ease-out;animation:none}.ritual-outer,.ritual-runes,.ritual-inner{transform-origin:300px 300px}.ritual-outer{animation:160s linear infinite veyl-orbit}.ritual-runes{animation:120s linear infinite reverse veyl-orbit}.ritual-inner{animation:95s linear infinite veyl-orbit}.ritual-core-glow{animation:6s ease-in-out infinite alternate veyl-core}.ritual-aura{pointer-events:none;background:radial-gradient(circle,#e5b3501b,#996d2512 30%,#0000 68%);border-radius:50%;position:absolute;inset:12%;box-shadow:0 0 90px #a7771e08}.ritual-particles{pointer-events:none;position:absolute;inset:0}.ritual-particles i{width:2px;height:2px;left:calc(12% + var(--particle) * 7%);top:calc(20% + mod(var(--particle) * 17, 65) * 1%);animation:9s ease-in-out infinite veyl-particle;animation-delay:calc(var(--particle) * -.8s);background:#e5c48e;border-radius:50%;position:absolute;box-shadow:0 0 9px #d9a84c}.veyl-role-dialog{width:min(680px,100vw - 32px);padding:0}.veyl-role-dialog .dialog-content{padding:28px}.veyl-role-dialog .dialog-heading{padding:24px 28px 16px}.veyl-role-dialog .dialog-heading h2{font-size:clamp(26px,4vw,36px)}.veyl-role-dialog .role-choice-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.veyl-role-dialog .role-choice{text-align:left;background:#d6b77906;border:1px solid #d6b77935;border-radius:7px;flex-direction:column;align-items:flex-start;gap:14px;min-height:190px;padding:24px;display:flex}.veyl-role-dialog .role-choice:hover:not(:disabled){background:#d6b77911;border-color:#d6b77988;transform:translateY(-3px)}.veyl-role-dialog .role-choice>svg{color:#d6b779;width:30px;height:30px}.veyl-role-dialog .role-choice strong{font:500 30px var(--font-display)}.veyl-role-dialog .role-choice span{color:#c1b7aa;font-size:12px;line-height:1.7}.lobby-shell{background:radial-gradient(ellipse at 45% 0, #8d683414, transparent 60%), var(--theme-canvas)}.lobby-container{max-width:1320px}.lobby-header{border-color:var(--theme-border);background:0 0;gap:20px;padding:20px 36px}.lobby-header h1{color:var(--theme-text);font-size:23px}.lobby-header p{font-size:10px}.lobby-layout{padding:40px 36px;display:block}.adventure-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:0;padding:0 0 28px;display:flex}.adventure-heading h1{font:400 46px var(--font-display);color:var(--theme-text);margin-top:10px}.adventure-heading>div>p:last-child{color:var(--theme-text-muted);margin-top:6px;font-size:12px}.adventure-actions{gap:10px;display:flex}.room-card-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:18px;display:grid}.room-card{border:0;border-bottom:1px solid var(--theme-border);min-height:128px;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:64px minmax(0,1fr) 44px;align-items:center;gap:24px;padding:24px 12px;display:grid;position:relative;overflow:visible}.room-card:hover{background:#d6b77905}.adventure-emblem{clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);color:#dbbc82;background:linear-gradient(145deg,#97784428,#d2a85a09);border-top:1px solid #d6b77960;place-items:center;width:60px;height:66px;display:grid}.adventure-emblem svg{width:26px;height:26px}.adventure-emblem[data-emblem="1"]{color:#99b5a2;background:linear-gradient(145deg,#529d6b28,#529d6b09);border-color:#99b5a250}.adventure-emblem[data-emblem="2"]{color:#b4a9cb;background:linear-gradient(145deg,#9573bf28,#9573bf09);border-color:#b4a9cb50}.room-state{color:#a9c9b2;background:0 0;border:0;grid-area:1/2;place-self:start;align-items:center;gap:6px;margin:0 0 2px;padding:0;font-size:9px;display:inline-flex;position:static}.room-state:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.room-card-content{background:0 0;grid-area:1/2;min-width:0;padding:20px 180px 0 0}.room-card-content h3{font:500 25px var(--font-display);color:var(--theme-text)}.room-card-content>p{color:var(--theme-text-muted);margin:5px 0 12px;font-size:10px}.room-card-content>button{gap:12px;width:auto;min-height:44px;position:absolute;top:50%;right:70px;transform:translateY(-50%)}.room-card-menu{color:var(--theme-text-muted);background:0 0;border:0;grid-area:1/3;position:static}.adventure-party{color:var(--theme-text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;display:flex}.adventure-party>div{padding-left:5px;display:flex}.party-avatar{border:2px solid var(--theme-canvas);color:#d8c8aa;background:#3b3731;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:-5px;font-size:8px;display:grid}.lobby-profile{box-shadow:none;background:0 0;border:0;padding:0}.lobby-profile>h2{display:none}.create-room-art{background:radial-gradient(circle,#a3823e1c,#0000 70%);border:0;height:70px;margin:0}.context-tools{display:none}.players-rail{margin-top:22px}.players-rail .rail-heading{justify-content:space-between;display:flex}.players-rail .roster-hint{display:none}.scene-selection-workspace .dialog-content{padding:0}.scene-selection-workspace .scene-navigation{flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:0;display:flex;overflow:visible}.scene-navigation>div{min-width:0}.scene-tab{text-align:left;width:100%;min-height:44px;padding:10px 12px;font-size:12px}.scene-tab-selected{background:#d6b7790e;border-color:#d6b77955}.current-scene-badge{color:#9fc5ad;padding:3px 12px;font-size:9px;display:block;position:static}.scene-navigation form{width:100%;margin-top:8px;display:flex}.scene-navigation input{width:100%;min-width:0}.scene-navigation form button{flex:none}.master-rail .scene-selection-workspace{margin-top:24px}.master-rail .scene-selection-workspace>.dialog-heading{border:0;padding:0 0 12px;display:block}.master-rail .scene-selection-workspace>.dialog-heading h2{text-transform:uppercase;letter-spacing:.15em;color:var(--theme-text-muted);font:600 10px Inter,sans-serif}.master-rail .scene-selection-workspace>.dialog-heading button{display:none}.room-invite{background:#0002;padding:10px}.voice-panel{background:#9bb89d06;border-color:#9bb89d26}.voice-heading{flex-wrap:wrap;gap:6px}.voice-controls button{min-height:44px}.avatar-change{color:#d6bc8a;align-items:center;min-height:44px;display:inline-flex}.participant-copy{min-width:0}.participant-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}[data-speaking=true] .participant-avatar{animation:1.6s ease-in-out infinite speaker-halo}.game-header .app-brand>span{font-size:25px}.game-title-group h1{font-size:23px}.board-frame{border-color:#c6b28b38;border-radius:8px;box-shadow:0 18px 60px #0005}.room-workspace{box-shadow:none;background:0 0;border:0;padding:0}.workspace-summary h2{font-size:26px}.workspace-summary p:last-child{font-size:11px}.workspace-emblem{width:42px;height:42px}.hero-picker{flex-wrap:wrap;gap:8px;display:flex}.dice-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dice-options button{min-height:76px}.custom-dice{border-top:1px solid var(--theme-border);margin-top:20px;font-size:12px}.custom-dice summary{cursor:pointer;min-height:44px;color:var(--theme-text-muted);align-items:center;display:flex}.custom-dice form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.custom-dice label{gap:6px;display:grid}.custom-dice input,.custom-dice select{background:var(--theme-canvas);border:1px solid var(--theme-border);border-radius:5px;width:100%;min-width:0;min-height:44px;padding:8px}.custom-dice form button{grid-column:1/-1}.avatar-crop-dialog{max-width:480px}.avatar-crop-preview{aspect-ratio:1;touch-action:none;cursor:grab;background:repeating-conic-gradient(#242424 0% 25%,#1a1a1a 0% 50%) 0/16px 16px;border:1px solid #d6b77977;border-radius:8px;width:min(100%,300px);height:auto;margin:20px auto;display:block}.avatar-crop-preview:active{cursor:grabbing}.crop-controls{gap:10px;display:grid}.crop-controls label{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;font-size:12px;display:grid}.crop-controls input[type=range],.ambience-volume input{width:100%;min-height:44px;accent-color:var(--theme-accent)}.crop-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.join-avatar-picker{gap:8px;font-size:12px;display:grid}.join-avatar-picker .avatar-picker{border:1px solid var(--theme-border);border-radius:6px;padding:8px 12px}.ambience-player{gap:20px;display:grid}.ambience-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ambience-categories button{border:1px solid var(--theme-border);border-radius:6px;min-height:44px;padding:8px;font-size:11px}.ambience-categories button[aria-pressed=true]{color:var(--theme-accent);background:#d6b77912;border-color:#d6b77966}.ambience-disc{color:#d6b779;border:1px solid #d6b77933;border-radius:50%;place-items:center;width:108px;height:108px;margin:4px auto;display:grid;box-shadow:inset 0 0 0 10px #d6b77905,inset 0 0 0 11px #d6b77915}.ambience-disc svg{width:32px;height:32px}.ambience-disc[data-playing=true]{animation:18s linear infinite veyl-orbit;box-shadow:0 0 32px #d6b77922}.ambience-empty{text-align:center}.ambience-empty h3{font:400 30px var(--font-display)}.ambience-empty p{color:var(--theme-text-muted);margin-top:8px;font-size:12px;line-height:1.7}.ambience-controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.ambience-controls label{align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.ambience-controls input{accent-color:var(--theme-accent)}.ambience-volume{grid-template-columns:1fr auto;gap:4px;font-size:12px;display:grid}.ambience-volume input{grid-column:1/-1}.ambience-track{gap:8px;font-size:12px;display:grid}.ambience-track select{border:1px solid var(--theme-border);background:var(--theme-canvas);border-radius:6px;width:100%;min-height:44px;padding:8px}@media (width>=1024px){.game-room{height:var(--room-viewport-height,100dvh);flex-direction:column;min-height:0;display:flex;overflow:hidden}.game-room .game-header{flex:none;padding:10px 22px}.game-room .game-header-inner{max-width:none;min-height:48px}.game-room .game-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:238px minmax(0,1fr);align-items:stretch;gap:18px;max-width:none;min-height:0;margin:0;padding:16px 22px 20px;display:grid}.game-room .master-rail{overscroll-behavior:contain;scrollbar-width:thin;border:0;border-right:1px solid var(--theme-border);min-height:0;box-shadow:none;background:0 0;border-radius:0;grid-area:1/1;padding:6px 18px 18px 0;overflow:auto}.master-rail>.participant-card{padding-bottom:12px}.game-room .players-rail{box-shadow:none;background:0 0;border:0;padding:0}.game-room .game-center{flex-direction:column;grid-area:1/2;min-width:0;min-height:0;padding-right:66px;display:flex;position:relative}.desktop-map-actions{flex:none;min-height:48px;padding:0 0 10px}.desktop-map-actions>button{min-height:38px;font-size:10px}.game-room .board-frame,.game-room .scene-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.game-room .scene-canvas{aspect-ratio:auto;flex:1;height:100%;min-height:0}.game-room .board-hud{flex:none;min-height:60px;padding:8px 14px}.game-room .board-hud .dice-launcher{width:44px;height:44px}.context-tools{gap:8px;width:54px;display:grid;position:absolute;top:48px;right:0}.context-tools button{border:1px solid var(--theme-border);min-height:60px;color:var(--theme-text-muted);background:var(--theme-surface);border-radius:7px;justify-items:center;gap:6px;padding:8px 2px;display:grid}.context-tools button span{font-size:8px}.context-tools button[aria-expanded=true]{color:var(--theme-accent);background:#d6b77915;border-color:#d6b77977}.game-room .room-hero-workspace.lss-inline-workspace[open],.game-room .ambience-workspace.lss-inline-workspace[open]{z-index:50;background:var(--theme-surface);width:min(440px,100vw - 340px);max-width:none;max-height:calc(100dvh - 110px);animation:veyl-drawer var(--motion-sheet) ease-out;border:1px solid #d6b77955;border-radius:10px;margin:0;padding:0;position:fixed;inset:86px 88px auto auto;overflow:auto;box-shadow:-20px 20px 80px #0009}.game-room .room-hero-workspace.lss-inline-workspace>.dialog-heading,.game-room .ambience-workspace.lss-inline-workspace>.dialog-heading{z-index:2;background:var(--theme-surface);padding:16px 20px;display:flex;position:sticky;top:0}.game-room .room-hero-workspace.lss-inline-workspace>.dialog-content,.game-room .ambience-workspace.lss-inline-workspace>.dialog-content{padding:20px}.game-room .room-workspace .workspace-summary{margin-bottom:16px}.game-center>section{z-index:25;box-shadow:var(--surface-shadow);position:absolute;bottom:80px;left:20px;right:90px}.editor-drawer{z-index:45;width:360px;max-height:calc(100dvh - 120px);position:fixed;top:96px;left:278px;overflow:auto}.dice-confirmation{bottom:106px;right:106px}}@media (width>=1024px) and (width<=1199px){.game-room .game-layout{grid-template-columns:210px minmax(0,1fr);gap:14px;padding-inline:14px}.game-room .master-rail{padding-right:12px}.editor-drawer{left:240px}}@media (width<=1023px){.game-room .players-rail{display:none}.game-room .game-header h1{font-size:17px}.game-room .game-header{background:#101013}.game-room .mobile-participants{border-color:var(--theme-border);background:#101013}.game-room .mobile-room-dock{background:#141417f5;border-color:#c6b28b38}.game-room .room-workspace{padding:0}.scene-selection-workspace .scene-navigation{flex-direction:column}.game-dialog{padding-bottom:env(safe-area-inset-bottom)}.lobby-header{flex-wrap:wrap;gap:12px;padding:18px 20px}.lobby-header>div{min-width:0}.lobby-header .theme-select{display:none}.lobby-header h1{font-size:21px}.lobby-layout{padding:28px 22px}}@media (width<=650px){.landing-shell .landing-header{min-height:70px;padding:16px 22px}.landing-edition{display:none}.landing-shell .landing-hero{align-items:flex-end;padding:0 26px 76px}.landing-shell .landing-hero-copy{pointer-events:auto;width:100%;max-width:none}.landing-shell .landing-hero h1{max-width:400px;margin:18px 0 16px;font-size:clamp(48px,12.5vw,72px);line-height:.95}.landing-shell .hero-tag{display:none}.landing-shell .hero-description{max-width:290px;font-size:12px}.landing-shell .hero-actions{flex-wrap:wrap;gap:10px;margin-top:24px}.landing-shell .hero-actions button{padding:10px 14px;font-size:11px}.landing-shell .hero-actions button span{margin-left:6px}.landing-shell .arcane-circle{opacity:.65;pointer-events:none;width:min(110vw,510px);animation:1.8s ease-out both veyl-mobile-ritual-enter;top:24%;right:50%;transform:translate(50%,-50%)}.landing-shell .landing-hero:before{width:100%;inset:0}.landing-signature{left:26px;bottom:max(24px, env(safe-area-inset-bottom));font-size:7px}.landing-network{font-size:10px;bottom:46px;left:26px}.veyl-role-dialog .dialog-heading{padding:16px 20px}.veyl-role-dialog .dialog-heading h2{font-size:27px}.veyl-role-dialog .dialog-content{padding:20px}.veyl-role-dialog .role-choice-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}.veyl-role-dialog .role-choice{gap:8px;min-height:132px;padding:18px}.veyl-role-dialog .role-choice>svg{width:24px;height:24px}.veyl-role-dialog .role-choice strong{font-size:27px}.lobby-header{gap:10px}.lobby-header .app-brand>span{font-size:24px}.lobby-header .app-brand svg{width:26px;height:26px}.lobby-header>div{display:none}.lobby-header>.theme-button-secondary{margin-left:auto;padding-inline:8px;font-size:10px}.lobby-header>.icon-button{min-width:44px;padding:0}.lobby-layout{padding:28px 18px}.adventure-heading{gap:22px}.adventure-heading h1{font-size:38px}.adventure-actions{width:100%}.adventure-actions>.theme-button{flex:1}.room-card{grid-template-columns:42px minmax(0,1fr) 36px;gap:14px;min-height:170px;padding:22px 0}.adventure-emblem{align-self:start;width:40px;height:46px}.adventure-emblem svg{width:21px;height:21px}.room-card-content{padding-right:0}.room-card-content h3{font-size:24px}.room-card-content>button{width:100%;margin-top:16px;font-size:10px;position:static;transform:none}.room-card-menu{align-self:start}}@media (height<=660px) and (width<=650px){.landing-shell .arcane-circle{opacity:.28;top:30%}.landing-shell .landing-hero{padding-bottom:66px}.landing-shell .landing-hero h1{font-size:48px}}@media (width>=651px) and (height<=550px){.landing-shell .landing-header{min-height:60px;padding-block:10px}.landing-shell .landing-hero{padding-bottom:50px}.landing-shell .landing-hero h1{margin:12px 0;font-size:56px}.landing-shell .hero-actions{margin-top:16px}.landing-shell .hero-tag{display:none}.landing-shell .arcane-circle{opacity:.6;width:55vw}}@keyframes veyl-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes veyl-ritual-enter{0%{opacity:0;transform:translateY(-52%)scale(.9)rotate(-8deg)}to{opacity:.95;transform:translateY(-52%)scale(1)rotate(0)}}@keyframes veyl-mobile-ritual-enter{0%{opacity:0;transform:translate(50%,-50%)scale(.9)}to{opacity:.65;transform:translate(50%,-50%)scale(1)}}@keyframes veyl-orbit{to{transform:rotate(360deg)}}@keyframes veyl-core{0%{opacity:.5;transform-origin:300px 300px;transform:scale(.98)}to{opacity:1;transform-origin:300px 300px;transform:scale(1.04)}}@keyframes veyl-fog{to{opacity:.5;transform:translate(-4%)scale(1.06)}}@keyframes veyl-particle{0%,to{opacity:0;transform:translateY(14px)}40%,60%{opacity:.8}90%{opacity:0;transform:translateY(-28px)}}@keyframes veyl-drawer{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}:root[data-effects-paused=true] *,:root[data-effects-paused=true] :before,:root[data-effects-paused=true] :after{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.landing-shell .arcane-circle svg{transform:none}}@media (width>=1024px){.master-rail .rail-heading{margin-bottom:8px;padding-bottom:8px}.master-rail>.participant-card{padding:0 0 4px}.master-rail .room-invite{margin-top:8px;padding:8px 10px}.master-rail .room-invite>.eyebrow{font-size:8px}.master-rail .room-invite .text-button{min-height:32px}.master-rail .players-rail{margin-top:14px}.master-rail .roster-entry{border-radius:6px;padding:2px 5px}.master-rail .roster-entry .participant-card{gap:9px;padding:4px 0}.master-rail .roster-entry .participant-avatar{width:40px;height:40px}.master-rail .roster-entry .participant-copy strong{font-size:11px}.master-rail .roster-entry .participant-copy p{margin-top:3px;font-size:8px}.master-rail .roster-entry .avatar-change{min-height:32px;font-size:9px}.master-rail .voice-panel{margin-top:14px;padding:10px}.master-rail .voice-controls{margin-top:8px}.master-rail .scene-selection-workspace{margin-top:16px}}.auth-content,.lobby-rooms{animation:.6s ease-out both veyl-enter}.map-art-plane{animation:.36s ease-out veyl-scene}@keyframes veyl-scene{0%{opacity:.45}to{opacity:1}}.lobby-header>.app-brand{margin-right:auto}.ambience-mini-player{z-index:40;max-width:min(380px,100vw - 32px);color:var(--theme-accent);background:#161619f5;border:1px solid #d6b77966;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:fixed;bottom:92px;left:290px;box-shadow:0 10px 40px #0008}.mini-track-name{text-align:left;gap:4px;min-width:0;min-height:44px;display:grid}.mini-track-name strong{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--theme-text);font-size:12px;overflow:hidden}.mini-track-name span{color:var(--theme-text-muted);font-size:10px}@media (width<=1023px){.ambience-mini-player{left:16px;bottom:calc(90px + env(safe-area-inset-bottom))}}@media (pointer:coarse){.desktop-map-actions>button,.master-rail .room-invite .text-button,.master-rail .roster-entry .avatar-change{min-height:44px}}@media (width<=1023px){.product-shell input:not([type=file]):not([type=checkbox]):not([autocomplete=one-time-code]),.game-dialog input:not([type=file]):not([type=checkbox]),.game-dialog select,.game-dialog textarea,.character-shell textarea{font-size:16px}}@keyframes ember-rise{0%{opacity:0;transform:translateY(0)translate(0)}20%{opacity:.5}80%{opacity:.3}to{opacity:0;transform:translateY(-360px)translate(30px)}}@keyframes speaker-halo{0%,to{box-shadow:0 0 0 3px #12cc9128,0 0 16px #12cc9120}50%{box-shadow:0 0 0 5px #12cc9118,0 0 24px #12cc9140}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.voice-diagnostics{margin-top:.6rem;font-size:.75rem}.voice-diagnostics summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.voice-diagnostics p{overflow-wrap:anywhere;margin:.5rem 0}.voice-device-dialog .voice-settings-grid{max-height:none}.lss-viewer-dialog{width:min(1100px,96vw)}.lss-viewer-dialog .lss-group-frame{width:100%;height:min(72dvh,900px)}@media (width<=767px){.voice-device-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);margin:auto}.voice-device-dialog .dialog-content{overscroll-behavior:contain;padding-bottom:max(16px, env(safe-area-inset-bottom));overflow-y:auto}.voice-device-dialog .voice-settings-grid{grid-template-columns:1fr}.voice-settings-toggle{width:100%;min-height:44px}.voice-device-dialog select,.voice-device-dialog button{min-height:44px}}@media (width<=1023px){.voice-device-dialog .voice-cancel{position:static}.voice-device-dialog .voice-note{display:block}}.game-room-notices{top:calc(82px + env(safe-area-inset-top,0px));z-index:70;border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:12px;gap:8px;width:min(420px,100vw - 32px);max-height:min(45vh,360px);padding:12px;display:grid;position:fixed;right:16px;overflow-y:auto;box-shadow:0 14px 40px #0008}.game-room-notices p{margin:0;line-height:1.5}.game-room-notices button{min-height:36px;margin-top:4px;padding:4px 10px}@media (width<=1023px){.game-room-notices{top:calc(126px + env(safe-area-inset-top,0px));width:min(400px,100vw - 16px);max-height:36vh;right:8px}}.scene-workspace{min-width:0;position:relative}.game-header .mobile-leave-button,.mobile-participants,.voice-primary-mobile{display:none}.room-hero-workspace.lss-inline-workspace,.scene-selection-workspace.lss-inline-workspace{background:0 0;border:0;width:100%;max-width:none;overflow:visible}.room-hero-workspace.lss-inline-workspace>.dialog-heading,.scene-selection-workspace.lss-inline-workspace>.dialog-heading{display:none}.room-hero-workspace.lss-inline-workspace>.dialog-content,.scene-selection-workspace.lss-inline-workspace>.dialog-content{padding:0}.hero-picker,.scene-selection-actions,.map-action-list{gap:12px;display:grid}.hero-picker{margin-bottom:16px}.dock-voice-icon{place-items:center;display:grid;position:relative}.game-scene-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1023px){.game-room{height:var(--room-viewport-height,100dvh);min-height:0;padding-bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.game-header{z-index:10;padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));flex:none;position:relative}.game-header-inner{flex-wrap:nowrap;gap:8px;height:62px}.game-header .app-brand{flex:none;padding:6px}.game-header .app-brand>span,.game-header .theme-select,.game-header .header-tools>span,.game-header .settings-label,.game-header .game-title-group>button{display:none}.game-header .app-brand svg{width:28px;height:28px}.game-header .game-title-group{flex:1;min-width:0}.game-header h1{max-width:none;font-size:16px;line-height:22px}.game-header .header-tools{flex:none;gap:0;width:auto}.game-header .header-tools>button{place-items:center;min-width:44px;min-height:44px;padding:10px;display:grid}.game-header .mobile-leave-button{display:grid}.game-layout{width:100%;max-width:none;min-height:0;padding:0 max(4px, env(safe-area-inset-right)) 0 max(4px, env(safe-area-inset-left));flex:1;grid-template-rows:94px minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;margin:0;display:grid}.master-rail,.players-rail,.desktop-map-actions,.board-hud{display:none}.mobile-participants{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;grid-row:1;align-items:center;gap:4px;min-width:0;height:94px;padding:2px 4px;display:flex;overflow-x:auto}.mobile-participants::-webkit-scrollbar{display:none}.participant-chip{border-radius:10px;flex-direction:column;flex:0 0 76px;justify-content:center;align-items:center;width:76px;height:86px;min-height:44px;display:flex}.participant-chip:active{background:#b58a4b14}.participant-chip .participant-card{text-align:center;flex-direction:column;gap:5px;width:100%;padding:2px 0;display:flex}.participant-chip .participant-avatar{width:46px;height:46px}.participant-chip .participant-copy{width:100%;padding:0 2px}.participant-chip .participant-copy strong{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:15px}.participant-chip .participant-copy p{display:none}.participant-chip .mic-badge{background:0 0;border:0;width:16px;height:16px;bottom:0;right:-19px}.participant-chip .mic-badge svg{width:13px;height:13px}.participant-role{color:var(--theme-text-muted);font-size:10px;line-height:12px}.participant-chip:first-child .participant-role{color:var(--theme-accent)}.participant-chip[data-selected=true] .participant-avatar{border-color:#e0bd7a}.game-center{order:initial;flex-direction:column;grid-area:2/1;min-width:0;min-height:0;margin:0;display:flex}.board-frame{border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex}.scene-workspace{flex-direction:column;flex:1;min-height:0;display:flex}.scene-canvas{aspect-ratio:auto;touch-action:none;border-radius:7px 7px 0 0;flex:1;width:100%;height:auto;min-height:0}.accessible-tokens:focus-within{z-index:10;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:8px;max-height:45%;position:absolute;bottom:56px;left:6px;right:6px;overflow-y:auto}.map-title{display:none}.map-controls{background:#0c1422;border-top:1px solid #b58a4b40;border-radius:0 0 7px 7px;flex:none;justify-content:space-between;align-items:center;gap:4px;min-height:52px;padding:3px 6px;display:flex}.map-tools,.map-zoom{box-shadow:none;background:0 0;border:0;align-items:center;gap:0;padding:0;display:flex;position:static}.map-tools button,.map-zoom button{flex:none;width:44px;height:44px}.map-zoom output{width:38px;font-size:11px}.mobile-room-dock{z-index:30;height:calc(76px + env(safe-area-inset-bottom));padding:5px max(6px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));background:linear-gradient(#141d2d,#0b101a);border-top:1px solid #b58a4b60;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-room-dock button{color:#c8bbab;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:44px;min-height:44px;font-size:12px;display:flex}.mobile-room-dock svg{width:22px;height:22px}.mobile-room-dock small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--theme-text-muted);font-size:9px;overflow:hidden}.mobile-room-dock button[data-active=true]{color:#f4d9ff;background:linear-gradient(#8b44b42c,#8b44b409);box-shadow:inset 0 2px #a869c8}.mobile-room-dock button[data-connected=true] .dock-voice-icon{color:#72d9ad}.scene-selection-workspace .scene-navigation{gap:12px;padding:0;display:grid;overflow:visible}.scene-selection-workspace .scene-tab{text-align:left;overflow-wrap:anywhere;width:100%;min-height:44px}.scene-selection-workspace form{min-width:0;display:flex}.scene-selection-workspace input{flex:1;width:100%;min-width:0;min-height:44px}.scene-selection-actions{margin-top:16px}.room-workspace{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.workspace-summary{gap:12px}.workspace-summary h2{overflow-wrap:anywhere;font-size:20px}.game-dialog{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;border-radius:20px 20px 0 0;margin:auto 0 0}.game-dialog .dialog-heading{z-index:2;background:var(--theme-surface);min-height:64px;padding:10px 16px;position:sticky;top:0}.game-dialog .dialog-heading h2{overflow-wrap:anywhere;min-width:0;font-size:20px}.game-dialog .dialog-content{padding:16px 20px 24px}.voice-device-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);margin:auto 0 0}.voice-device-dialog .voice-cancel{position:static}.voice-device-dialog .voice-note{display:block}}@media (width<=1023px) and (height<=500px) and (orientation:landscape){.game-header-inner{height:44px}.game-header h1{font-size:14px;line-height:18px}.game-scene-subtitle{font-size:10px}.game-layout{grid-template-rows:52px minmax(0,1fr)}.mobile-participants{height:52px}.participant-chip{flex-basis:132px;width:132px;height:48px}.participant-chip .participant-card{flex-direction:row;gap:22px}.participant-chip .participant-avatar{width:42px;height:42px}.participant-chip .participant-copy{width:64px}.participant-chip .participant-copy strong{text-align:left}.participant-role{display:none}.game-room{padding-bottom:calc(54px + env(safe-area-inset-bottom))}.mobile-room-dock{height:calc(54px + env(safe-area-inset-bottom));padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom))}.mobile-room-dock button{flex-direction:row;gap:8px}.mobile-room-dock small{display:none}.map-controls{min-height:48px;padding-block:1px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
