@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap";:root{color:#30261d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#30261d;--ink-soft:#6d5c4c;--paper:#f2e6ce;--paper-light:#fbf4e6;--paper-dark:#dac8a7;--wine:#752f2c;--wine-deep:#4b1f20;--teal:#315c54;--gold:#b88742;--table:#211812;--table-warm:#2f2118;--line:#4a321f33;--shadow:0 20px 55px #03020152, 0 2px 7px #0302013d;background:#1e1712;font-family:Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--table);min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #d9a653}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{text-wrap:balance}body:before{content:"";pointer-events:none;opacity:.38;mix-blend-mode:soft-light;z-index:999;background-image:radial-gradient(circle at 20% 10%,#ffffff0f 0 1px,#0000 1.3px),radial-gradient(circle at 75% 40%,#00000021 0 1px,#0000 1.4px);background-size:13px 17px,19px 23px;position:fixed;inset:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-only{display:none}.muted{color:var(--ink-soft);line-height:1.65}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:var(--paper-light);background:radial-gradient(circle at 50% 0,#3b291d,#0000 46%),linear-gradient(145deg,#221813,#17110d)}.app-shell--center{place-items:center;display:grid}.app-shell--narrow{width:100%}.app-shell--narrow>*{max-width:620px;margin-left:auto;margin-right:auto}.loading-mark{color:#dfcbaa;letter-spacing:.03em;justify-items:center;gap:20px;display:grid}.missing-room{text-align:center;width:min(100%,430px);padding:30px 24px}.missing-room>svg{color:var(--wine)}.missing-room h1{margin:10px 0 7px;font:700 2rem Cormorant Garamond,Noto Sans TC}.missing-room p{color:var(--ink-soft);line-height:1.65}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:12px 20px;font-weight:750;transition:transform .15s,filter .15s,box-shadow .15s;display:inline-flex}.button:not(:disabled):active{transform:translateY(2px)scale(.99)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{color:#fff8ea;background:linear-gradient(#893c36,#652824);border-color:#a05048;box-shadow:inset 0 1px #ffffff26,0 5px 14px #40141147}.button--secondary{color:var(--ink);background:#eee0c5;border-color:#c5ae86;box-shadow:inset 0 1px #fff7e8}.button--ghost{color:var(--ink-soft);border-color:var(--line);background:0 0}.button--danger{color:#fff;background:#8c3833;border-color:#a9544d}.button--full{width:100%}.button--hero{letter-spacing:.02em;min-height:58px;font-size:1.04rem}.paper-panel{color:var(--ink);background-color:var(--paper);box-shadow:var(--shadow), inset 0 0 38px #7c552c17;background-image:linear-gradient(100deg,#ffffff4d,#0000 32%),repeating-linear-gradient(0deg,#50351f06 0 1px,#0000 1px 5px);border:1px solid #c9b28c;border-radius:5px;position:relative}.paper-panel:before{content:"";pointer-events:none;border:1px solid #704b2a21;position:absolute;inset:7px}.wax-seal{color:#e8c791;background:radial-gradient(circle at 36% 30%,#a24b43 0 9%,#7e302e 37%,#5e2325 71%);border:4px double #ad6255;border-radius:50%;flex:none;place-items:center;width:76px;height:76px;display:grid;transform:rotate(-5deg);box-shadow:0 8px 14px #1d080759,inset 0 0 0 4px #450f114d,inset 6px 7px 10px #ffffff12}.wax-seal--small{width:52px;height:52px}.section-kicker{color:#8b6536;letter-spacing:.16em;align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:inline-flex}.field-label,.choice-fieldset legend{color:#594838;margin:20px 0 8px;font-size:.82rem;font-weight:750;display:block}.field-help{color:var(--ink-soft);margin:8px 0 18px;font-size:.82rem}.text-input,.select-input,.text-area{width:100%;min-height:50px;color:var(--ink);background:#fffaeeb3;border:1px solid #bba580;border-radius:7px;padding:12px 14px;box-shadow:inset 0 2px 5px #50341c0f}.text-area{resize:vertical;line-height:1.55}.text-area--guess{min-height:108px;font-size:1.08rem}.form-error{color:#8d302d;margin:9px 0;font-size:.86rem;font-weight:650}.error-banner{color:#ffe8df;background:#692522b8;border:1px solid #9d4d47;border-radius:8px;margin-top:16px;padding:12px 15px;line-height:1.5}.setup-notice{color:#d6c4a8;background:#120c088c;border:1px solid #d8b7813b;border-radius:8px;max-width:570px;margin:18px auto 0;padding:12px 15px;font-size:.83rem;line-height:1.55}.landing-page{min-height:100vh;padding:max(30px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));color:var(--paper-light);background:radial-gradient(at 50% 8%,#7e4b2557,#0000 44%),linear-gradient(155deg,#281b14 0%,#17110d 57%,#261914 100%);position:relative;overflow:hidden}.landing-page__glow{filter:blur(65px);background:#9a622f17;border-radius:50%;width:560px;height:560px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.landing-wrap{z-index:1;width:min(100%,520px);margin:0 auto;position:relative}.hero{text-align:center}.hero .wax-seal{margin:18px auto 9px}.hero__eyebrow{color:#c6a574;letter-spacing:.15em;align-items:center;gap:7px;font-size:.68rem;font-weight:750;display:inline-flex}.hero h1{color:#f2e5cc;letter-spacing:-.045em;text-shadow:0 5px 22px #000;margin:6px 0 12px;font:700 clamp(3.4rem,14vw,5.2rem)/.75 Cormorant Garamond,serif}.hero h1 span{color:#c69a5a;letter-spacing:.12em;font-size:.55em}.hero__lead{color:#d7c5aa;margin:0;font-size:.98rem;line-height:1.75}.hero__facts{color:#aa9478;justify-content:center;align-items:center;gap:18px;margin:17px 0 22px;font-size:.75rem;display:flex}.hero__facts span{align-items:center;gap:5px;display:inline-flex}.entry-card{padding:26px 24px 20px;transform:rotate(-.15deg)}.entry-card__stamp{color:#773a30b3;text-align:center;border:2px solid #773a307a;border-radius:50%;place-items:center;width:65px;height:65px;font:700 .58rem/1.3 serif;display:grid;position:absolute;top:-21px;right:13px;transform:rotate(12deg)}.or-divider{color:#8d7b66;align-items:center;gap:12px;margin:18px 0 14px;font-size:.75rem;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.join-inline{grid-template-columns:1fr auto;gap:9px;display:grid}.code-input-wrap{color:#806a52;background:#fffaeeb3;border:1px solid #bda985;border-radius:7px;align-items:center;gap:8px;padding:0 12px;display:flex}.code-input{color:#513b2a;letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;outline:0;width:100%;min-width:0;height:49px;font-weight:800}.code-input::placeholder{color:#b3a38c}.profile-preview{color:#74624f;cursor:pointer;background:0 0;border:0;border-top:1px dashed #553c2738;justify-content:space-between;align-items:center;width:100%;min-height:45px;margin-top:14px;font-size:.78rem;display:flex}.profile-preview span:last-child{color:var(--wine);font-weight:750}.auth-row{color:#99866e;flex-direction:column;align-items:center;gap:7px;margin-top:20px;font-size:.72rem;display:flex}.auth-row button{color:#d5c3a9;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;display:inline-flex}.google-dot{color:#2d2825;background:#f2ede4;border-radius:50%;place-items:center;width:25px;height:25px;font-family:Arial;font-weight:800;display:grid}.floating-card{color:#63322440;width:170px;height:225px;box-shadow:var(--shadow);background:#d8c39e;border:8px solid #bd9c6d;place-items:center;font:700 1.7rem Cormorant Garamond;display:none;position:absolute}.floating-card--one{top:22%;left:4vw;transform:rotate(-15deg)}.floating-card--two{top:48%;right:3vw;transform:rotate(14deg)}.back-link{color:#d4c0a4;align-items:center;gap:6px;min-height:44px;font-size:.85rem;text-decoration:none;display:inline-flex}.page-intro{text-align:center;margin:16px auto 24px}.page-intro .wax-seal{margin:0 auto 18px}.page-intro h1{color:#f1e3ca;margin:6px 0 8px;font:700 2.4rem Cormorant Garamond,Noto Sans TC}.page-intro p{color:#b9a58a}.profile-editor{padding:28px 24px}.profile-editor__title{color:var(--ink);margin:5px 0 7px;font:700 2rem Cormorant Garamond,Noto Sans TC}.choice-fieldset{border:0;padding:0}.avatar-picker{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.avatar-choice{cursor:pointer;background:#fff8eb8c;border:1px solid #c4af8d;border-radius:8px;place-items:center;height:62px;font-size:1.8rem;display:grid;position:relative}.avatar-choice input,.color-choice input{opacity:0;pointer-events:none;position:absolute}.avatar-choice.is-selected{border:2px solid var(--wine);background:#f5e5cd;box-shadow:0 0 0 2px #752f2c21}.avatar-choice__check{color:#fff;background:var(--wine);border-radius:50%;padding:2px;position:absolute;top:4px;right:4px}.color-picker{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.color-choice{cursor:pointer;color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative}.color-choice span{border-radius:50%;position:absolute;inset:3px;box-shadow:0 2px 4px #00000040}.color-choice svg{z-index:1;position:relative}.join-code-card{text-align:center;padding:30px 24px}.join-code-card h2{margin:7px 0 20px;font-family:Cormorant Garamond,Noto Sans TC;font-size:2rem}.code-input--large{text-align:center;background:#fffaeeb3;border:1px solid #b99f75;border-radius:7px;height:70px;margin-bottom:18px;font-size:1.7rem}.room-code-ticket{color:#d9c3a1;background:#0a070540;border:1px dashed #b98d57;border-radius:3px;align-items:baseline;gap:8px;width:max-content;margin:0 auto 14px;padding:9px 15px;display:flex}.room-code-ticket strong{letter-spacing:.12em}.room-code-ticket span{color:#c3975c;margin-left:8px;font-size:.74rem}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#090604bf;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-sheet{width:min(100%,560px);max-height:calc(100vh - 36px);animation:.22s ease-out sheet-in;position:relative;overflow-y:auto}.modal-sheet__close{z-index:2;color:var(--ink);position:absolute;top:13px;right:13px;background:#efe0c4d9!important}@keyframes sheet-in{0%{opacity:0;transform:translateY(20px)scale(.98)}}.avatar{background:radial-gradient(circle at 38% 34%,#faedce,#caa572);border:2px solid #a68255;border-radius:50%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 3px #fffae847,0 3px 7px #3a27173d}.avatar--small{width:40px;height:40px;font-size:1.35rem}.avatar--medium{width:50px;height:50px;font-size:1.65rem}.avatar--large{width:76px;height:76px;font-size:2.6rem}.icon-button{color:#ddc7a5;cursor:pointer;background:#140d0959;border:1px solid #dfc49b45;border-radius:8px;place-items:center;width:45px;height:45px;padding:0;display:grid}.connection-pill{border:1px solid;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:4px 9px;font-size:.65rem;font-weight:700;display:inline-flex}.connection-pill--connected{color:#78b796}.connection-pill--reconnecting{color:#e0a85a}.connection-pill--offline{color:#c47772}.room-page{color:#f0dfc5;background:radial-gradient(circle at 70% 0,#69452438,#0000 40%),#1c1410;min-height:100vh}.room-topbar,.game-topbar{z-index:20;min-height:72px;padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#1c1410eb;border-bottom:1px solid #dabb8d29;justify-content:space-between;align-items:center;gap:15px;display:flex;position:sticky;top:0}.room-topbar__label{color:#9d8568;letter-spacing:.12em;font:700 .6rem Noto Sans TC;display:block}.room-code-display{color:#e4cfad;letter-spacing:.11em;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-height:35px;padding:0;font-weight:800;display:flex}.room-code-display span{color:#9f8565;font-size:.65rem}.room-topbar__actions{align-items:center;gap:8px;display:flex}.room-layout{grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:34px;width:min(100%,1320px);margin:0 auto;padding:26px 22px 100px;display:grid}.guest-list{min-width:0}.guest-list__heading{justify-content:space-between;align-items:end;margin-bottom:15px;display:flex}.guest-list__heading h2{margin:4px 0 0;font:700 1.7rem Cormorant Garamond,Noto Sans TC}.player-count{color:#d7b47d;font:700 1.6rem Cormorant Garamond}.player-count small{color:#7e6a52;font-size:.65em}.guest-grid{scrollbar-color:#795b38 transparent;gap:8px;max-height:calc(100vh - 245px);padding-right:5px;display:grid;overflow-y:auto}.guest-card{background:linear-gradient(100deg,#483223a1,#291d1580);border:1px solid #cbad8030;border-radius:6px;align-items:center;gap:11px;min-width:0;min-height:68px;padding:9px 10px;display:flex;position:relative}.presence-dot{background:#7a6a5c;border:1px solid #1d1510;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:8px}.presence-dot--connected{background:#61aa81;box-shadow:0 0 8px #61aa81}.presence-dot--reconnecting{background:#daa14f}.presence-dot--offline{background:#6d6258}.guest-card__identity{gap:3px;min-width:0;display:grid}.guest-card__identity strong{text-overflow:ellipsis;white-space:nowrap;background:#f8ebd2ed;border-radius:3px;width:max-content;max-width:100%;padding:2px 5px;overflow:hidden}.guest-card__identity span{color:#a9967c;font-size:.66rem}.host-badge{color:#d6ad6d;border:1px solid #ca9e5d59;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:3px 6px;font-size:.57rem;font-weight:800;display:inline-flex}.share-invite{color:#d5b888;cursor:pointer;background:#3e271947;border:1px dashed #d1a96f59;border-radius:6px;justify-items:start;gap:4px;width:100%;min-height:69px;margin-top:11px;padding:12px 14px;display:grid}.share-invite span{align-items:center;gap:8px;font-weight:700;display:flex}.share-invite small{color:#8e795f}.game-selector{min-width:0}.game-selector__intro h1{margin:5px 0 7px;font:700 clamp(2.1rem,4vw,3rem) Cormorant Garamond,Noto Sans TC}.game-selector__intro p{color:#a38e72}.game-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.game-choice{text-align:left;color:#33251c;cursor:pointer;background:linear-gradient(110deg,#ecddbe,#d7c19c);border:1px solid #b99d72;border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-height:155px;padding:20px;display:grid;position:relative;overflow:hidden;box-shadow:0 13px 27px #00000040,inset 0 0 30px #663f1e14}.game-choice:after{content:"";pointer-events:none;border:1px solid #5b3b2224;position:absolute;inset:7px}.game-choice:not(:disabled):active{transform:translateY(2px)}.game-choice:disabled{cursor:default}.game-choice.is-selected{border:2px solid #c4904a;box-shadow:0 0 0 3px #c2904a33,0 14px 30px #070503}.game-choice--teal{background:linear-gradient(110deg,#dfe1c9,#b9c4ad)}.game-choice--locked{opacity:.5;grid-column:1/-1;min-height:92px}.game-choice__number{color:#5b361d14;font:700 5rem Cormorant Garamond;position:absolute;bottom:-14px;right:9px}.game-choice__icon{color:#78342e;background:#fff8e659;border:1px solid #9f7046;place-items:center;width:60px;height:73px;display:grid;transform:rotate(-3deg)}.game-choice--teal .game-choice__icon{color:#315d56;border-color:#608278}.game-choice__icon svg{width:30px;height:30px}.game-choice__body{gap:4px;min-width:0;display:grid}.game-choice__body strong{letter-spacing:.06em;font:700 1.16rem Cormorant Garamond}.game-choice__body b{color:#6b352e;font-size:1rem}.game-choice--teal .game-choice__body b{color:#315d56}.game-choice__body small{color:#72614f;line-height:1.5}.game-choice__select{color:#815142;border:1px solid #aa8c64;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.game-choice.is-selected .game-choice__select{color:#fff;border-color:var(--wine);background:var(--wine)}.coming-pill{z-index:1;color:#fff;background:#795f41;border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:800;position:relative}.game-setup{margin-top:18px;padding:22px}.game-setup__heading{align-items:center;gap:12px;margin-bottom:10px;display:flex}.game-setup__heading>span{color:#eacb9c;background:var(--wine);border-radius:50%;place-items:center;width:43px;height:43px;font:700 1rem Cormorant Garamond;display:grid}.game-setup__heading small{color:#986d3d;letter-spacing:.12em;font-size:.6rem}.game-setup__heading h2{margin:1px 0 0;font-size:1.2rem}.waiting-note{color:#a79072;border:1px dashed #c6a26b3d;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:57px;margin-top:18px;display:flex}.waiting-note__dots{gap:3px;display:flex}.waiting-note__dots i{background:#c99b57;border-radius:50%;width:5px;height:5px;animation:1s infinite alternate pulse}.waiting-note__dots i:nth-child(2){animation-delay:.2s}.waiting-note__dots i:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-3px)}}.menu-sheet{gap:10px;padding:28px 24px;display:grid}.menu-sheet h2{margin:3px 0 13px}.transfer-list{gap:8px;display:grid}.transfer-button{justify-content:flex-start}.transfer-button svg:last-child{margin-left:auto}.game-page{color:#f0dfc5;background:radial-gradient(circle at 50% -10%,#683f2042,#0000 42%),#1a120e;min-height:100vh;padding-bottom:96px}.game-topbar__eyebrow{color:#a38c6c;letter-spacing:.12em;font-size:.62rem;font-weight:800;display:block}.game-room-code{color:#e3cba6;letter-spacing:.09em;background:0 0;border:0;align-items:center;gap:6px;min-height:34px;padding:0;font-weight:800;display:flex}.game-topbar__right{align-items:center;gap:8px;display:flex}.game-player-count{color:#ad987c;align-items:center;gap:5px;min-height:32px;display:inline-flex}.game-heading,.secret-heading{justify-content:space-between;align-items:end;gap:20px;width:min(100%,1180px);margin:0 auto;padding:28px 24px 18px;display:flex}.game-heading h1,.secret-heading h1{margin:5px 0 0;font:700 clamp(2rem,5vw,3.2rem) Cormorant Garamond,Noto Sans TC}.theme-tag{text-align:right;background:#422a1a52;border:1px solid #cfaa7140;border-radius:5px;min-width:150px;padding:10px 15px}.theme-tag small{color:#967c5a;letter-spacing:.13em;font-size:.56rem;display:block}.theme-tag strong{color:#d7b985}.game-content{width:min(100%,1180px);margin:0 auto;padding:4px 24px}.who-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));align-items:stretch;gap:14px;display:grid}.keyword-card{min-width:0;min-height:270px;color:var(--ink);background:linear-gradient(115deg,#f0dfbd,#d6bc91);border:1px solid #bd9563;border-radius:5px;flex-direction:column;align-items:center;padding:25px 14px 17px;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 26px #00000047}.keyword-card:before{content:"";border:1px solid #5e3c2024;position:absolute;inset:7px}.keyword-card--self{background:linear-gradient(115deg,#ead2ae,#cda37b);border:2px solid #a9483e}.keyword-card.is-revealed{box-shadow:0 0 0 2px #cb89493d,0 13px 26px #00000047}.keyword-card__index{color:#56341c57;font:700 .76rem Cormorant Garamond;position:absolute;top:9px;left:12px}.keyword-card .host-badge{color:#79521f;border-color:#79521f4d;position:absolute;top:9px;right:10px}.keyword-card__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:9px 0 12px;position:relative;overflow:hidden}.keyword-card__name small{color:#806f5d;font-size:.72em}.keyword-card__answer{color:#6f302b;text-align:center;border-top:1px solid #5f3d2029;align-content:center;place-items:center;width:100%;min-height:87px;padding:11px;display:grid;position:relative}.keyword-card__answer strong{overflow-wrap:anywhere;max-width:100%;font:700 clamp(1.45rem,3.3vw,2rem) Cormorant Garamond,Noto Sans TC}.keyword-card__answer.is-secret strong{letter-spacing:.12em;font-size:2.5rem}.keyword-card__answer.is-secret svg{color:#9c5e4c}.keyword-card__answer small{color:#846e58;font-size:.66rem}.keyword-card__label{color:#966d3f;letter-spacing:.17em;font-size:.52rem;font-weight:800}.privacy-note{color:#806d59;align-items:center;gap:5px;font-size:.62rem;display:inline-flex;position:relative}.privacy-note--block{margin:9px 0 15px;font-size:.74rem}.game-actionbar{z-index:15;min-height:78px;padding:10px max(20px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#18100cf2;border-top:1px solid #debb8433;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.round-status{align-items:center;gap:9px;display:flex}.round-status>span{background:#7bac8d;border-radius:50%;width:9px;height:9px;box-shadow:0 0 9px #7bac8d}.round-status>span.is-done{background:#c08b50;box-shadow:0 0 9px #c08b50}.round-status small{color:#8f785c;font-size:.57rem;display:block}.round-status strong{font-size:.82rem}.game-actionbar__buttons{gap:9px;display:flex}.midjoin-panel{width:min(100% - 48px,1132px);margin:18px auto 0;padding:18px}.midjoin-panel h2{margin:3px 0 12px}.midjoin-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;display:flex;position:relative}.midjoin-row strong{flex:1}.empty-state{text-align:center;align-content:center;place-items:center;gap:6px;min-height:190px;padding:25px;display:grid}.empty-state__icon{color:#9b7244}.empty-state h3{margin:2px 0}.empty-state p{max-width:420px;color:var(--ink-soft);margin:0;line-height:1.6}.confirm-overlay{z-index:60;background:#080503c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-card{text-align:center;width:min(100%,430px);padding:30px 24px}.confirm-card>svg{color:var(--wine)}.confirm-card h2{margin:8px 0}.confirm-card p{color:var(--ink-soft)}.confirm-card>div{justify-content:center;gap:9px;display:flex}.game-menu-backdrop{z-index:50;background:#0503029e;justify-content:flex-end;display:flex;position:fixed;inset:0}.game-menu{width:min(88vw,380px);color:var(--ink);background:linear-gradient(110deg,#f1e2c5,#d7be97);padding:66px 22px 24px;animation:.22s ease-out menu-in;position:relative;box-shadow:-15px 0 35px #00000057}.game-menu__close{color:var(--ink);border-color:var(--line);background:#ffffff26;position:absolute;top:13px;right:13px}.game-menu__content{gap:10px;display:grid}.game-menu__content h2{margin:4px 0 10px}@keyframes menu-in{0%{transform:translate(100%)}}.toast-error{z-index:70;color:#ffece5;width:min(100% - 30px,520px);box-shadow:var(--shadow);background:#722e2b;border:1px solid #aa5b54;border-radius:8px;padding:13px 16px;position:fixed;bottom:95px;left:50%;transform:translate(-50%)}.secret-heading p{color:#9f886b;margin:8px 0 0}.master-card{background:#3f28195c;border:1px solid #d2ad7640;border-radius:6px;align-items:center;gap:9px;padding:9px 12px;display:flex}.master-card span{min-width:110px;display:grid}.master-card small{color:#917656;letter-spacing:.1em;font-size:.52rem}.master-card strong{color:#dcc29a}.master-card>svg{color:#d2a760}.secret-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr);gap:18px;width:min(100%,1120px);margin:0 auto;padding:5px 24px;display:grid}.secret-layout--guesser,.secret-layout--result{grid-template-columns:minmax(0,640px) minmax(180px,260px);justify-content:center;align-items:center}.master-console,.round-controls .paper-panel,.guess-card,.answer-reveal{padding:25px}.secret-answer-form h2{margin:5px 0}.secret-answer-form p{color:var(--ink-soft);line-height:1.6}.master-console__round{border-block:1px solid var(--line);gap:35px;margin:10px 0 20px;padding:13px 0;display:flex}.master-console__round div{display:grid}.master-console__round small{color:#967043;letter-spacing:.13em;font-size:.55rem}.master-console__round strong{font:700 2rem Cormorant Garamond}.master-console__round strong span{color:#978672;font-size:.5em}.submission-inbox h2{margin-bottom:10px}.submission-card{border-top:1px solid var(--line);align-items:center;gap:11px;min-height:74px;padding:10px;display:flex}.submission-card>div:nth-child(2){flex:1;min-width:0}.submission-card p{overflow-wrap:anywhere;margin:3px 0 0;font-size:1.05rem}.submission-card__actions{gap:7px;display:flex}.submission-card__actions .button{width:45px;min-height:45px;padding:0}.judge-badge{border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.judge-badge svg{width:14px}.judge-badge--correct{color:#245b43;background:#c7dfcd}.judge-badge--wrong{color:#7f312e;background:#e6c8bf}.round-controls .paper-panel{position:sticky;top:95px}.round-controls h2{margin:5px 0}.round-controls p{color:var(--ink-soft);line-height:1.6}.round-controls .button+.button{margin-top:9px}.guess-card h2{margin:5px 0 18px;font:700 2rem Cormorant Garamond,Noto Sans TC}.guess-result{text-align:center;background:#fff9ea59;border:1px dashed #b89a70;align-content:center;place-items:center;gap:7px;min-height:190px;display:grid}.guess-result>span,.guess-result>svg{color:var(--wine);font-size:2.4rem}.guess-result strong{font-size:1.35rem}.guess-result p{color:var(--ink-soft);margin:0}.guess-result small{color:#8e704d}.guess-result--correct{color:#315f4e;background:#dce3cc}.round-letter{aspect-ratio:4/5;color:#d9bc8b;box-shadow:var(--shadow);background:linear-gradient(145deg,#5b331cad,#2a1a12e6);border:8px double #b1814466;align-content:center;place-items:center;display:grid;transform:rotate(3deg)}.round-letter span{color:#957856;letter-spacing:.19em;font:700 .7rem Noto Sans TC}.round-letter strong{font:700 6rem/.9 Cormorant Garamond}.round-letter small{color:#a99070}.answer-reveal{text-align:center}.answer-reveal>h2{color:var(--wine);overflow-wrap:anywhere;margin:13px 0 23px;font:700 clamp(2.6rem,8vw,4.6rem) Cormorant Garamond,Noto Sans TC}.winner-list{text-align:left;gap:7px;display:grid}.winner-list>div{border-top:1px solid var(--line);align-items:center;gap:9px;padding:8px;display:flex}.winner-list>div>span{color:#fff;background:var(--wine);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.72rem;display:grid}.winner-list strong{flex:1}.winner-list small{color:var(--ink-soft)}.result-actions{gap:10px;display:grid}@media (width>=1100px){.floating-card{display:grid}.landing-wrap{width:540px}}@media (width<=760px){.mobile-only{display:block}.landing-page{padding-inline:15px}.hero h1{font-size:3.5rem}.hero__facts{flex-wrap:wrap;gap:10px}.entry-card{padding-inline:17px}.room-topbar .connection-pill,.game-topbar .connection-pill{display:none}.room-layout{padding:20px 15px 90px;display:block}.guest-list{margin-bottom:28px}.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.guest-card{gap:7px;min-height:61px;padding:7px}.guest-card .avatar{width:40px;height:40px;font-size:1.3rem}.guest-card .host-badge{padding:2px 4px;position:absolute;top:4px;right:4px}.guest-card__identity strong{max-width:86px;font-size:.84rem}.game-card-list{grid-template-columns:1fr}.game-choice--locked{grid-column:auto}.game-choice{gap:11px;min-height:135px;padding:15px}.game-choice__icon{width:52px;height:64px}.game-heading,.secret-heading{align-items:flex-start;padding:22px 15px 14px}.theme-tag{min-width:105px;padding:8px}.game-heading h1,.secret-heading h1{font-size:2rem}.game-content{padding-inline:15px}.who-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.keyword-card{min-height:232px;padding:24px 8px 12px}.keyword-card .avatar--large{width:61px;height:61px;font-size:2rem}.keyword-card__name{font-size:.84rem}.keyword-card__answer strong{font-size:1.3rem}.keyword-card__answer.is-secret strong{font-size:2rem}.keyword-card .host-badge{padding:4px;font-size:0}.privacy-note{font-size:.53rem}.game-actionbar{align-items:stretch}.round-status{display:none}.game-actionbar__buttons{flex:1}.game-actionbar__buttons .button{flex:1;padding-inline:10px}.midjoin-panel{width:calc(100% - 30px)}.midjoin-row{flex-wrap:wrap}.midjoin-row strong{min-width:100px}.midjoin-row .button{min-height:44px;padding-inline:10px;font-size:.76rem}.secret-heading{display:grid}.master-card{width:100%}.secret-layout,.secret-layout--guesser,.secret-layout--result{grid-template-columns:1fr;padding-inline:15px}.round-letter{aspect-ratio:1;border-radius:50%;width:150px;margin:0 auto}.round-letter strong{font-size:4rem}.round-controls .paper-panel{position:static}.submission-card{flex-wrap:wrap;align-items:flex-start}.submission-card__actions{margin-left:auto}.result-actions{grid-template-columns:1fr 1fr}}@media (width<=390px){.hero h1{font-size:3.05rem}.join-inline{grid-template-columns:minmax(0,1fr) 68px}.game-choice__body small{font-size:.72rem}.keyword-card{min-height:222px}.game-actionbar .button{font-size:.76rem}}@media (orientation:landscape) and (height<=520px){.landing-page{padding-top:16px}.hero .wax-seal{width:53px;height:53px;margin-top:8px}.hero h1{font-size:3rem}.hero__lead,.hero__facts{display:none}.entry-card{padding-block:18px}.room-topbar,.game-topbar{min-height:58px}.guest-grid{max-height:190px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
