:root{font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;color:#2e403b;background:#f3efe6;font-synthesis:none;--ink:#2e403b;--muted:#768274;--line:#33493c26;--orange:#e7a06e;--paper:#faf7ef;--green:#dfe5d7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b96635;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(38px,4.7vw,68px);font-weight:500;line-height:1.08;letter-spacing:-2.8px}h1 em{font-family:Georgia,serif;font-weight:400;color:#a76847}h2{font-size:25px;font-weight:500;letter-spacing:-.7px}h3{font-size:15px;font-weight:600}p{font-size:14px;line-height:1.75;color:#6a7769}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7b8670}.small{font-size:11px;line-height:1.7;color:#77816f}.masthead{height:83px;background:#fbf8f1;border-bottom:1px solid var(--line);padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;font-size:26px;font-weight:800;letter-spacing:-1.5px;text-decoration:none}.brand>span:not(.brand-mark){color:#b97c58}.brand small{font-weight:500;font-size:8px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:22px;margin-left:22px}.brand-mark{display:inline-flex;position:relative;align-items:center;justify-content:center;width:32px;height:38px;margin-right:12px;border-radius:5px;background:#eac183;transform:rotate(-9deg);font-family:Georgia,serif;font-size:38px}.brand-mark span{font:10px sans-serif;position:absolute;right:3px;top:4px}.header-tools{display:flex;align-items:center;gap:18px;font-size:11px}.header-tools #connection{font-size:10px;color:#7a8571}.header-tools #connection:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#aaa797;margin-right:7px}#connection.connected:before{background:#6c9168}#connection.offline:before{background:#c47752}.quiet,.text-button{border:0;background:transparent}.text-button{padding:0;text-decoration:underline;text-underline-offset:4px;font-size:11px}.quiet{padding:9px 0}.outline{padding:11px 17px;border:1px solid #4c604444;border-radius:6px;background:transparent;font-size:12px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 18px;border:0;border-radius:6px;background:var(--orange);font-size:13px;font-weight:600;box-shadow:0 2px #b97a4933}.primary:hover:not(:disabled){background:#ebb17f}.outline:hover:not(:disabled){background:#e7e8dc}.full{width:100%;margin-top:12px}.primary+ .primary{margin-top:10px}#app{max-width:1440px;margin:auto;padding:0 4%}.welcome{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:360px;gap:40px;padding:47px 0 35px;border-bottom:1px solid var(--line)}.welcome h1{margin:14px 0 18px}.welcome-copy>p{max-width:400px}.welcome-meta{display:flex;gap:20px;font-size:8px;letter-spacing:1.5px;margin-top:28px;color:#82907a}.hero-cast{position:relative;display:flex;justify-content:center;align-items:center;height:305px}.hero-cast:before{content:'';position:absolute;width:360px;height:260px;border:1px solid #b9c5ae6b;border-radius:50%;transform:rotate(-18deg);background:radial-gradient(ellipse,#dae0cb66,transparent 70%)}.hero-cast .toon-card{width:146px;height:218px;position:relative;margin:0 -17px;transform:rotate(-15deg);box-shadow:4px 6px 0 #cac7b7,7px 12px 22px #645b3929}.hero-cast .toon-card:nth-child(2){transform:translateY(-19px) rotate(3deg);z-index:1}.hero-cast .toon-card:nth-child(3){transform:rotate(19deg)}.hero-caption{position:absolute;bottom:5px;font-size:8px;letter-spacing:2px;color:#89907b}.entry-grid{display:grid;grid-template-columns:minmax(260px,450px) 1fr;gap:90px;max-width:1050px;margin:44px auto 55px}.entry-panel{border:1px solid #c7cbb7;padding:30px;background:#faf8ef;border-radius:11px;box-shadow:0 9px 20px #645c3c04}.entry-panel h2{margin:10px 0 23px}.entry-panel label,dialog label{display:block;font-size:11px;font-weight:600}.entry-panel input,dialog input,select{display:block;width:100%;padding:12px 14px;border:1px solid #bac2af;border-radius:5px;background:#fffdf7;margin:7px 0 17px;font-size:13px}input::placeholder{color:#9b9e8e}.or{display:flex;align-items:center;gap:10px;margin:22px 0;color:#8f937f;font-size:10px}.or:before,.or:after{content:'';height:1px;background:var(--line);flex:1}.entry-panel .small{margin-top:20px}.server-name{overflow-wrap:anywhere}.welcome-aside{padding:25px 0}.welcome-aside>h2{font-size:36px;line-height:1.15;margin:13px 0 28px}.intro-step{display:flex;gap:19px;margin:22px 0}.intro-step>b{font-family:Georgia,serif;color:#abac8f;font-size:25px}.intro-step h3{margin-bottom:5px}.intro-step p{font-size:12px;max-width:330px}.welcome-aside>.text-button{margin-left:48px}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 4%;font-size:8px;letter-spacing:1.2px;color:#89917f;max-width:1440px;margin:auto}.saved-seats{border-top:1px solid var(--line);padding:30px 0 45px}.saved-seats h2{margin:9px 0}.saved-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px;margin-top:20px}.saved-seat{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;border:1px solid #c4cbb8;background:#e6eadc77;padding:20px;border-radius:8px;overflow-wrap:anywhere;min-width:0}.saved-seat span,.saved-seat small{font-size:10px}.saved-seat strong{font-size:11px;color:#ab714e;font-weight:500;margin-top:7px}.saved-seat small{color:var(--muted)}#notice{margin:14px 4%;padding:13px 18px;border:1px solid #d2ad7e;border-radius:6px;background:#fff1d9;color:#77542f;font-size:13px;line-height:1.6}#notice[hidden]{display:none}.loading{padding:90px 0;min-height:65vh}.loading h1{margin:20px 0;font-size:38px}.loading button{margin-top:20px}dialog{max-width:510px;width:calc(100% - 32px);border:1px solid #b8c0a7;border-radius:12px;padding:32px;color:var(--ink);background:var(--paper);box-shadow:0 25px 80px #2c352d33}dialog::backdrop{background:#283e395c;backdrop-filter:blur(4px)}dialog h2{margin:12px 0 17px}dialog p{margin-bottom:22px}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions .primary{width:auto;flex:1}.rules-list{padding-left:22px;margin:22px 0}.rules-list li{font-size:13px;line-height:1.7;color:#6a7769;padding:8px}.rules-list b{display:block;color:#3d5144}.lobby-layout{display:grid;grid-template-columns:1fr 320px;gap:80px;max-width:1080px;padding:60px 0;margin:auto}.lobby-main h1{margin:20px 0}.lobby-main>p{max-width:470px}.lobby-code{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 20px;border:1px dashed #aeb899;background:#e8eadc;margin:28px 0;border-radius:8px}.lobby-code small{font-size:9px;letter-spacing:1.5px}.lobby-code strong{font-family:monospace;font-size:24px;letter-spacing:1px;overflow-wrap:anywhere}.lobby-code .outline{align-self:flex-start}.roster-player{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dce2cb;font-family:Georgia,serif}.roster-player:nth-child(2) .avatar{background:#e5c6b4}.roster-player:nth-child(3) .avatar{background:#c3d1d0}.roster-player:nth-child(4) .avatar{background:#d4c4d4}.roster-player>div{display:flex;flex-direction:column;gap:5px;flex:1}.roster-player b{font-size:14px;overflow-wrap:anywhere}.roster-player b small{font-size:8px;font-weight:400;color:#7f896f;margin-left:7px}.roster-player div>span,.empty-seat{font-size:11px;color:#8a937c}.ready-dot{height:7px;width:7px;border-radius:50%;background:#829f73}.empty-seat{opacity:.65}.empty-seat .avatar{background:none!important;border:1px dashed #aeb899}.lobby-aside{padding-top:60px}.lobby-aside>.text-button{margin-top:25px}.action-box{background:#e2e7d9;border:1px solid #cbd3bd;border-radius:9px;padding:25px 22px}.action-box h2{font-size:29px;line-height:1.13;margin:15px 0}.action-box p{font-size:12px}.action-box .primary{margin-top:22px}.action-box .small{margin-top:18px;font-size:10px}.scope-note{padding:24px 0;border-bottom:1px solid var(--line);font-size:12px}.scope-note p{font-size:11px;margin-top:7px}.scope-note button{margin-top:15px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:35px}.board{min-width:0;padding:28px 0}.table-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.table-heading h1{font-size:35px;letter-spacing:-1.5px;margin-top:9px}.table-heading .eyebrow{font-size:8px;overflow-wrap:anywhere}.round-box{display:flex;gap:12px;align-items:center}.round-box small{font-size:9px;letter-spacing:1px;max-width:40px}.round-box b{font-weight:400;font-size:39px}.scoreboard{display:flex;flex-wrap:wrap;gap:12px 25px;padding:16px 0;border-top:1px solid var(--line)}.score-chip{display:flex;align-items:center;gap:7px;font-size:10px}.score-chip b{max-width:150px;overflow-wrap:anywhere}.score-chip>span{color:#899078}.score-chip small{font-size:7px;background:#dadfca;padding:3px}.score-chip.active b{color:#aa693e}.player-dot{width:7px;height:7px;border-radius:50%;background:#88a188}.score-chip:nth-child(2) .player-dot{background:#c38b76}.score-chip:nth-child(3) .player-dot{background:#a7b8c9}.score-chip:nth-child(4) .player-dot{background:#be9bc1}.phase-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border-block:1px solid var(--line);padding:12px 0}.phase-bar>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#989e8b}.phase-bar b{font-size:8px;font-weight:400;width:22px;height:22px;border:1px solid #bdc2ae;border-radius:50%;display:grid;place-items:center}.phase-bar .current{color:#98603a;font-weight:600}.phase-bar .current b{background:#e7c08e;border-color:#e7c08e}.opponents{margin:12px 0}.opponents details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:13px 0;font-size:11px}summary>span{float:right;color:var(--muted);font-size:10px}.opponents .section-heading{display:none}.player-area{padding:22px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-heading h2{font-size:18px}.section-heading>.small{font-size:8px;letter-spacing:.7px}.player-table{display:flex;align-items:center;justify-content:center;gap:28px}.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,126px));gap:10px 12px}.cast-slot{position:relative;min-height:174px;border:1px dashed #aeb69f;border-radius:7px;padding:3px;display:flex;flex-direction:column;gap:7px;min-width:0}.slot-number{position:absolute;bottom:4px;right:5px;font-size:8px;color:#909b82;z-index:1}.toon-card{display:flex;flex-direction:column;width:100%;height:169px;background:#fff5e4;border:4px solid #fff9ec;border-radius:6px;padding:0;text-align:left;overflow:hidden;box-shadow:1px 2px #c7c2b1,1px 4px 7px #5f5e4012;transition:transform .15s,box-shadow .15s;min-width:0}.toon-card:is(button):hover{transform:translateY(-3px);box-shadow:0 0 0 2px #d7a675,1px 6px 8px #5f5e4022}.toon-card.selected{box-shadow:0 0 0 3px #b47c4c}.card-top{display:flex;justify-content:space-between;align-items:center;background:var(--card-color);font-size:7px;font-weight:700;padding:4px 6px;color:#445040}.card-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;flex:1;background:var(--card-color);overflow:hidden}.portrait{position:absolute;display:block;height:100%;aspect-ratio:1;background-repeat:no-repeat;mix-blend-mode:multiply}.portrait-image{height:100%;width:100%;object-fit:contain}.symbol{font-size:44px}.art-placeholder{position:absolute;bottom:3px;font-size:5px;letter-spacing:1px;color:#506143aa}.card-name{display:block;text-align:center;background:var(--card-color);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:5px 1px}.card-rule{display:flex;align-items:center;justify-content:center;text-align:center;font-size:7px;line-height:1.35;min-height:39px;padding:4px 5px;color:#56604e}.card-down{background:repeating-linear-gradient(135deg,#89a6a4 0,#89a6a4 6px,#8faba8 6px,#8faba8 12px);justify-content:center;align-items:center;gap:16px}.card-down>span{font:bold italic 68px Georgia,serif;color:#fcf0d3;position:relative}.card-down>span>span{position:absolute;top:10px;right:-20px;font:18px sans-serif;color:#eabd88}.card-down small{font-size:6px;letter-spacing:1px;color:#fff7e7}.empty-role{min-height:165px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#a8b19a;font-size:25px}.empty-role small{font-size:7px;letter-spacing:1px}.player-score{display:flex;flex-direction:column;align-items:center;width:110px;text-align:center}.player-score .eyebrow{font-size:8px}.player-score>strong{font-size:49px;line-height:1.1;font-weight:400;color:#65846e;margin-top:12px}.player-score>span:not(.eyebrow){font-size:10px;color:#909780}.spendable{font-size:9px;border-top:1px solid var(--line);padding-top:10px;margin-top:15px}.spendable b{font-size:16px}.player-score>small{font-size:8px;color:var(--muted);margin-top:14px}.opponent .cast-grid{grid-template-columns:repeat(3,minmax(0,93px));gap:8px}.opponent .toon-card{height:132px}.opponent .cast-slot{min-height:140px}.opponent .empty-role{min-height:132px}.opponent .card-rule{font-size:5.8px;min-height:31px}.opponent .card-name{font-size:8px}.opponent .card-top{font-size:6px}.opponent .card-down>span{font-size:40px}.opponent .card-down small{font-size:4px}.market-area{padding:22px 0;border-bottom:1px solid var(--line)}.market{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.market-column{min-width:0}.market .toon-card{height:184px}.price-tag{height:52px;display:flex;justify-content:center;align-items:center;gap:4px;position:relative;font-size:7px;color:#827a5f;background:#ead7ac;border:3px solid #fff5e5;border-radius:5px;margin-bottom:10px;box-shadow:1px 2px #cfbf9c}.price-tag b{font-size:23px;font-weight:500;color:#546047}.price-tag small{font-size:5px;position:absolute;bottom:2px;letter-spacing:1px}.empty-market{height:184px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px dashed #b7bea7;border-radius:6px;color:#909c80;font-size:10px;gap:8px}.empty-market span{font-size:7px}.right-rail{border-left:1px solid var(--line);padding:30px 0 30px 24px;min-width:0}.right-rail .action-box{padding:20px 16px}.right-rail h2{font-size:25px}.action-stats{display:flex;gap:20px;padding:17px 0 0}.action-stats>div{display:flex;flex-direction:column;gap:4px}.action-stats b{font-size:28px;font-weight:400}.action-stats small{font-size:7px;letter-spacing:.5px}.inspector{position:relative;padding:28px 0 22px;border-bottom:1px solid var(--line)}.inspector h2{margin:12px 0}.inspector p{font-size:12px;margin:13px 0}.inspector>small{display:block;font-size:9px;color:#919984;line-height:1.6;margin-top:14px}.inspector-star{font-size:35px;color:#b2bc9e}.inspect-portrait{height:170px;position:relative;display:flex;align-items:center;justify-content:center;background:#e9e6d7;border-radius:6px}.inspect-meta{font-size:9px;display:flex;justify-content:space-between;margin-top:15px}.butterfly-label{font-size:10px}.butterfly-label select{font-size:11px;padding:10px 5px}.table-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:8px;letter-spacing:1.5px;color:#8d997f;margin:20px 0}.stale-note{color:#926744!important;padding-top:12px}
@media(min-width:1400px){.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:45px}.market .toon-card{height:205px}.cast-grid{grid-template-columns:repeat(3,139px)}.cast-grid .toon-card{height:182px}.opponent .cast-grid .toon-card{height:132px}}
@media(max-width:1050px){.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.right-rail{padding-left:16px}.market{gap:7px}.market .toon-card{height:157px}.card-name{font-size:8px}.card-rule{font-size:6px}.cast-grid{grid-template-columns:repeat(3,minmax(0,108px))}.player-table{gap:16px}.player-score{width:85px}.entry-grid{gap:50px}.lobby-layout{gap:35px}.brand small{display:none}}
@media(max-width:800px){.masthead{height:auto;min-height:75px;padding-block:15px;flex-wrap:wrap}.header-tools{gap:13px}.welcome{gap:10px;padding-top:32px;min-height:340px}.welcome h1{font-size:48px}.hero-cast .toon-card{width:115px;height:179px;margin:0 -27px}.hero-cast:before{width:220px;height:220px}.hero-caption{font-size:6px}.welcome-meta{gap:10px;font-size:6px}.entry-grid{gap:30px}.game-layout{grid-template-columns:1fr;gap:0}.right-rail{border:0;padding:0 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.right-rail .inspector{padding:15px 0}.right-rail .scope-note{grid-column:1/-1}.market .toon-card{height:185px}.cast-grid{grid-template-columns:repeat(3,minmax(0,128px))}.lobby-layout{grid-template-columns:1fr;gap:20px;padding:35px 0}.lobby-aside{padding-top:0}.lobby-main h1{font-size:50px}.lobby-aside .action-box{max-width:500px}.section-heading .small{font-size:7px}}
@media(max-width:550px){.masthead .brand{font-size:22px}.header-tools{width:100%;justify-content:space-between;font-size:10px}.header-tools .outline{font-size:10px;padding:7px 10px}.welcome{grid-template-columns:1fr;padding-bottom:14px;text-align:center;gap:0}.welcome-copy>p{margin:auto;font-size:13px}.welcome-meta{justify-content:center}.welcome h1{font-size:49px}.hero-cast{height:255px}.hero-cast .toon-card{width:119px;height:183px;margin:0 -13px}.hero-caption{font-size:7px;bottom:10px}.entry-grid{grid-template-columns:1fr;margin-top:25px;gap:16px}.entry-panel{padding:25px}.welcome-aside{padding:20px 10px}.welcome-aside>h2{font-size:30px}.intro-step p{max-width:none}.site-footer{flex-direction:column;gap:8px;font-size:7px}.table-heading h1{font-size:29px}.table-heading .eyebrow{max-width:225px;font-size:7px}.phase-bar{gap:4px}.phase-bar>span{font-size:8px;gap:4px;flex-direction:column}.phase-bar b{width:19px;height:19px}.market{gap:5px}.market .toon-card{height:139px;border-width:3px}.market .card-top{font-size:5px;padding:3px}.market .card-rule{font-size:5.5px;padding:2px;min-height:36px}.market .card-name{font-size:7px;letter-spacing:0;padding:4px 1px}.market .symbol{font-size:26px}.empty-market{height:139px;font-size:8px;text-align:center}.empty-market span{font-size:6px}.price-tag{height:42px}.price-tag b{font-size:20px}.price-tag{font-size:6px}.player-table{flex-direction:column;gap:17px}.cast-grid{width:100%;max-width:390px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.cast-grid .toon-card{height:163px}.cast-slot{min-height:168px}.player-score{flex-direction:row;width:100%;gap:12px;justify-content:center;flex-wrap:wrap}.player-score>strong{font-size:26px;margin:0}.player-score .spendable{border:0;margin:0;padding:0}.player-score>small{margin:0}.player-score .eyebrow{font-size:7px}.opponent .cast-grid{width:100%;max-width:330px;grid-template-columns:repeat(3,minmax(0,1fr))}.opponent .cast-grid .toon-card{height:136px}.right-rail{grid-template-columns:1fr;gap:5px}.right-rail .action-box{padding:25px}.right-rail .inspector{padding:25px 10px}.inspect-portrait{height:210px}.table-caption{font-size:6px;letter-spacing:1px}.table-caption button{font-size:9px}.section-heading{gap:6px}.section-heading h2{font-size:16px}.scope-note{padding-inline:10px}.roster-player b{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
