@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";:root{font-family:Noto Sans SC,Inter,system-ui,sans-serif;color:#e6e1d6;background:#0c1214;font-synthesis:none;text-rendering:optimizeLegibility;--gold:#c8aa77;--gold-bright:#ebc990;--sub:#7d898b;--line:#303b3a;--base:#0f181a;--panel:#131d1f}*{box-sizing:border-box}body{margin:0;min-width:360px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid #d4ba84;outline-offset:2px}button,input,textarea,select{transition:border-color .15s ease,background .15s ease,color .15s ease,opacity .15s ease}::selection{background:#7b634a;color:#fff}.eyebrow,.mini-eyebrow,.section-top,.field-label,.room-code-banner span,.portal-stats span,.portal-top small,.edition-pill,.canvas-corner,.card-type,.legal-inline{letter-spacing:.13em;font-size:10px;font-weight:600}.eyebrow{color:var(--gold);display:flex;gap:12px;align-items:center}.gold-line{display:block;width:31px;height:1px;background:var(--gold)}.card-glass{background:linear-gradient(145deg,#182122ed,#0d1416f5);border:1px solid rgba(205,182,140,.22);box-shadow:0 27px 60px #0009,0 0 0 1px #ffffff05 inset;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.portal-layout{min-height:100vh;position:relative;overflow:hidden;background:#070e10}.portal-scene,.lobby-back{position:absolute;inset:0;opacity:.85}.portal-scene .canvas-shell{height:100%}.portal-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#070c0ef5,#070c0ea8 31%,#070c0e59 61%,#070c0ebc),linear-gradient(0deg,#070c0ef5,#070c0e00 28% 72%,#070c0ebf)}.portal-top{position:relative;z-index:1;display:flex;align-items:center;padding:34px 5.2%;gap:14px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #b69a6b;color:var(--gold);transform:rotate(45deg);margin-right:7px}.brand-mark svg{transform:rotate(-45deg)}.brand-lines{display:flex;flex-direction:column;gap:3px}.brand-lines b{letter-spacing:.3em;font-size:16px;font-weight:500}.brand-lines small{font-family:Cinzel,serif;color:#b3a58b;font-size:9px;letter-spacing:.16em}.edition-pill{color:#ccb999;border:1px solid #6a5a42;padding:9px 14px;margin-left:auto}.portal-hero{position:relative;z-index:1;width:min(54vw,790px);margin:clamp(60px,11vh,140px) 0 80px 9%;pointer-events:none}.portal-hero h1{font-family:Cinzel,Noto Sans SC,serif;font-weight:500;font-size:clamp(37px,4.6vw,77px);line-height:1.3;letter-spacing:.06em;margin:22px 0 25px;text-shadow:0 2px 35px #0009}.portal-hero i{font-weight:400;color:#e6c996;font-style:normal}.portal-hero>p{max-width:450px;font-size:15px;line-height:2.1;color:#a4adac;font-weight:300}.portal-stats{display:flex;gap:0;margin-top:60px}.portal-stats>div{display:flex;flex-direction:column;gap:5px;padding:0 25px;border-left:1px solid #4a5350}.portal-stats>div:first-child{padding-left:0;border:0}.portal-stats b{font-family:Cinzel,serif;font-size:29px;font-weight:400;color:#e6ddcb}.portal-stats span{font-size:11px;color:#9ba29b}.portal-form{position:absolute;z-index:2;right:6.2%;top:50%;transform:translateY(-44%);width:min(370px,33vw);padding:33px}.form-heading{margin-bottom:24px}.form-heading span{font:600 10px Cinzel,serif;letter-spacing:.19em;color:var(--gold)}.form-heading h2{font-weight:500;font-size:23px;margin:9px 0 7px}.form-heading p{color:#8d9798;font-size:12px;margin:0}.segmented{display:flex;gap:6px;padding:5px;background:#0b1416;border:1px solid #2a3435;margin:23px 0}.segmented button{flex:1;background:transparent;border:0;border-radius:2px;color:#778382;padding:10px;font-size:12px}.segmented button.active{background:#2c3633;color:#e0cfb3}.field-label{display:block;margin:17px 0 10px;color:#b4a68d}.text-field{width:100%;min-height:42px;padding:10px 12px;border:1px solid #344142;color:#e8e6dd;background:#0b1315;outline:none;border-radius:2px;font-size:12px}.text-field:focus{border-color:#9d8460}.text-field::placeholder{color:#5c6b6d}.code-input{letter-spacing:.14em}.primary-button{display:flex;align-items:center;justify-content:center;gap:13px;padding:13px 19px;background:linear-gradient(90deg,#b39465,#d4b581);border:1px solid #e0c38b;color:#182022;font-weight:700;letter-spacing:.045em;font-size:12px;border-radius:2px}.primary-button:hover:not(:disabled){background:linear-gradient(90deg,#e3c38d,#f2d5a2)}.primary-button.full{width:100%}.primary-button.enter{width:100%;margin-top:25px;justify-content:space-between}.legal-inline{display:flex;align-items:center;justify-content:center;gap:8px;color:#768485;letter-spacing:0;margin-top:18px}.portal-footer{position:absolute;bottom:20px;left:5%;right:5%;z-index:3;color:#7d8584;font-size:10px;letter-spacing:.03em;text-align:center}.form-error{border:1px solid #7f4341;background:#44262470;padding:10px;color:#e0afa4;font-size:12px;margin:12px 0}.canvas-shell{width:100%;height:100%;position:relative;overflow:hidden;background:#151b1a}.canvas-shell canvas{display:block;width:100%;height:100%}.canvas-corner{position:absolute;z-index:1;pointer-events:none;color:#b1bdb9;background:#11202185;border:1px solid #354441aa;padding:8px 12px;letter-spacing:.09em}.canvas-corner.top-left{top:18px;left:20px;display:flex;align-items:center;gap:9px}.canvas-corner.top-left span{color:#a08c6b}.canvas-corner.bottom-left{bottom:17px;left:20px;font-size:9px;color:#8c9b98}.live-pulse,.phase-light,.turn-dot{width:6px;height:6px;background:#a5c5ae;box-shadow:0 0 10px #85e7a888;border-radius:50%}.canvas-compass{position:absolute;right:21px;bottom:19px;pointer-events:none;color:#9ea9a1;text-align:center;font-size:10px}.canvas-compass div{font-size:28px;color:#c3ac83}.room-title{padding:6px 9px;border:1px solid #a88b61;background:#0f1a1ceb;display:flex;align-items:center;gap:8px;white-space:nowrap;transform:translateY(-6px);box-shadow:0 3px 14px #0009}.room-title.selected{background:#3b3325f2;box-shadow:0 0 25px #bba26b4d}.room-name{font-family:Cinzel,Noto Sans SC,serif;font-size:10px;color:#f0dec0;letter-spacing:.02em}.room-symbol{color:#d0a87b;font-size:13px}.pawn-tag{background:#0f1516ed;border:1px solid;padding:4px 8px;color:#fff;font-size:9px;white-space:nowrap}.discovery-tag{white-space:nowrap;background:#18201fbf;padding:4px 7px;border:1px solid #98856d77;color:#cdb896;font-size:9px}.discovery-tag.hot{background:#9e7955;color:#161b1c}.lobby-page{min-height:100vh;background:#0c1315;position:relative}.lobby-shade{position:absolute;inset:0;background:linear-gradient(90deg,#091012f3,#091012e2 44%,#09101260);pointer-events:none}.lobby-back{opacity:.55}.lobby-header{position:relative;z-index:1;padding:25px 5%;display:flex;align-items:center;justify-content:space-between}.brand-compact{font-size:16px;color:#e6dfd1;display:flex;gap:10px;align-items:center;font-weight:600;letter-spacing:.14em;cursor:pointer}.brand-compact>span{font-size:23px;color:var(--gold)}.brand-compact em{font-family:Cinzel,serif;font-size:10px;color:#947d5a;letter-spacing:.16em;font-style:normal;font-weight:400;margin-left:5px}.outline-button{border:1px solid #7e7259;background:#25282355;color:#d8c5a1;padding:10px 18px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px}.outline-button:hover{background:#50433275}.outline-button.full{width:100%}.lobby-content{position:relative;z-index:1;max-width:690px;padding:7vh 5% 6%;margin-left:max(0px,calc((100vw - 1400px)/2))}.lobby-content h1{font-size:38px;font-weight:500;margin:13px 0 10px}.lobby-desc{font-size:13px;line-height:1.9;color:#a5adaa}.room-code-banner{background:#192729dd;display:flex;align-items:center;justify-content:space-between;border:1px solid #4f615b;margin-top:24px;padding:14px 18px}.room-code-banner div{display:flex;flex-direction:column;gap:5px}.room-code-banner span{color:#7fa69c}.room-code-banner strong{font:22px Cinzel,monospace;letter-spacing:.14em;color:#eacb95}.room-code-banner button{display:flex;align-items:center;gap:8px;background:none;border:1px solid #58675f;color:#ccc9b9;padding:9px 12px;font-size:12px}.lobby-tabs{display:flex;gap:7px;margin-top:22px}.lobby-tabs button{background:#162224a9;border:1px solid #394744;color:#91a19d;padding:12px 16px;display:flex;gap:9px;align-items:center;font-size:12px}.lobby-tabs button.active{border-color:#aa8c5c;color:#e5d0a8}.lobby-card{padding:22px;min-height:345px;border-top:2px solid #be9d68}.lobby-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.lobby-player{border:1px solid #33413f;background:#132020a8;padding:12px;display:flex;align-items:center;gap:10px}.lobby-player>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.lobby-player b{font-size:12px;font-weight:600}.lobby-player span{font-size:10px;color:#889794}.lobby-player .pill-ready{color:#9ac4ab;font-size:10px}.lobby-player .pill-wait{color:#bd9b71;font-size:10px}.avatar{width:37px;height:37px;flex:0 0 37px;border-radius:50%;background:color-mix(in srgb,var(--avatar) 22%,#161f20);border:1px solid var(--avatar);display:grid;place-items:center;color:var(--avatar);font-size:24px}.avatar.tiny{width:31px;height:31px;flex-basis:31px;font-size:19px}.section-divider{width:100%;height:1px;background:#2c3b39;margin:18px 0}.lobby-card h3{margin:0 0 10px;font-size:13px;font-weight:500;color:#dfc79e}.soft-copy{color:#9eaaa7;font-size:12px;line-height:1.75;margin:6px 0 13px}.stat-editor{display:flex;flex-direction:column;gap:12px}.stat-editor .primary-button{align-self:flex-start}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.stat-grid label{font-size:10px;color:#a5b3ad}.stat-grid label span{display:block;margin-bottom:7px}.stat-grid input{width:100%;height:38px;background:#0c1718;border:1px solid #45514e;color:#eee3ce;padding:6px}.lobby-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:17px}.rules-badge{display:flex;align-items:center;gap:7px;color:#afa58f;font-size:11px}.panel-note{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.7;color:#acb9b6;background:#132324;padding:12px;margin-bottom:12px}.panel-note svg{flex:0 0 auto;color:#c4a06f}.upload-zone{padding:12px;display:flex;align-items:center;gap:10px;border:1px dashed #60716a;cursor:pointer;color:#dac3a1;font-size:12px;margin-bottom:13px}.upload-zone input{display:none}.json-area{height:180px;resize:vertical;font-family:monospace;font-size:11px}.import-panel .primary-button{margin-top:12px}.catalog-indicator{display:flex;justify-content:space-between;gap:10px;margin-top:15px;color:#bea47b;font-size:11px}.catalog-indicator span{color:#94a29f}.empty-state{font-size:11px;color:#778985;line-height:1.7;padding:9px 0}.empty-state.spacious{padding:35px 10px;text-align:center}.game-layout{height:100vh;min-height:680px;display:grid;grid-template-columns:256px minmax(500px,1fr) 285px;grid-template-rows:66px minmax(0,1fr);background:#0a1113}.game-header{grid-column:1/-1;grid-row:1;border-bottom:1px solid #2c3938;display:flex;align-items:center;padding:0 25px;background:#0d1517;gap:27px}.game-header .brand-compact{min-width:240px}.status-badges{display:flex;align-items:center;gap:12px}.session-phase,.online-pill,.offline-pill{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.04em;padding:7px 12px;border:1px solid #3e4d48;color:#ccb891;background:#182322}.online-pill{color:#a0c6ae;border-color:#2e5548;background:#132a20}.offline-pill{color:#edba8e;border-color:#73513c}.header-right{margin-left:auto;display:flex;align-items:center;gap:14px}.room-link{display:flex;align-items:center;gap:8px;color:#aab4ac;cursor:pointer;font-family:monospace;letter-spacing:.08em;font-size:12px}.icon-button{background:none;border:none;color:#a3b0aa;display:grid;place-items:center;padding:4px}.icon-button:hover{color:var(--gold)}.sidebar{min-height:0;overflow-y:auto;scrollbar-color:#31423f transparent;scrollbar-width:thin;background:#111c1e}.left-sidebar{grid-column:1;grid-row:2;border-right:1px solid #2c3938}.right-sidebar{grid-column:3;grid-row:2;border-left:1px solid #2c3938}.side-section{padding:20px 19px}.section-top{display:flex;justify-content:space-between;align-items:center;color:#9aa6a2;font-size:10px}.section-top svg{color:#bea37b}.player-stack{margin-top:16px;display:flex;flex-direction:column;gap:3px}.player-row{padding:9px 6px;display:flex;align-items:center;gap:9px;border:1px solid transparent;position:relative}.player-row.is-turn{background:#2a332b;border:1px solid #5b624d}.player-row.is-me .player-text b{color:#e5cc9f}.player-text{flex:1;min-width:0}.player-text>div{display:flex;align-items:center;gap:6px}.player-text b{font-size:12px;font-weight:500}.player-text i{font-size:9px;font-style:normal;color:#9ac3ac;border:1px solid #4b725c;padding:1px 3px}.player-text span{display:block;font-size:10px;color:#87928e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}.turn-dot{margin-left:2px;flex:0 0 6px}.traitor-icon{color:#ba7675}.attribute-list{display:flex;flex-direction:column;gap:15px;margin:19px 0}.attribute>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.attribute span{color:#8d9c97;font-size:10px;letter-spacing:.08em}.attribute strong{font:16px Cinzel,serif;font-weight:600;color:#e1d6bd}.attr-track{height:3px;background:#2a3737;overflow:hidden}.attr-track>div{height:100%;background:linear-gradient(90deg,#8c7752,#dbb978);transition:width .28s}.attribute-edit{margin-top:5px;background:#071113;border:1px solid #8b7854;color:#eee;width:100%;height:25px}.inventory-title{display:flex;align-items:center;justify-content:space-between;margin:23px 0 8px;font-size:11px;letter-spacing:.1em;color:#bfb195}.inventory-title span{color:#869b97}.inventory-list{display:flex;flex-direction:column;gap:6px}.inventory-card{padding:10px;border:1px solid #3d4340;background:#1a2626;display:flex;align-items:center;gap:10px}.inventory-card>span{font-size:22px;color:#bd936c}.inventory-card b{display:block;font-size:11px;font-weight:500}.inventory-card small{font-size:9px;color:#83928c}.side-footer{padding:20px;color:#61736f;font-size:9px;display:flex;gap:7px;align-items:center;letter-spacing:.12em}.board-column{grid-column:2;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#101818}.stage-top{height:102px;flex:0 0 102px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:19px 25px;background:linear-gradient(90deg,#162221,#0e181a);border-bottom:1px solid #2b3835}.mini-eyebrow{color:#a69374;font-size:10px}.stage-top h2{margin:5px 0 0;font-size:23px;letter-spacing:.09em;font-weight:400;font-family:Cinzel,Noto Sans SC,serif}.stage-top h2 span{color:#b69266}.floor-switch{display:flex;background:#0d1718;padding:4px;border:1px solid #30403e}.floor-switch button{background:none;border:0;color:#84928e;padding:9px 12px;font-size:11px;white-space:nowrap}.floor-switch button.active{background:#564934;color:#ebd4ad}.stage{position:relative;flex:1;min-height:200px;overflow:hidden}.stage-overlay{pointer-events:none;position:absolute;right:22px;top:18px;display:flex;gap:7px}.map-kpi{padding:9px 13px;background:#0e1b1cda;border:1px solid #45524a;display:flex;flex-direction:column;gap:4px;min-width:74px;text-align:center}.map-kpi b{color:#e1c499;font:20px Cinzel,serif}.map-kpi span{color:#829591;font-size:8px;letter-spacing:.07em}.bottom-tray{height:220px;flex:0 0 220px;background:#111a1b;border-top:1px solid #3b4640;display:flex;flex-direction:column}.tray-buttons{border-bottom:1px solid #2a3734;display:flex;gap:6px;padding:10px 17px 0}.tray-buttons button{background:none;border:0;border-bottom:2px solid transparent;padding:9px 12px;display:flex;align-items:center;gap:7px;font-size:11px;color:#879793}.tray-buttons button.active{border-bottom-color:#c6a777;color:#e4d2b3}.tray-content{overflow-y:auto;padding:10px 25px;scrollbar-color:#34423c transparent;scrollbar-width:thin}.event-log{display:flex;flex-direction:column;gap:6px}.log-entry{display:flex;gap:10px;align-items:center;color:#a3b3ae;font-size:10px;line-height:1.5;border-bottom:1px solid #ffffff08;padding:3px 0}.log-entry svg{color:#856d50;flex:0 0 auto}.log-entry span{flex:1}.log-entry time{font-family:monospace;color:#536862}.dice-result{margin-top:15px}.dice-line{display:flex;align-items:center;gap:5px;margin:8px 0}.die{display:inline-grid;place-items:center;width:30px;height:30px;background:linear-gradient(145deg,#e8d7b6,#ab926c);border:1px solid #f5e3c4;border-radius:3px;box-shadow:0 2px 5px #0009;color:#302923;font-size:18px;font-weight:700}.dice-line b{font:20px Cinzel,serif;margin-left:8px;color:#e4cfac}.dice-result p{font-size:11px;color:#9ba79e}.last-card h3{font-size:16px;font-weight:500;margin:9px 0}.last-card p{color:#a5b2aa;font-size:11px;line-height:1.8}.card-type{color:#c6a779}.turn-status{display:flex;flex-direction:column;gap:5px;margin-top:17px;padding:16px;background:#1c2b29;border:1px solid #3b534a}.turn-status span{font-size:11px;color:#aaad96}.turn-status strong{font-size:17px;color:#e1d2b5;font-weight:500}.movement-meter{margin:23px 0}.movement-meter>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px}.movement-meter span{font-size:11px;color:#97a59f}.movement-meter strong{font-size:12px;color:#d7c7a8}.action-caption{font-size:11px;color:#8e9c97;line-height:1.7}.door-list{margin-top:12px;display:flex;flex-direction:column;gap:6px}.door-action{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #40504a;background:#172525;color:#c8d2c5;padding:10px 9px;font-size:11px}.door-action:hover:not(:disabled){border-color:#bda06c;background:#27312b}.door-action span{flex:1}.door-action svg{flex:0 0 auto;color:#b49a74}.gold-note{background:#3b332247;border-left:2px solid #c09b65;color:#c6b297;padding:11px;font-size:11px;line-height:1.8;margin:13px 0}.check-row{display:flex;gap:6px;margin-top:12px}.check-row .text-field{flex:1;min-width:0}.minor-button{background:#313b33;border:1px solid #606450;color:#e6cfaa;padding:9px 11px;display:inline-flex;justify-content:center;align-items:center;gap:6px;font-size:11px}.minor-button:hover{background:#535743}.minor-button.full{width:100%;margin-top:9px}.action-panel .turn-end{margin-top:20px}.right-bottom{border-top:1px solid #2f3c38;padding:19px}.right-bottom .dice-line{flex-wrap:wrap}.right-bottom .die{width:27px;height:27px;font-size:16px}.winner-input{margin-top:9px;display:flex;gap:5px}.winner-input .primary-button{padding:9px}.modal-scrim{position:fixed;inset:0;z-index:30;background:#020607c9;display:grid;place-items:center;padding:24px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.dialog{width:min(460px,100%);padding:36px;box-shadow:0 35px 100px #000b}.dialog h2{font-weight:500;font-size:27px;color:#f3e5cc;margin:14px 0}.dialog p{font-size:12px;line-height:2.1;color:#9faea9}.dialog .primary-button{margin-top:20px}.dialog .eyebrow.red{color:#be8282}.haunt-emblem{width:74px;height:74px;border:1px solid #9f665c;color:#da9690;display:grid;place-items:center;margin:16px auto 21px;transform:rotate(45deg)}.haunt-emblem svg{transform:rotate(-45deg)}.haunt-details{display:flex;gap:10px;margin:16px 0}.haunt-details span{flex:1;padding:11px;background:#1d2727;color:#8c9c95;font-size:11px}.haunt-details strong{display:block;margin-top:8px;color:#e4ceb0}.damage-fields{display:flex;gap:9px;margin:16px 0}.damage-fields label{font-size:11px;color:#adbaaf;flex:1}.damage-fields input{display:block;background:#101a1c;border:1px solid #52635a;color:#fff;width:100%;padding:11px;margin-top:8px}.help-scrim{position:fixed;inset:0;background:#0009;z-index:31;display:flex;justify-content:flex-end}.help-panel{width:min(520px,100%);height:100%;padding:42px;background:#152021;box-shadow:-18px 0 90px #0009;overflow-y:auto}.help-panel h2{font-size:27px;font-weight:500}.help-panel p{font-size:13px;line-height:2.1;color:#afbbb4}.close-help{float:right;border:0;background:none;color:#eee;font-size:25px}.toast-error{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:10px;border:1px solid #a45e50;background:#372623e6;padding:14px 22px;color:#edc5b7;font-size:12px;max-width:calc(100% - 40px)}@media(max-width:1250px){.game-layout{grid-template-columns:220px minmax(420px,1fr) 255px}.stage-top{padding:14px 18px}.stage-top h2{font-size:19px}.floor-switch button{padding:8px}.game-header .brand-compact{min-width:195px}.sidebar .side-section{padding:17px 13px}.portal-form{right:3%;width:350px}.portal-hero{margin-left:5%}}@media(max-width:980px){.game-layout{height:auto;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:62px minmax(500px,calc(100vh - 62px)) auto}.game-header{grid-column:1/-1}.game-header .brand-compact{min-width:0}.left-sidebar{grid-column:1;grid-row:3;border-top:1px solid #2c3938}.right-sidebar{grid-column:2;grid-row:2/4}.board-column{grid-column:1;grid-row:2}.portal-hero{width:52%;margin-top:13vh}.portal-hero h1{font-size:40px}.portal-form{width:335px;right:3%}.portal-stats{margin-top:30px}.portal-stats>div{padding:0 12px}}@media(max-width:690px){.portal-layout{display:flex;min-height:100vh;flex-direction:column;padding-bottom:55px}.portal-top{padding:19px}.edition-pill{font-size:8px;padding:6px}.portal-scene{height:58vh;opacity:.6}.portal-veil{background:linear-gradient(180deg,#081011ba,#081011ee 55%,#081011 86%)}.portal-hero{width:auto;margin:55px 24px 24px}.portal-hero h1{font-size:32px}.portal-hero>p{font-size:12px}.portal-stats{margin-top:21px}.portal-stats b{font-size:20px}.portal-stats span{font-size:9px}.portal-form{position:relative;right:auto;top:auto;transform:none;width:auto;margin:10px 18px}.portal-footer{font-size:9px}.lobby-header{padding:14px}.brand-compact em{display:none}.lobby-content{padding:30px 15px}.lobby-players{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.lobby-actions{flex-direction:column;align-items:stretch}.game-layout{display:flex;flex-direction:column;height:auto}.game-header{min-height:62px;flex-wrap:wrap;padding:12px}.status-badges{margin-left:auto}.header-right{display:none}.board-column{order:1;min-height:700px;height:75vh}.left-sidebar{order:2}.right-sidebar{order:3}.stage-top{height:auto;min-height:104px;flex-basis:auto;flex-direction:column;align-items:flex-start;gap:10px}.stage-top h2{font-size:18px}.floor-switch{width:100%;justify-content:space-between}.floor-switch button{flex:1}.bottom-tray{height:190px;flex-basis:190px}.sidebar{overflow:visible}.side-section{padding:20px}.player-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-link{display:none}}.seat-legend{font-size:10px;color:#ad9d7e;margin-top:12px;line-height:1.6}.seat-order{margin-top:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.seat-order>div{background:#182727;border:1px solid #394943;padding:6px 7px;display:flex;align-items:center;gap:5px}.seat-order span{font-size:11px;color:#acb6af;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-order button{background:#27382f;border:1px solid #4b5a4e;color:#d3bea0;padding:3px 7px}.collection-panel{margin:16px 0;padding:16px;background:#0f1b1c;border:1px solid #34453f}.haunt-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin:13px 0}.haunt-slot{position:relative;min-height:29px;display:flex;align-items:center;justify-content:center;font:11px Cinzel,monospace;border:1px solid #43504a;color:#7f8c84;background:#1c2727}.haunt-slot.loaded{color:#e7cd93;border-color:#a28555;background:#3b3427}.haunt-slot svg{position:absolute;right:1px;top:1px;color:#d3b781}.import-counter{display:flex;gap:10px 15px;flex-wrap:wrap;color:#8fa59b;font-size:10px;line-height:1.7}.character-choice{margin-bottom:19px}.character-choice-list{display:flex;flex-wrap:wrap;gap:7px}.original-track{display:flex;align-items:center;gap:5px;margin:7px 0 9px}.original-track>span{display:flex;gap:1px;flex:1;min-width:0}.original-track i{font: 9px Cinzel,monospace;display:grid;place-items:center;flex:1;color:#7a8780;background:#28332e;border:1px solid #394943;min-height:23px}.original-track i.on{color:#1d211e;background:#c3a775;border-color:#e1c88c}.original-track button{background:#26352e;border:1px solid #6a6754;color:#dec998;min-width:23px;height:25px}.inventory-card>button{align-self:center;background:transparent;color:#d3b98a;border:1px solid #5a6455;padding:3px 7px}.hidden-check{display:flex;gap:12px;align-items:flex-start;color:#c6b89d;font-size:12px;line-height:1.7;margin-top:17px}.hidden-check input{accent-color:#cfad77;margin-top:5px}.haunt-book-content{padding:16px;overflow-y:auto;height:100%;color:#e0d8c6}.haunt-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #68503a;padding-bottom:15px}.haunt-heading h3{font:600 20px Cinzel,Noto Sans SC,serif;margin:10px 0 7px}.haunt-heading small{display:flex;align-items:center;gap:6px;color:#ab9f8b;font-size:11px}.haunt-seal{color:#bd817e;border:1px solid #855d54;padding:13px;transform:rotate(9deg)}.scenario-sections section{padding:14px 0;border-bottom:1px solid #2c3c3a}.scenario-sections section>span{font-size:10px;letter-spacing:.17em;color:#bea77e}.scenario-sections section>p{font-size:12px;color:#c8c7ba;white-space:pre-wrap;line-height:2;margin:8px 0 0}.missing-script{padding:18px;border:1px solid #695847;background:#28262291;color:#d5b58b;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:14px}.missing-script p{color:#b2aaa0;line-height:1.9;font-size:12px;margin:0}.scenario-objectives{margin:20px 0}.scenario-objectives>label{display:flex;gap:11px;align-items:center;font-size:12px;padding:8px 5px;color:#e4d6bd}.scenario-objectives>label input{accent-color:#ba9564}.scenario-objectives>small{color:#768981;display:block;margin-top:12px;line-height:1.8}.token-manager,.ground-items,.monster-turn-panel{border-top:1px solid #394743;padding:18px}.token-creator{display:grid;gap:7px;margin:12px 0}.token-speed{font-size:11px;color:#a7b2a8;display:flex;align-items:center;gap:10px}.token-speed .text-field{max-width:70px}.token-list{display:grid;gap:7px}.token-row,.ground-card{display:flex;align-items:center;gap:9px;border:1px solid #3c4943;background:#1a2a29;padding:9px 11px}.token-row>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.token-row b{font-size:11px}.token-row small{font-size:10px;color:#82918b}.token-symbol{font-size:17px;color:#bf9b78}.token-row button{background:none;color:#b29f8d;border:0;cursor:pointer}.ground-card{justify-content:space-between;margin:7px 0;font-size:12px;color:#c9baa0}.ground-card .minor-button{padding:5px}.monster-turn-panel{background:#34222480;border-color:#764e4c}.monster-turn-panel>p{font-size:12px;color:#b8aaa8;line-height:1.8}.monster-row{border:1px solid #5b4340;padding:10px;margin:9px 0}.monster-header,.monster-buttons{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0}.monster-header b{font-size:12px}.monster-header span{font-size:10px;color:#d3afa5}.monster-buttons .text-field{min-width:0}@media(max-width:690px){.haunt-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.haunt-slot{min-height:25px;font-size:9px}.haunt-book-content{padding:8px}}.scenario-marker-label{color:#f0c4ad;background:#241619ec;border:1px solid #a35b57;padding:4px 8px;white-space:nowrap;font-size:9px;text-shadow:0 0 8px #c7787488}.strict-switch,.audit-banner,.audit-box{margin:12px 0;padding:13px 15px;background:#142423;border:1px solid #5f654d;font-size:11px;color:#d2c5a8;line-height:1.7}.strict-switch label{display:flex;align-items:center;gap:9px;font-weight:700;font-size:12px}.strict-switch input{accent-color:#c9a46e}.strict-switch small{display:block;color:#9daea2;margin-top:7px;line-height:1.8}.audit-banner.missing,.audit-box.incomplete{background:#302421;border-color:#8d5649;color:#e1b7a5}.audit-banner.good,.audit-box.ready{border-color:#798867}.audit-banner p,.audit-box p{margin:5px 0;color:#b5bbaa;line-height:1.65}.audit-errors{display:flex;flex-direction:column;max-height:150px;overflow:auto;gap:2px}.haunt-importer{margin-top:24px;padding:18px 19px;background:#091317a6;border:1px solid rgba(209,166,98,.22);border-radius:16px;display:flex;flex-direction:column;gap:13px}.haunt-importer .section-top,.haunt-importer p{margin:0}.original-book-links{display:flex;gap:11px;flex-wrap:wrap}.original-book-links a{color:#d8b780;font-size:12px;text-decoration:none;border-bottom:1px solid rgba(216,183,128,.4)}.original-book-links a:hover{color:#ffdb9e}.placement-detail{font-size:13px;background:#d5ac6e1a;border:1px solid rgba(213,172,110,.22);padding:12px;border-radius:10px;line-height:1.6;white-space:pre-line}.rotation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.rotation-options .minor-button{justify-content:center;min-height:47px}.book-review{display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(209,166,98,.24);margin-top:5px;padding-top:17px}.review-inputs{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}.review-inputs select:last-child{grid-column:span 2}.review-check{font-size:12px;line-height:1.7;color:#e0c9a4;display:flex;gap:8px;align-items:start}.review-check input{margin-top:5px}.ranged-actions{margin-top:12px;padding:12px;border:1px solid rgba(194,151,95,.24);border-radius:10px;background:#20191a57;display:grid;gap:8px}.combat-steal-choices{display:grid;gap:8px;margin-top:12px;max-height:36vh;overflow:auto}.barrier-travel{display:grid;gap:9px;padding:13px;margin:12px 0;border:1px solid rgba(218,172,104,.3);background:#774e2f1f;border-radius:11px}.barrier-travel p{font-size:12px;line-height:1.7;color:#d8c7ad;margin:0}.barrier-marker{white-space:nowrap;padding:4px 9px;color:#f4dba1;background:#16120ede;border:1px solid rgba(220,164,95,.58);border-radius:6px;font-family:system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.045em;box-shadow:0 2px 11px #0007}.card-glass{background-image:linear-gradient(145deg,#131d1eeb,#0b1113f5),url(/assets/materials/leather.webp);background-size:cover,380px 380px;background-blend-mode:normal,normal}.game-header{background-image:linear-gradient(90deg,#090f11ed,#101718e3),url(/assets/materials/black_iron.webp);background-size:cover,512px}.side-section,.right-bottom{background-image:linear-gradient(120deg,#101a1ce6,#0a1316f0),url(/assets/materials/forest_damask.webp);background-size:cover,450px}.stage-top{background-image:linear-gradient(90deg,#111e1cf0,#0a1415f5),url(/assets/materials/burgundy_damask.webp);background-size:cover,410px}.bottom-tray{background-image:linear-gradient(135deg,#111b1ceb,#081010f2),url(/assets/materials/leather.webp);background-size:cover,320px}.portal-form{border-image:none;box-shadow:0 0 120px #0009,0 20px 60px #000b,0 0 0 1px #deb66f1c inset}.avatar.illustrated{overflow:hidden;isolation:isolate;border:1px solid #a88a5b;box-shadow:0 0 0 2px #0e1110,0 0 14px #deb86b1c;background:#1d2525!important}.avatar.illustrated img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.76) contrast(1.08)}.avatar.illustrated.tiny img{filter:saturate(.7) contrast(1.1)}.inventory-card{background-image:linear-gradient(90deg,#121e1ceb,#111b1af5),url(/assets/materials/forest_damask.webp);background-size:cover,220px;border-color:#574d3b}.room-title{box-shadow:0 5px 22px #000a,0 0 12px #ad87502b inset;border-color:#c3a371}.portal-stats b{color:#f0d4a1;text-shadow:0 0 20px #e7ae474d}.haunt01-actions{padding:18px;border-top:1px solid #846145;background-image:linear-gradient(100deg,#302118ee,#171d1ce9),url(/assets/materials/burgundy_damask.webp);background-size:cover,280px}.haunt01-actions>.section-top{color:#e4b896}.haunt01-actions .minor-button{white-space:normal;text-align:left}.haunt01-actions>small{display:block;margin:13px 0 0;color:#a39a81;font-size:10px;line-height:1.6}.haunt-girl-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:17px 0;max-height:270px;overflow:auto}.haunt-step-meter{color:#dcc098;font-size:12px;padding:8px;background:#33281e;border:1px solid #57432c;margin:8px 0}
