:root{--surface-canvas:#efece5;--surface-paper:#f8f5ee;--surface-raised:#fffdf8;--surface-muted:#e8e3d9;--surface-ink:#15191a;--surface-ink-raised:#1c2223;--ink-strong:#1c2121;--ink:#3e4240;--ink-muted:#60635e;--ink-faint:#686a64;--line:#d5d0c5;--line-strong:#b8b1a4;--ember:#ad482b;--ember-hover:#96391f;--ember-soft:#f4ded4;--moss:#315e4b;--moss-soft:#dce8e0;--gold:#d2a457;--danger:#a9493e;--danger-soft:#f5dfdb;--warning:#a66c24;--warning-soft:#f2e5cb;--bg-dark:var(--surface-canvas);--bg-panel:var(--surface-paper);--bg-panel-elevated:var(--surface-raised);--bg-input:#f4f0e8;--border-color:var(--line);--border-color-hover:var(--line-strong);--border-glow:#c85f3d33;--color-primary:var(--ember);--color-primary-hover:var(--ember-hover);--color-primary-glow:#c85f3d33;--color-accent:var(--ember);--color-accent-hover:var(--ember-hover);--color-accent-glow:#c85f3d29;--color-success:var(--moss);--color-success-bg:#315e4b1a;--color-success-border:#315e4b42;--color-danger:var(--danger);--color-danger-bg:#a9493e17;--color-danger-border:#a9493e40;--text-main:var(--ink);--text-muted:var(--ink-muted);--text-dim:var(--ink-faint);--text-bright:var(--ink-strong);--text-gold:var(--ink-strong);--sans:var(--font-dm-sans), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading:var(--font-fraunces), Georgia, Cambria, serif;--mono:ui-monospace, SFMono-Regular, Consolas, monospace;--shadow-sm:0 1px 2px #1619190f, 0 5px 14px #16191909;--shadow-md:0 18px 44px #1619191a;--shadow-lg:0 30px 80px #0f12122b;--shadow-glow:0 0 22px var(--color-primary-glow);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:26px;--transition-smooth:.18s cubic-bezier(.2, .8, .2, 1);--transition-bounce:.24s cubic-bezier(.2, .8, .2, 1);color:var(--ink);background:var(--surface-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:400 16px/1.55 var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;font-optical-sizing:auto}html{background:var(--surface-canvas);-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:radial-gradient(circle at 4% -12%, #d2a4571a, transparent 27rem), var(--surface-canvas);min-height:100svh;color:var(--ink);font-family:var(--sans);margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ember);outline-offset:3px}::selection{background:var(--ember-soft);color:var(--ink-strong)}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#b5aea1 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8f897e padding-box padding-box}}h1,h2,h3,h4,h5,h6{color:var(--ink-strong);font-family:var(--heading);letter-spacing:-.035em;margin-top:0;font-weight:600}h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98}h2{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.06}h3{font-size:1.25rem;line-height:1.2}p{text-wrap:pretty}a{color:var(--ember-hover);transition:color var(--transition-smooth);text-decoration:none}a:hover{color:var(--ember)}code{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ember-hover);font-family:var(--mono);padding:.12em .4em;font-size:.9em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none) and (pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=file]),textarea,select,.composer-backdrop{font-size:16px!important}.btn:hover,.card:hover{box-shadow:none!important;transform:none!important}}.app-loading-shell{background:var(--surface-ink);color:#fff9eead;letter-spacing:.12em;text-transform:uppercase;place-content:center;place-items:center;gap:14px;min-height:100svh;font-size:.75rem;font-weight:700;display:grid}.app-loading-mark{color:var(--ember);font-size:1.25rem;animation:1.5s ease-in-out infinite ember-breathe}.app-main{text-align:left;flex:1;width:100%;max-width:1440px;margin:0 auto;padding:46px clamp(24px,3.2vw,46px) 76px}.app-main:has(.character-create-page.has-sidebar){padding-top:16px;padding-bottom:24px}.app-main.full-bleed{max-width:none;margin:0;padding:0}.page{max-width:1180px;margin:0 auto;animation:.36s ease-out both page-enter}.page>h2,.list-header h2{color:var(--ink-strong);border:0;margin-bottom:28px;padding:0}.app-header{z-index:1000;-webkit-backdrop-filter:blur(18px);background:#15191af5;border-bottom:1px solid #ffffff14;grid-template-columns:minmax(180px,1fr) auto minmax(250px,1fr);align-items:center;gap:26px;min-height:68px;padding:0 clamp(22px,3.4vw,54px);display:grid;position:sticky;top:0}.app-brand{justify-self:start}.header-link{color:#fff8ec;align-items:center;gap:10px;display:inline-flex}.header-link:hover{color:#fff8ec}.header-mark{color:var(--ember);transition:transform var(--transition-smooth);font-size:.82rem}.header-link:hover .header-mark{transform:rotate(18deg)scale(1.08)}.header-wordmark{font-family:var(--heading);letter-spacing:-.045em;font-size:1.42rem;font-weight:600}.app-nav{justify-content:center;align-items:center;gap:4px;display:flex}.nav-link{color:#fff9ee8f;letter-spacing:.015em;transition:color var(--transition-smooth);cursor:pointer;background:0 0;border:0;border-radius:0;padding:23px 14px 21px;font-size:.78rem;font-weight:650;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--ember);transform-origin:50%;height:2px;transition:transform var(--transition-smooth);position:absolute;bottom:0;left:14px;right:14px;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:#fff8ec}.nav-link.active:after{transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:18px;display:flex}.user-info{align-items:center;gap:10px;display:flex}.account-menu-trigger{cursor:pointer;text-align:left;transition:background var(--transition-smooth);background:0 0;border:0;border-radius:8px;padding:3px 5px}.account-menu-trigger:hover,.account-menu-trigger[data-state=open]{background:#ffffff12}.account-menu-trigger:focus-visible{outline-offset:2px;outline:2px solid #f0a487cc}.account-menu-chevron{color:#fff9ee61;transition:transform var(--transition-smooth);font-size:.58rem}.account-menu-trigger[data-state=open] .account-menu-chevron{transform:rotate(180deg)}.account-menu-popover{z-index:13000;background:#1d2324;border:1px solid #ffffff1a;border-radius:9px;min-width:150px;padding:6px;animation:.14s ease-out both menu-enter;box-shadow:0 18px 44px #0000004d}.user-monogram{color:#fff8ec;width:34px;height:34px;font:700 .64rem/1 var(--mono);background:#ffffff12;border:1px solid #ffffff24;border-radius:50%;flex:none;place-items:center;display:grid}.user-identity{max-width:150px;line-height:1.05;display:grid}.user-identity-label{color:#fff9ee59;letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:700}.user-info .user-name{color:#fff9eebf;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;overflow:hidden}.logout-button{cursor:pointer;color:#fff9eead;width:100%;min-width:40px;min-height:40px;transition:color var(--transition-smooth), background var(--transition-smooth);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:.72rem;display:inline-flex}.logout-button:hover{color:#f0a487;background:#c85f3d1f}.btn{cursor:pointer;min-height:42px;transition:transform var(--transition-smooth), color var(--transition-smooth), border-color var(--transition-smooth), background var(--transition-smooth), box-shadow var(--transition-smooth);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:9px 16px;font-size:.78rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.46;box-shadow:none!important;transform:none!important}.btn-primary{border-color:var(--ember);background:var(--ember);color:#fffaf2}.btn-primary:hover:not(:disabled){border-color:var(--ember-hover);background:var(--ember-hover);color:#fffaf2;transform:translateY(-1px);box-shadow:0 8px 20px #a9472c29}.btn-secondary{border-color:var(--line);color:var(--ink);background:#fffdf8bd}.btn-secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink-strong);transform:translateY(-1px)}.btn-ghost-light{color:#fff8ec;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0e;border-color:#fff9ee40}.btn-ghost-light:hover{color:#fff8ec;background:#ffffff1a;border-color:#fff9ee7a;transform:translateY(-1px)}.btn-danger{border-color:var(--danger);background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#8f3a31;border-color:#8f3a31;transform:translateY(-1px)}.btn.small{border-radius:7px;min-height:36px;padding:7px 11px;font-size:.72rem}.input,.textarea,select.input,.form-field input,.form-field select,.form-field textarea,.form-group input,.form-group select,.form-group textarea{border:1px solid var(--line);background:var(--surface-raised);width:100%;min-height:46px;color:var(--ink-strong);transition:border-color var(--transition-smooth), box-shadow var(--transition-smooth), background var(--transition-smooth);border-radius:8px;padding:10px 13px;font-size:.9rem}.textarea,.form-field textarea,.form-group textarea{resize:vertical;min-height:110px}.input:hover,.textarea:hover,select.input:hover,.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--line-strong)}.input:focus,.textarea:focus,select.input:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ember);background:#fff;outline:none;box-shadow:0 0 0 3px #c85f3d1f}.form-field label,.form-group label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:.69rem;font-weight:700}.card,.card-wrapper{border:1px solid var(--line);background:var(--surface-raised);box-shadow:none;border-radius:10px}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.character-sheet-view.card:hover{border-color:var(--line);box-shadow:none;transform:none}.loading{min-height:260px;color:var(--ink-muted);letter-spacing:.08em;place-content:center;font-size:.78rem;font-weight:700;display:grid}.error-message{background:var(--danger-soft);color:#7e342c;border:1px solid #a9493e47;border-radius:8px;margin:16px 0;padding:12px 14px;font-size:.84rem}.success-message{background:var(--moss-soft);color:#234b3b;border:1px solid #315e4b3d;border-radius:8px;margin:16px 0;padding:12px 14px;font-size:.84rem}.modal-overlay{z-index:12000;-webkit-backdrop-filter:blur(8px);background:#0f12128f;animation:.16s ease-out both overlay-in;position:fixed;inset:0}.modal-panel{z-index:12001;background:var(--surface-paper);width:calc(100% - 40px);max-width:560px;height:fit-content;max-height:min(88svh,760px);box-shadow:var(--shadow-lg);color:var(--ink);border:1px solid #ffffff38;border-radius:14px;margin:auto;animation:.2s cubic-bezier(.2,.8,.2,1) both modal-in;position:fixed;inset:0;overflow-y:auto}.modal-header{z-index:1;border-bottom:1px solid var(--line);background:var(--surface-paper);justify-content:space-between;align-items:center;min-height:70px;padding:18px 22px;display:flex;position:sticky;top:0}.modal-header h2{color:var(--ink-strong);margin:0;font-size:1.6rem}.modal-close{width:40px;height:40px;color:var(--ink-muted);cursor:pointer;transition:background var(--transition-smooth), color var(--transition-smooth);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.modal-close:hover{background:var(--surface-muted);color:var(--ink-strong)}.modal-body{padding:22px}.home-page-v2{max-width:1280px;margin:0 auto;padding-top:0;padding-bottom:34px;animation:.36s ease-out both home-page-enter}.campaign-hero{isolation:isolate;background:#e9dfc8;grid-template-columns:minmax(0,1fr);width:100vw;min-height:clamp(430px,58vh,590px);margin:-46px calc(50% - 50vw) 62px;display:grid;position:relative;overflow:hidden}.campaign-hero-art{z-index:-2;background:linear-gradient(90deg,#fff8e8f5 0%,#fff8e8d1 42%,#fff8e82e 70%,#0000 100%),linear-gradient(#0000 58%,#fff8e81f),url(/images/campaign-hero.png) 62%/cover no-repeat;animation:1.2s cubic-bezier(.2,.8,.2,1) both hero-settle;position:absolute;inset:0;transform:scale(1.015)}.campaign-hero-grain{opacity:.16;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:0}.character-library-hero .campaign-hero-art{background:linear-gradient(90deg,#fff8e8f5 0%,#fff8e8d1 42%,#fff8e82e 70%,#0000 100%),linear-gradient(#0000 58%,#fff8e81f),url(/images/character-creator-hero.png) 62%/cover no-repeat}.character-library-hero{min-height:calc(100svh - 64px);margin-bottom:0}.campaign-hero-copy{z-index:2;align-self:center;width:min(900px,74%);padding:clamp(60px,8vw,108px) clamp(36px,7.4vw,112px)}.section-kicker,.wildwood-kicker,.automation-eyebrow{color:var(--ember-hover);font:700 .66rem/1 var(--mono);letter-spacing:.16em}.campaign-hero .section-kicker{color:var(--ember-hover)}.campaign-hero h1{max-width:710px;color:var(--ink-strong);letter-spacing:-.05em;text-shadow:0 2px 22px #fff8e873;margin:18px 0 24px;font-size:clamp(3.35rem,6.1vw,6.15rem);line-height:.9}.campaign-hero-copy>p{color:#2b2a26bd;max-width:440px;margin:0;font-size:1rem;line-height:1.65}.campaign-hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.campaign-hero--welcome{min-height:calc(100svh - 64px);margin-bottom:0}.campaigns-header,.character-library-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.campaigns-title,.character-library-header h1{color:var(--ink-strong);letter-spacing:-.055em;margin:8px 0 0;font-size:clamp(2.2rem,4vw,3.4rem)}.campaigns-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.campaigns-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:0;display:grid}.home-utilities{width:fit-content;color:var(--ink-muted);margin:30px 0 0 auto;position:relative}.home-utilities-menu{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-md);width:min(300px,100vw - 36px);box-shadow:var(--shadow-lg);background:#fffdf8fa;padding:7px;animation:.14s ease-out both menu-enter;display:grid;position:absolute;bottom:calc(100% + 6px);right:0}.home-utilities-menu button{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.home-utilities-menu button:hover,.home-utilities-menu button:focus-visible{background:var(--surface-muted)}.home-utilities-menu button>i{background:var(--ember-soft);width:34px;height:34px;color:var(--ember-hover);border-radius:50%;place-items:center;display:grid}.home-utilities-menu button span{gap:2px;display:grid}.home-utilities-menu button strong{font-size:.84rem}.home-utilities-menu button small{color:var(--ink-muted);font-size:.74rem}.campaign-card-v2{border:0;border-bottom:1px solid var(--line);transition:background var(--transition-smooth), border-color var(--transition-smooth);background:0 0;border-radius:0;position:relative;overflow:visible}.campaign-card-v2:hover,.campaign-card-v2:focus-within{border-color:var(--line-strong);background:#fffdf87a}.campaign-card-inner{min-height:118px;color:inherit;grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr) minmax(190px,auto);align-items:center;gap:28px;padding:22px 66px 22px 10px;text-decoration:none;display:grid}.campaign-card-inner>*{min-width:0}.campaign-card-v2.has-actions .campaign-card-inner{padding-right:100px}.campaign-card-header{align-items:center;display:flex}.campaign-title{color:var(--ink-strong);font:650 1.02rem/1.2 var(--sans);letter-spacing:-.02em;margin:0}.campaign-badge{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:.61rem;font-weight:700;display:block}.campaign-desc{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.5;display:-webkit-box;overflow:hidden}.campaign-footer{color:var(--ink-muted);font:600 .68rem/1.4 var(--mono);justify-content:flex-start;align-items:center;gap:12px;display:flex}.campaign-seed{min-width:0;max-width:15rem;color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.campaign-date{white-space:nowrap;flex:none;margin-left:auto}.campaign-card-delete-btn{cursor:pointer;width:40px;height:40px;color:var(--ink-faint);transition:color var(--transition-smooth), background var(--transition-smooth);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.campaign-card-delete-btn:hover{background:var(--danger-soft);color:var(--danger);transform:translateY(-50%)}.campaign-status-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--ink-faint-soft,#0000000f);color:var(--ink-muted);border-radius:999px;margin-top:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.campaign-card-archive-btn,.campaign-card-restore-btn{cursor:pointer;width:40px;height:40px;color:var(--ink-faint);transition:color var(--transition-smooth), background var(--transition-smooth);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:52px;transform:translateY(-50%)}.campaign-card-archive-btn:hover,.campaign-card-restore-btn:hover{background:var(--accent-soft,#0000000f);color:var(--accent,currentColor);transform:translateY(-50%)}.campaign-card-archive-btn:disabled,.campaign-card-restore-btn:disabled{cursor:wait;opacity:.5}.empty-state-v2{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:24px;max-width:none;min-height:215px;padding:34px 8px;display:grid}.empty-state-mark{border:1px solid var(--line);width:58px;height:58px;color:var(--ember);border-radius:50%;place-items:center;font-size:1.25rem;display:grid}.empty-state-copy h3,.empty-state-v2 h3{color:var(--ink-strong);margin:0 0 7px;font-size:1.4rem}.empty-state-copy p,.empty-state-v2>p{max-width:560px;color:var(--ink-muted);margin:0;font-size:.85rem}.empty-state-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.characters-list-page{max-width:1180px}.character-library-header{border-bottom:1px solid var(--line);min-height:150px;padding-bottom:28px}.character-library-header h1{margin-bottom:9px}.character-library-header p{color:var(--ink-muted);margin:0;font-size:.9rem}.character-roster-labels{border-bottom:1px solid var(--line);color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:minmax(240px,1.2fr) .7fr 1.5fr auto;gap:18px;padding:12px 18px;font-size:.59rem;font-weight:700;display:grid}.character-roster{gap:0;display:grid}.character-roster .card-wrapper{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:0;display:grid;position:relative}.character-roster .card-wrapper:hover,.character-roster .card-wrapper:focus-within{background:#fffdf880}.character-card,.character-card-link{min-height:96px;color:inherit;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(220px,1.15fr) .75fr minmax(320px,1.5fr);align-items:center;gap:18px;padding:17px 18px;text-decoration:none;display:grid}.character-card:hover{box-shadow:none;border-color:#0000;transform:none}.character-card .card-identity{min-width:0}.character-card h3{color:var(--ink-strong);font:650 1rem/1.2 var(--sans);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0 0 5px}.character-card .card-subtitle{color:var(--ink-muted);grid-column:1;margin:-38px 0 0;padding-top:32px;font-size:.72rem}.character-card .card-stats{color:var(--ink);grid-area:1/2;gap:7px;font-size:.75rem;display:flex}.character-card .card-stats span{background:var(--surface-muted);border-radius:5px;padding:5px 7px}.character-card .card-abilities{grid-area:1/3;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.ability-pill{color:var(--ink-muted);font:600 .64rem/1.2 var(--mono);background:0 0;border:0;border-radius:5px;padding:4px 6px}.character-roster .card-actions{align-items:center;gap:6px;padding-right:10px;display:flex}.character-card-edit-link,.character-card-delete-button{width:38px;padding:0!important}.character-card-delete-button{color:var(--ink-faint);background:0 0;border-color:#0000}.character-card-delete-button:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);border-color:#0000}@media (pointer:coarse){.character-card-edit-link,.character-card-delete-button{width:44px;min-height:44px}.characters-list-page .btn.small,.character-create-page .btn.small,.character-edit-page .btn.small,.character-view-page .btn.small{min-height:40px}}.character-library-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.character-drafts{margin:28px 0 40px}.character-drafts__heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;display:flex}.character-drafts__heading h2{color:var(--ink-strong);font:650 1.35rem/1.2 var(--sans);letter-spacing:-.035em;margin:7px 0 0}.character-drafts__heading p{color:var(--ink-muted);margin:0 0 3px;font-size:.82rem}.character-drafts__list{border-top:1px solid var(--line)}.character-draft-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:13px 10px 13px 4px;display:flex}.character-draft-row__copy h3{color:var(--ink-strong);font:650 .98rem/1.25 var(--sans);overflow-wrap:anywhere;margin:0 0 5px}.character-draft-row__copy{min-width:0}.character-draft-row__copy p{color:var(--ink-muted);text-transform:capitalize;margin:0;font-size:.76rem}.character-draft-row__actions{align-items:center;gap:7px;display:flex}.character-draft-save-status{min-height:34px;color:var(--ink-muted);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;font-size:.76rem;display:flex}.character-draft-save-status.is-saved{color:var(--ink-faint)}.character-draft-save-status.is-error{color:var(--danger)}.character-draft-start{place-items:center;min-height:50vh;display:grid}.character-draft-start__message{justify-items:center;gap:12px;max-width:440px;display:grid}.layout-switcher{border:1px solid var(--line);background:0 0;border-radius:999px;padding:3px;display:inline-flex}.layout-switcher button{color:var(--ink-muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:.72rem;font-weight:650}.layout-switcher button:hover{color:var(--ink-strong)}.layout-switcher button[aria-pressed=true]{background:var(--ink-strong);color:#fff8ec}@media (min-width:901px){.character-card-link--strip,.character-card-link--grid,.character-card-link--sheet,.character-card-link--bars{min-height:0;display:block}.character-card--strip{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity stats""abilities abilities";gap:8px 20px}.character-card--strip .card-identity{grid-area:identity}.character-card--strip .card-stats{grid-area:stats;align-self:center}.character-card--strip .card-abilities{flex-wrap:wrap;grid-area:abilities;gap:2px 16px;display:flex}.character-roster[data-layout=grid],.character-roster[data-layout=sheet]{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.character-roster[data-layout=grid] .card-wrapper,.character-roster[data-layout=sheet] .card-wrapper{border:1px solid var(--line);background:var(--surface-paper);border-radius:14px;grid-template-columns:1fr;gap:0}.character-roster[data-layout=grid] .card-wrapper:hover,.character-roster[data-layout=grid] .card-wrapper:focus-within,.character-roster[data-layout=sheet] .card-wrapper:hover,.character-roster[data-layout=sheet] .card-wrapper:focus-within{background:var(--surface-paper)}.character-card--grid{grid-template-columns:1fr;gap:12px;padding:20px 20px 10px}.character-card--grid .card-stats{flex-wrap:wrap;grid-area:auto}.character-card--grid .card-abilities{grid-area:auto}.character-roster[data-layout=grid] .card-actions,.character-roster[data-layout=sheet] .card-actions{justify-content:flex-end;padding:0 14px 14px}.character-card--sheet{grid-template-columns:1fr;gap:12px;padding:20px 20px 14px}.character-card--sheet .card-identity h3{font-size:1.1rem}.character-card--sheet .card-stats{flex-wrap:wrap;grid-area:auto}.sheet-scores{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.score-box{border:1px solid var(--line);background:0 0;border-radius:10px;justify-items:center;gap:3px;padding:8px 4px;display:grid}.score-label{color:var(--ink-faint);font:700 .58rem/1 var(--mono);letter-spacing:.08em}.score-mod{color:var(--ink-strong);font:700 1.05rem/1 var(--sans)}.score-value{color:var(--ink-muted);font:600 .68rem/1 var(--mono)}.character-card--bars{grid-template-columns:minmax(200px,.9fr) minmax(0,1.6fr);align-items:center;gap:20px}.card-stats--inline{margin-top:10px}.bars-block{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;display:grid}.bar-row{color:var(--ink-muted);font:600 .64rem/1 var(--mono);grid-template-columns:30px minmax(0,1fr) 28px;align-items:center;gap:8px;display:grid}.bar-track{background:var(--surface-muted);border-radius:999px;height:6px;overflow:hidden}.bar-fill{background:var(--ink-strong);border-radius:999px;height:100%;display:block}.bar-mod{color:var(--ink);text-align:right}.feature-stage{border:1px solid var(--line);background:var(--surface-paper);border-radius:16px;margin-bottom:8px;padding:28px}.character-card--feature{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity stats""abilities abilities";gap:10px 20px}.character-card--feature .card-identity{grid-area:identity}.character-card--feature .card-identity h3{margin-bottom:4px;font-size:1.6rem}.character-card--feature .card-identity h3 a{color:inherit;text-decoration:none}.character-card--feature .card-identity h3 a:hover{text-decoration:underline}.character-card--feature .card-stats{grid-area:stats;align-self:center}.character-card--feature .card-abilities{flex-wrap:wrap;grid-area:abilities;gap:2px 16px;display:flex}.feature-stage .spotlight-actions{margin-top:20px}.character-spotlight{grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);align-items:start;gap:20px;display:grid}.spotlight-list{gap:2px;display:grid}.spotlight-item{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:0;border-radius:10px;gap:2px;padding:10px 14px;display:grid}.spotlight-item:hover{background:#fffdf880}.spotlight-item[aria-selected=true]{background:var(--surface-muted)}.spotlight-item-name{color:var(--ink-strong);font:650 .95rem/1.2 var(--sans);letter-spacing:-.02em}.spotlight-item-sub{color:var(--ink-muted);font-size:.72rem}.spotlight-detail{border:1px solid var(--line);background:var(--surface-paper);border-radius:14px;padding:24px}.character-card--spotlight{gap:14px;min-height:0;padding:0;display:grid}.character-card--spotlight .card-identity h3{margin-bottom:4px;font-size:1.4rem}.character-card--spotlight .card-stats{flex-wrap:wrap;grid-area:auto}.character-card--spotlight .card-abilities{grid-area:auto}.spotlight-actions{gap:8px;margin-top:18px;display:flex}.campaigns-grid[data-layout=grid]{border-top:0;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.campaigns-grid[data-layout=grid] .campaign-card-v2,.campaign-feature-stage{border:1px solid var(--line);background:var(--surface-paper);border-radius:14px}.campaigns-grid[data-layout=grid] .campaign-card-v2:hover,.campaigns-grid[data-layout=grid] .campaign-card-v2:focus-within{border-color:var(--line);background:var(--surface-paper)}.campaign-card--compact .campaign-card-inner{grid-template-columns:minmax(180px,.9fr) minmax(0,1.5fr) auto;gap:16px;min-height:0;padding:14px 100px 14px 10px}.campaign-card--compact .campaign-title{font-size:.95rem}.campaign-card--compact .campaign-desc{-webkit-line-clamp:1;font-size:.78rem}.campaign-card--grid .campaign-card-inner{grid-template-columns:1fr;gap:10px;min-height:0;padding:20px 20px 16px}.campaign-card--grid .campaign-desc{-webkit-line-clamp:3}.campaign-card--grid .campaign-footer{margin-top:4px}.campaign-feature-stage{margin-bottom:8px}.campaign-feature-stage .campaign-card-v2{border-bottom:0}.campaign-card--feature .campaign-card-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title meta""desc desc";gap:10px 20px;min-height:0;padding:28px}.campaign-card--feature .campaign-card-header{grid-area:title}.campaign-card--feature .campaign-title{font-size:1.5rem}.campaign-card--feature .campaign-desc{grid-area:desc;font-size:.9rem;display:block;overflow:visible}.campaign-card--feature .campaign-footer{grid-area:meta}}@media (max-width:900px){.character-spotlight{grid-template-columns:1fr}.character-drafts__heading{flex-direction:column;align-items:start;gap:8px}.character-draft-row{align-items:start}.character-library-header .layout-switcher{display:none}}@media (max-width:560px){.character-draft-row{flex-direction:column}.character-draft-row__actions{justify-content:space-between;width:100%}.character-roster .card-wrapper{grid-template-columns:minmax(0,1fr);gap:0}.character-roster .character-card-link{padding:0}.character-roster .card-actions{justify-content:flex-start;padding:12px}}.character-empty-state{max-width:620px;padding:74px 0}.character-empty-mark{border:1px solid var(--line);width:48px;height:48px;color:var(--ember);border-radius:50%;place-items:center;margin-bottom:25px;display:grid}.character-empty-state h2{color:var(--ink-strong);margin-bottom:12px}.character-empty-state p{max-width:470px;color:var(--ink-muted);margin:0 0 24px}.character-create-page,.character-edit-page,.character-view-page,.campaign-join-page{max-width:960px}.character-create-page,.character-edit-page{max-width:1120px}.character-form-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:0;margin-bottom:18px;padding-bottom:16px;display:flex}.character-form-header h1{color:var(--ink-strong);letter-spacing:-.04em;margin:6px 0 4px;font-size:clamp(1.9rem,3.5vw,2.6rem);line-height:1}.character-form-header p{color:var(--ink-muted);margin:0;font-size:.82rem}.character-back-btn{border:1px solid var(--line);cursor:pointer;background:var(--surface-raised);min-height:42px;color:var(--ink);transition:border-color var(--transition-smooth), color var(--transition-smooth);border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.character-back-btn:hover{border-color:var(--line-strong);color:var(--ink-strong)}.character-view-page .character-back-btn{margin-bottom:16px}.character-sheet-view{padding:clamp(24px,4vw,40px)}.character-sheet-view__header{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:20px}.character-sheet-view__title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.character-sheet-view__title-copy{min-width:0}.character-sheet-view__name{overflow-wrap:anywhere;min-width:0;margin:0 0 6px;font-size:clamp(2.2rem,4vw,3rem)}.character-sheet-view__subtitle{color:var(--ink-muted);margin:0;font-size:.88rem}.character-sheet-view__class{color:var(--ink-muted);margin:6px 0 0;font-size:.84rem}.character-sheet-view__quick-stats{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.sheet-field{border:1px solid var(--line);background:var(--surface-paper);border-radius:8px;padding:10px 14px}.sheet-field__label{color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:.6rem;font-weight:700}.sheet-field__value{color:var(--ink-strong);font-size:1.4rem;font-weight:600}.character-sheet-view__abilities{border-top:1px solid var(--line);padding-top:20px}.character-sheet-view__abilities-title{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:700}.character-sheet-view__ability-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.ability-box{border:1px solid var(--line);background:var(--surface-paper);text-align:center;border-radius:8px;padding:12px 8px}.ability-box__label{color:var(--ink-faint);letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;font-size:.58rem;font-weight:700}.ability-box__score{color:var(--ink-strong);font-size:1.4rem;font-weight:600;line-height:1}.ability-box__mod{color:var(--ink-muted);margin-top:2px;font-size:.75rem;font-weight:600}@media (max-width:560px){.character-sheet-view__ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.character-form-wizard{container-type:inline-size}.background-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.background-section-heading h3{margin-bottom:5px}.background-section-heading p{max-width:560px;color:var(--ink-muted);margin:0;font-size:.82rem;line-height:1.55}.background-section-heading .btn{flex:none}.character-form-wizard__step-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;position:relative}.character-form-wizard__step-list{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.character-form-wizard__step-item{min-width:0}.character-form-wizard__step-button{border:0;border-right:1px solid var(--line);cursor:pointer;width:100%;min-height:78px;color:var(--ink-muted);text-align:left;transition:color var(--transition-smooth), background var(--transition-smooth);background:0 0;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:14px 13px;display:grid;position:relative}.character-form-wizard__step-item:last-child .character-form-wizard__step-button{border-right:0}.character-form-wizard__step-button:after{content:"";background:var(--ember);height:2px;transition:transform var(--transition-smooth);position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(0)}.character-form-wizard__step-button:hover{color:var(--ink-strong);background:#fffdf873}.character-form-wizard__step-button.is-active{color:var(--ink-strong);background:#fffdf8a6}.character-form-wizard__step-button.is-active:after{transform:scaleX(1)}.character-form-wizard__step-number{border:1px solid var(--line);width:23px;height:23px;color:var(--ink-muted);font:700 .56rem/1 var(--mono);border-radius:50%;place-items:center;display:grid}.character-form-wizard__step-item.is-before .character-form-wizard__step-number{background:var(--moss-soft);color:var(--moss);border-color:#315e4b3d}.character-form-wizard__step-button.is-active .character-form-wizard__step-number{border-color:var(--ember);background:var(--ember);color:#fff8ec}.character-form-wizard__step-icon{color:var(--ink-faint);font-size:.75rem}.character-form-wizard__step-button.is-active .character-form-wizard__step-icon{color:var(--ember)}.character-form-wizard__step-label{text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;font-weight:750;overflow:hidden}.character-form-wizard__panels{min-height:440px}.character-form-wizard__panel[hidden]{display:none}.character-form-wizard__panel{animation:.22s ease-out both page-enter}.character-form-wizard__panel-header{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:18px;display:flex}.character-form-wizard__eyebrow{color:var(--ember-hover);font:700 .61rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px}.character-form-wizard__panel-title{color:var(--ink-strong);margin:0;font-size:clamp(2rem,3.8vw,3rem);line-height:1}.character-form-wizard .form-section{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;margin-bottom:14px;padding:22px}.character-form-wizard .form-section h3,.character-form-wizard .item-list-editor h4{border-bottom:1px solid var(--line);color:var(--ink-strong);font:700 .9rem/1.3 var(--sans);letter-spacing:-.01em;margin:0 0 17px;padding:0 0 11px}.character-form-wizard .item-list-editor{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;margin-bottom:14px;padding:22px}.character-form-wizard__actions{z-index:50;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f5eeeb;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:12px;display:flex;position:sticky;bottom:14px;box-shadow:0 14px 34px #1c1e1d1c}.character-form-wizard__actions-start,.character-form-wizard__actions-end{align-items:center;gap:8px;display:flex}.character-form-wizard__secondary-actions{display:none}.join-card{border-color:var(--line);box-shadow:var(--shadow-lg);color:var(--ink);background:#fffdf8f5}.join-title{color:var(--ink-strong);letter-spacing:-.035em;overflow-wrap:anywhere}.join-desc,.join-input-label{color:var(--ink-muted)}.join-back-btn{min-height:44px;color:var(--ink-muted);align-items:center;gap:6px;display:inline-flex}.join-owner{color:var(--ink)}.join-code-input{border-color:var(--line);background:var(--surface-paper);color:var(--ink-strong)}.join-code-input:focus{border-color:var(--ember);outline:none;box-shadow:0 0 0 3px #ad482b24}.join-btn{border-color:var(--ember);background:var(--ember);color:#fffaf2;box-shadow:0 8px 20px #96391f29}.join-btn:hover:not(:disabled){border-color:var(--ember-hover);background:var(--ember-hover);box-shadow:0 10px 24px #96391f33}.recap-page{max-width:42rem;color:var(--ink);margin:0 auto;padding:2rem 1rem}.recap-kicker{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}.recap-title{color:var(--ink-strong);letter-spacing:-.02em;overflow-wrap:anywhere;margin:4px 0 0;font-size:1.5rem;line-height:1.2}.recap-meta{color:var(--ink-muted);margin:4px 0 0;font-size:.85rem}.recap-alert{background:#fdf0d580;border:1px solid #d2a45780;border-radius:8px;margin-top:1rem;padding:12px 14px;font-size:.85rem}.recap-body{border:1px solid var(--line);background:var(--surface-raised);white-space:pre-line;overflow-wrap:anywhere;border-radius:8px;margin-top:1rem;padding:1rem}.recap-foot{color:var(--ink-faint);margin:12px 0 0;font-size:.75rem}.not-found-page{text-align:center;place-content:center;min-height:55vh;display:grid}.not-found-page h2{margin-bottom:10px;font-size:clamp(2.8rem,7vw,5rem)}.not-found-page p{color:var(--ink-muted);margin:0 0 22px}.automation-page{max-width:1240px;color:var(--ink);gap:0;margin:0 auto;padding:0;animation:.36s ease-out both page-enter}.automation-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:42px;margin-bottom:38px;padding:8px 0 34px;display:grid}.automation-title{color:var(--ink-strong);letter-spacing:-.065em;margin:11px 0 9px;font-size:clamp(3.2rem,6vw,5.6rem);line-height:.9}.automation-subtitle{max-width:530px;color:var(--ink-muted);margin:0;font-size:.91rem}.automation-stat-grid{border:1px solid var(--line);background:#fffdf873;grid-template-columns:repeat(3,minmax(100px,1fr));gap:0;display:grid}.automation-stat-card{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0;min-width:116px;padding:18px 20px;position:relative}.automation-stat-card:last-child{border-right:0}.automation-stat-card strong{color:var(--ink-strong);font:600 1.75rem/1 var(--heading);margin-bottom:7px;display:block}.automation-stat-card span{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.59rem;font-weight:700}.automation-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.35fr);gap:34px;margin-bottom:42px;display:grid}.automation-panel{background:0 0;border:0;border-radius:0;min-width:0;margin-bottom:0;padding:0}.automation-panel-heading,.automation-section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;min-height:58px;padding:0 0 13px;display:flex}.automation-panel-heading h2,.automation-section-header h2,.automation-panel h2{color:var(--ink-strong);letter-spacing:-.035em;margin:5px 0 0;font-size:1.55rem}.automation-form{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;gap:16px;min-width:0;margin-top:18px;padding:20px;display:grid}.automation-list{gap:0;display:grid}.automation-list-item{border:0;border-bottom:1px solid var(--line);min-height:70px;color:inherit;transition:padding var(--transition-smooth), background var(--transition-smooth);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 8px;text-decoration:none;display:grid;position:relative}a.automation-list-item:hover,a.automation-list-item:focus-visible{border-color:var(--line-strong);background:#fffdf88c;padding-left:14px;padding-right:14px}.automation-list-item strong{color:var(--ink-strong);font-size:.83rem;font-weight:700}.automation-list-item span{color:var(--ink-muted);font-size:.71rem}.automation-empty{border-bottom:1px solid var(--line);min-height:94px;color:var(--ink-muted);padding:30px 8px;font-size:.8rem}.automation-back-link{color:var(--ink-muted)}.automation-back-link:hover{color:var(--ember-hover)}.status-pass,.status-passed{color:var(--moss)}.status-fail,.status-failed{color:var(--danger)}.lobby-page{background:radial-gradient(circle at 100% 0%, #c85f3d14, transparent 32rem), var(--surface-canvas);min-height:100svh;color:var(--ink);place-items:center;padding:clamp(16px,2vw,24px);display:grid}.lobby-container{width:100%;max-width:1120px;margin:0 auto;animation:.36s ease-out both page-enter;position:relative}.lobby-card{border:1px solid var(--line);background:var(--surface-raised);border-radius:14px;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);padding:24px;display:grid;overflow:hidden;box-shadow:0 26px 70px #1c1e1d1f}.lobby-hero{text-align:left;isolation:isolate;background:url(/images/lobby-tall.png) 62% 100%/cover no-repeat;border:0;border-radius:10px 0 0 10px;flex-direction:column;grid-row:1/span 4;justify-content:flex-start;align-items:flex-start;gap:0;min-height:clamp(300px,38svh,420px);margin:0;padding:clamp(22px,3vw,32px) clamp(28px,4vw,36px) clamp(16px,2vw,20px);display:flex;position:relative;overflow:hidden}.lobby-hero:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#eee2c7eb 0%,#eee2c780 32%,#0000 58%);position:absolute;inset:0}.lobby-hero-avatar{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;color:var(--ink-strong);font:700 .72rem/1 var(--mono);border-radius:9px;place-items:center;margin:0 0 14px;display:grid;background:#ffffffb8!important}.lobby-title{max-width:340px;color:var(--ink-strong);letter-spacing:-.05em;text-wrap:balance;margin:0 0 8px;font-size:clamp(1.95rem,3vw,2.7rem);line-height:.93}.lobby-desc{max-width:300px;color:var(--ink-muted);margin:0;font-size:.84rem;line-height:1.5}.lobby-hero-tags{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.lobby-seed-tag{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffffa8;border-radius:5px;padding:5px 8px;font-size:.62rem;font-weight:700}.lobby-party-section,.lobby-invite-section,.lobby-footer,.lobby-card>.llm-manager-card{grid-column:2}.lobby-card.lobby-solo .lobby-party-section{flex-direction:column;display:flex}.lobby-card.lobby-solo .lobby-players-grid{flex:1;display:flex}.lobby-card.lobby-solo .lobby-players-grid .lobby-player-slot{flex:1;min-height:220px}.lobby-lore-section{grid-column:2;padding:0 28px}.lobby-lore-section textarea{box-sizing:border-box;border:1px solid var(--line);background:var(--surface-paper);width:100%;min-height:110px;color:var(--ink);font:400 .82rem/1.55 var(--sans);resize:vertical;border-radius:9px;padding:12px 14px}.lobby-lore-section textarea::placeholder{color:var(--ink-faint)}.lobby-lore-section textarea:focus{border-color:var(--line-strong);outline:none}@media (min-width:1101px){.lobby-card.has-lore{grid-template-columns:minmax(260px,.85fr) minmax(0,1fr) minmax(0,1fr)}.lobby-card.has-lore .lobby-party-section{padding-bottom:0;padding-right:0}.lobby-card.has-lore .lobby-lore-section{flex-direction:column;grid-area:1/3/span 2;padding:24px 0 0 28px;display:flex}.lobby-card.has-lore .lobby-lore-section textarea{flex:1}.lobby-card.has-lore .lobby-footer{padding:8px 28px 0}.lobby-card.has-lore .lobby-footer .lobby-begin-btn{width:100%}.lobby-card.has-lore .lobby-lore-actions>button{flex:1 1 0;min-width:0}.lobby-card.has-lore .lobby-generate-btn,.lobby-card.has-lore .lobby-copy-btn{min-height:46px}}.lobby-lore-chat{gap:10px;margin-top:12px;display:grid}.lobby-lore-chat-log{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;gap:8px;max-height:260px;padding:12px;display:grid;overflow-y:auto}.lobby-lore-chat-msg{justify-items:start;gap:6px;display:grid}.lobby-lore-chat-msg.is-user{justify-items:end}.lobby-lore-chat-bubble{border:1px solid var(--line);background:var(--surface-paper);max-width:90%;color:var(--ink);white-space:pre-wrap;border-radius:12px;padding:8px 12px;font-size:.8rem;line-height:1.5}.lobby-lore-chat-msg.is-user .lobby-lore-chat-bubble{background:var(--surface-muted)}.lobby-lore-proposal{border:1px dashed var(--line-strong);background:var(--surface-paper);border-radius:9px;gap:8px;max-width:95%;padding:12px;display:grid}.lobby-lore-proposal-label{color:var(--ember-hover);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:800}.lobby-lore-proposal-text{color:var(--ink-strong);white-space:pre-wrap;margin:0;font-size:.82rem;line-height:1.55}.lobby-lore-chat-error{color:var(--danger);font-size:.75rem}.lobby-lore-chat-composer{gap:8px;display:flex}.lobby-lore-chat-composer input{border:1px solid var(--line);background:var(--surface-raised);min-width:0;color:var(--ink);border-radius:8px;flex:1;padding:8px 12px;font-size:.82rem}.lobby-lore-chat-composer input:focus{border-color:var(--line-strong);outline:none}.lobby-party-section{margin:0;padding:24px 28px}.lobby-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin-bottom:16px;display:flex}.lobby-section-label{color:var(--ink-strong);white-space:nowrap;align-items:center;gap:9px;font-size:.82rem;font-weight:700;display:flex}.lobby-section-label i{color:var(--ember)}.lobby-players-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:0;display:grid}.lobby-player-slot{border:1px solid var(--line);background:var(--surface-paper);text-align:center;min-height:145px;transition:border-color var(--transition-smooth), background var(--transition-smooth);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;padding:18px 12px;display:flex;position:relative}.lobby-player-slot.lobby-slot-mine{cursor:pointer;color:inherit;font:inherit}.lobby-player-slot.lobby-slot-mine:hover{border-color:var(--line-strong);background:#fff}.lobby-slot-circle{width:46px;height:46px;color:var(--ember-hover);font:700 .72rem/1 var(--mono);border-radius:50%;place-items:center;margin-bottom:10px;display:grid;background:var(--surface-muted)!important}.lobby-slot-name{color:var(--ink-strong);margin-bottom:3px;font-size:.78rem;font-weight:700}.lobby-slot-you{color:var(--ember-hover)}.lobby-slot-role,.lobby-slot-status{color:var(--ink-muted);font-size:.66rem}.lobby-slot-empty{opacity:.72;background:0 0;border-style:dashed}.lobby-slot-circle-empty{border:1px dashed var(--line-strong);color:var(--ink-faint);background:0 0!important}.lobby-invite-section{margin:0;padding:24px 28px}.lobby-invite-card{border:1px solid var(--line);background:var(--surface-paper);border-radius:9px;padding:18px}.lobby-invite-code-row{align-items:stretch;gap:8px;display:flex}.lobby-invite-code{border:1px solid var(--line);background:var(--surface-raised);min-height:44px;color:var(--ink-strong);font:700 1rem/1 var(--mono);border-radius:7px;flex:1;align-items:center;padding:0 14px;display:flex}.lobby-back-row{width:100%;max-width:1120px;margin:0 auto 12px}.lobby-invite-row{gap:8px;margin-top:8px;display:flex}.lobby-invite-row input{border-radius:8px;flex:auto;min-width:0;min-height:44px;padding:8px 10px}.lobby-share-label{display:none}.lobby-slot-cta{color:var(--ember-hover);margin-top:4px;font-size:.74rem;font-weight:800}.lobby-copy-btn,.lobby-generate-btn{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:var(--surface-raised);min-height:44px;color:var(--ink);transition:border-color var(--transition-smooth), color var(--transition-smooth);border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:.74rem;font-weight:700;display:inline-flex}.lobby-copy-btn:hover,.lobby-generate-btn:hover{border-color:var(--line-strong);color:var(--ink-strong)}.lobby-copy-btn.copied{border-color:var(--moss);background:var(--moss);color:#fff}.lobby-footer{justify-content:flex-end;padding:24px 28px;display:flex}.lobby-begin-btn{border:1px solid var(--ember);cursor:pointer;background:var(--ember);color:#fff8ec;min-height:46px;font:700 .8rem/1 var(--sans);transition:background var(--transition-smooth), border-color var(--transition-smooth), transform var(--transition-smooth);border-radius:8px;align-items:center;gap:9px;padding:0 18px;display:inline-flex}.lobby-begin-btn:hover:not(:disabled){border-color:var(--ember-hover);background:var(--ember-hover);transform:translateY(-1px)}.lobby-begin-locked{border-color:var(--line);cursor:not-allowed;background:var(--surface-muted);color:var(--ink-faint)}.lobby-locked-msg{max-width:410px;color:var(--ink-muted);margin:0;font-size:.72rem}.planning-page{background:var(--surface-canvas);height:auto;min-height:100svh;color:var(--ink);flex-direction:column;justify-content:safe center;display:flex;overflow-y:auto}.planning-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#15191af7;border-bottom:1px solid #ffffff14;flex:none;align-items:center;gap:15px;min-height:72px;padding:10px clamp(20px,3vw,42px);display:flex}.planning-header>div{flex:1;min-width:0}.planning-header h1{color:#fff8ec;font:600 1.12rem/1.2 var(--heading);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.planning-header p{color:#d89b80;font:700 .57rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:2px 0 0}.planning-header .dashboard-back{color:#fff9eea6;cursor:pointer;width:44px;height:44px;transition:border-color var(--transition-smooth), background var(--transition-smooth), color var(--transition-smooth), transform var(--transition-smooth);background:0 0;border:1px solid #ffffff21;border-radius:50%;flex:none;place-items:center;display:grid}.planning-header .dashboard-back:hover{color:#fff8ec;background:#ffffff0d;border-color:#ffffff42;transform:translate(-1px)}.dashboard-back{border:1px solid var(--line);background:var(--surface-raised);width:44px;height:44px;color:var(--ink-muted);cursor:pointer;transition:border-color var(--transition-smooth), background var(--transition-smooth), color var(--transition-smooth);border-radius:50%;place-items:center;display:grid}.dashboard-back:hover{border-color:var(--line-strong);background:var(--surface-muted);color:var(--ink-strong)}.planning-wait-icon{place-items:center;display:grid}.dashboard-top-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f5eef0;min-height:64px;padding:0 20px}.session-messages{scrollbar-width:none;-ms-overflow-style:none;background:var(--bg-panel);min-height:0}.session-messages::-webkit-scrollbar{display:none}.session-msg{background:0 0!important;border:0!important;padding:14px 20px!important}.session-msg+.session-msg{border-top:1px solid var(--line)!important}.session-input-area{border-color:var(--border-color);background:var(--bg-panel);gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important}.session-input-shell{background:0 0!important;border-color:#0000!important;border-radius:8px!important}.session-input-shell:focus-within{box-shadow:none!important;border-color:#0000!important}.session-input-editable:focus-visible{outline:none!important}.session-input-editable{scrollbar-width:none;-ms-overflow-style:none}.session-input-editable::-webkit-scrollbar{display:none}.composer-wrap{flex:1;align-self:center;min-width:0;display:flex;position:relative}.composer-backdrop{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--text-bright);letter-spacing:inherit;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:.9rem;line-height:1.5;position:absolute;inset:0;overflow:hidden}.composer-backdrop .composer-ic{background:var(--ember-soft);border:1px solid var(--ember);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--ember-hover);border-radius:5px;margin:0 -4px;padding:0 3px}.composer-backdrop .composer-fake-caret{border-left:2px solid var(--ink-strong);vertical-align:text-bottom;width:0;height:1.05em;margin-left:-2px;animation:1.06s steps(2,start) infinite composer-caret-blink;display:inline-block}@keyframes composer-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.composer-backdrop .composer-fake-caret{animation:none}}.composer-transparent{color:#0000;caret-color:#0000}.composer-transparent::placeholder{color:var(--text-dim);opacity:1}.composer-transparent::selection{background:#d16b4859}.composer-hint{color:var(--text-dim);text-align:center;margin:0 0 6px;font-size:.72rem}.composer-hint-example{background:var(--ember-soft);border:1px solid var(--ember);color:var(--ember-hover);border-radius:4px;padding:0 4px;font-style:italic}.session-ic-span{background:var(--ember-soft);border:1px solid var(--ember);color:var(--ember-hover);border-radius:6px;padding:0 5px;font-style:italic}.npc-line{border-left:2px solid var(--ember-soft);margin:0;padding:1px 0 1px 16px}.dm-narration>*+*{margin-top:12px}.npc-line-speaker{color:var(--ember-hover);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:600;line-height:1.5}.npc-line-text{margin:0}.session-send-btn{min-width:36px;min-height:32px;background:var(--color-primary)!important;color:#fff8ee!important;border-radius:7px!important}.widget-header h3{color:var(--text-bright);letter-spacing:.02em;font-size:.8rem;font-weight:700}.private-thread-conversation{flex-direction:column;height:100%;display:flex}.private-thread-header{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.private-thread-header .btn{white-space:nowrap;flex:none}.private-thread-eyebrow{color:var(--ember);font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.private-thread-subtitle{color:var(--text-dim);margin-top:3px;font-size:.69rem}.private-thread-messages{overscroll-behavior:contain;flex:1;padding:22px clamp(18px,4.5vw,72px) 34px;overflow-y:auto}.private-thread-log{flex-direction:column;min-height:100%;display:flex}.private-thread-empty{color:var(--text-dim);text-align:center;flex:1;place-content:center;place-items:center;display:grid}.private-thread-empty i{color:var(--ember);margin-bottom:10px;font-size:1.5rem}.private-thread-empty p{max-width:320px;margin:0;font-size:.82rem}.private-thread-reconnect{color:var(--ember-hover);border:1px solid #c85f3d40;border-radius:7px;margin:0 auto 14px;padding:8px 12px;font-size:.7rem}.private-thread-message{grid-template-columns:38px minmax(0,1fr);gap:12px;max-width:900px;margin-inline:auto;display:grid!important}.private-thread-message .session-msg-avatar{border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-muted);background:#ffffff0f;border-radius:50%;place-items:center;font-size:.62rem;font-weight:700;display:grid}.private-thread-message .session-msg-avatar.dm-avatar{background:var(--ember);color:#fff8ee}.private-thread-message-meta{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.private-thread-message-meta strong{color:var(--text-bright);font-size:.8rem}.private-thread-message-meta time,.private-thread-message-meta span{color:var(--text-dim);font-size:.65rem}.private-thread-message p{color:var(--text-main);white-space:pre-wrap;margin:0;font-size:.86rem;line-height:1.55}.private-thread-message.is-streaming{opacity:.88}.private-thread-input-area{flex:none}.private-thread-input-area .session-input-shell{align-items:flex-end;gap:8px;padding:8px 10px;display:flex}.private-thread-input-area textarea{resize:none;max-height:180px;color:var(--text-bright);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:8px;overflow-y:auto}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes home-page-enter{0%{opacity:0}to{opacity:1}}@keyframes hero-settle{0%{opacity:.7;transform:scale(1.045)}to{opacity:1;transform:scale(1.015)}}@keyframes menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ember-breathe{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:1120px){.app-header{grid-template-columns:auto 1fr auto}.user-identity{display:none}.campaign-hero-copy{width:min(760px,72%)}}@media (max-width:900px){.app-header{gap:12px;padding:0 20px}.header-actions{gap:8px}.campaign-hero-copy{width:78%}.automation-header{grid-template-columns:1fr;align-items:start}.automation-grid{grid-template-columns:minmax(0,1fr)}.lobby-page{place-items:initial;height:auto;min-height:auto;max-height:none;padding:clamp(16px,3vw,24px);display:block;overflow:visible}.lobby-container{max-height:none;overflow:visible}.lobby-card{grid-template-columns:1fr;max-height:none;padding:24px;overflow:visible}.lobby-hero{border-radius:10px;grid-row:auto;min-height:clamp(140px,24svh,220px)}.lobby-page{place-items:start center}.lobby-card>*{min-width:0}.lobby-title,.lobby-slot-name,.lobby-invite-hint,.lobby-invite-code-row span,.lobby-lore-chat-bubble{overflow-wrap:anywhere}.lobby-invite-row{flex-wrap:wrap}.lobby-invite-row input{flex:100%;min-height:44px}.lobby-invite-row .lobby-generate-btn{width:100%}.lobby-share-label{display:inline}.lobby-party-section,.lobby-invite-section,.lobby-lore-section,.lobby-footer{grid-column:1}.modal-panel{border-radius:12px;width:calc(100% - 20px);max-height:min(92svh,760px)}.modal-header{min-height:54px;padding:12px 16px}.modal-header h2{font-size:1.25rem}.modal-body{padding:14px 16px}.modal-body .form-field{margin-bottom:10px}.modal-body label{font-size:.65rem}.modal-body .input,.modal-body textarea,.modal-body select{min-height:44px;padding:8px 10px;font-size:.88rem}.campaign-form-intro{grid-template-columns:1fr!important}.campaign-form-quick-actions{width:100%}.campaign-form-quick-actions .btn{flex:1}}@media (max-width:720px){.app-header{gap:4px;min-height:56px;padding:0 8px 0 16px}.app-nav{gap:0}.nav-link{place-items:center;min-height:56px;padding:0 12px;font-size:.8rem;display:grid}.nav-link:after{left:12px;right:12px}.account-menu-trigger{min-height:44px;padding:4px 6px}.app-main{padding:34px 20px 60px}.campaign-hero{background:var(--surface-paper);flex-direction:column;min-height:0;margin:-34px calc(50% - 50vw) 44px;display:flex}.character-library-hero{min-height:calc(100svh - 56px)}.campaign-hero-copy{width:100%;padding-left:20px;padding-right:20px}.campaign-hero--welcome{min-height:calc(100svh - 56px)}.campaigns-header{flex-direction:column;align-items:stretch}.campaigns-header-actions{grid-template-columns:1fr 1fr;display:grid}.campaigns-header-actions .btn{justify-content:center;width:100%}.campaign-card-v2.has-actions .campaign-card-inner{padding-right:112px}.campaign-card-delete-btn{width:44px;height:44px;right:4px}.campaign-card-archive-btn,.campaign-card-restore-btn{width:44px;height:44px;right:60px}.campaign-card-inner{grid-template-columns:1fr;gap:10px;min-height:142px;padding:20px 56px 20px 4px}.character-card,.character-card-link{grid-template-columns:1fr;gap:10px;padding:18px 12px}.character-card .card-subtitle,.character-card .card-stats,.character-card .card-abilities{grid-area:auto}.lobby-party-section,.lobby-invite-section,.lobby-footer{padding-left:22px;padding-right:22px}.character-form-header{flex-direction:column;align-items:flex-start;min-height:0}.character-library-header{flex-direction:column;align-items:stretch;gap:16px}.character-library-tools{width:100%}.character-library-tools .btn{justify-content:center;width:100%}.character-form-wizard__step-nav{scrollbar-width:thin;scroll-snap-type:x proximity;overflow-x:auto}.character-form-wizard__step-item{scroll-snap-align:center}.character-form-wizard__step-list{grid-template-columns:repeat(5,minmax(128px,1fr));width:max-content;min-width:100%}.character-form-wizard__step-button{min-height:68px}.background-section-heading{flex-direction:column}.background-section-heading .btn{width:100%}.character-form-wizard .form-section{padding:16px}.character-form-wizard .form-section [style*=grid-template-columns]{grid-template-columns:1fr!important}.character-form-wizard__actions{padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;gap:8px;bottom:8px}.character-form-wizard__secondary-actions{gap:8px;margin-bottom:12px;display:flex}.character-form-wizard__secondary-actions .btn{flex:1;min-height:44px}.character-form-wizard__actions-start{display:none}.character-form-wizard__actions-end{width:100%}.character-form-wizard__actions-end .btn{flex:1;min-height:44px}}@media (max-width:480px){.header-wordmark{display:none}.header-link{justify-content:center;min-width:44px;min-height:44px}.header-mark{font-size:1.05rem}.campaign-hero-actions,.empty-state-actions{grid-template-columns:1fr;width:100%;display:grid}.empty-state-v2{grid-template-columns:1fr}}@media (max-width:360px){.app-header{padding-left:8px}.nav-link{padding:0 8px}.nav-link:after{left:8px;right:8px}.account-menu-chevron{display:none}}@media (max-width:560px){.lobby-page{padding:12px}.lobby-card{padding:16px}.lobby-players-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-player-slot{min-height:110px;padding:12px 8px}.lobby-party-section,.lobby-invite-section,.lobby-footer{padding-left:16px;padding-right:16px}}@media (min-width:901px){.dashboard-top-header{min-height:70px;padding:0 clamp(18px,2.4vw,34px)}.session-messages{background:var(--bg-panel);padding:22px clamp(18px,4.5vw,72px) 34px}.session-msg{width:100%;max-width:900px;margin-inline:auto;padding:22px 0!important}.session-input-area{background:var(--surface-raised);border-radius:12px;width:min(900px,100% - 36px);margin:0 auto 18px;box-shadow:0 3px 12px #3e42401a;border:1px solid #eee4d421!important;padding:4px!important}}.session-input-area:focus-within{box-shadow:none!important;border-color:#d16b488c!important}.character-form-wizard__panel-title:focus{outline:none}.character-form-wizard .form-grid{gap:16px;display:grid}.character-form-wizard .form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.character-form-wizard .form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.character-form-wizard .form-grid.five-col{grid-template-columns:repeat(5,minmax(0,1fr))}.character-form-wizard .form-grid.six-col{grid-template-columns:repeat(6,minmax(0,1fr))}.character-form-wizard input[type=number]{font-variant-numeric:tabular-nums}.character-form-wizard .checkbox-label{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:.8rem;font-weight:650;display:flex}.character-form-wizard .checkbox-label.inline{align-self:end;min-height:42px}.character-form-wizard .checkbox-label input{width:17px;height:17px;accent-color:var(--ember)}.character-form-wizard .spell-slots-heading{color:var(--ink-strong);margin:22px 0 12px;font-size:.82rem}.character-form-wizard .slot-box{border:1px solid var(--line);background:var(--surface-paper);border-radius:8px;padding:10px}.character-form-wizard .slot-box__label{color:var(--ink-muted);font:700 .64rem/1 var(--mono);text-transform:uppercase;margin-bottom:7px;display:block}.character-form-wizard .slot-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.character-form-wizard .slot-inputs .input{min-width:0;padding-inline:7px}.character-form-wizard .empty-list{color:var(--ink-faint);margin:7px 0 14px;font-size:.8rem;font-style:italic}.character-form-wizard .item-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.character-form-wizard .item-row{border:1px solid var(--line);background:var(--surface-paper);border-radius:8px;padding:12px 14px}.character-form-wizard .item-display{justify-content:space-between;align-items:center;gap:16px;display:flex}.character-form-wizard .item-display-content{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.character-form-wizard .item-display-header,.character-form-wizard .item-details-grid{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.character-form-wizard .item-name{color:var(--ink-strong);overflow-wrap:anywhere;font-size:.91rem;font-weight:750}.character-form-wizard .item-detail-tag{border:1px solid var(--line);color:var(--ink-muted);background:#fffdf88c;border-radius:5px;padding:3px 7px;font-size:.7rem}.character-form-wizard .item-actions{flex-shrink:0;gap:7px;display:flex}.character-form-wizard .item-form{border:1px solid var(--line);box-sizing:border-box;background:#f8f5eeb8;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;width:100%;padding:16px;display:grid}.character-form-wizard .item-field{flex-direction:column;gap:6px;min-width:0;display:flex}.character-form-wizard .item-field.full-width,.character-form-wizard .item-form-actions{grid-column:1/-1}.character-form-wizard .item-field>label:not(.checkbox-label){color:var(--ink-muted);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:750}.character-form-wizard .item-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.character-form-wizard .add-btn{width:100%}@container (max-width:640px){.character-form-wizard .form-grid.three-col,.character-form-wizard .form-grid.five-col,.character-form-wizard .form-grid.six-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:420px){.character-form-wizard .form-grid.two-col,.character-form-wizard .form-grid.three-col:not(.numbers),.character-form-wizard .form-grid.five-col:not(.numbers),.character-form-wizard .form-grid.six-col:not(.numbers){grid-template-columns:1fr}.character-form-wizard .item-display{flex-direction:column;align-items:stretch}.character-form-wizard .item-actions .btn{flex:1}.character-form-wizard .item-form{grid-template-columns:1fr;padding:12px}}@container (max-width:240px){.character-form-wizard .form-grid.numbers{grid-template-columns:1fr}}.character-ai-assist,.character-ai-chat{flex-direction:column;display:flex}.character-ai-chat{flex-direction:column;flex:1;min-height:0;display:flex}.character-ai-chat__messages{background:var(--surface-paper);scrollbar-width:thin;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 12px;display:flex;overflow-y:auto}.character-ai-chat__bubble{border:1px solid var(--line);background:var(--surface-raised);overflow-wrap:anywhere;border-radius:10px;min-width:0;max-width:92%;padding:10px 12px;font-size:.86rem;line-height:1.5}.character-ai-chat__bubble.is-ai{background:var(--surface-raised);align-self:flex-start}.character-ai-chat__bubble.is-user{background:var(--ember-soft);border-color:#ad482b2e;align-self:flex-end}.character-ai-chat__bubble-role{color:var(--ink-faint);font:700 .58rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;display:block}.character-ai-chat__bubble p{margin:0}.character-ai-chat__bubble pre,.character-ai-chat__bubble table{max-width:100%;overflow-x:auto}.character-ai-chat__bubble.is-typing{opacity:.7;font-style:italic}.character-ai-chat__applied{border-top:1px solid var(--line);color:var(--moss);align-items:center;gap:6px;margin-top:9px;padding-top:8px;font-size:.72rem;font-weight:700;display:flex}.character-ai-chat__composer{border-top:1px solid var(--line);background:var(--surface-raised);padding:10px 12px 12px}.character-ai-chat__input-wrap{border:1px solid var(--line);background:var(--surface-paper);transition:border-color var(--transition-smooth), box-shadow var(--transition-smooth);border-radius:24px;align-items:end;gap:8px;padding:6px 6px 6px 14px;display:flex}.character-ai-chat__input-wrap:focus-within{border-color:var(--ember);box-shadow:0 0 0 3px #ad482b1a}.character-ai-chat__input-wrap textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:22px;max-height:96px;padding:6px 0;font-size:.88rem;line-height:1.4}.character-ai-chat__send{background:var(--ember);color:#fff;cursor:pointer;width:32px;height:32px;transition:background var(--transition-smooth), opacity var(--transition-smooth);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.character-ai-chat__send:disabled{opacity:.4;cursor:not-allowed}.character-ai-chat__send:hover:not(:disabled){background:var(--ember-hover)}@media (pointer:coarse){.character-ai-chat__send{width:44px;height:44px}}.character-ai-banner{border:1px solid var(--color-success-border);background:var(--color-success-bg);color:var(--moss);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 12px 0;padding:8px 10px;font-size:.78rem;font-weight:600;display:flex}.character-ai-banner .link-button{color:var(--moss);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-weight:700;text-decoration:underline}.character-create-page.has-sidebar{max-width:1360px}.character-create-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.character-create-layout.is-collapsed{grid-template-columns:1fr}.character-back-link{color:var(--ink-muted);align-items:center;gap:6px;margin-bottom:14px;font-size:.78rem;font-weight:600;display:inline-flex}.character-back-link:hover{color:var(--ink-strong)}.character-ai-sidebar{border:1px solid var(--line);background:var(--surface-raised);height:calc(100dvh - 92px);max-height:760px;box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;display:flex;position:sticky;top:80px;overflow:hidden}.character-ai-sidebar[hidden]{display:none}.character-ai-sidebar__head{border-bottom:1px solid var(--line);background:var(--surface-muted);font:700 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.character-ai-sidebar__close{width:28px;height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.character-ai-sidebar__close:hover{background:var(--surface-paper);color:var(--ink-strong)}.character-ai-sidebar__actions{gap:4px;display:flex}@media (pointer:coarse){.character-ai-sidebar__close{width:44px;height:44px}.character-ai-sidebar__actions{gap:12px}}.character-ai-sidebar__content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.character-ai-sidebar__content .character-ai-assist{background:0 0;border:0;border-radius:0;flex:1;min-height:0;margin:0}.character-ai-sidebar__content .character-ai-banner{margin:0 12px 12px}.character-ai-bubble{display:none}.character-create-main{min-width:0}@media (max-width:900px){.character-create-layout,.character-create-layout.is-collapsed{grid-template-columns:1fr}.character-create-page.has-sidebar{animation:none}.character-ai-sidebar{left:0;right:0;top:var(--vv-top,0px);z-index:1100;height:var(--vv-height,100dvh);border:0;border-radius:0;max-height:none;position:fixed}.character-ai-sidebar__collapsed-hint{display:none!important}}.tv{--tv-bg:#fff;--tv-line:#e8e7e4;--tv-text:#1b1b1a;--tv-muted:#6f6e6a;--tv-faint:#9b9a96;--tv-hover:#f0efed;--tv-bubble:#f1f0ee;--tv-accent:#d6542f;--tv-good:#3f7d5c;--tv-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--tv-story:Charter, "Iowan Old Style", Georgia, serif;top:var(--vv-top,0px);height:var(--vv-height,100dvh);background:var(--tv-bg);color:var(--tv-text);font:14px/1.5 var(--tv-ui);flex-direction:column;display:flex;position:fixed;left:0;right:0;overflow:hidden}html:has(.tv){overscroll-behavior:none}.tv button{font:inherit}.tv-muted{color:var(--tv-muted)}.tv .cap{text-transform:capitalize}.tv-header{z-index:10;border-bottom:1px solid var(--tv-line);flex:none;align-items:center;gap:12px;height:52px;padding:0 14px;display:flex;position:relative}.tv-place{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tv-place b{font-weight:600}.tv-place span{color:var(--tv-muted);margin-left:8px;font-size:13px}.tv-fight{color:#a8401f;background:#fbeae4;border-radius:6px;flex:none;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12.5px;font-weight:500;display:inline-flex}.tv-header-right{align-items:center;gap:4px;margin-left:auto;display:flex}.tv-icon-btn{width:30px;height:30px;color:var(--tv-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;display:grid}.tv-icon-btn:hover,.tv-icon-btn.on{background:var(--tv-hover);color:var(--tv-text)}.tv-icon-btn:disabled{opacity:.4;cursor:default}.tv-switcher{position:relative}.tv-switch-btn{white-space:nowrap;height:30px;color:var(--tv-text);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:13px;display:flex}.tv-switch-btn:hover,.tv-switch-btn.open{background:var(--tv-hover)}.tv-chev{color:var(--tv-muted);font-size:11px}.tv-menu{border:1px solid var(--tv-line);background:#fff;border-radius:12px;width:min(270px,100vw - 16px);padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0000001a}.tv-menu hr{border:0;border-top:1px solid var(--tv-line);margin:6px 4px}.tv-menu-item{width:100%;color:var(--tv-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:13.5px;display:flex}.tv-menu-item:hover{background:var(--tv-hover)}.tv-menu-item.muted{color:var(--tv-muted)}.tv-menu-item small{color:var(--tv-muted);font-size:12px;display:block}.tv-check{color:var(--tv-muted);margin-left:auto}.tv-menu-direct{gap:6px;padding:4px;display:flex}.tv-menu-direct select{border:1px solid var(--tv-line);min-width:0;height:28px;color:var(--tv-text);background:#fff;border-radius:7px;flex:1;padding:0 6px;font-size:13px}.tv-face{color:#4a4946;background:#e3e1dc;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:10.5px;font-weight:600;display:grid}.tv-face.dm{background:var(--tv-text);color:#fff}.tv-face.plain{background:0 0}.tv-face.large{width:44px;height:44px;font-size:15px}.tv-dot{background:var(--tv-accent);border-radius:50%;width:6px;height:6px;display:inline-block}.tv-body{flex:1;min-height:0;display:flex;position:relative}.tv-private{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tv-private>*{flex:1;min-height:0}.tv-chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tv-thread{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.tv-thread-inner{overflow-wrap:anywhere;max-width:700px;margin:0 auto;padding:36px 28px 24px}.tv-dm,.tv-dm .markdown-content{color:var(--tv-text);font:17px/1.7 var(--tv-story)}.tv-dm{margin:0 0 24px}.tv-dm p{margin:0 0 12px}.tv-dm p:last-child{margin:0}.tv-dm .npc-line{border-left:2px solid #e3d5c8}.tv-dm .npc-line-speaker{color:#a3502f;font-family:var(--tv-ui)}.tv-thinking{color:var(--tv-muted);font:italic 15px/1.5 var(--tv-story);margin:4px 0 0}.tv-you{justify-content:flex-end;margin:0 0 24px;display:flex}.tv-other{margin:0 0 24px}.tv-other-name{color:var(--tv-muted);margin-bottom:4px;font-size:12.5px}.tv-bubble{background:var(--tv-bubble);border-radius:16px;max-width:78%;padding:9px 14px;font-size:14.5px;display:inline-block}.tv-bubble p{margin:0}.tv-bubble .session-ic-span{color:inherit;background:0 0;border:0;padding:0}.tv-roll-line{border:1px solid var(--tv-line);color:var(--tv-muted);border-radius:10px;margin:0 0 24px;padding:10px 12px;font-size:13px}.tv-roll-line b{color:var(--tv-text);font-weight:500}.tv-note{color:var(--tv-muted);text-align:center;margin:0 0 16px;font-size:12.5px}.tv-note.error{color:#a8401f}.tv-older{text-align:center;margin-bottom:20px}.tv-empty{color:var(--tv-muted);font:17px/1.6 var(--tv-story);text-align:center;padding:80px 0}.tv-turn-controls{color:var(--tv-muted);margin:0 0 24px;font-size:13.5px}.tv-turn-controls p{margin:0 0 6px}.tv-capacity{width:100%;max-width:700px;margin:0 auto;padding:0 28px}.tv-jump-wrap{pointer-events:none;justify-content:center;height:0;display:flex;position:sticky;bottom:12px}.tv-jump{border:1px solid var(--tv-line);height:34px;color:var(--tv-text);cursor:pointer;pointer-events:auto;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex;transform:translateY(-100%);box-shadow:0 4px 16px #0000001a}.tv .continue-campaign p{color:var(--tv-muted)}.tv .continue-campaign p strong{color:var(--tv-text);font-weight:600}.tv .continue-campaign form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.tv .continue-campaign label{width:100%;font-size:12.5px}.tv .continue-campaign input{border:1px solid var(--tv-line);min-width:0;height:36px;color:var(--tv-text);background:#fff;border-radius:8px;flex:180px;padding:0 10px}.tv .continue-campaign form p{width:100%;margin:0;font-size:12.5px}.tv-btn{height:32px;color:var(--tv-text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:13px;font-weight:500}.tv-btn.primary{background:var(--tv-text);color:#fff}.tv-btn.ghost{border:1px solid var(--tv-line)}.tv-btn.ghost:hover{background:var(--tv-hover)}.tv-btn.small{height:28px;padding:0 11px;font-size:12.5px}.tv-btn:disabled{opacity:.5;cursor:default}.tv-link{color:var(--tv-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.tv-link:hover{color:var(--tv-text)}.tv-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.tv-error{color:#a8401f;margin:10px 0 0;font-size:13px}.tv-card{border:1px solid var(--tv-line);border-radius:12px;margin:0 0 24px;padding:16px 18px}.tv-card-eyebrow{color:var(--tv-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.tv-card h3{margin:8px 0 2px;font-size:16px;font-weight:600}.tv-card p{margin:0}.tv-roll-how{border-top:1px solid var(--tv-line);color:var(--tv-muted);padding-top:12px;font-size:13.5px;margin-top:12px!important}.tv-roll-manual label{color:var(--tv-muted);margin-top:14px;font-size:12.5px;display:block}.tv-roll-manual .tv-row{margin-top:6px}.tv-roll-manual input{border:1px solid var(--tv-line);width:96px;height:32px;color:var(--tv-text);font:600 15px/1 var(--tv-ui);border-radius:8px;padding:0 10px}.tv-composer-wrap{padding:8px 28px 18px}.tv-composer{border:1px solid var(--tv-line);background:#fff;border-radius:16px;max-width:700px;margin:0 auto;padding:12px 12px 10px 16px;box-shadow:0 1px 2px #0000000a,0 4px 16px #0000000a}.tv-composer:focus-within{border-color:#cfcdc8}.tv .composer-backdrop{color:var(--tv-text);font-size:14.5px}.tv .composer-backdrop .composer-ic{color:#8f3d22;background:#fbf1ec;border-color:#e4c9bd}.tv .composer-backdrop .composer-fake-caret{border-left-color:var(--tv-text)}.tv-composer-input{z-index:1;resize:none;background:0 0;border:0;outline:0;width:100%;max-height:216px;margin:0;padding:0;font-size:14.5px;line-height:1.5;position:relative;overflow-y:hidden}.tv-composer-row{align-items:center;gap:6px;margin-top:10px;display:flex}.tv-mode{gap:6px;display:flex}.tv-mode button{border:1px solid var(--tv-line);height:26px;color:var(--tv-muted);cursor:pointer;background:0 0;border-radius:7px;padding:0 10px;font-size:12.5px}.tv-mode button.on{background:var(--tv-hover);color:var(--tv-text)}.tv-send{background:var(--tv-text);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.tv-send:disabled{opacity:.35;cursor:default}.tv-paused-note{color:var(--tv-muted);margin:0 0 8px;font-size:12.5px}.tv-panel{border-left:1px solid var(--tv-line);background:#fff;flex-direction:column;flex:0 0 400px;min-height:0;display:flex}.tv-tabs{border-bottom:1px solid var(--tv-line);flex:none;align-items:center;gap:2px;height:48px;padding:0 10px;display:flex}.tv-tab{height:30px;color:var(--tv-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:13px;position:relative}.tv-tab:hover{background:var(--tv-hover)}.tv-tab.on{background:var(--tv-hover);color:var(--tv-text);font-weight:500}.tv-tab .tv-dot{position:absolute;top:6px;right:3px}.tv-tabs-close{margin-left:auto}.tv-view{overscroll-behavior:contain;flex:1;padding:22px 24px 28px;overflow-y:auto}.tv-who{align-items:center;gap:12px;display:flex}.tv-who h3{margin:0;font-size:17px;font-weight:600}.tv-who p{color:var(--tv-muted);text-transform:capitalize;margin:1px 0 0;font-size:13px}.tv-plain{font:15px/1.6 var(--tv-story);margin:16px 0 0}.tv-section{margin-top:26px}.tv-section.first{margin-top:0}.tv-section h4{margin:0 0 8px;font-size:13px;font-weight:600}.tv-health{background:var(--tv-hover);border-radius:3px;height:6px;margin:4px 0;overflow:hidden}.tv-health .fill{background:var(--tv-good);height:100%}.tv-health .fill.hurt{background:#c98a2e}.tv-health .fill.badly-hurt,.tv-health .fill.down{background:#b8452b}.tv-rows{margin:0}.tv-rows div{border-top:1px solid var(--tv-line);justify-content:space-between;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.tv-rows div:first-child{border-top:0}.tv-rows dt{color:var(--tv-text)}.tv-rows dd{color:var(--tv-muted);margin:0}.tv-section>.tv-link,.tv-view>.tv-link{margin-top:12px;display:inline-block}.tv-entry{border-top:1px solid var(--tv-line);padding:11px 0}.tv-section h4+.tv-entry{border-top:0;padding-top:2px}.tv-entry b{font-size:13.5px;font-weight:500;display:block}.tv-entry p{color:var(--tv-muted);margin:3px 0 0;font-size:13px}.tv-entry .tv-fact{color:var(--tv-text);margin:0;font-size:13.5px}.tv-entry-top{justify-content:space-between;gap:12px;display:flex}.tv-entry-top span{color:var(--tv-muted);white-space:nowrap;font-size:12.5px}.tv-facts{color:var(--tv-muted);margin:6px 0 0;padding-left:16px;font-size:13px}.tv-new{color:var(--tv-accent);margin-left:6px;font-size:11.5px;font-weight:500}.tv-party{gap:10px;display:flex}.tv-party .tv-face{margin-top:1px}.tv-party p{text-transform:none}.tv-arena{background:#fafaf8;flex-direction:column;flex:1;min-width:0;display:flex}.tv-turns{border-bottom:1px solid var(--tv-line);background:#fff;align-items:center;gap:10px;padding:10px 20px;display:flex}.tv-round{color:var(--tv-muted);white-space:nowrap;font-size:12.5px}.tv-turns ol{scrollbar-width:none;flex:1;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex;position:relative;overflow-x:auto}.tv-map-toggle{border:1px solid var(--tv-line);height:32px;color:var(--tv-muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 11px;font-size:13px;display:none}.tv-map-toggle.on{border-color:var(--tv-text);color:var(--tv-text)}.tv-turn{border:1px solid var(--tv-line);height:32px;color:var(--tv-muted);background:#fff;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 11px 0 4px;font-size:13px;display:flex}.tv-turn .tv-face{width:24px;height:24px;font-size:9.5px}.tv-turn.foe .tv-face{color:#a8401f;background:#f6dfd7}.tv-turn.mine .tv-face{background:var(--tv-text);color:#fff}.tv-turn.now{border-color:var(--tv-text);color:var(--tv-text);font-weight:500}.tv-turn small{color:var(--tv-muted);font-weight:400}.tv-map-wrap{flex:1;place-items:center;min-height:0;padding:20px;display:grid}.tv-no-map{text-align:center;max-width:320px}.tv-map{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(0, 1fr));width:min(100%, calc((100svh - 260px) * var(--cols) / var(--rows)));aspect-ratio:var(--cols) / var(--rows);box-shadow:0 0 0 1px var(--tv-line);background:#eef0e9;border-radius:12px;display:grid;overflow:hidden;container-type:inline-size}.tv-cell{border-bottom:1px solid #0000000d;border-right:1px solid #0000000d}.tv-cell.difficult{background:repeating-linear-gradient(45deg,#e6e1d4 0 4px,#eef0e9 4px 9px)}.tv-cell.blocked{background:#c9c4b8}.tv-cell.reach{background-color:#e3eee6;box-shadow:inset 0 0 0 1px #3f7d5c38}.tv-token{z-index:1;aspect-ratio:1;border-radius:50%;place-self:center;place-items:center;width:80%;font-size:clamp(9px,1.1vw,12px);font-weight:600;display:grid}.tv-token.ally{border:2px solid var(--tv-text);color:var(--tv-text);background:#fff}.tv-token.foe{color:#a8401f;background:#f6dfd7;border:2px solid #b8452b}.tv-token.me{background:var(--tv-text);color:#fff}.tv-token.active{box-shadow:0 0 0 4px #1b1b1a26}@container (max-width:260px){.tv-token span{display:none}}.tv-yourturn{border-top:1px solid var(--tv-line);background:#fff;padding:14px 20px 16px}.tv-yt-top{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.tv-yt-top h3{margin:0;font-size:15px;font-weight:600}.tv-yt-top p{color:var(--tv-muted);margin:0;font-size:13px}.tv-hp-mini{color:var(--tv-muted);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.tv-hp-mini .bar{background:var(--tv-hover);border-radius:3px;width:80px;height:6px;overflow:hidden}.tv-hp-mini .bar span{background:#c98a2e;height:100%;display:block}.tv-yt-bottom{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.tv-budget{gap:6px;display:flex}.tv-budget span{height:26px;color:var(--tv-good);white-space:nowrap;background:#e9f2ec;border-radius:6px;padding:0 9px;font-size:12px;line-height:26px}.tv-budget span.used{background:var(--tv-hover);color:var(--tv-faint);text-decoration:line-through}.tv-moves{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.tv-side-chat{border-left:1px solid var(--tv-line);flex:0 0 380px;min-height:0;display:flex}.tv-side-chat .tv-thread-inner{padding:22px 20px 12px}.tv-side-chat .tv-dm,.tv-side-chat .tv-dm .markdown-content{font-size:15px;line-height:1.65}.tv-side-chat .tv-composer-wrap{padding:8px 14px 14px}.tv-side-chat .tv-capacity{padding:0 14px}.tv.combat .tv-panel{z-index:5;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000014}.tv-mode-soon{border:1px dashed var(--tv-line);height:26px;color:var(--tv-faint);cursor:default;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:12.5px;display:inline-flex}.tv-mode-soon span,.tv-soon-badge{background:var(--tv-hover);color:var(--tv-muted);border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:500;line-height:16px}.tv-soon-note{margin:0;font-size:13px}.tv-soon{border:1px dashed var(--tv-line);border-radius:12px;margin-top:18px;padding:14px 16px}.tv-soon b{font-size:13.5px;font-weight:600;display:block}.tv-soon p{color:var(--tv-muted);margin:4px 0 12px;font-size:13px}.tv-shop-glyph{color:#8a6a3d;background:#f3ece2;border-radius:12px}.tv-shop-glyph i{font-size:18px}.tv-who .tv-plain-case{text-transform:none}.tv-tab-slot{display:contents}.tv-tab-sep{background:var(--tv-line);width:1px;height:16px;margin:0 6px}.tv-tab.context{align-items:center;gap:6px;animation:.3s ease-out tv-tab-in;display:inline-flex}.tv-tab.context .bi{font-size:13px}@keyframes tv-tab-in{0%{opacity:0;transform:translate(-6px)}}@media (prefers-reduced-motion:reduce){.tv-tab.context{animation:none}}.tv-place-card{align-items:center;gap:14px;padding:14px 16px;display:flex}.tv-place-card b{font-weight:600;display:block}.tv-place-card span:not(.tv-place-glyph){color:var(--tv-muted);font-size:13px}.tv-place-card .tv-btn{margin-left:auto}.tv-place-glyph{background:var(--tv-hover);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.tv-place-glyph i{font-size:17px}.tv-loot.sealed b:before{content:"🎁 "}.tv-loot-haul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.tv-loot-haul li{border:1px solid var(--tv-line);border-radius:8px;justify-content:space-between;gap:12px;padding:7px 10px;font-size:13px;display:flex}.tv-loot.fresh .tv-loot-haul li{animation:.45s ease-out both tv-loot-reveal}.tv-loot-haul em{color:var(--tv-muted);text-transform:capitalize;font-size:12px;font-style:normal}.tv-rarity.uncommon{background:#f1f8f2;border-color:#6aa676}.tv-rarity.rare{background:#eef4fb;border-color:#4a7fc1}.tv-rarity.very_rare{background:#f5f0fb;border-color:#8a5cc2}.tv-rarity.legendary{background:#fcf6ea;border-color:#d2a457;font-weight:500}.tv-rarity.coins{border-style:dashed}.tv-rarity-tag{text-transform:capitalize}.tv-rarity-tag.uncommon{color:#3f7d4c}.tv-rarity-tag.rare{color:#2f63a6}.tv-rarity-tag.very_rare{color:#6d43a6}.tv-rarity-tag.legendary{color:#a77a25}@keyframes tv-loot-reveal{0%{opacity:0;transform:translateY(6px)scale(.97)}}@media (prefers-reduced-motion:reduce){.tv-loot.fresh .tv-loot-haul li{animation:none}}@media (max-width:900px){.tv-header{gap:4px;padding:0 4px}.tv-place{flex:auto;padding-left:2px}.tv-place span{display:none}.tv-thread-inner{padding:20px 16px 16px}.tv-bubble{max-width:86%;font-size:15px}.tv-composer-wrap{padding:6px 10px calc(10px + env(safe-area-inset-bottom))}.tv-composer{border-radius:18px;padding:10px 10px 8px 14px}.tv-composer-input{max-height:min(216px, calc(var(--vv-height,100dvh) * .28))}.tv-capacity{padding:0 10px}.tv-place-card{flex-wrap:wrap}.tv-place-card>div{flex:1 1 0;min-width:0}.tv-place-card .tv-btn{width:100%;margin-left:0}.tv-panel{z-index:5;border-left:0;flex-basis:auto;animation:.18s ease-out tv-sheet-in;position:absolute;inset:0}.tv-tabs{scrollbar-width:none;padding:0 4px 0 8px;overflow-x:auto}.tv-tabs::-webkit-scrollbar{display:none}.tv-tab{flex:none}.tv-tabs-close{background:#fff;position:sticky;right:0}.tv-view{padding:18px 18px calc(28px + env(safe-area-inset-bottom))}.tv-body{flex-direction:column}.tv .private-thread-header{background:#fff;min-height:0;padding:10px 10px 10px 16px}.tv .private-thread-messages{background:#fff;padding:18px 16px}.tv .private-thread-input-area{background:#fff;padding:6px 10px calc(10px + env(safe-area-inset-bottom))!important}.tv .private-thread-input-area .session-input-shell{align-items:center;padding:4px 4px 4px 12px;border:1px solid var(--tv-line)!important;background:#fff!important;border-radius:18px!important}.tv .private-thread-input-area .session-send-btn{border:0;width:40px;height:40px;background:var(--tv-text)!important;border-radius:50%!important}.tv.combat .tv-turns{gap:8px;padding:6px 10px}.tv.combat .tv-yourturn{padding:10px 12px}.tv-yt-top{flex-wrap:nowrap;align-items:center}.tv-yt-top p{display:none}.tv-hp-mini .bar{width:56px}.tv-yt-bottom{scrollbar-width:none;flex-wrap:nowrap;gap:8px;margin:10px -12px 0;padding:0 12px;overflow-x:auto}.tv-yt-bottom::-webkit-scrollbar{display:none}.tv-budget,.tv-moves{flex-wrap:nowrap;flex:none;margin-left:0}}@media (max-width:900px) and (orientation:portrait){.tv.combat .tv-arena,.tv.combat .tv-side-chat,.tv.combat .tv-side-chat>.tv-chat{display:contents}.tv.combat .tv-turns{flex:none;order:1}.tv.combat .tv-map-wrap{border-bottom:1px solid var(--tv-line);background:#fafaf8;flex:none;order:2;padding:8px 12px}.tv.combat .tv-thread{flex:1 1 0;order:3;min-height:64px}.tv.combat .tv-capacity{order:4}.tv.combat .tv-yourturn{flex:none;order:5}.tv.combat .tv-composer-wrap{order:6}.tv.combat .tv-arena.map-closed .tv-map-wrap{display:none}.tv-map-toggle{display:inline-flex}.tv-map{width:min(100%, calc(var(--vv-height,100dvh) * .27 * var(--cols) / var(--rows)))}:is(.tv.combat:has(.tv-composer-input:focus) .tv-map-wrap,.tv.combat:has(.tv-composer-input:focus) .tv-yourturn){display:none}}@media (max-width:900px) and (orientation:landscape){.tv.combat .tv-body{flex-direction:row}.tv.combat .tv-side-chat{flex:0 0 min(360px,48%)}.tv.combat .tv-map-wrap{padding:8px}.tv-map{width:min(100%, calc((var(--vv-height,100dvh) - 220px) * var(--cols) / var(--rows)))}}@keyframes tv-sheet-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.tv-panel{animation:none}}@media (max-width:480px){.tv-switch-label,.tv-mode-soon{display:none}}@media (pointer:coarse){.tv-icon-btn{width:44px;height:44px}.tv-switch-btn{height:44px}.tv-menu-item{min-height:48px}.tv-menu-direct select{height:40px}.tv-btn{height:40px;padding:0 16px;font-size:14px}.tv-btn.small{height:36px;padding:0 13px;font-size:13.5px}.tv-link{padding:6px 0;font-size:14px}.tv-tabs{height:52px}.tv-tab{height:40px;padding:0 12px;font-size:14px}.tv-mode button{height:36px;padding:0 13px;font-size:13.5px}.tv-mode-soon{height:36px}.tv-send{width:38px;height:38px}.tv-jump{height:40px}.tv-map-toggle{height:36px}.tv-roll-manual input{width:110px;height:40px}.tv .continue-campaign input{height:40px}}
