:root{color:#2a190f;background:linear-gradient(145deg,#17120f,#263328 46%,#23181c);font-family:Trebuchet MS,Segoe UI,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#17120f;background-image:radial-gradient(circle at 52% 0%,rgba(255,228,154,.18),transparent 26rem),linear-gradient(180deg,#110c0a6b,#111a14d1 48%,#170d10e0),url(/art/avalon-mist-hall-bg.jpg),linear-gradient(145deg,#17120f,#263328 46%,#23181c);background-position:center top,center top,center top,center;background-repeat:no-repeat;background-size:cover,cover,cover,cover;background-attachment:scroll,scroll,fixed,fixed}body:before{content:"";display:block;height:8px;background:linear-gradient(90deg,#8e4f22,#f0c76b,#6b3d8f,#f0c76b,#8e4f22)}button,input{font:inherit}button{min-height:46px;border:1px solid #9b6b2d;border-radius:8px;background:#f8e7bf;color:#321a0c;padding:.7rem .9rem;font-weight:800;overflow-wrap:anywhere;cursor:pointer;box-shadow:inset 0 -2px #4c260c33,0 2px #00000029}button:hover:not(:disabled){border-color:#f0c76b;background:#ffecc1}button:disabled{border-color:#766653;color:#3e352b;background:#bfb29b;cursor:not-allowed;box-shadow:none}input{width:100%;min-height:46px;border:1px solid #8a5b28;border-radius:8px;background:#fff6df;color:#24120b;padding:.7rem .8rem;box-shadow:inset 0 1px 4px #3b1e0b2e}input:focus{outline:2px solid #e6b958;outline-offset:2px}label{display:grid;gap:.4rem;color:#4a2a14;font-size:.95rem;font-weight:800}.field-label{gap:.35rem}.field-label>span{color:inherit}.field-label-error{color:#8e261a}.field-label-error input{border-color:#b83224;background:#fff3ec;box-shadow:inset 0 1px 4px #3b1e0b24,0 0 0 3px #b8322424}.field-error{display:block;width:fit-content;border:1px solid rgba(184,50,36,.46);border-radius:8px;background:#ffe0d4;color:#7a1d14;padding:.28rem .45rem;font-size:.8rem;font-weight:900;line-height:1.25}.shell{position:relative;width:min(820px,100%);margin:0 auto;padding:1rem}.demo-shell{width:min(1260px,100%)}.room-shell{width:min(1180px,100%)}.room-shell .hero{gap:.45rem;padding:.55rem 0 .9rem}.hero{position:relative;display:grid;gap:.85rem;padding:.9rem 0 1.2rem;color:#fff7de}.hero:after{content:"";width:min(14rem,54vw);height:2px;border-radius:999px;background:linear-gradient(90deg,#8e4f22,#f0c76b,#f0c76b00);opacity:.8}.hero h1,.panel h2,.role-box h3,.role-box h4{margin:0;letter-spacing:0}.hero h1{max-width:14ch;color:#ffe39b;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.65rem,12vw,4.8rem);line-height:1.08;text-shadow:0 3px 0 #3b1a0f}.room-shell .hero h1{max-width:none;font-size:clamp(2rem,5vw,3rem)}.eyebrow{margin:0;color:#e4b95f;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{font-size:clamp(.95rem,3vw,1.15rem);line-height:1.2}.primary,.active-soft,.demo-button{border-color:#8f5a16;background:linear-gradient(180deg,#f6d47c,#c88929)}.primary{color:#2a1307}.primary:hover:not(:disabled){color:#241006}.primary:disabled{color:#3e352b}.active-soft{background:#d9e7ca;color:#26351f}.lede,.hint,.notice,.panel p{margin:0;line-height:1.45}.lede{max-width:45rem;color:#f2ddae;font-weight:700}.notice,.hint{border:1px solid #d1a34e;border-radius:8px;background:#fbdf9d;color:#351b0c;padding:.75rem;font-weight:800}.panel{position:relative;display:grid;align-content:start;gap:1rem;overflow:hidden;border:2px solid #b98636;border-radius:8px;background:linear-gradient(135deg,#fff8ddf0,#ebcc8ff5),url(/art/parchment-rune-texture.jpg),#f5dfad;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;color:#2b190d;padding:1rem;box-shadow:0 10px 26px #00000047,inset 0 0 0 2px #fff4cc8c}.panel>*{position:relative;z-index:1}.panel:before{content:"";position:absolute;right:-3.4rem;top:-3.4rem;width:9rem;height:9rem;border:1px solid rgba(120,72,28,.28);border-radius:999px;background:radial-gradient(circle,transparent 0 42%,rgba(120,72,28,.16) 43% 45%,transparent 46% 100%),conic-gradient(from 15deg,rgba(120,72,28,.18),transparent 16deg 44deg,rgba(120,72,28,.14) 45deg 58deg,transparent 59deg);opacity:.72;pointer-events:none}.entry{display:grid;gap:1.35rem}.entry-intro,.entry-guide,.path-section{display:grid;gap:.7rem;color:#fff7de}.entry-intro{padding:.4rem 0 .2rem}.entry-intro h2,.entry-guide h2,.path-section h2,.demo-heading h2{margin:0;color:#ffe39b;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;letter-spacing:0}.entry-intro p,.entry-guide p{max-width:48rem;margin:0;color:#f2ddae;line-height:1.45;font-weight:700}.entry-guide p strong{color:#ffe39b}.path-section{position:relative;overflow:hidden;border:2px solid #c8923b;border-radius:8px;background:linear-gradient(135deg,#fff6daf5,#efd294f5),url(/art/parchment-rune-texture.jpg),#f5dfad;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;color:#2b190d;padding:1rem;box-shadow:0 12px 30px #0000004d,inset 0 0 0 2px #fff8dd94}.path-section>*{position:relative;z-index:1}.path-section:after{content:"";position:absolute;right:-2.25rem;bottom:-2.25rem;width:8.5rem;height:8.5rem;border:1px solid rgba(93,57,23,.24);border-radius:999px;background:radial-gradient(circle,transparent 0 39%,rgba(93,57,23,.18) 40% 42%,transparent 43%),conic-gradient(from 45deg,rgba(93,57,23,.14),transparent 20deg 50deg,rgba(93,57,23,.12) 52deg 68deg,transparent 70deg);opacity:.78;pointer-events:none}.path-section .eyebrow{color:#8c5720}.path-section h2{color:#4f2513}.home-join-copy{display:grid;gap:.35rem}.home-join-copy p:last-child{max-width:44rem;margin:0;color:#4b2e18;font-weight:900;line-height:1.35}.home-join-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end;border:2px solid #7c3f2a;border-radius:8px;background:linear-gradient(135deg,#fff8ddf5,#ffecb7f5),#fff2ca;padding:.75rem;box-shadow:inset 0 0 0 2px #fff8ddbd,0 8px 18px #4d25102e}.home-join-form .join-code-field{grid-column:1;grid-row:1}.home-join-form .join-name-field{grid-column:1 / -1;grid-row:2}.home-join-form label{margin:0}.home-join-form input{min-height:58px;font-size:1.28rem;font-weight:900}.home-join-form .join-code-field input{font-family:Georgia,Times New Roman,serif;font-size:1.48rem;letter-spacing:.06em}.home-join-form button{grid-column:2;grid-row:1;min-height:58px;white-space:nowrap}.secondary-entry-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,.62fr);gap:.55rem;align-items:stretch;margin-top:.1rem}.secondary-entry-actions .path-card{min-height:64px;padding:.72rem .8rem}.secondary-entry-actions .path-card span{font-family:Trebuchet MS,Segoe UI,ui-sans-serif,system-ui,sans-serif;font-size:1.02rem;font-weight:900;line-height:1.12}.secondary-entry-actions .path-card small{display:none}.secondary-entry-actions .create-room-action{border-color:#6f311f;background:linear-gradient(180deg,#ffe2962e,#78321e0f),linear-gradient(180deg,#8e4028,#5a2230);color:#fff7de;box-shadow:inset 0 0 0 1px #ffe7a861,inset 0 -2px #28100847,0 3px #00000038}.secondary-entry-actions .create-room-action span,.secondary-entry-actions .create-room-action small{color:#fff7de}.secondary-entry-actions .create-room-action:hover:not(:disabled){border-color:#f0c76b;background:linear-gradient(180deg,#ffe29642,#78321e0f),linear-gradient(180deg,#a64b2d,#662632);color:#fff7de}.secondary-entry-actions .demo-entry-action{position:relative;border-color:#9d7a42;border-style:dashed;background:repeating-linear-gradient(-45deg,rgba(124,63,42,.07) 0 6px,transparent 6px 12px),#fff8dd94;color:#5a3118;box-shadow:inset 0 0 0 1px #fff8dd94}.demo-entry-action:after{content:"DEMO";justify-self:start;border:1px solid rgba(124,63,42,.3);border-radius:999px;background:#2f49381f;color:#5f4424;padding:.08rem .32rem;font-size:.58rem;font-weight:900;line-height:1.1}.secondary-entry-actions .demo-entry-action:hover:not(:disabled){border-color:#b48645;background:repeating-linear-gradient(-45deg,rgba(124,63,42,.09) 0 6px,transparent 6px 12px),#fff8ddb8}.learn-more{display:grid;gap:.85rem;border-top:1px solid rgba(240,199,107,.38);padding-top:1.4rem;color:#fff7de}.learn-more>h2{max-width:42rem;margin:0;color:#f7d98b;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,5vw,1.95rem);line-height:1.12;letter-spacing:0}.home-seo{display:grid;gap:.9rem;overflow:hidden;border:1px solid rgba(240,199,107,.28);border-radius:8px;background:linear-gradient(135deg,#131c17b8,#2f1b1c94),url(/art/avalon-mist-hall-bg.jpg),#1d241f;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;color:#fff7de;padding:.85rem;box-shadow:inset 0 0 0 1px #fff8dd0f}.home-seo-copy{display:grid;align-content:center;gap:.7rem}.home-seo h2{margin:0;color:#ffe39b;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,5vw,1.9rem);line-height:1.08;letter-spacing:0}.home-seo p{max-width:42rem;margin:0;color:#f2ddae;font-weight:700;line-height:1.45}.seo-tags{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.15rem}.seo-tags span{border:1px solid rgba(240,199,107,.45);border-radius:999px;background:#fff8dd1a;color:#ffe9ab;padding:.28rem .5rem;font-size:.78rem;font-weight:900;line-height:1.15}.home-seo-art{position:relative;min-height:210px;margin:0}.home-seo-art img{display:block;width:100%;height:100%;min-height:210px;border:1px solid rgba(240,199,107,.45);border-radius:8px;object-fit:cover;box-shadow:0 10px 28px #0000005c}.home-seo-art .home-seo-castle{position:absolute;right:.65rem;bottom:.65rem;width:42%;min-width:132px;height:auto;min-height:0;aspect-ratio:16 / 9;border-color:#ffe39bb3}.home-details{display:grid;gap:.8rem;border:1px solid rgba(240,199,107,.22);border-radius:8px;background:#11121047;padding:.75rem .85rem}.home-details summary{color:#f7d98b;font-weight:900;cursor:pointer}.home-details[open] summary{margin-bottom:.85rem}.home-details .entry-guide{padding-top:.2rem}.workflow-grid{display:grid;gap:.75rem}.workflow-grid article{display:grid;gap:.35rem;border-left:3px solid #d1a34e;padding:.15rem 0 .15rem .75rem}.workflow-grid strong{color:#ffe39b;font-size:.98rem}.workflow-grid span{color:#f2ddae;line-height:1.35}.path-grid{display:grid;gap:.75rem}.path-card{display:grid;min-height:96px;align-content:center;justify-items:start;gap:.4rem;text-align:left}.path-card:hover:not(:disabled){transform:translateY(-1px)}.path-card span{font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.path-card small{color:#3d2111;font-weight:700;line-height:1.35}.primary-path{border-color:#f0c76b;background:linear-gradient(180deg,#7c3f2a,#4f2132);color:#fff7de}.primary-path span,.primary-path small{color:#fff7de}.secondary-path{border-color:#b48645;background:#fff8ddc2}.demo-button small{color:#3c210e}.back-button{position:relative;display:inline-flex;align-items:center;gap:.5rem;width:fit-content;min-height:38px;border-color:#7f5424;background:linear-gradient(90deg,rgba(94,49,24,.18),transparent 45%),#fff3d3;color:#4b2412;padding:.45rem .78rem .45rem .55rem;box-shadow:inset 0 0 0 1px #fff8dda6,inset 0 -2px #4c260c2e,0 2px #00000029}.back-button:before{content:"←";display:grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid #8a5b28;border-radius:999px;background:#2f4938;color:#ffe39b;font-size:1.05rem;line-height:1;box-shadow:inset 0 0 0 1px #fff8dd29}.back-button:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.24rem;height:1px;background:linear-gradient(90deg,transparent,rgba(127,84,36,.55),transparent)}.back-button:hover:not(:disabled){border-color:#f0c76b;background:linear-gradient(90deg,rgba(47,73,56,.18),transparent 45%),#fff8df}.panel h2{color:#5a2517;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.panel-header h2{min-width:0}.panel h3{margin:0;color:#65311a;font-size:1rem;letter-spacing:0}.stack,.room-grid,.demo-options,.demo-simulator,.demo-setup,.demo-progress-sticky,.demo-board,.demo-panel{display:grid;gap:1rem}.demo-heading,.demo-setup{border:2px solid #b98636;border-radius:8px;background:linear-gradient(135deg,#fff8ddf0,#ebcc8ff5),url(/art/parchment-rune-texture.jpg),#f5dfad;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;color:#2b190d;padding:1rem;box-shadow:0 10px 26px #00000038,inset 0 0 0 2px #fff4cc8c}.demo-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem}.demo-heading>div{min-width:0}.demo-heading h2{margin:.1rem 0 0;color:#5a2517;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,8vw,3.35rem);line-height:.95}.demo-reset-button{justify-self:end;min-height:36px;padding:.45rem .65rem;font-size:.92rem;white-space:nowrap;box-shadow:inset 0 -1px #4c260c2e,0 1px #00000024}.demo-setup h3,.demo-board h3{margin:0 0 .55rem;color:#65311a;font-size:1rem;letter-spacing:0}.demo-setup p{margin:.65rem 0 0;color:#4a2a14;font-weight:900}.demo-mode-tabs{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:.5rem}.demo-mode-tabs button{flex:1 1 180px;min-height:42px}.demo-mode-tabs .selected{border-color:#d1a34e;background:#2f4938;color:#fff7de}.demo-ai-intro,.ai-instruction-card{border:1px solid rgba(101,49,26,.35);border-radius:8px;background:#fff8dd8c;padding:.75rem}.demo-ai-intro,.ai-instruction-card{grid-column:1 / -1}.demo-start-row{display:flex;grid-column:1 / -1;justify-content:flex-end}.demo-setup-summary{display:flex;flex-wrap:wrap;gap:.5rem;border:1px solid #cfac61;border-radius:8px;background:#2b3c2e;color:#fff3c6;padding:.6rem;box-shadow:0 8px 20px #0003}.demo-setup-summary span{border:1px solid rgba(240,199,107,.55);border-radius:999px;background:#fff8dd1a;padding:.35rem .55rem;font-size:.88rem;font-weight:900}.segmented,.choice-row{display:flex;flex-wrap:wrap;gap:.45rem}.segmented button,.choice-row button{min-height:38px;min-width:44px;padding:.45rem .65rem}.segmented .selected,.choice-row .selected{border-color:#d1a34e;background:#2f4938;color:#fff7de}.choice-row .danger-choice{border-color:#8f3a2e;background:#7a2d25;color:#fff7de}.choice-row .danger-choice:hover:not(:disabled){background:#91382d;color:#fff7de}.vote-status-pill{width:fit-content;border:2px solid #ac7b38;border-radius:999px;padding:.45rem .75rem;font-size:.86rem;font-weight:1000;letter-spacing:.04em;text-transform:uppercase}.vote-status-pill.approve{border-color:#58783d;background:#d9e7ca;color:#26351f}.vote-status-pill.reject{border-color:#9d3e2e;background:#f8c8a9;color:#61170e}.role-preset{display:grid;gap:.4rem;color:#3e2618;font-weight:800}.optional-roles{display:grid;gap:.55rem;margin-top:.75rem}.demo-role-setup{min-width:0}.create-role-config{display:grid;gap:1rem}.create-role-config h3{margin:0 0 .55rem;color:#3a2010}.create-role-summary{margin-top:.55rem;color:#4a2a14;font-weight:900}.ai-fill-note{display:grid;gap:.2rem;margin-top:.55rem;border:1px solid #7f9a54;border-radius:8px;background:#eef6dc;color:#2f421f;padding:.65rem}.ai-fill-note strong{font-weight:900}.ai-fill-note span{font-size:.9rem;font-weight:800;line-height:1.35}.create-role-sides{display:grid;gap:.75rem}.create-role-list{display:grid;gap:.45rem;border:1px solid #c59a4d;border-radius:8px;background:#fff4d3;padding:.65rem}.create-role-list>span{color:#4a2a14;font-weight:900}.create-role-list div,.role-option-chips{display:flex;flex-wrap:wrap;gap:.45rem}.role-option-chip{display:grid;gap:.15rem;min-height:48px;border-color:#b07a36;background:#fff0c4;text-align:left}.role-option-chip.selected{border-color:#58783d;background:#d9e7ca;color:#26351f}.role-option-chip small{max-width:15rem;color:inherit;font-size:.78rem;font-weight:800;line-height:1.25}.role-toggle{align-items:flex-start;border:1px solid #b07a36;border-radius:8px;background:#fff0c4;padding:.65rem;min-width:0}.role-toggle span{display:grid;gap:.15rem;min-width:0}.role-toggle small{color:#6a4b30;font-weight:800}.demo-progress-sticky,.demo-board{border:2px solid #d3b15f;border-radius:8px;background:linear-gradient(145deg,#172219f5,#2a3623f0),url(/art/parchment-rune-texture.jpg),#213225;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,multiply,normal;color:#fff7de;padding:1rem;box-shadow:0 12px 30px #0000004d}.demo-progress-sticky{position:sticky;top:max(.5rem,env(safe-area-inset-top));z-index:10}.demo-board .mission-step p{margin:0;color:#f2ddae;font-weight:800}.demo-progress-sticky .quest-track span,.demo-progress-sticky .status span{color:#321a0c}.demo-progress-sticky .quest-track .current{color:#3a2148}.demo-progress-sticky .quest-track .success{color:#26351f}.demo-progress-sticky .quest-track .fail{color:#61170e}.demo-board .hint,.demo-board .notice{margin:0}.demo-result-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.demo-result-actions .notice{flex:1 1 280px}.copy-status{color:#ffe39b;font-size:.86rem;font-weight:900}.ai-table-panel{display:grid;gap:.75rem;border:2px solid #d3b15f;border-radius:8px;background:#18271d;color:#fff7de;padding:1rem}.ai-table-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.ai-table-controls h3,.ai-table-controls p{margin:.2rem 0}.ai-state-switch{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:min(210px,100%);border-color:#758071;background:#314139;color:#eee1c5;padding:.48rem .5rem .48rem .7rem;text-align:left}.ai-pause-option{display:grid;gap:.3rem;max-width:260px}.ai-pause-help{margin:0;color:#cdbf9f;font-size:.76rem;font-weight:760;line-height:1.35}.ai-state-switch>span{font-size:.86rem;font-weight:800;line-height:1.1}.ai-state-switch strong{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;width:62px;height:30px;border-radius:999px;background:#6f6354;color:#fff7de;padding:0 .65rem;font-size:.78rem;line-height:1;box-shadow:inset 0 2px 5px #00000052}.ai-state-switch strong:before{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:999px;background:#fff7de;box-shadow:0 2px 5px #00000059;transition:transform .16s ease}.ai-state-switch.is-on{border-color:#55b8cd;background:#183f48;color:#e9fbff}.ai-state-switch.is-on strong{justify-content:flex-start;background:#2f8ca3;color:#effcff}.ai-state-switch.is-on strong:before{transform:translate(32px)}.ai-state-switch:hover:not(:disabled){border-color:#8de4f5;background:#204f59}.ai-status{margin:0;border:1px solid rgba(240,199,107,.45);border-radius:8px;background:#fff7de1a;color:#ffe39b;padding:.55rem .7rem;font-size:.9rem;font-weight:900}.ai-history{display:grid;gap:.45rem;max-height:180px;overflow:auto;border-top:1px solid rgba(240,199,107,.35);padding-top:.7rem}.ai-history-entry{display:grid;gap:.22rem;border-left:3px solid rgba(240,199,107,.85);border-radius:7px;background:#071e147a;padding:.45rem .55rem}.ai-history-meta{display:flex;gap:.45rem;align-items:baseline;flex-wrap:wrap;color:#fff4cf;font-size:.76rem;font-weight:900}.ai-history-label{color:#f0c76b;font-size:.68rem;letter-spacing:0}.ai-history-entry p{margin:0;color:#f2ddae;font-size:.9rem;font-weight:760;line-height:1.5}.history-speech{border-left-color:#f0c76b}.history-action{border-left-color:#78d09a;background:#123223ad}.history-action .ai-history-label,.history-action p{color:#c8f3d2}.history-reasoning{border-left-color:#8ccfff;background:#0c2230b3}.history-reasoning .ai-history-label,.history-reasoning p{color:#d7ecff}.history-result{border-left-color:#e7a15e;background:#4125128f}.history-result .ai-history-label,.history-result p{color:#ffe0bd}.ai-private-history{border-top-color:#8cd0ff59}.ai-private-history .ai-history-entry p{color:#d7ecff}.ai-round-pause{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:80;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center;width:min(calc(100% - 2rem),680px);border:2px solid #e7bd63;border-radius:8px;background:linear-gradient(145deg,#fff8ddfa,#e8cc89fa),#f6e3ad;color:#321a0c;padding:.85rem;box-shadow:0 18px 42px #0000006b,inset 0 0 0 2px #fff6d2a6;transform:translate(-50%)}.ai-round-pause h3,.ai-round-pause p{margin:.15rem 0}.ai-round-pause h3{color:#5a2517;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.1}.ai-round-pause .eyebrow{color:#6a3a1f}.demo-phone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:.85rem}.agent-card{display:grid;gap:.35rem;min-width:0;border:1px solid #9f8050;border-radius:8px;background:#fff3c6;padding:.6rem;overflow-wrap:anywhere}.agent-card span{color:#7a2d25;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.agent-card p{margin:0;color:#321a0c;font-size:.78rem;font-weight:800;min-width:0;overflow-wrap:anywhere}.agent-visible-info{display:grid;gap:.25rem;min-width:0;color:#321a0c;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.agent-visible-info ul{display:grid;gap:.16rem;margin:0;padding-left:1rem}.agent-visible-info p{margin:0;min-width:0;overflow-wrap:anywhere}.human-card{background:#e8ecd8}.player-phone{display:grid;position:relative;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:.7rem;width:100%;min-width:0;min-height:430px;overflow:hidden;border:9px solid #151515;border-radius:26px;background:#f8edcf;color:#26170e;padding:.75rem;box-shadow:0 12px 24px #00000047}.player-phone>*{min-width:0;max-width:100%}.live-player-phone{min-height:0}.leader-phone:not(.mission-success-phone):not(.mission-fail-phone):not(.phone-winner):not(.phone-loser){border-color:#2f8ca3;box-shadow:0 12px 24px #00000047,0 0 0 3px #6fd2e35c}.mission-success-phone{border-color:#5f8c48;animation:mission-success-pop .9s ease-out}.mission-fail-phone{border-color:#9d3e2e;animation:mission-fail-pulse .9s ease-out}.mission-success-phone:after,.mission-fail-phone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;animation:mission-result-wash 1.3s ease-out}.mission-success-phone:after{background:radial-gradient(circle at 50% 36%,rgba(105,151,75,.34),transparent 38%),linear-gradient(180deg,rgba(226,241,209,.42),transparent 62%)}.mission-fail-phone:after{background:radial-gradient(circle at 50% 36%,rgba(157,62,46,.36),transparent 38%),linear-gradient(180deg,rgba(248,200,169,.44),transparent 62%)}.phone-winner{border-color:#e9bc48;animation:phone-celebrate .9s ease-out}.phone-winner:before{content:"";position:absolute;top:.3rem;right:.3rem;bottom:.3rem;left:.3rem;pointer-events:none;background:radial-gradient(circle at 18% 18%,#f5c542 0 3px,transparent 4px),radial-gradient(circle at 72% 16%,#67a45c 0 3px,transparent 4px),radial-gradient(circle at 84% 46%,#8d64b5 0 3px,transparent 4px),radial-gradient(circle at 28% 78%,#d78c3e 0 3px,transparent 4px);opacity:0;animation:phone-confetti 1.6s ease-out}.phone-loser{filter:saturate(.72);animation:phone-subdue .9s ease-out}.phone-top,.phone-role,.phone-info,.phone-action{display:grid;gap:.4rem;min-width:0;border-radius:8px;padding:.65rem;overflow-wrap:anywhere}.phone-top{position:relative;grid-template-rows:minmax(0,1fr) auto;min-height:112px;overflow:hidden;background:#24211c;color:#fff7de}.phone-player-row{display:grid;align-content:start;gap:.34rem;min-width:0}.phone-action span,.phone-info span{min-width:0;color:#b98533;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere}.phone-top strong{min-width:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;font-size:1.58rem;line-height:1.02}.phone-top small{color:#f0dca9;font-size:.8rem;font-weight:800;line-height:1.15;text-align:left}.phone-team-pill{width:fit-content;border:1px solid #d1a34e;border-radius:999px;background:#fff0bd;color:#321a0c;padding:.22rem .45rem;font-size:.72rem;font-weight:900}.phone-role{position:relative;grid-template-rows:minmax(0,1fr) auto;height:118px;overflow:hidden;border:1px solid #b07a36;background:#fff8df}.phone-role.revealed.good,.phone-role.revealed.evil{border-color:#b07a36;background:#fff8df}.phone-role.covered{border-color:#9f8050;background:#f4e7c6}.phone-private-swipe{position:relative;height:146px;width:100%;min-width:0;min-height:146px;overflow:hidden;border:0;border-radius:8px;background:#f4e7c6;touch-action:pan-y;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #9f8050}.private-swipe-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;align-content:center;gap:.35rem;min-width:0;min-height:0;padding:.7rem;pointer-events:none;overflow-wrap:anywhere}.private-swipe-left{transform:none}.phone-private-swipe>.phone-role{position:absolute;height:auto;overflow:hidden;border:0;border-radius:0;background:transparent;padding:.7rem}.private-swipe-slider{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;grid-template-columns:100% 100%;width:100%;min-width:0;transform:translate(var(--swipe-x, 0px));transition:transform .12s ease-out}.phone-private-swipe.dragging .private-swipe-slider{transition:none}.phone-private-swipe .role-face,.phone-private-swipe .night-info-face{max-height:112px}.private-swipe-label{color:#7f5120;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.private-swipe-neutral{position:relative;display:grid;align-content:center;justify-items:center;gap:.45rem;min-width:0;max-width:100%;overflow:hidden;border-radius:0;background:#10251b url(/art/avalon-card-back.png) center / cover;color:#fff7de;isolation:isolate;box-shadow:inset 0 0 0 2px #ffefbe38,0 0 16px #00000029}.private-swipe-neutral:before,.peek-cover:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at center,#040c081f 0,#040c081f 26%,#03080657 58%,#000000b3),linear-gradient(180deg,#0003,#00000080);content:"";pointer-events:none}.private-swipe-right{position:relative;inset:auto;align-content:start;height:100%;min-width:0;max-width:100%;overflow:hidden;border:0;border-radius:0;background:#f4e7c6;padding:.7rem;box-shadow:inset 0 0 0 2px #9f805033}.private-swipe-slider .phone-night-info{height:100%}.private-swipe-neutral>*{position:relative;z-index:1}.private-swipe-neutral>span{max-width:calc(100% - 1rem);color:#fff7de;font-size:.88rem;font-weight:900;text-align:center;overflow-wrap:anywhere}.private-swipe-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;width:100%;min-width:0;padding:0 .35rem}.private-swipe-actions button{max-width:100%;min-height:34px;border-color:#fff7de6b;background:#fff7de1f;color:#fff7de;padding:.34rem .55rem;font-size:.78rem}.private-swipe-actions button:hover:not(:disabled),.private-swipe-actions button:focus-visible{border-color:#f0dca9;background:#fff7de33;color:#fff7de}.phone-night-info{position:relative;grid-template-rows:minmax(0,1fr) auto;height:164px;min-width:0;overflow:hidden}.role-face,.night-info-face{display:grid;gap:.25rem;min-height:0;overflow:hidden}.role-face{align-content:center}.night-info-face{align-content:start;overflow-y:auto;overscroll-behavior:contain;padding-right:.2rem}.role-face strong{font-family:Georgia,Times New Roman,serif;font-size:1.45rem;line-height:1.05}.role-face span{color:#56341e;font-size:.8rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.role-face .role-summary{max-width:100%;margin:.08rem 0 0;color:#6a4b30;font-size:.74rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.peek-cover{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:.3rem;width:100%;min-height:100%;border:0;border-radius:0;overflow:hidden;background:#10251b url(/art/avalon-card-back.png) center / cover;color:#fff7de;isolation:isolate;touch-action:pan-y;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 2px #ffefbe38,0 0 16px #0000002e;transition:transform .16s ease-out}.peek-cover:active{transition:none}.peek-cover:hover:not(:disabled){border:0;color:#fff7de}.peek-cover>*{position:relative;z-index:1}.peek-cover span{color:#f0dca9;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.peek-hide-button{min-height:36px;width:fit-content;padding:.4rem .6rem}.phone-info,.phone-action{border:1px solid #caa15b;background:#fff4d0}.phone-night-info.covered{border-color:#9f8050;background:#f4e7c6}.phone-info ul{margin:0;padding-left:1rem}.phone-info p{margin:0}.phone-action p{margin:0;min-width:0;color:#4b2e18;line-height:1.35;font-weight:800;overflow-wrap:anywhere}.phone-readonly{background:#f8e8bb}.phone-result p{color:#321a0c;font-size:1.1rem;font-weight:900}.mission-result-reveal{display:grid;justify-items:center;gap:.25rem;border:2px solid;border-radius:8px;padding:.75rem .5rem;text-align:center;animation:mission-result-card .9s ease-out}.mission-result-reveal.success{border-color:#5f8c48;background:#dceccc;color:#24371d}.mission-result-reveal.fail{border-color:#9d3e2e;background:#f8c8a9;color:#61170e}.mission-result-reveal strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.05}.mission-result-reveal small{color:inherit;font-weight:900}.check{display:flex;align-items:center;gap:.65rem}.check input{width:auto;min-height:auto}.room-code{position:relative;display:grid;gap:.65rem;align-content:center;overflow:hidden;border:2px solid #e7bd63;border-radius:8px;background:linear-gradient(145deg,#311843f5,#4b1d21f2 62%,#7a451bf2),url(/art/parchment-rune-texture.jpg),#311843;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,multiply,normal;color:#fff7de;padding:.85rem;box-shadow:0 10px 26px #0000004d,inset 0 0 0 2px #ffe69d1f}.room-code>*{position:relative;z-index:1}.room-code:after{content:"";position:absolute;right:-2.8rem;bottom:-2.8rem;width:9rem;height:9rem;border:1px solid rgba(255,227,155,.22);border-radius:999px;background:radial-gradient(circle,transparent 0 42%,rgba(255,227,155,.14) 43% 45%,transparent 46%),conic-gradient(from 28deg,rgba(255,227,155,.14),transparent 14deg 44deg,rgba(255,227,155,.11) 46deg 60deg,transparent 62deg);opacity:.78;pointer-events:none}.room-code-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem}.room-code-copy{display:grid;gap:.25rem;min-width:0}.room-code span{color:#e7bd63;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.room-code strong{color:#ffe39b;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,7vw,3.2rem);line-height:.95;letter-spacing:.08em}.room-code p{margin:0;color:#f0dca9;line-height:1.35}.share-panel{display:grid;gap:.55rem}.share-panel input{border-color:#d8ad58;background:#fff8df;font-size:.88rem}.share-actions,.count-row{display:grid;gap:.5rem}.share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.count-row{grid-template-columns:repeat(3,minmax(0,1fr))}.share-actions button,.count-row button{min-width:0}.qr-code{display:block;width:fit-content;border:6px solid #fff8df;border-radius:10px;background:#fff8df}.qr-code img{display:block;width:112px;height:112px}.room-leave{flex:0 0 auto;width:fit-content}.room-header-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;min-width:0}.secondary-control{width:auto;min-width:0;min-height:38px;border-color:#8a5b28;background:#fff3d3;color:#4a2a14;padding:.45rem .7rem;font-size:.86rem;white-space:nowrap}.secondary-control:hover:not(:disabled){border-color:#c99439;background:#fff8df}.private-room-panel.started{align-content:start}.host-authority-panel{gap:.45rem;padding:.75rem}.host-authority-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem}.host-action-group p{margin:0;color:#4b2e18;font-size:.86rem;line-height:1.22;font-weight:800}.host-authority-heading h2{font-size:clamp(1.35rem,5vw,1.75rem);line-height:1.05}.host-authority-disclosure{display:grid;gap:.5rem}.host-authority-disclosure>summary{justify-content:space-between;cursor:pointer;list-style:none}.host-authority-disclosure>summary::-webkit-details-marker{display:none}.host-authority-disclosure .disclosure-hint{color:#7a4a24;font-size:.82rem;font-weight:900}.host-authority-disclosure .disclosure-hint:after{content:" +"}.host-authority-disclosure[open] .disclosure-hint:after{content:" –"}.host-action-group{display:grid;gap:.35rem;border:1px solid #ad7a36;border-radius:8px;background:#fff2ca;padding:.5rem .55rem}.host-action-group h3{font-size:1rem;line-height:1.1}.host-start-action,.compact-danger-zone{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.6rem}.host-action-group.danger-zone{border-color:#d59b88;background:#fff1e8}.compact-danger-zone p{font-size:.86rem}.host-action-group button{justify-self:start}.host-start-action button,.compact-danger-zone button{justify-self:end}.host-action-group .primary,.host-action-group .secondary-control,.host-action-group .small-danger{min-height:34px;padding:.4rem .65rem;font-size:.86rem}.host-player-actions{display:grid;gap:.5rem}.host-player-action-row{display:grid;gap:.5rem;border:1px solid #d3b15f;border-radius:8px;background:#fff8df;padding:.55rem}.host-player-action-row span{min-width:0;overflow-wrap:anywhere;color:#321a0c;font-weight:900}.host-player-action-row div{display:flex;flex-wrap:wrap;gap:.4rem}.dissolve-room{min-height:38px;border-color:#a64a39;background:#ffd0c0;color:#4e100b}.dissolve-room:hover:not(:disabled){border-color:#6f160f;background:#f2a089}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.inline-form input{min-width:0}.inline-form button{width:auto;white-space:nowrap}@media(max-width:699px){.room-grid{gap:.7rem}.live-player-phone{gap:.65rem;overflow:visible;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.live-player-phone.leader-phone:not(.mission-success-phone):not(.mission-fail-phone):not(.phone-winner):not(.phone-loser){box-shadow:none}.room-code{gap:.5rem;padding:.7rem}.room-code-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem}.room-code-copy{gap:.18rem}.room-code span{font-size:.72rem}.room-code strong{font-size:clamp(2rem,14vw,2.45rem);letter-spacing:.06em}.room-code p{font-size:.86rem;line-height:1.22}.share-panel{gap:.42rem}.share-panel input{min-height:40px;padding:.55rem .65rem;font-size:.8rem}.share-actions{gap:.4rem}.share-actions button{min-height:40px;padding:.5rem .55rem;font-size:.88rem}.qr-code{border-width:5px;border-radius:8px}.qr-code img{width:82px;height:82px}.room-grid>.panel{gap:.7rem;padding:.8rem}.room-grid>.panel .panel-header{gap:.5rem}.room-grid>.panel .panel-header h2{font-size:1.2rem}.room-leave{min-height:38px;padding:.45rem .6rem;font-size:.85rem}.room-header-actions{gap:.35rem}.room-header-actions button{min-height:36px;padding:.4rem .55rem;font-size:.8rem}}.next-step{display:grid;gap:.25rem;border:1px solid #ad7a36;border-radius:8px;background:#fff0bd;padding:.75rem}.next-step strong{color:#7a341d}.next-step span{line-height:1.35}.players{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.players li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem .75rem;border:1px solid #b07a36;border-radius:8px;background:#fff0c4;padding:.65rem .75rem}.players li.me{border-color:#6b3d8f;background:#f1ddff}.player-identity{display:grid;gap:.12rem;min-width:0}.player-identity span{min-width:0;overflow-wrap:anywhere;font-weight:900}.ai-player-badge{display:inline-flex;margin-left:.35rem;border:1px solid #5f7443;border-radius:999px;background:#e0edc9;color:#2f421f;padding:.05rem .35rem;font-size:.72rem;font-style:normal;font-weight:900;vertical-align:middle}.player-identity small{color:#6a4b30;font-weight:800}.player-row-meta{display:grid;justify-items:end;min-width:max-content}.player-row-meta strong{color:#6a2d1d;white-space:nowrap}.player-host-controls{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.4rem}.player-host-controls button{min-height:34px;padding:.35rem .55rem;font-size:.82rem}.small-danger{width:auto;min-width:0;min-height:34px;justify-self:end;align-self:center;border-color:#9d3e2e;background:#f8c8a9;color:#61170e;padding:.35rem .65rem;font-size:.82rem;white-space:nowrap}.runtime-footer{display:flex;justify-content:flex-end;padding:.85rem 0 .2rem;color:#fff7de8a;font-size:.72rem;font-weight:700}.runtime-footer span{border-top:1px solid rgba(240,199,107,.22);padding-top:.35rem}@media(max-width:560px){body{background-attachment:scroll}.players li{grid-template-columns:minmax(0,1fr) auto}.player-row-meta{grid-column:2;grid-row:1}.player-host-controls{grid-column:1 / -1;grid-row:2;justify-self:end}}.role-box{display:grid;gap:.65rem;border-left:5px solid #7a3f99;background:#fff2ca;padding:1rem}.role-box h3{color:#62247a;font-family:Georgia,Times New Roman,serif;font-size:2rem}.role-box ul{margin:0;padding-left:1.2rem}.assassin-phase-banner,.assassin-result-banner{display:grid;grid-column:1 / -1;gap:.55rem;min-height:min(58vh,520px);align-content:center;border:2px solid #e7bd63;border-radius:8px;background:linear-gradient(145deg,#1f122afa,#481c20fa 62%,#543216fa),#321a2f;color:#fff7de;padding:clamp(1.2rem,6vw,3rem);box-shadow:0 16px 38px #0000005c,inset 0 0 0 2px #ffe69d1f}.assassin-phase-banner h2,.assassin-result-banner h2{margin:0;color:#ffe39b;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,10vw,4.6rem);line-height:.95;letter-spacing:0;text-shadow:0 3px 0 #3b1a0f}.assassin-phase-banner p,.assassin-result-banner p{max-width:42rem;margin:0;color:#f0dca9;font-size:1.05rem;font-weight:900;line-height:1.4}.assassin-result-banner.good-win{border-color:#9fc36d;background:linear-gradient(145deg,#213725fa,#57783df5),#2b472e}.assassin-result-banner.evil-win{border-color:#d77a65;background:linear-gradient(145deg,#3d161cfa,#6e2a22f5),#4b1d21}.assassin-action-panel,.assassination-targets{display:grid;gap:.6rem}.assassin-action-panel{border-color:#7a3f99;background:#f1ddff}.assassin-action-panel h2{margin:0;color:#62247a}.result-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#1a100ab8;padding:1rem}.result-modal{position:relative;display:grid;gap:.9rem;width:min(100%,520px);border:2px solid #e7bd63;border-radius:8px;background:linear-gradient(145deg,#fff8ddfa,#ecd293fa),#f6e3ad;color:#321a0c;padding:clamp(1rem,5vw,1.5rem);box-shadow:0 18px 48px #0000006b,inset 0 0 0 2px #fff6d2a6}.result-modal-close{position:absolute;top:.55rem;right:.55rem;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #c28f3f;border-radius:999px;background:#fff4cbe6;color:#5a2517;font-size:1.3rem;line-height:1;cursor:pointer}.result-modal-close:hover{background:#fff}.result-modal-actions{display:grid;gap:.5rem}.result-modal-secondary{border:1px solid #c28f3f;border-radius:8px;background:#fff4cbbf;color:#5a2517;padding:.7rem .8rem;font-weight:800;cursor:pointer}.result-modal-secondary:hover{background:#fff3cd}.result-modal.won{border-color:#9fc36d}.result-modal.lost{border-color:#d77a65}.result-modal h2{margin:0;color:#5a2517;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,8vw,2.8rem);line-height:1}.game-start-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:grid;place-items:center;background:#18100aa8;padding:1rem;animation:game-start-fade 1.8s ease both}.game-start-card{display:grid;justify-items:center;gap:.45rem;width:min(100%,420px);border:1px solid #e0b85a;border-radius:8px;background:radial-gradient(circle at 50% 0%,#fff4bdf2,#f1da97f5 45%,#4c2a16f5 46%),#f0d99a;color:#fff4cb;padding:clamp(1.1rem,6vw,1.75rem);text-align:center;box-shadow:0 20px 54px #00000075;animation:game-start-rise .42s ease-out both}.game-start-sigil{width:44px;aspect-ratio:1;border:2px solid #4f2a15;border-radius:50%;background:#fff4cb;box-shadow:inset 0 0 0 8px #cf7e38,inset 0 0 0 14px #fff4cb}.game-start-card p{margin:0;color:#4f2a15;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.game-start-card h2{margin:0;color:#fff4cb;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,9vw,3.4rem);line-height:.95}@keyframes game-start-rise{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes game-start-fade{0%,72%{opacity:1}to{opacity:0}}.result-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.result-summary-grid div{display:grid;gap:.25rem;border:1px solid #c28f3f;border-radius:8px;background:#fff2ca;padding:.7rem}.result-summary-grid span,.history-count,.game-history-end-reason span{color:#7a341d;font-size:.75rem;font-weight:900;text-transform:uppercase}.result-summary-grid strong{min-width:0;color:#321a0c;font-size:1rem}.room-history-panel{grid-column:1 / -1}.history-count{border:1px solid #d3b15f;border-radius:999px;background:#fff2ca;padding:.35rem .6rem}.game-history-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.game-history-list li{display:grid;gap:.35rem;border-left:5px solid #7b8e54;background:#fff8df;padding:.75rem}.game-history-list li.assassination-endgame{border-left-color:#8e3150;background:#fff2ca}.game-history-title-row{display:block}.game-history-end-reason{display:grid;gap:.2rem;margin:0;color:#4b2a13;font-size:1rem;font-weight:900;line-height:1.25}.game-history-end-reason.prominent{border:1px solid #c28f3f;border-radius:8px;background:#fff8df;padding:.6rem .7rem;color:#5a2517;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.12rem,4.2vw,1.45rem);line-height:1.12;box-shadow:inset 0 0 0 1px #fff6d2bf}.game-history-end-reason.prominent span{color:#8e3150}.game-history-list p{margin:0;color:#4b2a13;font-weight:900}.assassination-targets{grid-template-columns:repeat(2,minmax(0,1fr))}.status{display:grid;gap:.5rem}.status span{border:1px solid #ac7b38;border-radius:8px;background:#fff0bd;padding:.7rem;font-weight:900}.mission-panel,.mission-step,.quest-track,.team-picker{display:grid;gap:.75rem}.mission-panel{border-color:#d3b15f;background:linear-gradient(145deg,#30241cf5,#5c3a1df0 42%,#293627f5),url(/art/avalon-mist-hall-bg.jpg),#3c2b23;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;color:#fff7de;box-shadow:0 14px 34px #00000057,inset 0 0 0 2px #ffe69d1f}.mission-panel h2,.mission-panel h3{color:#ffe39b}.mission-panel-heading,.mission-section-heading,.expedition-summary,.team-roster-heading{display:grid;gap:.5rem}.mission-panel-heading,.mission-section-heading,.team-roster-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.mission-panel-heading>div,.mission-section-heading h3,.team-roster-heading span{min-width:0}.mission-panel-heading h2{font-size:1.7rem}.phase-badge{display:inline-flex;align-items:center;gap:.35rem;justify-self:end;width:auto;max-width:min(48vw,22rem);border:0;border-radius:0;background:transparent;color:#ffe9aa;padding:0;font-size:.78rem;font-weight:900;line-height:1.2;text-align:right}.phase-badge:before{content:"";flex:0 0 auto;width:.48rem;height:.48rem;border-radius:999px;background:#d1a34e;box-shadow:0 0 0 2px #d1a34e2e}.mission-section-heading span,.team-roster-heading strong{justify-self:end;width:auto;max-width:min(48vw,22rem);color:#f2ddae;font-size:.78rem;font-weight:900;line-height:1.2;text-align:right}.phase-badge.phase-vote{color:#f1ddff}.phase-badge.phase-vote:before{background:#d7b1ee;box-shadow:0 0 0 2px #d7b1ee2e}.phase-badge.phase-mission{color:#d9e7ca}.phase-badge.phase-mission:before{background:#9fc36d;box-shadow:0 0 0 2px #9fc36d2e}.phase-badge.phase-assassin,.phase-badge.phase-finished{color:#ffd3c6}.phase-badge.phase-assassin:before,.phase-badge.phase-finished:before{background:#d77a65;box-shadow:0 0 0 2px #d77a652e}.mission-board-section,.mission-admin{display:grid;gap:.75rem;border:1px solid rgba(240,199,107,.55);border-radius:8px;background:linear-gradient(180deg,#fff8dd21,#1814101f),#18141042;padding:.85rem}.table-makeup{grid-column:1 / -1;gap:.65rem;background:linear-gradient(135deg,#fff0bd2b,#30472d2e),#18141047}.private-room-panel .expedition-board{margin:.1rem 0 0}.started-table-makeup,.mission-progress-sticky{color:#fff7de}.started-table-makeup h3,.mission-progress-sticky h3{color:#ffe39b}.captain-card,.expedition-state-card,.team-roster{display:grid;gap:.25rem;border:1px solid rgba(240,199,107,.56);border-radius:8px;background:#fff0bde6;color:#321a0c;padding:.7rem}.captain-card span,.expedition-state-card span,.role-lineup>span,.team-roster-heading span{color:#7a341d;font-size:.76rem;font-weight:900;text-transform:uppercase}.role-lineup{display:grid;gap:.45rem}.role-lineup>span{color:#f2ddae}.role-lineup div,.member-chips{display:flex;flex-wrap:wrap;gap:.45rem}.role-chip,.member-chips span{border:1px solid #ac7b38;border-radius:999px;background:#fff0bd;color:#321a0c;padding:.4rem .55rem;font-size:.82rem;font-weight:900}.role-chip.good{border-color:#8baa5f;background:#d9e7ca;color:#26351f}.role-chip.evil{border-color:#c06956;background:#f8c8a9;color:#61170e}.final-reveal{grid-column:1 / -1;background:linear-gradient(135deg,#fff0bd33,#30281e33),#18141052}.final-reveal h3{color:#ffe39b}.final-reveal-caption{margin:-.2rem 0 0;color:#f2ddae;font-size:.85rem}.final-reveal-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.final-reveal-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #c28f3f;border-left-width:5px;border-radius:8px;background:#fff2ca;padding:.6rem .75rem}.final-reveal-row.good{border-left-color:#6f9a45}.final-reveal-row.evil{border-left-color:#c0573f}.final-reveal-row.me{box-shadow:0 0 0 2px #7b54dc80}.final-reveal-identity{display:flex;align-items:center;gap:.45rem;min-width:0}.final-reveal-identity strong{color:#321a0c;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-reveal-you{flex:none;border-radius:999px;background:#6a4ad0;color:#fff;padding:.1rem .5rem;font-size:.7rem;font-style:normal;font-weight:900}.final-reveal-role{display:flex;align-items:center;gap:.5rem;flex:none}.final-reveal-role small{color:#7a341d;font-size:.78rem;font-weight:800}.finished-actions{display:grid;gap:.4rem}.quest-track{grid-template-columns:repeat(5,minmax(0,1fr))}.quest-track span{position:relative;display:grid;align-content:center;gap:.2rem;border:1px solid #ac7b38;border-radius:8px;background:#fff0bd;padding:.55rem .35rem;text-align:center;font-weight:900}.quest-track span small{font-size:.72rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}.quest-track .current{border-color:#d6a93d;background:#fff3c7;box-shadow:0 0 0 3px #ffda70b8,0 0 0 6px #5c360f33}.quest-track .success{border-color:#4e7fa8;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.62) 0 2px,transparent 2px),linear-gradient(180deg,#e4f3ff,#b9d8ef)}.quest-track .success:after{content:"✓";position:absolute;top:.18rem;right:.28rem;color:#1f5d89;font-weight:1000}.quest-track .fail{border-color:#9d3e2e;background:repeating-linear-gradient(135deg,rgba(117,29,16,.1) 0 5px,transparent 5px 10px),linear-gradient(180deg,#ffd8ca,#ee9b7d)}.mission-quest-track{gap:.55rem}.mission-progress-sticky{grid-column:1 / -1;align-self:start;position:sticky;top:max(0rem,env(safe-area-inset-top));z-index:10;gap:.28rem;padding:.5rem .6rem;border-color:#d3b15fc2;transition:margin .24s ease,border-radius .24s ease,padding .24s ease,border-color .24s ease}.mission-progress-sticky.stuck{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(.85rem,env(safe-area-inset-left));padding-right:max(.85rem,env(safe-area-inset-right));border-radius:0;border-left-width:0;border-right-width:0}.mission-progress-sticky{background:linear-gradient(145deg,#30241cf7,#48311cf5),url(/art/parchment-rune-texture.jpg),#3c2b23;background-position:center,center;background-size:auto,cover;background-blend-mode:normal,soft-light,normal;box-shadow:0 12px 28px #00000052,inset 0 0 0 1px #ffe69d24}.mission-progress-sticky .mission-section-heading{gap:.25rem}.mission-quest-track .quest-card{position:relative;display:grid;align-content:center;gap:.15rem;border:1px solid #ac7b38;border-radius:8px;background:linear-gradient(180deg,#fff6dff2,#e4c484f5),#fff0bd;color:#321a0c;padding:.45rem .3rem;text-align:center;box-shadow:inset 0 0 0 2px #ffffff3d,0 4px #2210082e}.mission-quest-track .quest-card span{border:0;border-radius:0;background:transparent;padding:0;color:#7a341d;font-size:.82rem;font-weight:900}.mission-quest-track .quest-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;line-height:1}.mission-quest-track .quest-card small{color:#6a4b30;font-weight:900}.mission-quest-track .quest-card .quest-fail-threshold{color:#7c2f1f;font-size:.7rem;line-height:1.1}.mission-quest-track .quest-card.current{border-color:#d6a93d;background:linear-gradient(180deg,#fff6dcfa,#e4c484f5),#fff0bd;box-shadow:inset 0 0 0 2px #ffffff59,0 0 0 3px #ffda70c7,0 0 0 7px #52300d38,0 6px #22100833}.mission-quest-track .quest-card.current:after{content:"◆";position:absolute;top:.3rem;right:.38rem;color:#9a6b15;font-size:.8rem}.mission-quest-track .quest-card.success{border-color:#5b8db4;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.65) 0 2px,transparent 2px),linear-gradient(180deg,#e7f4fffa,#b0d3edf5),#dbeeff}.mission-quest-track .quest-card.success:after{content:"✓";position:absolute;top:.18rem;right:.35rem;color:#1f5d89;font-size:1.05rem;font-weight:1000}.mission-quest-track .quest-card.fail{border-color:#c06956;background:repeating-linear-gradient(135deg,rgba(117,29,16,.1) 0 5px,transparent 5px 10px),linear-gradient(180deg,#ffdbcbfa,#d98565f0),#f8c8a9}.mission-quest-track .quest-card.pending{opacity:.82}.quest-team-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.18rem}.mission-quest-track .quest-card .quest-team-chips span{border:1px solid rgba(106,75,48,.35);border-radius:999px;background:#fff8dd8c;padding:.06rem .24rem;color:#4b2e18;font-size:.62rem;line-height:1.05}.expedition-summary{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}.captain-card strong{min-width:0;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;color:#5a2517}.expedition-state-card p,.empty-team{color:#3e2618;font-weight:800}.expedition-state-card small{display:block;margin-top:.35rem;color:#7c2f1f;font-weight:900}.team-roster{background:#fff8ddf0}.member-chips span{border-color:#6b3d8f;background:#f1ddff;color:#3a2148}.progress-rune{position:relative;min-height:42px;overflow:hidden;border:1px solid #d1a34e;border-radius:999px;background:#fff0bd33;color:#ffe9aa}.progress-rune span{position:absolute;inset:0 auto 0 0;min-width:10px;border-radius:inherit;background:linear-gradient(90deg,#7a3f99,#d1a34e)}.progress-rune strong{position:relative;display:grid;min-height:42px;place-items:center;padding:0 .75rem;font-size:.86rem;text-align:center}.vote-submission-card{display:grid;gap:.55rem;border:1px solid rgba(240,199,107,.5);border-radius:8px;background:#1c171261;padding:.65rem}.vote-submission-group{display:grid;gap:.42rem}.vote-submission-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#ffe9aa;font-size:.78rem;font-weight:900}.vote-submission-heading span{text-transform:uppercase}.vote-submission-heading strong{display:grid;min-width:1.65rem;min-height:1.65rem;place-items:center;border:1px solid rgba(240,199,107,.6);border-radius:999px;background:#fff8dd1f;color:#fff7de}.vote-submission-group p{margin:0;color:#fff8ddb8;font-size:.82rem;font-weight:800}.vote-player-chips{display:flex;flex-wrap:wrap;gap:.38rem}.vote-player-chips span{display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:.32rem;border:1px solid rgba(154,188,114,.56);border-radius:999px;background:#d9e7ca;color:#26351f;padding:.34rem .52rem;font-size:.8rem;font-weight:900;line-height:1.1;overflow-wrap:anywhere}.vote-submission-group.waiting .vote-player-chips span{border-color:#c069569e;background:#f8c8a9;color:#61170e}.vote-player-chips span.ai{border-color:#a67b38b8;background:#fff0bd;color:#321a0c}.vote-player-chips em{flex:0 0 auto;border-radius:999px;background:#321a0c1f;padding:.08rem .24rem;font-size:.62rem;font-style:normal;font-weight:1000;text-transform:uppercase}.ai-action-status{display:flex;align-items:center;gap:.62rem;border:1px solid rgba(215,177,238,.62);border-radius:8px;background:linear-gradient(135deg,#54306942,#26351f2e),#1c171266;color:#fff7de;padding:.68rem .75rem}.ai-action-status>span{flex:0 0 auto;width:.82rem;height:.82rem;border-radius:999px;background:#d7b1ee;box-shadow:0 0 #d7b1ee8c;animation:ai-pulse 1.35s ease-out infinite}.ai-action-status strong{display:block;color:#f1ddff;font-size:.74rem;font-weight:1000;text-transform:uppercase}.ai-action-status p{margin:.12rem 0 0;color:#fff7de;font-size:.88rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.ai-action-status small{display:block;margin-top:.2rem;color:#d7cba3;font-size:.76rem;font-weight:750;line-height:1.25}@keyframes ai-pulse{0%{box-shadow:0 0 #d7b1ee8c}to{box-shadow:0 0 0 .58rem #d7b1ee00}}.mission-admin{border-style:dashed;border-color:#d8ad585c;background:linear-gradient(180deg,#fff8dd0a,#11121014),#11121024;padding:.62rem .7rem}.mission-admin[open]{border-color:#d8ad5894;background:linear-gradient(180deg,#fff8dd14,#1112101a),#11121033;padding:.78rem}.mission-admin summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;color:#cdbb8d;cursor:pointer;list-style:none}.mission-admin summary::-webkit-details-marker{display:none}.mission-admin summary span{display:grid;min-width:0;gap:.12rem}.mission-admin summary strong{color:#e5cc88;font-size:.86rem;font-weight:900}.mission-admin summary strong:before{content:"+ ";color:#b99d62;font-weight:1000}.mission-admin[open] summary strong:before{content:"- "}.mission-admin summary small{color:#bfae86;font-size:.74rem;font-weight:700;line-height:1.25}.mission-admin summary em{justify-self:end;color:#a99368;font-size:.68rem;font-style:normal;font-weight:900;line-height:1.15;text-align:right}.mission-admin[open] summary{border-bottom:1px solid rgba(216,173,88,.28);padding-bottom:.65rem;color:#f2ddae}.mission-admin .mission-step p{color:#f2ddae;font-weight:800}.team-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-admin .team-picker{gap:.55rem}.mission-admin .check{min-width:0;border:1px solid rgba(240,199,107,.66);border-radius:8px;background:#fff0bdf0;color:#321a0c;padding:.55rem .65rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px #fff3}.mission-admin .check:focus-within{border-color:#f6d47c;box-shadow:0 0 0 3px #f6d47c3d,inset 0 0 0 1px #ffffff47}.mission-admin .check input{flex:0 0 auto;accent-color:#c88929}.assassin-warning-card{border:1px solid #9d3e2e;border-radius:8px;background:#f8c8a9;color:#61170e;padding:.8rem}@keyframes phone-celebrate{0%{filter:brightness(1);box-shadow:0 12px 24px #00000047}35%{filter:brightness(1.06);box-shadow:0 14px 30px #00000057,0 0 0 3px #e9bc4857}to{filter:brightness(1);box-shadow:0 12px 24px #00000047}}@keyframes phone-confetti{0%{opacity:0;transform:translateY(-8px)}18%,70%{opacity:.9}to{opacity:0;transform:translateY(10px)}}@keyframes phone-subdue{0%{opacity:1}to{opacity:.78}}@keyframes mission-success-pop{0%{filter:brightness(1)}38%{filter:brightness(1.05)}to{filter:brightness(1)}}@keyframes mission-fail-pulse{0%,to{filter:brightness(1)}18%{filter:brightness(1.03) saturate(1.08)}36%{filter:brightness(.97) saturate(1.1)}54%{filter:brightness(1.02) saturate(1.06)}}@keyframes mission-result-wash{0%{opacity:0}18%,62%{opacity:1}to{opacity:0}}@keyframes mission-result-card{0%{opacity:0;transform:translateY(6px) scale(.96)}35%{opacity:1;transform:translateY(0) scale(1.025)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:420px){.inline-form{grid-template-columns:minmax(0,1fr) auto}.expedition-summary{grid-template-columns:1fr}.mission-quest-track{grid-template-columns:repeat(5,minmax(42px,1fr));gap:.35rem}.mission-quest-track .quest-card{padding:.4rem .22rem}.mission-quest-track .quest-card strong{font-size:1.3rem}.mission-quest-track .quest-card small{font-size:.68rem}.players li{grid-template-columns:1fr auto}.room-code-top{grid-template-columns:minmax(0,1fr) auto}.panel-header{align-items:center;flex-direction:row}.panel-header .room-leave{align-self:center}.count-row,.team-picker,.assassination-targets{grid-template-columns:1fr}}@media(min-width:700px){.shell{padding:1.5rem}.hero h1{font-size:4.35rem}.room-grid{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start}.room-code,.private-room-panel{min-height:100%}.demo-options,.demo-setup{grid-template-columns:1fr 1fr}.demo-role-setup{grid-column:1 / -1}.optional-roles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ai-table-controls{grid-template-columns:minmax(0,1fr) auto}.path-grid{grid-template-columns:repeat(2,1fr)}.home-join-form{grid-template-columns:minmax(140px,.55fr) minmax(180px,1fr) auto;align-items:end}.home-join-form .join-code-field,.home-join-form .join-name-field,.home-join-form button{grid-column:auto;grid-row:auto}.secondary-entry-actions{grid-template-columns:minmax(230px,1fr) minmax(128px,.42fr);justify-self:stretch;width:100%;gap:.65rem}.secondary-entry-actions .path-card{min-height:72px;padding:.76rem .9rem}.secondary-entry-actions .path-card small{display:block;font-size:.82rem}.create-room-action span{font-size:1.08rem}.demo-entry-action{align-self:center;min-height:60px}.demo-entry-action span{font-size:.96rem}.demo-entry-action small{font-size:.74rem;line-height:1.22}.workflow-grid{grid-template-columns:repeat(3,1fr)}.home-seo{grid-template-columns:minmax(0,.95fr) minmax(300px,1.05fr);align-items:stretch;padding:.95rem}.home-seo-art{min-height:260px}.room-history-panel,.players-panel,.mission-panel{grid-column:1 / -1}.lobby-room-grid.has-host-authority .host-authority-panel{grid-column:2;grid-row:1}.lobby-room-grid.has-host-authority .private-room-panel,.started-room-grid.guest-room-grid .private-room-panel,.lobby-room-grid.guest-room-grid .private-room-panel{grid-column:1 / -1;min-height:0}}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.language-switcher{display:inline-flex;gap:.2rem;padding:.2rem;border:1px solid rgba(240,199,107,.45);border-radius:999px;background:#1d130e73;white-space:nowrap}.language-switcher button{min-height:0;border:0;border-radius:999px;padding:.35rem .55rem;background:transparent;color:#fff7de;box-shadow:none;font-size:.78rem;line-height:1}.language-switcher button:hover:not(:disabled),.language-switcher button.selected{background:#f0c76b;color:#321a0c}@media(max-width:520px){.hero-top{align-items:flex-start}.ai-table-controls{grid-template-columns:1fr}.ai-table-controls .choice-row{display:grid;grid-template-columns:1fr}.ai-table-controls .choice-row button{width:100%}.ai-round-pause{grid-template-columns:1fr}.ai-round-pause .primary{width:100%}.language-switcher button{padding:.32rem .46rem;font-size:.72rem}}
