/* Avalon v1.2.0 · Rabbit & P-suke secret picnic. Presentation only. */
:root{--paper:#fffaf1;--pink:#e982a0;--pink-dark:#b85e7b;--pink-light:#ffe9f0;--ink:#654c44;--muted:#927970;--line:#ecd8cd;--mint:#edf7ed;--mint-ink:#557c68;--lavender:#f1ebfa;--radius:26px;--shadow:0 8px 0 #e5bca515,0 18px 45px #88634009;color:var(--ink)}
body{background:radial-gradient(ellipse at 6% 8%,#ffe9ed 0,transparent 42%),radial-gradient(ellipse at 100% 90%,#fff0cf 0,transparent 40%),#fffaf1}
body:before{content:"";display:block;height:9px;background:repeating-linear-gradient(90deg,#f4c2ce 0 18px,#fff0e7 18px 36px)}
.topbar{max-width:1400px;padding:17px 28px;border-bottom:1px dashed #e6cdbf;min-height:76px}
.brand{color:#775049;font-size:11px;letter-spacing:1px}.brand b{color:#c27683}.brand small{color:#9a8074;letter-spacing:1.3px}
#brandMascot{width:48px;height:48px}#brandMascot svg{height:100%;width:100%}
.icon-btn{border-radius:99px;background:#fffdf8;border:1px solid #e7cfc0;box-shadow:0 2px 0 #e6cdbf66;padding:10px 15px;min-height:42px;color:#796055;font-size:12px}
.icon-btn:hover{background:#fff0f1}.icon-btn:active{translate:0 2px;box-shadow:none}
.version{color:#a88474;font-size:10px}.home-grid{max-width:1250px;grid-template-columns:1.12fr 1fr;gap:60px;margin:30px auto 45px;padding:0 26px}
.hero{padding:14px 0}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#ab746e}.dot{background:#e49c9f}
.hero h1{font-size:clamp(52px,5.8vw,79px);line-height:1.18;letter-spacing:3px;margin:22px 0;color:#765049;font-weight:900;text-shadow:0 3px 0 #fff}
.hero h1 em{color:#df86a0;text-shadow:0 4px 0 #f4cfca;position:relative}.small-star{font-size:26px;color:#dda759;top:12px;left:390px}
.hero-copy{font-size:15px;color:#876c63;line-height:1.95;letter-spacing:.5px}.tags{gap:8px;margin:20px 0 14px}.tags span{background:#fffdf6;border-color:#e8ccba;font-size:11px;padding:7px 13px}
.hero-scene{height:300px;isolation:isolate;margin:12px -10px 10px;border-bottom:1px dashed #e6c7bb}
.hero-scene:before{content:"";position:absolute;inset:8% 2% 0;border-radius:48% 48% 15% 20%;background:radial-gradient(ellipse at 45% 58%,#fde9d6 0,#fde9d622 64%,transparent 65%);z-index:-2}
.hero-table{background:repeating-linear-gradient(0deg,transparent 0 16px,#fff4e677 16px 32px),repeating-linear-gradient(90deg,#eeadbe 0 16px,#f7cad1 16px 32px);border:10px solid #ffedce;box-shadow:0 8px 0 #debb94,0 15px 0 #b786702e,0 21px 20px #70423712;bottom:34px;left:4%;width:92%;height:116px;transform:rotate(-4deg)}
.hero-table:after{content:"♡";border:2px dashed #fff8e7;color:#fff6dd;font-size:37px;line-height:70px}
.hero-rabbit{width:181px;left:13%;top:4px;transform:rotate(-9deg);filter:drop-shadow(0 6px 0 #fff8)}
.hero-chick{width:151px;right:13%;top:63px;transform:rotate(9deg);filter:drop-shadow(0 6px 0 #fff8)}
.hero-bubble{font-size:12px;border:1.5px solid #e4c2b4;background:#fffdf5;border-radius:20px 20px 20px 4px;right:0;top:7px;padding:12px 16px;box-shadow:0 4px 0 #ebc7b626;transform:rotate(4deg);z-index:3}
.scene-moon{font-size:26px;color:#d0ad69;right:143px;top:-9px}.s1{right:22px;top:133px;color:#e99d92}.s2{left:15px;top:117px;color:#d4ab64}
.scene-card{border:3px solid #fff8e9;width:48px;height:66px;border-radius:10px;line-height:54px;box-shadow:0 3px 0 #aa7d7355,0 6px 10px #7650491f}
.scene-card.c1{background:#ed9bb1;color:white;bottom:38px;left:45%}.scene-card.c2{background:#c6dace;color:#5d7f6d;bottom:37px;left:56%}.scene-caption{bottom:4px;color:#b08a7a;font-size:9px;letter-spacing:2.6px}
.demo-callout{border:0;margin:18px 0 0;padding:0;gap:4px 12px}.demo-callout>span{font-size:13px;color:#83665d}.demo-callout .text-btn{font-size:14px;min-height:47px;padding:9px 17px;background:#fffdf7;border:1.5px solid #dbad9a;border-radius:17px;box-shadow:0 4px 0 #eed6c8}.demo-callout small{font-size:10px;margin-top:9px}
.entry-card{position:relative;border:1.5px solid #e4caba;border-radius:27px;padding:30px;background:#fffdf8;box-shadow:0 7px 0 #f0ddce,0 23px 48px #8a695214;isolation:isolate}
.entry-card:before{content:"";position:absolute;height:15px;width:110px;left:calc(50% - 55px);top:-9px;background:repeating-linear-gradient(45deg,#f3b8c4aa 0 5px,#ffd9ddaa 5px 10px);transform:rotate(-3deg)}
.entry-card h2{font-size:23px;margin:12px 0 20px}.section-label{color:#ba8c78;font-size:10px;letter-spacing:1.9px}.field{font-size:13px}.field input,.field select,#chatInput{border-color:#e9d3c2;background:#fffdf8;border-radius:14px;font-size:14px;box-shadow:inset 0 2px 3px #785f4607;min-height:48px}
.field input:focus,.field select:focus,#chatInput:focus{border-color:#d8879e;box-shadow:0 0 0 3px #fae2e9}.field-label{font-size:13px;margin:20px 0 10px}.field-label span{font-size:10px;color:#a08777}
.avatar-picker{gap:7px}.avatar-option{border:1px solid #ebd8c6;border-radius:16px;background:#fff8ed;position:relative;padding:3px;overflow:visible}
.avatar-option.selected{border:2px solid #e79caf;background:#ffeef2;box-shadow:0 3px 0 #e6b3ba}.avatar-option.selected:after{content:"✓";position:absolute;right:-4px;top:-6px;background:#df869f;color:white;border:2px solid #fffdf8;border-radius:50%;font-size:10px;width:17px;height:17px;display:grid;place-items:center}
.avatar-option:hover svg{transform:rotate(-5deg) translateY(-3px)}.avatar-option svg{transition:transform .16s}.tabs{background:#f7e9e2;border:1px solid #edd8cc;padding:4px;gap:5px;margin:22px 0 18px}.tabs button[aria-selected=true]{background:#fffdf7;color:#b06676;box-shadow:0 2px 4px #a5766921}.composition{background:#faf5e9;border:1px dashed #dfcaae;border-radius:14px;color:#937864;font-size:12px}.home-status{color:#957b6b;font-size:10px}.btn{border-radius:16px;font-size:14px;min-height:46px;padding:12px 20px;letter-spacing:.3px}
.btn.primary{background:linear-gradient(#f3a5b9,#e689a4);border:1.5px solid #c9768f;color:#fff;box-shadow:inset 0 2px 0 #ffffff55,0 4px 0 #c27187,0 7px 10px #d39a951b;text-shadow:0 1px 0 #b96a7a66}
.btn.primary:disabled{background:#efcdd5;border-color:#dfb4c0;color:#987c82;text-shadow:none;opacity:1;box-shadow:0 3px 0 #ddbec6}
.btn.secondary{background:#fff8ed;border-color:#dcc3ae;color:#89644f;box-shadow:0 3px 0 #e9d6c4}
.btn.success{background:#e6f1e3;border-color:#a9c6aa;color:#51735b;box-shadow:0 4px 0 #b7cdb7}.btn.danger{background:#f8e1e9;border-color:#d3a6b7;color:#a55d78;box-shadow:0 4px 0 #ddbdcc}
.btn:active:not(:disabled){transform:translateY(3px)!important;box-shadow:none!important}.btn:hover:not(:disabled){filter:brightness(1.035)}
footer{color:#a9917d;border-top-color:#e8d4c1;max-width:1400px;font-size:10px}
/* Play screen: same phase/actions, no large voice settings above the actual game. */
#gameScreen{max-width:1400px;padding:0 28px;margin:20px auto 35px}.room-head{margin:14px 0 10px}.room-head h1{font-size:27px;color:#78544c;font-weight:900}.room-head h1 span{background:#fff7e7;border:1px dashed #d9b69a;color:#a2805d;font-size:12px;letter-spacing:1px;border-radius:10px;padding:6px 11px}.room-head .eyebrow{font-size:10px}
.network{font-size:11px}.network i{background:#83ae8c}.demo-banner{font-size:11px;color:#9d784d;border-color:#e9d3aa;background:#fff5db;padding:4px 13px;border-radius:12px}.demo-banner .text-btn{color:#9d704a;font-size:11px}.room-info-details{margin:12px 0 4px;font-size:11px;color:#a08572}.room-info-details summary{cursor:pointer;min-height:26px;line-height:26px;list-style:none}.room-info-details summary:after{content:"  ⌄"}.room-config{margin:3px 0 10px;font-size:12px}
.quest-track{gap:15px;margin:10px 0 20px}.quest-step{border:1px solid #e9d5c0;border-radius:18px;background:#fffdf6;padding:12px 15px;min-height:75px;gap:13px;box-shadow:0 3px 0 #eedbc94d}.quest-step:not(:last-child):after{content:"";position:absolute;width:16px;border-top:2px dotted #d6ba9c;top:50%;left:100%}.quest-symbol{width:40px;height:40px;background:#f5eddf;color:#b19b82;font-size:18px;border:1px solid #e4d1b8;border-radius:14px;rotate:-7deg}.quest-step b{font-size:13px}.quest-step small{font-size:10px;color:#9a8270}.quest-step.current{background:#fff2f3;border:2px solid #eab0bd;box-shadow:0 4px 0 #edc6cf}.quest-step.current .quest-symbol{background:#ed9cb2;color:#fff;border-color:#d9839c;box-shadow:0 2px 0 #d48298}.quest-step.succeeded{background:#f0f6e9;border-color:#baccac}.quest-step.succeeded .quest-symbol{background:#daebd1;color:#6b8c60}.quest-step.failed{background:#f8eaf0;border-color:#debbc9}.quest-step.failed .quest-symbol{background:#edd1df;color:#a36a88}
.game-grid{grid-template-columns:minmax(0,1fr) 282px;gap:20px;align-items:start}.panel{border:1.5px solid #e8d0be;background:#fffdf7;border-radius:24px;box-shadow:0 5px 0 #efdecd66,0 14px 30px #74503906;padding:22px}.table-panel{padding:24px 25px 20px;position:relative;background:radial-gradient(ellipse at 50% 45%,#fff2e4 0,transparent 65%),#fffdf7}.table-panel:before{content:"";position:absolute;top:-6px;left:32px;width:70px;height:12px;background:repeating-linear-gradient(45deg,#f8d1aeb0 0 4px,#ffe8caee 4px 8px);rotate:-4deg}.panel-heading h2{font-size:25px;font-weight:850;margin-top:6px;letter-spacing:.3px}.phase-hint{font-size:12px;color:#927563;line-height:1.8;margin:11px 0 0}.timer{font-size:11px;background:#fff2dc;border:1px solid #edcf9e;border-radius:12px;color:#a77e49;padding:10px 11px}
.players-grid{position:relative;display:block;height:442px;margin:6px 0 10px;isolation:isolate}
.players-grid:before{content:"";position:absolute;left:14%;right:14%;top:23%;bottom:17%;background:repeating-linear-gradient(0deg,#fff5f266 0 18px,transparent 18px 36px),repeating-linear-gradient(90deg,#fae1e5 0 18px,#f8d4dc 18px 36px);border:12px solid #f4dfbd;border-radius:50%;box-shadow:0 7px 0 #dfbc92,0 13px 0 #ecdac54a,0 20px 18px #83573f09;z-index:-2}
.players-grid:after{content:"";position:absolute;left:calc(14% + 20px);right:calc(14% + 20px);top:calc(23% + 9px);bottom:calc(17% + 6px);border:2px dashed #fffdf5;border-radius:50%;z-index:-1}
.player-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%);width:117px;min-height:138px;padding:10px 5px 7px;border:1px solid transparent;background:none;border-radius:22px;box-shadow:none;transition:background .17s,box-shadow .17s,border-color .17s;z-index:2;isolation:isolate}
.player-seat:before{content:"";position:absolute;width:88px;height:88px;border:2px solid #fffdf7;background:#f5eadb;left:50%;top:10px;transform:translateX(-50%);border-radius:50%;z-index:-1;box-shadow:0 3px 0 #e4cbb266}
.player-seat svg{width:86px;height:98px;max-width:100%;filter:drop-shadow(0 2px 0 #fff);transition:transform .18s}
.player-seat .name{font-size:12px;margin:4px 0 3px;color:#7a534a;max-width:100%;background:#fffdf5f2;border:1px solid #e9d3bf;padding:4px 10px;border-radius:20px;line-height:1.4;box-shadow:0 2px 0 #ead8c55c}
.player-seat .seat-status{font-size:10px;color:#967960;line-height:1.35;min-height:14px}.seat-no{left:6px;top:11px;width:23px;height:23px;display:grid;place-items:center;background:#fffdf1;color:#b18e67;border:1px solid #e4c9a5;font-weight:800;border-radius:50%;padding:0;font-size:10px}
.leader-crown{font-size:22px;right:0;top:7px;color:#dba548;rotate:10deg;text-shadow:0 1px 0 #fff;z-index:3}.player-seat.own{box-shadow:none}.player-seat.own .name{border-color:#dc9fac;color:#b86682}.player-seat.selectable:hover{background:#fff9efd9;border-color:#e3ba9d;box-shadow:0 4px 10px #93714e0c}.player-seat.selectable:hover svg{transform:rotate(-6deg) translateY(-3px)}
.player-seat.selected{border:1.5px solid #df9ba8;background:#fff6f4df;box-shadow:0 4px 0 #edc7c677,0 0 18px #edafb738}.player-seat.selected:before{background:#fad6dd;border-color:#f1b7c4}.player-seat.selected .name{background:#ea9bb0;color:white;border-color:#d4829a;box-shadow:0 2px 0 #cf829466}.player-seat.selected .seat-status{color:#af6c7a}.player-seat[aria-pressed=true] svg{animation:av-hop .32s ease-out}.player-seat.selected:after{content:"✓";position:absolute;right:1px;bottom:40px;width:22px;height:22px;border:2px solid #fff6ea;border-radius:50%;background:#d78399;color:white;font-size:13px;font-weight:800;display:grid;place-items:center}
.player-seat.empty-seat{border:1px dashed #dbbd9d;background:#fff7e6c9;width:95px;min-height:119px;transform:translate(-50%,-50%);font-size:10px}.empty-seat:before{display:none}
.players-grid[data-count="8"],.players-grid[data-count="9"],.players-grid[data-count="10"]{height:550px}.players-grid[data-count="8"] .player-seat,.players-grid[data-count="9"] .player-seat,.players-grid[data-count="10"] .player-seat{width:99px;min-height:124px;padding-top:7px}.players-grid[data-count="8"] .player-seat svg,.players-grid[data-count="9"] .player-seat svg,.players-grid[data-count="10"] .player-seat svg{width:72px;height:82px}.players-grid[data-count="8"] .player-seat:before,.players-grid[data-count="9"] .player-seat:before,.players-grid[data-count="10"] .player-seat:before{width:73px;height:73px}.players-grid[data-count="10"] .player-seat .name{font-size:11px;max-width:93px;padding:3px 6px}
.av-table-center{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:45%;max-width:340px;z-index:0}.av-table-center .av-duo{height:69px;display:flex;align-items:flex-end;justify-content:center}.av-duo svg{width:64px;height:73px}.duo-rabbit{display:inline-block;rotate:-9deg;margin-right:-8px}.duo-psuke{display:inline-block;rotate:10deg;transform:translateY(5px)}.av-table-center b{display:block;font-size:18px;letter-spacing:1px;color:#ad7373;font-weight:850;text-shadow:0 2px 0 #fff7}.av-table-center>small{display:block;color:#ab7b73;font-size:10px;letter-spacing:1.7px;margin:5px 0 9px}.av-team-slots{display:flex;justify-content:center;gap:6px;min-height:32px;align-items:center}.av-team-slot{width:34px;height:36px;border:1px dashed #d3959d;background:#fff7f0a8;border-radius:9px;color:#ca9da0;font-size:16px;display:grid;place-items:center;box-shadow:0 2px 0 #c991a01f}.av-team-slot svg{width:30px;height:34px}.av-team-caption{font-size:10px!important;letter-spacing:0!important;color:#a17469!important;margin:7px 0 0!important;line-height:1.5}
.rejection-track{margin:5px 0 12px;font-size:11px;color:#9a7d67;gap:7px}.reject-dot{background:#ecdfcb;border-radius:3px;width:9px;height:9px;rotate:45deg}.reject-dot.active{background:#c78597}.action-area{border-top:1px dashed #e1c6b1;padding-top:15px;min-height:90px;margin-top:12px}.action-area>p{font-size:13px;margin:0 0 13px;color:#98735c}.action-area .action-row .btn{min-width:160px}.action-note{margin-top:12px!important}.waiting-chip{background:#fff2df;color:#9c7956;border:1px solid #ecd8b7;font-size:12px}.spinner{border-color:#ecd4b1;border-top-color:#c99c77}.history-panel{margin-top:18px;border-style:dashed;background:#fffaf0}.history-panel summary{color:#987155;font-size:13px}.history-panel .vote-tag{border-radius:8px}.identity-panel{text-align:center;padding:20px 22px;background:#fff8f5;position:relative;overflow:hidden}.identity-panel:before{content:"♡";position:absolute;top:12px;right:15px;color:#f0c4ce;font-size:20px;rotate:15deg}.identity-panel h3{font-size:17px;margin:9px 0 12px;color:#a16673}.identity-preview{margin:10px 0 15px;display:flex;justify-content:center;min-height:146px}.card-back{position:relative;width:108px;height:145px;border:5px solid #fff9ef;border-radius:16px;background:repeating-linear-gradient(45deg,#edafc1 0 7px,#f2bbca 7px 14px);box-shadow:0 0 0 1px #d99bb1,3px 5px 0 #e4b0b7,0 9px 12px #9c666b16;transform:rotate(-6deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#a4667b;font-size:11px}.card-back svg{height:84px;width:78px;filter:drop-shadow(0 2px 0 #fff7)}.card-back>span{background:#fff5e7dd;border-radius:8px;padding:4px 7px;border:1px solid #d79bb0;font-size:10px;letter-spacing:2px}.identity-panel .btn{font-size:13px}.identity-panel>small{color:#a88980;font-size:10px;line-height:1.6;margin-top:14px;display:block}.side-column{gap:16px}.chat-title h3{color:#9b7461}.chat-title span{color:#b79780}.chat-messages{height:145px}.chat-empty{color:#ad927b;font-size:11px}.chat-line .text{background:#f8eddd;color:#83624c}.chat-line.self .text{background:#fbe3e9;color:#955b72}.send-btn{background:#e59daf;color:white;border-radius:13px;box-shadow:0 3px 0 #c98b9b}.chat-panel>small{color:#b09683;font-size:10px}.chat-panel{padding:18px}
.voice-panel{padding:17px 18px;margin:0;background:#f8f9f0;border-color:#d9dac1;border-radius:21px;box-shadow:0 4px 0 #d6dac229;position:relative}.voice-heading h3{font-size:16px;margin:6px 0}.voice-heading .section-label{font-size:8px;color:#969570;letter-spacing:1px}.voice-beta{display:none}.voice-heading{gap:4px}.voice-count{font-size:10px;color:#969275}.voice-status{font-size:10px;color:#999071;margin:5px 0 10px;line-height:1.7}.voice-controls .btn{width:100%;min-height:42px;font-size:12px;padding:10px 9px}.voice-controls .icon-btn{font-size:10px;padding:6px 9px}.voice-help{font-size:10px;color:#999171}.voice-help p{font-size:10px}.voice-people:empty{display:none}.voice-volume{font-size:10px;flex-wrap:wrap;margin:5px 0}.voice-person{font-size:10px}.av-voice-toggle{border:0;background:none;text-align:left;color:#878563;font-size:10px;min-height:32px;cursor:pointer;padding:0;margin-top:3px}.voice-panel:not(.av-voice-expanded) .voice-help{display:none}.voice-panel:not(.av-voice-expanded) .voice-controls .icon-btn{display:none}
/* Private role card & sealed mission cards retain original permissions. */
dialog{border:2px solid #e2bfab;border-radius:25px;background:#fffaf1;color:#775648;box-shadow:0 20px 80px #4b322a3b;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#60453970;backdrop-filter:blur(4px)}.dialog-close{border:1px solid #e1c5b1;color:#a58069;background:#fff4e4;border-radius:50%}.identity-dialog{padding:25px 27px;background:linear-gradient(#fff7ee,#fffdfa);width:min(440px,92vw)}.identity-dialog[open]{animation:av-card-open .32s ease-out}.identity-dialog .role-emblem{height:139px;width:139px;margin:15px auto 10px;border:2px dashed #eac0b7;border-radius:50%;background:radial-gradient(circle,#ffe6ec,#fff4df);font-size:0;display:grid;place-items:center;position:relative}.role-emblem svg{width:102px;height:118px}.role-emblem .av-role-symbol{position:absolute;right:-3px;bottom:1px;width:40px;height:40px;background:#ffebba;border:2px solid #d5af73;border-radius:50%;font-size:22px;display:grid;place-items:center}.role-emblem.evil{background:radial-gradient(circle,#eddfed,#fff0f3);border-color:#cfa9c5}.identity-dialog h2{color:#a8677c;font-size:28px;letter-spacing:2px;margin:10px 0}.identity-dialog .intel{background:#fff6e7;border:1px dashed #dbc0a2;border-radius:16px}.identity-dialog p{font-size:13px;line-height:1.8}.role-side{border-radius:9px;padding:5px 11px;font-size:11px}.role-side.good{background:#e8efdf;color:#69815b}.role-side.evil{background:#f1dfea;color:#a2738d}.intel-person{background:#fffdf8;border:1px solid #e7ccb4;color:#8d6c56}.confirm-icon{color:#dca977}.dialog-buttons{gap:12px}.confirm-icon:before{content:"♡";font-size:35px}.confirm-icon{font-size:0}
.quest-card{width:151px;min-height:178px;background:linear-gradient(135deg,#f4fbec,#d9e8d0);border:3px solid #fffaf0;outline:1px solid #b6c9a5;box-shadow:3px 5px 0 #afc09c,0 9px 12px #85664d16;transform:rotate(-3deg);color:#5f7b50;gap:4px;border-radius:15px}.quest-card.fail-card{background:linear-gradient(135deg,#f9eaf4,#e5d3e6);outline-color:#c6a8c5;border-color:#fffaf0;box-shadow:3px 5px 0 #c2a4bc,0 9px 12px #85664d16;transform:rotate(3deg);color:#9b6d91}.quest-card .card-mark{font-size:30px;height:78px;display:grid;place-items:center}.quest-card .card-mark svg{width:63px;height:74px}.quest-card:hover:not(:disabled){transform:translateY(-7px) rotate(0);transition:transform .18s}.quest-card:disabled{opacity:.48;filter:saturate(.35)}.quest-card small{margin-top:4px}.result-big{font-size:26px;color:#719162}.result-big.evil{color:#a97191}.reveal-player{border-radius:16px;background:#faf3e4;color:#99775c;border:1px solid #e5ceb5}.reveal-player.good{background:#eef4e6}.reveal-player.evil{background:#f4e6ef}
/* Ephemeral overlays never participate in layout or intercept input. */
#avMoment{position:fixed;z-index:95;left:50%;top:31%;transform:translate(-50%,-50%);pointer-events:none;width:min(390px,88vw);text-align:center;display:none}.av-moment-card{background:#fffaf2f8;border:2px solid #e8b4c1;border-radius:27px;padding:21px 25px 24px;box-shadow:0 7px 0 #d4a1aa55,0 16px 60px #67403030;animation:av-moment-in .32s cubic-bezier(.2,.9,.2,1.15) both}.av-moment-card>small{display:block;letter-spacing:2px;font-size:10px;color:#bb8b75}.av-moment-card>strong{font-size:29px;color:#be768f;display:block;margin:7px 0}.av-moment-card>p{font-size:12px;color:#9b7d67;line-height:1.6;margin:7px 0 0}.av-moment-card.is-good{border-color:#b6cba2}.av-moment-card.is-good>strong{color:#809665}.av-moment-cards{display:flex;gap:9px;justify-content:center;margin:13px 0 0}.av-mini-card{width:42px;height:58px;background:#e6efdd;border:3px solid #fff9ec;outline:1px solid #b0c49f;box-shadow:2px 3px 0 #b7c49d;border-radius:9px;display:grid;place-items:center;font-size:23px;color:#78975f;animation:av-flip .4s ease-out both;animation-delay:var(--card-delay)}.av-mini-card.is-fail{background:#ebd9e9;outline-color:#c7a9c2;color:#a87999;box-shadow:2px 3px 0 #c6adc0}.av-spark{position:absolute;font-size:17px;color:#e2b369;animation:av-spark 1.4s ease-out both;left:var(--spark-x);top:var(--spark-y)}
@keyframes av-hop{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-8px) rotate(-5deg)}}
@keyframes av-card-open{0%{opacity:0;transform:perspective(700px) rotateY(-20deg) translateY(12px)}100%{opacity:1;transform:none}}
@keyframes av-moment-in{from{opacity:0;scale:.8;translate:0 15px}to{opacity:1;scale:1;translate:0 0}}
@keyframes av-flip{from{transform:perspective(200px) rotateY(90deg);opacity:.2}to{transform:none;opacity:1}}
@keyframes av-spark{0%{opacity:0;transform:translateY(12px) scale(.4)}25%,70%{opacity:1}100%{opacity:0;transform:translateY(-20px) scale(1.2)}}
html[data-av-motion="off"] *,html[data-av-motion="off"] *:before,html[data-av-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1600px){.players-grid{height:480px}.table-panel{padding:26px 33px}}
@media(max-width:1150px){.home-grid{gap:30px}.hero h1{font-size:62px}.small-star{left:310px}.hero-rabbit{width:162px;left:10%;top:10px}.hero-chick{width:136px;right:10%;top:74px}.hero-bubble{font-size:10px}.game-grid{grid-template-columns:minmax(0,1fr) 245px;gap:15px}.panel{padding:18px}.table-panel{padding:20px 16px}.player-seat{width:99px;min-height:123px}.player-seat svg{height:82px;width:73px}.player-seat:before{width:72px;height:72px}.player-seat .name{font-size:11px;padding:3px 6px}.players-grid{height:417px}.av-table-center b{font-size:16px}.av-duo svg{height:59px;width:52px}.av-table-center .av-duo{height:54px}.av-team-slot{width:30px;height:33px}.av-team-slot svg{width:26px;height:31px}.quest-step{gap:7px;padding:11px 10px}.quest-step b{font-size:12px}.quest-step small{font-size:9px}.quest-symbol{width:32px;height:34px;font-size:16px}.identity-preview{min-height:134px}.card-back{height:134px;width:101px}.topbar nav{gap:7px}.version{font-size:9px}.panel-heading h2{font-size:23px}.players-grid[data-count="10"] .player-seat{width:85px}.players-grid[data-count="10"] .player-seat .name{font-size:10px;max-width:80px}.seat-status{font-size:9px!important}}
@media(max-width:900px){.game-grid{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.side-column .identity-panel{grid-column:1}.side-column .voice-panel{grid-column:1}.side-column .chat-panel{grid-column:2;grid-row:1/3;height:100%}.chat-messages{height:275px}.identity-preview{min-height:102px;margin:10px}.card-back{height:100px;width:76px;border-width:4px;border-radius:12px}.card-back svg{height:60px;width:55px}.card-back>span{font-size:8px;padding:2px 4px}.identity-panel h3{font-size:16px}.identity-panel .btn{margin-top:5px;min-height:43px}.identity-panel>small{margin-top:10px}.players-grid{height:432px}.hero h1{font-size:54px}.home-grid{gap:26px}.hero-scene{height:280px}.hero-bubble{top:-12px;right:0}.hero-rabbit{left:2%}.hero-chick{right:2%}.small-star{left:280px}.hero-copy{font-size:13px}.entry-card{padding:23px}.field-label{display:block}.field-label span{display:block;margin-top:5px}.avatar-picker{grid-template-columns:repeat(4,1fr);gap:8px}.avatar-option{max-height:54px;aspect-ratio:auto}.avatar-option svg{height:47px}.tags span{font-size:10px;padding:7px 9px}.room-head h1{font-size:25px}}
@media(max-width:760px){.topbar{padding:11px 16px;min-height:66px;gap:5px}.brand{font-size:10px}.brand small{font-size:8px}#brandMascot{width:36px;height:41px}.topbar nav{gap:5px}.topbar .icon-btn{padding:8px 10px;font-size:10px;min-height:39px}.version,.back-link{display:none}.home-grid{grid-template-columns:1fr;max-width:570px;padding:0 22px;gap:26px;margin:13px auto 35px}.hero{padding:16px 0 0}.hero h1{font-size:57px;line-height:1.2;margin:17px 0 20px}.hero h1 br{display:none}.hero h1 em{display:block;margin-top:4px}.small-star{left:auto;right:19px;top:20px}.hero-copy{font-size:14px;margin:0;line-height:1.85}.tags{margin:16px 0 22px}.tags span{font-size:10px}.hero-scene{max-width:410px;height:257px;margin:0 auto 14px}.hero-rabbit{width:151px;left:12%;top:8px}.hero-chick{width:132px;right:11%;top:61px}.hero-table{bottom:33px;height:92px;border-width:9px;left:0;width:100%}.hero-bubble{font-size:10px;padding:9px 11px;top:-6px;right:-5px}.scene-card{width:40px;height:56px;line-height:44px;font-size:22px}.scene-card.c1,.scene-card.c2{bottom:35px}.scene-moon{right:110px;top:-5px}.scene-caption{font-size:8px;letter-spacing:2px}.s1{top:114px;right:6px}.s2{top:99px;left:2px}.demo-callout{gap:9px;margin-top:10px}.demo-callout>span{font-size:11px}.demo-callout .text-btn{font-size:12px;padding:10px 12px}.entry-card{padding:25px}.avatar-picker{grid-template-columns:repeat(8,1fr);gap:4px}.avatar-option{height:47px;padding:1px}.avatar-option svg{width:100%;height:100%}.field-label span{display:inline;margin-left:8px}.entry-card h2{font-size:23px}.room-head{gap:8px;margin:11px 0;flex-wrap:wrap}.room-head h1{font-size:23px}.room-head .eyebrow{font-size:9px}.room-actions{width:100%;justify-content:flex-end}.room-actions .network{display:block;margin-right:auto;font-size:10px}.room-actions .icon-btn{font-size:10px;padding:8px 11px;min-height:38px}#gameScreen{padding:0 16px;margin-top:14px}.quest-track{gap:8px;margin:10px 0 18px}.quest-step{padding:10px 3px;min-height:85px;border-radius:14px;flex-direction:column;gap:7px;text-align:center}.quest-step b{font-size:10px}.quest-step small{font-size:9px;line-height:1.4}.quest-step:not(:last-child):after{width:9px}.quest-symbol{width:28px;height:28px;border-radius:10px;font-size:14px}.quest-step .special{font-size:8px}.demo-banner{font-size:10px;line-height:1.6;padding:7px 11px}.demo-banner .text-btn{font-size:10px;flex-shrink:0;min-height:30px}.table-panel{padding:19px 16px}.panel-heading{align-items:flex-start;gap:10px}.panel-heading h2{font-size:23px;line-height:1.4}.panel-heading .section-label{font-size:9px}.timer{font-size:10px;padding:8px 9px;margin-top:6px}.phase-hint{font-size:11px;margin:10px 0}.player-seat{width:98px;min-height:123px}.player-seat .name{font-size:11px}.player-seat .seat-status{font-size:9px}.players-grid{margin-top:4px}.side-column{grid-template-columns:1fr 1fr}.voice-panel{padding:16px}.chat-panel{padding:16px}.identity-panel{padding:17px}.identity-panel>small{font-size:9px}.identity-panel .btn{font-size:11px}.voice-controls .btn{font-size:11px}.action-area .action-row .btn{min-width:135px}.action-area>p{font-size:12px}.waiting-chip{font-size:11px}.room-info-details summary{font-size:10px}.room-config{font-size:10px}.quest-card{width:129px;min-height:167px}.action-area{min-height:95px}.av-moment-card>strong{font-size:25px}}
@media(max-width:600px){.players-grid,.players-grid[data-count="8"],.players-grid[data-count="9"],.players-grid[data-count="10"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:auto;gap:14px 9px;padding:109px 2px 14px;min-height:0;margin:5px 0 10px;isolation:isolate}.players-grid:before{left:-4px;right:-4px;top:9px;height:82px;bottom:auto;border:6px solid #f1debe;border-radius:22px;box-shadow:0 4px 0 #dfbc92;background:repeating-linear-gradient(0deg,#fff5f266 0 12px,transparent 12px 24px),repeating-linear-gradient(90deg,#fae1e5 0 12px,#f8d4dc 12px 24px)}.players-grid:after{left:9px;right:9px;top:19px;height:62px;bottom:auto;border-radius:14px;border-width:1px}.av-table-center{top:48px;width:94%;max-width:none;left:50%;display:grid;grid-template-columns:54px 1fr auto;align-items:center;column-gap:8px;padding:0 10px}.av-table-center .av-duo{height:46px;grid-column:1;grid-row:1/4;width:49px}.av-duo svg{width:35px;height:40px}.av-table-center b{grid-column:2;font-size:14px;text-align:left;letter-spacing:.4px}.av-table-center>small:not(.av-team-caption){display:none}.av-table-center .av-team-caption{grid-column:2;text-align:left;font-size:9px!important;margin:3px 0 0!important;line-height:1.4}.av-team-slots{grid-column:3;grid-row:1/4;gap:3px;min-height:24px}.av-team-slot{width:23px;height:28px;border-radius:6px;font-size:12px}.av-team-slot svg{height:25px;width:21px}.player-seat,.players-grid[data-count="8"] .player-seat,.players-grid[data-count="9"] .player-seat,.players-grid[data-count="10"] .player-seat{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:122px;padding:8px 3px 6px;border-radius:18px}.player-seat .name{font-size:11px;padding:3px 6px;max-width:100%}.player-seat svg,.players-grid[data-count="8"] .player-seat svg,.players-grid[data-count="9"] .player-seat svg,.players-grid[data-count="10"] .player-seat svg{height:78px;width:69px}.player-seat:before{height:69px;width:69px;top:9px}.player-seat .seat-status{font-size:8px!important;min-height:12px}.player-seat .seat-no{width:20px;height:20px;font-size:9px;left:3px;top:8px}.leader-crown{right:0;top:4px;font-size:20px}.player-seat.empty-seat{width:100%;min-height:122px;transform:none;left:auto;top:auto}.player-seat.selectable{border-color:#eee0c9;background:#fff9eee6;box-shadow:0 3px 0 #eddec753}.player-seat.selected{border-color:#df9ba8;background:#fff0f3;box-shadow:0 3px 0 #edc7c6}.rejection-track{font-size:10px;margin:5px 0 10px}.players-grid[data-count="10"] .player-seat .name{font-size:11px;max-width:100%}.action-area{margin-top:10px;padding-top:16px}.side-column{display:flex}.identity-panel{display:grid;grid-template-columns:85px 1fr;column-gap:14px;text-align:left;align-items:center}.identity-panel>.section-label{grid-column:2;font-size:9px}.identity-panel>h3{grid-column:2;font-size:16px;margin:7px 0 9px}.identity-preview{grid-column:1;grid-row:1/5;display:flex!important;margin:0;min-height:113px;align-items:center}.identity-panel>.btn{grid-column:2;margin:0;min-height:42px;font-size:12px}.identity-panel>small{grid-column:2;font-size:9px;margin-top:9px}.chat-messages{height:180px}.side-column .chat-panel{height:auto}.voice-heading{flex-wrap:nowrap}.voice-heading>div h3{font-size:15px}.voice-status{font-size:11px;max-width:75%}.voice-controls .btn{width:auto;flex:0 1 auto;font-size:12px;min-height:44px}.voice-help{font-size:11px}.table-panel{padding:18px 13px}.panel-heading h2{font-size:22px}.timer{white-space:normal;max-width:82px;text-align:center;line-height:1.5;font-size:10px}.quest-cards{gap:16px}.quest-card{min-height:166px}.result-big{font-size:23px}.reveal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reveal-player{font-size:11px;padding:12px 8px}.av-moment-card{padding:19px 15px}.av-mini-card{width:34px;height:48px;font-size:20px}.av-moment-cards{gap:7px}#avMoment{top:33%}}
@media(max-width:380px){.topbar{padding:10px 10px}.brand{font-size:9px}.brand small{display:none}.topbar .icon-btn{padding:8px;font-size:9px}.home-grid{padding:0 18px}.hero h1{font-size:53px}.hero-copy{font-size:13px}.tags{gap:5px}.tags span{padding:6px 8px;font-size:9px}.entry-card{padding:22px}.avatar-picker{grid-template-columns:repeat(4,1fr);gap:8px}.avatar-option{height:55px}.avatar-option svg{width:48px;height:50px}.field-label span{display:block;margin:5px 0 0}.room-head h1{font-size:21px}.room-head h1 span{margin-left:4px;font-size:10px;padding:5px 6px}#gameScreen{padding:0 10px}.quest-track{gap:5px}.quest-step{min-height:85px}.quest-step b{font-size:9px}.quest-step small{font-size:8px}.players-grid{gap:12px 5px}.av-team-slot{width:20px;height:24px}.av-table-center{padding:0 4px;column-gap:3px;grid-template-columns:42px 1fr auto}.av-table-center b{font-size:13px}.av-table-center .av-team-caption{font-size:8px!important}.av-team-slot svg{height:22px;width:18px}.av-duo svg{width:29px;height:35px}.av-table-center .av-duo{width:38px}.player-seat .name{font-size:10px}.panel-heading h2{font-size:21px}.action-area .action-row .btn{min-width:122px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Weight synthesis keeps CJK headings legible on systems with one installed weight. */
:root{font-synthesis:weight}

/* Fixed sticker footprints: text growth cannot push neighboring seats apart. */
#playersGrid{height:458px}
#playersGrid[data-count="7"]{height:510px}
#playersGrid[data-count="8"],#playersGrid[data-count="9"],#playersGrid[data-count="10"]{height:570px}
#playersGrid>.player-seat{height:144px;min-height:144px;padding:8px 4px 6px}
#playersGrid>.player-seat>svg{height:84px;width:76px;flex-shrink:0}
#playersGrid>.player-seat>.name{font-size:12px;line-height:1.25;margin:3px 0 3px;padding:3px 7px;max-width:100%}
#playersGrid>.player-seat>.seat-status{font-size:9px;line-height:1.35;min-height:13px}
#playersGrid[data-count="8"]>.player-seat,#playersGrid[data-count="9"]>.player-seat,#playersGrid[data-count="10"]>.player-seat{height:128px;min-height:128px;padding:5px 4px}
#playersGrid[data-count="8"]>.player-seat>svg,#playersGrid[data-count="9"]>.player-seat>svg,#playersGrid[data-count="10"]>.player-seat>svg{height:75px;width:66px}
#playersGrid[data-count="8"]>.player-seat>.name,#playersGrid[data-count="9"]>.player-seat>.name,#playersGrid[data-count="10"]>.player-seat>.name{font-size:11px;padding:2px 5px;margin:3px 0}
@media(max-width:600px){
 #playersGrid,#playersGrid[data-count="7"],#playersGrid[data-count="8"],#playersGrid[data-count="9"],#playersGrid[data-count="10"]{height:auto}
 #playersGrid>.player-seat,#playersGrid[data-count="8"]>.player-seat,#playersGrid[data-count="9"]>.player-seat,#playersGrid[data-count="10"]>.player-seat{height:127px;min-height:127px;padding:6px 3px}
 #playersGrid>.player-seat>svg{height:76px;width:69px}
 #playersGrid>.player-seat>.name{font-size:11px;padding:2px 5px;margin:3px 0}
 #playersGrid>.player-seat>.seat-status{font-size:8px;line-height:1.35;min-height:12px}
}
@media(min-width:601px){.av-table-center{top:48%}}
@media(max-width:600px){.side-column{align-items:stretch}.side-column>.panel,.side-column>.voice-panel{width:100%;min-width:0}.timer{max-width:none;white-space:nowrap;padding:8px;font-size:10px;flex-shrink:0}}
