:root{--night:#170f23;--ink:#210e22;--wine:#5b192d;--cranberry:#a62439;--red:#a62439;--pine:#173c36;--paper:#fff6e9;--paper-light:#fffaf3;--brass:#f5ca79;--gold:#f5ca79;--snow:#fff6e9;--muted-pine:#66555f;--line:#e4d4c5;--sans:"Avenir Next","Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;--serif:Georgia,"Times New Roman",serif;--radius:18px;--shadow:0 12px 36px #370f2012;--ease-out:cubic-bezier(.16,1,.3,1);--motion-fast:.16s;--motion-medium:.38s}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}p{margin:0 0 1em}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;margin:0 0 .45em;font-weight:400;line-height:1.12}h1{font-size:clamp(2.5rem,5vw,4.7rem)}h2{font-size:2.4rem}h3{font-size:1.55rem}em{color:var(--brass);font-weight:400}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible){outline-offset:4px;outline:3px solid #c58b24}button{transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}button:disabled{cursor:not-allowed;opacity:.5}button:active:not(:disabled){filter:brightness(.91)}svg{flex-shrink:0}.quiet{color:var(--muted-pine);font-size:.9rem}.eyebrow{letter-spacing:.035em;text-transform:none;margin:0 0 14px;font-size:.73rem;font-weight:700;line-height:1.5}.button{text-align:center;cursor:pointer;min-height:50px;transition:background var(--motion-fast),box-shadow var(--motion-fast);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:18px;padding:13px 22px;font-size:.9rem;font-weight:700;line-height:1.4;display:inline-flex}.button span[aria-hidden]{margin-left:auto}.button-primary{color:#fffaf0;background:linear-gradient(#bd3549,#941b32);border-color:#d47f76;box-shadow:inset 0 1px #ffffff27,0 5px #5b1428,0 8px 22px #6b152522}.button-primary:hover:not(:disabled){background:linear-gradient(#cf4155,#ab243a);box-shadow:inset 0 1px #ffffff38,0 5px #5b1428,0 12px 28px #a6243933}.button-outline{color:inherit;background:0 0;border-color:#a78b87}.button-outline:hover:not(:disabled){background:#b1666010;border-color:#c89f63}.button-quiet{color:var(--paper);background:#fff6e912;border-color:#fff6e92b}.button-large{border-radius:12px;min-width:244px;padding:18px 28px;font-size:1rem}.button-full{width:100%}.button-row{flex-wrap:wrap;gap:12px;display:flex}.text-button{color:var(--muted-pine);background:0 0;border:0;border-bottom:1px solid;border-radius:0;min-height:44px;padding:10px 2px;font-size:.85rem;line-height:1.4}.text-button:hover{color:var(--red)}.text-link{text-underline-offset:4px;font-size:.88rem;text-decoration:underline;display:inline-block}.error-message{color:#7c2032;overflow-wrap:anywhere;background:#fff0ed;border:1px solid #b95155;border-radius:9px;margin:14px 0;padding:13px 15px;font-size:.9rem;line-height:1.55}.form-note,.control-help{color:var(--muted-pine);margin:12px 0 0;font-size:.8rem;line-height:1.65}.brand{min-height:44px;color:var(--paper);line-height:1.05;font-family:var(--serif);white-space:nowrap;align-items:center;gap:12px;font-size:1.8rem;display:inline-flex}.brand-mark{color:var(--brass);background:linear-gradient(145deg,#9d2e3b,#5c182b);border:1px solid #f5ca7980;border-radius:12px 12px 20px 20px;justify-content:center;align-items:center;width:42px;height:46px;display:flex;box-shadow:inset 0 0 0 3px #4b172d,0 2px 15px #f5ca7915}.brand-sub{font-family:var(--sans);letter-spacing:.18em;margin-top:8px;font-size:.48rem;font-weight:600;display:block}.brand-small{font-size:1.4rem}.brand-small .brand-mark{width:34px;height:38px}.landing-page{overflow:hidden}.site-header{z-index:3;background:var(--night);color:var(--paper);border-bottom:1px solid #f5ca7924;justify-content:space-between;align-items:center;padding:23px 5.5vw;display:flex;position:relative}.site-header nav{align-items:center;gap:28px;font-size:.84rem;display:flex}.nav-link{color:#e3ced2;padding:12px 0}.nav-link:hover{color:var(--gold)}.site-header .button-outline{border-color:#e5c19766;min-height:44px;font-size:.8rem}.hero{color:var(--paper);background:radial-gradient(at 70% 75%,#63243c 0,#0000 52%),linear-gradient(110deg,#200e21,#2e1329 60%,#171424);grid-template-columns:.9fr 1.15fr;align-items:center;gap:4vw;min-height:700px;padding:82px 5.5vw 85px;display:grid;position:relative}.hero-copy,.hero-art{z-index:1;position:relative}.hero-copy{max-width:570px}.hero-kicker{color:#edc8a2;align-items:center;gap:10px;margin-bottom:24px;font-size:.77rem;display:flex}.hero-kicker>svg{color:var(--gold)}.hero h1{letter-spacing:-.055em;text-shadow:0 4px 25px #10041144;margin:0 0 26px;font-size:clamp(3.7rem,5.65vw,6rem);line-height:1.04}.title-flourish{display:inline-block;position:relative}.title-flourish:after{content:"";border-top:2px solid #f5ca7980;border-radius:50%;height:10px;position:absolute;inset:auto 4% -7px 0;transform:rotate(-3deg)}.hero-description{color:#e4cdd6;max-width:440px;margin-bottom:24px;font-size:1.03rem;line-height:1.8}.game-facts{color:#f6e5d3;flex-wrap:wrap;gap:17px;margin:28px 0 30px;font-size:.8rem;display:flex}.game-facts>span{align-items:center;gap:7px;display:flex}.game-facts svg{color:#f5ca79}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.hero-join-link{color:#edcfb0;text-underline-offset:5px;padding:4px 0;font-size:.8rem;text-decoration:underline}.hero-note{color:#c8aebb;margin:22px 0 0;font-size:.75rem;line-height:1.8}.hero .error-message{max-width:440px}.hero-art{min-width:0;transform:rotate(1deg)}.scene-caption{color:#e2c4af;justify-content:center;align-items:center;gap:10px;margin-bottom:17px;font-size:.69rem;display:flex}.tiny-star{color:var(--gold);font-size:1.2rem}.world-scene{aspect-ratio:1.43;isolation:isolate;background:#251326;border:1px solid #f5ca7980;border-radius:32px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:0 26px 70px #08031065,inset 0 0 0 5px #b77c3e22}.village-art{filter:saturate(.82)brightness(.86);background:radial-gradient(circle at 62% 37%,#ffc66555,#0000 22%),linear-gradient(#0000,#13091d44),url(/images/christmas-village.webp) 50% 54%/cover no-repeat;transition:filter 2s,transform 2s;position:absolute;inset:0;transform:scale(1.025)}.hero .village-art{filter:saturate()brightness(.96)}.world-complete .village-art{filter:saturate(1.12)brightness(1.15);transform:scale(1.055)}.scene-vignette{pointer-events:none;background:linear-gradient(#0000 55%,#10081766);position:absolute;inset:0;box-shadow:inset 0 0 60px #140c2470,inset 0 -90px 90px -55px #160b24}.scene-medallion{color:var(--gold);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#35192bb3;border:1px solid #f5ca7980;border-radius:50%;place-items:center;width:47px;height:47px;display:grid;position:absolute;top:20px;left:20px}.beacon-lanterns{background:#1e1020d9;border:1px solid #dfaf725c;border-radius:40px;gap:10px;padding:9px 14px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #0006}.beacon-lanterns>span{color:#a18a85;background:#211a28;border:1px solid #ae8d6959;border-radius:50%;place-items:center;width:30px;height:30px;transition:background .6s,color .6s,box-shadow .6s;display:grid}.beacon-lanterns .is-lit{color:#532437;animation:lantern-light .8s var(--ease-out);background:#f5ca79;border-color:#ffdfa7;box-shadow:0 0 17px #f5b86490}.beacon-magic{opacity:0;width:0;height:0;transition:opacity 2s;position:absolute;top:27%;left:62%}.world-complete .beacon-magic{opacity:1}.beacon-magic>i{filter:blur(9px);background:linear-gradient(90deg,#0000,#ffe5a082,#0000);width:580px;height:75px;position:absolute;top:-38px;left:-290px;transform:rotate(-16deg)}.beacon-magic>i:nth-child(2){transform:rotate(19deg)}.beacon-magic>i:nth-child(3){background:linear-gradient(90deg,#0000,#ffe1a299,#0000);width:200px;left:-100px;transform:rotate(90deg)}.scene-ticket{color:#4f1a2b;z-index:2;background:linear-gradient(140deg,#fff1d8,#f8dba7);border:1px solid #f5ca79;border-radius:9px;align-items:center;gap:15px;margin:-18px 25px 0;padding:18px 21px;display:flex;position:relative;transform:rotate(-2deg);box-shadow:0 10px 28px #12081855}.ticket-star{color:#8a2636;border:1px solid #b2824d7a;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.scene-ticket strong{font-family:var(--serif);font-size:1.1rem;line-height:1.3;display:block}.scene-ticket div>span{color:#78514b;margin-top:5px;font-size:.7rem;display:block}.ticket-tag{border-left:1px dashed #ab754a;max-width:65px;margin-left:auto;padding-left:15px;font-size:.61rem;font-weight:700;line-height:1.6}.invitation-ribbon{text-align:center;color:#ffe7c1;background:#941e34;border-block:1px solid #d99e65;justify-content:center;align-items:center;gap:25px;padding:17px 24px;display:flex;position:relative}.invitation-ribbon:before,.invitation-ribbon:after{content:"";border-top:1px dashed #ffc78045;position:absolute;inset:5px 0 auto}.invitation-ribbon:after{inset:auto 0 5px}.invitation-ribbon p{font-family:var(--serif);margin:0;font-size:1.05rem}.invitation-ribbon>span{background:#eabb7c75;width:55px;height:1px}.festive-atmosphere{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.festival-lights{border-top:2px solid #61746380;border-radius:0 0 50% 50%;justify-content:space-around;width:104%;height:54px;display:flex;position:absolute;top:-17px;left:-2%;transform:rotate(-2deg)}.festival-lights i{width:8px;height:13px;animation:light-glimmer 4s ease-in-out var(--light-delay) infinite;background:#ffe8a3;border-radius:45% 45% 50% 50%;display:block;position:relative;top:29px;box-shadow:0 0 16px 6px #ffbb5466}.festival-lights i:nth-child(3n){background:#c2545e;box-shadow:0 0 16px 6px #ff5a6a44}.festival-lights i:nth-child(4n){background:#8ea984;box-shadow:0 0 16px 6px #9aca8844}.snowfall{position:absolute;inset:0}.snowfall>i{top:-5%;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);opacity:.4;animation:gentle-snow var(--snow-speed) linear var(--snow-delay) infinite;background:#fff8e4;border-radius:50%;position:absolute}.scene-snow>i{opacity:.4;background:#fff;border-radius:100%;width:3px;height:3px;animation:17s linear infinite scene-flurry;position:absolute;top:-8%;left:14%;box-shadow:70px 170px #fff9,140px 40px #fff9,230px 210px #fff9,320px 100px #fff9,410px 200px #fff9}.scene-snow>i:nth-child(2n){opacity:.3;animation-delay:-6s;left:8%}.scene-snow>i:nth-child(3n){animation-delay:-10s;left:41%}.scene-celebration{pointer-events:none;position:absolute;inset:0}.scene-celebration>span{background:#ffd887;width:4px;height:7px;animation:2.5s ease-out both spark-burst;position:absolute;top:45%;left:50%}.scene-celebration>span:nth-child(2){--spark-x:180px;--spark-y:-140px}.scene-celebration>span:nth-child(3){--spark-x:-150px;--spark-y:-160px}.scene-celebration>span:nth-child(4){--spark-x:100px;--spark-y:160px}.scene-celebration>span:nth-child(5){--spark-x:-200px;--spark-y:80px}.scene-celebration>span:nth-child(6){--spark-x:260px;--spark-y:-20px}.scene-celebration>span:nth-child(7){--spark-x:-240px;--spark-y:-50px}.scene-celebration>span:nth-child(8){--spark-x:30px;--spark-y:-200px}.how-section{grid-template-columns:1fr 1fr;gap:10vw;max-width:1230px;margin:auto;padding:95px 40px 80px;display:grid}.section-intro .eyebrow{color:var(--red)}.section-intro h2{font-size:3.4rem}.section-intro>p:not(.eyebrow){color:var(--muted-pine);max-width:390px;font-size:.94rem;line-height:1.8}.how-steps{flex-direction:column;gap:35px;margin:0;padding:10px 0 0;list-style:none;display:flex}.how-steps li{gap:22px;display:flex;position:relative}.how-steps li:not(:last-child):after{content:"";border-left:1px dashed #c9a183;position:absolute;top:58px;bottom:-20px;left:22px}.step-number{z-index:1;width:46px;height:46px;box-shadow:inset 0 0 0 4px var(--paper);font-family:var(--serif);color:var(--wine);background:#f0ddc6;border:1px solid #bd9280;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:relative}.how-steps h3{margin:7px 0 13px;font-size:1.6rem}.how-steps p{color:var(--muted-pine);margin:0;font-size:.9rem;line-height:1.85}.device-sketch{width:270px;height:190px;margin:22px 0 0;position:relative}.sketch-tv{color:#f7d28b;background:radial-gradient(circle,#8b4239,#351a30);border:5px solid #5c2938;border-radius:12px;outline:1px solid #b4805f;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:240px;height:134px;display:flex;position:absolute;top:0;left:20px;box-shadow:0 12px 24px #45192522}.sketch-tv:after{content:"";clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);background:#5c2938;width:80px;height:14px;position:absolute;bottom:-19px}.sketch-tv span{font-size:.66rem}.sketch-phones{justify-content:center;gap:10px;display:flex;position:absolute;bottom:0;left:2px;right:0}.sketch-phone{width:45px;height:79px;transform:rotate(var(--phone-rotation));color:var(--red);background:#fff3db;border:3px solid #744352;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;box-shadow:0 5px 12px #45192533}.sketch-phone>i{background:#cab195;width:21px;height:2px}.device-caption{margin:10px 0 0;color:#786060!important;font-size:.7rem!important}.story-section{background:var(--pine);color:var(--paper);isolation:isolate;border-block:1px solid #e7be7a;grid-template-columns:1.1fr .9fr;align-items:center;gap:7vw;padding:65px 6vw;display:grid;position:relative}.story-section:before{content:"";pointer-events:none;background:radial-gradient(at 80% 10%,#f5ca7912,#0000 60%);position:absolute;inset:0}.story-window{aspect-ratio:1.2;border:5px solid #a9754c;border-radius:140px 140px 12px 12px;outline:1px solid #edc791;max-height:480px;position:relative;overflow:hidden;box-shadow:0 22px 45px #061a1b88}.story-window:after{content:"";background:#ab7951;width:7px;position:absolute;top:0;bottom:0;left:50%;box-shadow:1px 0 #f3d39b55}.story-window-image{background:url(/images/christmas-village.webp) 50% 58%/cover;position:absolute;inset:0}.story-window-label{z-index:1;color:#ffe7b4;background:#361a29e8;border-top:1px solid #edc79175;justify-content:center;align-items:center;gap:12px;padding:17px;font-size:.7rem;display:flex;position:absolute;bottom:0;left:0;right:0}.story-section-copy{max-width:440px;position:relative}.story-section-copy h2{font-size:3.5rem}.story-section-copy .eyebrow{color:#f5ca79}.story-section-copy>p:not(.eyebrow){color:#d6dfcc;font-size:.9rem;line-height:1.85}.story-section-copy .button{margin-top:16px}.before-you-play{grid-template-columns:1fr 1fr;gap:10vw;max-width:1200px;margin:auto;padding:75px 40px;display:grid}.before-you-play>div:first-child>svg{color:var(--red);margin-bottom:15px}.before-you-play h2{font-size:2.6rem}.before-you-play h3{margin-top:10px;font-size:1.7rem}.before-you-play p,.before-you-play li{color:var(--muted-pine);font-size:.88rem;line-height:1.85}.before-you-play ul{margin:18px 0 20px;padding-left:20px}.site-footer{background:var(--night);color:#dbc1c9;border-top:1px solid #b68e5f66;justify-content:space-between;align-items:center;gap:24px;padding:32px 5.5vw;font-size:.74rem;display:flex}.site-footer p{max-width:230px;margin:0}.site-footer nav{gap:23px;display:flex}.site-footer nav a:hover{color:var(--gold)}.room-page{background:radial-gradient(circle at 0 0,#eec7ae55,transparent 38%),var(--paper);min-height:100dvh}.room-header{color:var(--paper);background:linear-gradient(115deg,#240f24,#5b192d);border-bottom:2px solid #d9b179;justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;display:flex;position:relative}.room-header-meta{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.mini-code{letter-spacing:.1em;color:#e8ced2;font-size:.64rem}.connection{white-space:nowrap;color:#d6ead3;align-items:center;gap:6px;font-size:.7rem;display:inline-flex}.connection>span{background:#adcf9b;border-radius:100%;width:7px;height:7px;box-shadow:0 0 7px #adcf9b44}.connection.is-offline{color:#ffda9d}.connection.is-offline>span{background:#f3bc66}.phone-content{max-width:740px;margin:auto;padding:28px 22px 42px}.player-greeting{margin:4px 0 24px}.player-greeting .eyebrow{color:var(--red);margin-bottom:9px;font-size:.72rem}.player-greeting h1{overflow-wrap:anywhere;font-size:clamp(2rem,5vw,2.65rem)}.player-greeting>p:last-child{color:var(--muted-pine);font-size:.86rem}.paper-card,.practice-card,.station-card,.guide-card{background:var(--paper-light);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:25px}.paper-card h2{font-size:1.8rem}.paper-card>p{color:var(--muted-pine);font-size:.9rem}.section-label{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-label h2{margin:0;font-size:1.55rem}.section-label>span{color:var(--muted-pine);text-align:right;font-size:.72rem}.roster{margin:0;padding:0;list-style:none}.roster li{border-top:1px solid var(--line);align-items:center;gap:11px;padding:12px 0;display:flex}.roster .empty-roster{color:var(--muted-pine);padding:20px 0;font-size:.85rem}.avatar{width:36px;height:36px;color:var(--wine);font-family:var(--serif);background:#f6e1ca;border:1px solid #c7a585;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.12rem;display:flex}.member-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.88rem}.member-status{color:#75616a;text-align:right;font-size:.72rem}.member-status.is-ready{color:#2b6545}.lobby-roster>.quiet{margin:15px 0 0;font-size:.75rem}.organizer-setup{border-radius:var(--radius);background:linear-gradient(150deg,#f9e7ce,#fff8ee);border:1px solid #c7a178;margin:0 0 22px;padding:4px 20px;box-shadow:0 6px 24px #8c453d10}.organizer-setup summary{cursor:pointer;min-height:50px;margin-left:8px;padding:15px 0;font-size:.9rem;font-weight:700;list-style-position:outside}.setup-content{grid-template-columns:1fr 1fr;gap:26px;padding:13px 0 20px;display:grid}.setup-content h3{font-size:1.5rem}.setup-content .eyebrow{color:#8f2838;margin-bottom:10px;font-size:.7rem}.setup-content p{font-size:.82rem;line-height:1.75}.setup-content .button{width:100%;min-height:48px;margin:0 0 12px;padding:10px;font-size:.77rem}.setup-content small{color:var(--muted-pine);margin-top:10px;font-size:.72rem;line-height:1.7;display:block}.setup-phone{border-left:1px solid var(--line);padding-left:25px}.setup-phone .text-button{text-align:left;font-size:.74rem}.private-qr{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.private-qr canvas{background:#fff;border:1px solid #d0ab85;border-radius:10px;padding:5px}.private-qr p{margin:0;font-size:.74rem}.network-note{border-top:1px solid var(--line);color:var(--muted-pine);overflow-wrap:anywhere;margin:0;padding:14px 0;font-size:.71rem;line-height:1.7}.setup-notice{color:#694432;background:#f8e4c5;border-left:3px solid #b88745;align-items:center;gap:12px;margin-bottom:20px;padding:10px 14px;font-size:.8rem;display:flex}.optional-seat{margin-bottom:24px}.optional-seat summary{cursor:pointer;text-underline-offset:4px;padding:12px 0;font-size:.82rem;text-decoration:underline}.practice-card{background:linear-gradient(150deg,#fff4df,#fffcf5);border-color:#d2ac74;position:relative;overflow:hidden}.practice-card:after{content:"";pointer-events:none;border:19px solid #b73144;border-color:#b73144 #b73144 #0000 #0000;position:absolute;top:0;right:0}.station-card-head{align-items:center;gap:13px;min-width:0;margin-bottom:18px;display:flex}.station-icon{color:#8c2839;background:linear-gradient(140deg,#fde4b5,#f4cc8c);border:1px solid #d1a561;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:inset 0 0 0 3px #fff9ed6b}.station-card-head .eyebrow{color:#93624d;letter-spacing:.03em;margin-bottom:4px;font-size:.64rem}.station-card-head h3{margin:0;font-size:1.45rem}.station-card-head>div{min-width:0}.practice-card>p{font-size:.88rem;line-height:1.8}.checkbox-row{cursor:pointer;align-items:flex-start;gap:12px;min-height:48px;margin:5px 0 15px;padding:12px 0;font-size:.85rem;display:flex}.checkbox-row input{accent-color:var(--red);flex-shrink:0;width:22px;height:22px;margin:2px 0}.organizer-controls{border-top:1px solid #c8aa87;margin-top:26px;padding-top:22px}.organizer-controls>.eyebrow{color:var(--wine);font-size:.72rem}.host-action-row{gap:10px;display:flex}.hint-picker{margin-top:18px}.hint-picker>label{margin-bottom:8px;font-size:.85rem;font-weight:700;display:block}.hint-picker>div{gap:10px;display:flex}.hint-picker select{background:var(--paper-light);width:50%;min-width:0;min-height:50px;color:var(--ink);border:1px solid #b79986;border-radius:8px;flex:1;padding:11px;font-size:.82rem}.hint-picker .button{gap:6px;font-size:.77rem}.host-secondary-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;display:flex}.host-secondary-actions button{font-size:.75rem}.danger-text{color:#9a293d}.confirm-box{background:#f9e5cf;border:1px solid #bd8661;border-radius:12px;margin-top:16px;padding:20px}.confirm-box>p{margin:8px 0 16px;font-size:.84rem}.confirm-box .button{font-size:.78rem}.leave-row{text-align:center;margin:25px 0 0}.leave-row .text-button{font-size:.75rem}.room-footer{text-align:center;padding:15px 16px calc(22px + env(safe-area-inset-bottom));color:#79606b;border-top:1px solid var(--line);font-size:.7rem}.connection-banner{background:#ffedc5;border:1px solid #c6944c;border-radius:10px;margin-bottom:18px;padding:13px;font-size:.84rem}.player-tabs{z-index:10;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff6e9ed;border-block:1px solid #d3b79e;gap:6px;margin:0 -3px 18px;padding:9px 6px;display:flex;position:sticky;top:0;box-shadow:0 5px 20px #59253610}.player-tabs button{color:#765660;background:0 0;border:1px solid #0000;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:49px;font-size:.8rem;font-weight:700;display:flex}.player-tabs button[aria-selected=true]{background:var(--wine);color:var(--paper);border-color:#875163;box-shadow:inset 0 1px #ffffff17,0 3px 8px #5b192d20}.player-tabs button span{background:#ffffff20;border-radius:50%;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:.7rem;display:inline-flex}.cards-section{margin-bottom:30px;scroll-margin-top:95px}.cards-section[hidden]{display:none}.cards-section>.section-label{margin:20px 2px 14px}.cards-section>.section-label h2{font-size:1.65rem}.cards-section>.section-label span{font-size:.72rem}.station-jump{flex-wrap:wrap;gap:7px;margin:0 0 16px;display:flex}.station-jump a{color:#724b52;background:#fffcf4;border:1px solid #d7b996;border-radius:22px;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:.74rem;display:flex}.station-jump a.is-done{color:#326347;background:#eef3e7;border-color:#8eac8b}.station-card{border-top:4px solid #c18450;position:relative}.station-prompt{font-size:.92rem;line-height:1.75}.partner-label{background:#f7e4cd;border-left:3px solid #b96550;border-radius:0 6px 6px 0;margin:16px 0 20px;padding:11px 13px;font-size:.81rem;line-height:1.6}.repaired-label{white-space:nowrap;color:#28623e;background:#e2eddc;border-radius:20px;margin-left:auto;padding:6px 9px;font-size:.65rem;font-weight:700}.station-card.is-repaired{animation:repair-reveal .6s var(--ease-out);background:#fffbed;border-color:#91aa76}.repair-success>p{color:var(--muted-pine);font-size:.86rem}.repair-success>.quiet{font-size:.8rem;line-height:1.75}.order-control{flex-direction:column;gap:10px;margin:16px 0 22px;padding:0;list-style:none;display:flex}.order-control li{background:linear-gradient(90deg,#fff5e3,#f8e7d0);border:1px solid #cda788;border-radius:9px;align-items:center;gap:12px;min-height:62px;padding:6px 7px 6px 12px;display:flex;box-shadow:0 3px #e9d4ba}.order-index{font-family:var(--serif);color:#8e6550;min-width:13px;font-size:.9rem}.order-control li>svg{color:#9b3a43}.order-control li>span:not(.order-index){overflow-wrap:anywhere;flex:1;min-width:0;font-size:.9rem}.order-control li>div{flex-shrink:0;gap:8px;display:flex}.order-control button{background:var(--paper-light);width:44px;height:44px;color:var(--wine);border:1px solid #bb9478;border-radius:6px;font-size:1.25rem;line-height:1;box-shadow:0 2px #e2cab0}.order-control button:hover:not(:disabled){background:#f2d6b3}.grid-panel{max-width:320px;margin:22px auto}.grid-north{text-align:center;letter-spacing:.06em;color:var(--muted-pine);margin:0 0 12px;font-size:.72rem;font-weight:700}.grid-north span{margin-right:4px;font-size:1.1rem}.grid-control{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.grid-control>button{height:76px;color:var(--ink);background:#f8efdd;border:1px solid #bfa48c;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:1.1rem;font-weight:600;display:flex;position:relative;box-shadow:0 3px #deccb6}.grid-control>button.is-start{border-style:dashed;border-width:2px}.grid-control>button small{letter-spacing:.02em;font-size:.63rem}.grid-control>button.is-selected,.wheel-symbol.is-selected{background:var(--wine);color:var(--paper);border-color:#9e4252;box-shadow:0 3px #421327,0 0 0 3px #e9bd7b55}.grid-panel>.control-help{text-align:center;font-size:.73rem}.wheel-panel{margin:22px auto 25px}.symbol-wheel{--wheel-radius:100px;background:radial-gradient(circle,#e9c990 0 28%,#fcf1da 29% 55%,#d8b482 56% 57%,#faf0dc 58% 100%);border:2px solid #b98b58;border-radius:50%;width:290px;max-width:100%;height:290px;margin:auto;position:relative;box-shadow:inset 0 0 0 5px #e9d3af,0 4px #d9c1a0}.wheel-symbol{width:64px;height:58px;transform:rotate(var(--wheel-angle)) translateY(calc(-1 * var(--wheel-radius))) rotate(calc(-1 * var(--wheel-angle)));color:#71433c;background:#fff7e7;border:1px solid #bd9777;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;top:calc(50% - 29px);left:calc(50% - 32px);box-shadow:0 2px #cfad83}.wheel-symbol>small{font-size:.6rem;line-height:1.2}.wheel-center{font-family:var(--serif);color:#91603e;flex-direction:column;justify-content:center;align-items:center;font-size:2.6rem;line-height:1;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wheel-center small{font-family:var(--sans);margin-top:5px;font-size:.58rem}.wheel-panel>.control-help{text-align:center;max-width:280px;margin:14px auto 0;font-size:.74rem}.hint-note{background:#fff0c7;border:1px solid #c8a15f;border-radius:9px;margin:16px 0;padding:14px 16px}.hint-note .eyebrow{color:#805131;margin-bottom:7px;font-size:.65rem}.hint-note p{margin:0;font-size:.85rem;line-height:1.75}.station-card>.button-primary{font-size:.86rem}.receipt{background:repeating-linear-gradient(0deg,#fff7e0 0 25px,#b6874520 25px 26px);border:1px dashed #b58850;border-radius:6px;margin-top:20px;padding:22px;position:relative;box-shadow:0 5px 16px #8d552014}.receipt>.eyebrow{color:#86563c;margin-bottom:17px;font-size:.68rem}.receipt-line{border-bottom:1px solid #d5b98d;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:15px;display:flex}.receipt-line>span{font-family:var(--serif);font-size:1.3rem}.receipt-line>svg{color:#9d2b40}.receipt-line strong{font-family:var(--serif);margin-left:auto;font-size:2.6rem;font-weight:400;line-height:1}.receipt>p:not(.eyebrow){margin-bottom:7px;font-size:.9rem}.receipt>small{color:#795b4a;font-size:.74rem}.guide-card{background:linear-gradient(140deg,#f5eee0,#fffaf0);border-color:#467062 #d1b595 #d1b595;border-top-style:solid;border-top-width:4px;position:relative}.guide-card .station-icon{color:#31584a;background:#e5ecdc;border-color:#98ad8d}.guide-owner{color:#3a6050;background:#e4ebdc;border-radius:6px;margin-bottom:15px;padding:11px 13px;font-size:.82rem;line-height:1.7}.guide-card blockquote{font-family:var(--serif);color:#4c2a35;border-block:1px solid #d6bea0;margin:0;padding:22px 0;font-size:1.2rem;line-height:1.8}.guide-foot{color:#796351;margin:14px 0 0;font-size:.73rem}.finale-card{color:var(--paper);border-radius:var(--radius);background:radial-gradient(circle at 100% 0,#a4414a55,#0000 60%),linear-gradient(130deg,#351528,#581a30);border:1px solid #cb9d62;margin:20px 0 25px;padding:30px 25px;position:relative;overflow:hidden;box-shadow:0 12px 32px #5a182e25}.finale-card>.station-icon{color:var(--brass);background:#c8955650;border-color:#f5ca7980;margin-bottom:20px}.finale-card>.eyebrow{color:var(--brass);margin-bottom:13px;font-size:.73rem}.finale-card h2{font-size:2.4rem}.finale-card>p:not(.eyebrow){color:#ead2d6;font-size:.88rem;line-height:1.85}.finale-card form>label{color:#fff0df;margin:20px 0 8px;font-size:.8rem;display:block}.signal-input{width:100%;font-family:var(--serif);color:var(--ink);letter-spacing:.24em;text-align:center;background:#fff4e2;border:1px solid #dfb76d;border-radius:9px;min-height:68px;margin-bottom:14px;padding:14px;font-size:2rem}.signal-input::placeholder{color:#896e73;letter-spacing:0;font-size:1.3rem}.finale-card .hint-note{color:var(--ink)}.finale-wait{border-top:1px solid #ffffff26;margin-bottom:0;padding-top:16px}.paused-card{text-align:center;border-radius:var(--radius);background:#eceddf;border:1px solid #afbb96;margin:20px 0;padding:25px}.paused-card>svg{color:#65805b;margin-bottom:10px}.paused-card h2{font-size:1.9rem}.paused-card p{color:var(--muted-pine);margin:0;font-size:.88rem}.victory-card{text-align:center}.victory-card>.eyebrow{color:var(--red);font-size:.72rem}.victory-card h1{font-size:3.3rem}.victory-card>.world-scene{border-radius:20px;max-width:600px;margin:25px auto}.victory-card>p:not(.eyebrow){max-width:460px;margin-inline:auto;font-size:.92rem;line-height:1.85}.victory-stats{border-block:1px solid var(--line);justify-content:center;gap:36px;margin:22px 0;padding:20px 0;display:flex}.victory-stats>span{color:var(--muted-pine);font-size:.75rem}.victory-stats strong{font-size:1.9rem;font-family:var(--serif);color:var(--wine);font-weight:400;display:block}.state-page{min-height:100dvh;color:var(--paper);background:radial-gradient(at 50% 20%,#64213d,#1b1025 70%);flex-direction:column;align-items:center;gap:50px;padding:35px 20px;display:flex}.state-page>.paper-card{max-width:550px;color:var(--ink);width:100%;margin-top:20px}.state-page .paper-card h1{font-size:2.8rem}.state-page .paper-card p{font-size:.92rem}.loading-state{text-align:center;color:#e6cad1;max-width:400px;padding-top:14vh;font-size:.92rem}.loading-star{color:var(--brass);margin-bottom:25px;animation:2.8s ease-in-out infinite star-breathe;display:block}.join-page{min-height:100dvh;color:var(--paper);isolation:isolate;background:radial-gradient(at 70% 30%,#6e273e,#1d1125 75%);flex-direction:column;align-items:center;padding:36px 20px;display:flex;position:relative;overflow:hidden}.join-page:before{content:"";z-index:-1;opacity:.8;background:linear-gradient(#241127aa,#211024e8),url(/images/christmas-village.webp) 50%/cover;position:absolute;inset:0}.join-page>header{z-index:1}.join-card{z-index:1;background:var(--paper);width:100%;max-width:430px;color:var(--ink);border:1px solid #f5ca79;border-radius:20px;margin:44px auto;padding:38px;position:relative;box-shadow:0 24px 70px #08030f80}.join-card:before{content:"";background:var(--red);border-radius:20px;width:80px;height:5px;display:block;position:absolute;top:0;left:calc(50% - 40px)}.join-card>.eyebrow{color:var(--red);font-size:.73rem}.join-card>h1{font-size:3.2rem}.join-card em{color:var(--red)}.join-card>p:not(.eyebrow){color:var(--muted-pine);font-size:.9rem}.join-card>.text-link{text-align:center;margin-top:25px;font-size:.76rem;display:block}.join-page>footer{color:#e4c8d1;text-align:center;z-index:1;margin-top:auto;font-size:.75rem}.join-illustration{color:#dfb76d18;position:absolute;top:8%;right:8%;transform:rotate(15deg)}.join-form{margin-top:24px}.field{margin-bottom:20px}.field label{margin-bottom:8px;font-size:.84rem;font-weight:700;display:block}.field input{width:100%;min-height:54px;color:var(--ink);background:#fffdf7;border:1px solid #af8d7f;border-radius:8px;padding:13px 14px;font-size:1rem;box-shadow:inset 0 2px 5px #210e2206}.field input::placeholder{color:#80656d;font-size:.82rem}.field .code-input{letter-spacing:.16em;text-transform:uppercase;font-size:1.2rem;font-weight:700}.form-note{text-align:center;font-size:.72rem}.join-form .button{font-size:.9rem}.display-page{background:radial-gradient(ellipse at 75% 30%,#68253c44,transparent 55%),var(--night);color:var(--paper);isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;position:relative}.display-header{z-index:2;border-bottom:1px solid #d8b77b33;justify-content:space-between;align-items:center;gap:20px;padding:23px 4vw;display:flex;position:relative}.display-header>div{align-items:center;gap:24px;display:flex}.display-header .button{min-height:44px;padding:10px 15px;font-size:.76rem}.display-header small{max-width:130px;font-size:.68rem}.display-main{z-index:1;flex:1;padding:0 4vw 20px;position:relative}.display-story{grid-template-columns:.85fr 1.15fr;align-items:center;gap:3vw;padding:45px 0 30px;display:grid}.display-story-copy{padding-left:1vw}.display-story .eyebrow{color:var(--brass);margin-bottom:20px;font-size:.78rem}.display-story h1{margin-bottom:24px;font-size:clamp(3.2rem,5.1vw,6.4rem);line-height:1.06}.display-story h1 em{color:inherit;font-style:normal}.display-objective{color:#e7cdd5;max-width:520px;font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.8}.display-world{min-width:0}.display-world .world-scene{aspect-ratio:1.43;border:1px solid #f5ca7966;border-radius:28px}.world-label{color:#c3a3b0;justify-content:space-between;padding:15px 18px;font-size:.69rem;display:flex}.display-join{align-items:center;gap:24px;margin-top:27px;display:flex}.display-qr{background:#fff;border-radius:12px;flex-shrink:0;padding:9px;display:flex;box-shadow:0 0 0 1px #e5bc7c,0 10px 30px #06020d66}.display-qr svg,.display-qr canvas,.display-qr img{display:block}.display-join>div:last-child>p{color:#f3d2b0;letter-spacing:.04em;margin:0 0 4px;font-size:.77rem}.big-room-code{font-family:var(--sans);letter-spacing:.11em;color:var(--brass);margin-bottom:8px;font-size:clamp(2.7rem,3.6vw,4rem);font-weight:700;line-height:1.3;display:block}.display-join>div>span{color:#d0b3bd;overflow-wrap:anywhere;font-size:.8rem;line-height:1.7;display:block}.display-join b{color:#f2decf;font-weight:500}.qr-loading{background:#fff;width:170px;height:170px}.display-lobby-bottom{border-top:1px solid #dfb66f33;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:25px 1vw 10px;display:grid}.display-lobby-bottom .eyebrow{color:#ead2d0;margin-bottom:17px;font-size:.76rem}.display-members{flex-wrap:wrap;gap:12px;min-height:60px;display:flex}.display-member{background:#422235;border:1px solid #b47b7055;border-radius:12px;align-items:center;gap:10px;padding:12px 15px;display:flex;box-shadow:inset 0 1px #ffffff08}.display-member .avatar{color:#ffe3b4;background:#70404a;border-color:#b58066;width:34px;height:34px}.display-member>strong{overflow-wrap:anywhere;max-width:150px;font-size:.95rem;font-weight:600}.display-member>span:last-child{color:#cbb2ba;font-size:.75rem}.display-member.is-ready{background:#304734;border-color:#d7b27280}.display-member.is-ready>span:last-child{color:#d3e5af}.display-members>.quiet{color:#d3b6c1;font-size:.9rem}.display-lobby-tip{color:#d6bfc4;align-items:center;gap:16px;display:flex}.display-lobby-tip>svg{color:var(--brass)}.display-lobby-tip p{margin:0;font-size:.8rem;line-height:1.85}.display-lobby-tip strong{color:#f4e3cc;font-weight:600}.display-footer{z-index:1;color:#c6a8b5;border-top:1px solid #dae6cf1c;justify-content:space-between;gap:20px;padding:18px 5vw;font-size:.76rem;display:flex;position:relative}.display-footer>span:last-child{white-space:nowrap}.display-footer strong{color:var(--brass);letter-spacing:.15em;margin-left:5px;font-weight:700}.display-progress{color:#d8b9c2;border-top:1px solid #dfb66f33;align-items:center;gap:12px;margin-top:25px;padding-top:20px;font-size:.85rem;display:flex}.display-progress>strong{font-family:var(--serif);color:var(--brass);font-size:2.7rem;font-weight:400;line-height:1.2}.display-progress strong>span{color:#b492a4;font-size:1.5rem}.display-progress>.elapsed{font-family:var(--serif);margin-left:auto;font-size:1.5rem}.station-track{grid-template-columns:repeat(6,1fr);gap:8px;margin:8px 0 20px;display:grid}.track-station{color:#b994a7;background:#372033;border:1px solid #b17d7159;border-radius:12px;align-items:center;gap:12px;min-width:0;padding:20px 15px;transition:background .6s,box-shadow .6s;display:flex}.track-station>svg{width:26px}.track-station>span{min-width:0}.track-station strong{color:#f0d8dd;font-size:clamp(.8rem,1vw,1rem);font-weight:600;line-height:1.5;display:block}.track-station small{margin-top:3px;font-size:clamp(.66rem,.75vw,.8rem);line-height:1.5;display:block}.track-station.is-repaired{color:var(--brass);animation:repair-reveal .7s var(--ease-out);background:linear-gradient(145deg,#61432f,#4e392e);border-color:#edc37e80;box-shadow:inset 0 0 22px #ffc4740b,0 0 15px #ffb75d0c}.track-station.is-repaired small{color:#f3d49b}.public-signal{background:#d1944717;border:1px solid #dca76280;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;max-width:480px;margin:24px 0 0;padding:18px;display:flex}.public-signal>svg{color:var(--brass)}.public-signal>span{letter-spacing:.08em;font-size:2rem;font-family:var(--serif);line-height:1}.public-signal>p{color:#e3c4ca;margin:0;font-size:.8rem;line-height:1.65}.display-result{color:var(--brass);font-family:var(--serif);flex-wrap:wrap;gap:20px;margin-top:25px;font-size:1.3rem;display:flex}.display-complete-note{color:var(--brass);border-top:1px solid #dfb66f33;justify-content:center;align-items:center;gap:18px;padding:25px;display:flex}.display-complete-note p{color:#f2d7d6;margin:0;font-size:1rem}.display-complete-note p>span{color:#cfacba;font-size:.85rem}.offline-members{color:#f6d5a3;background:#7f673333;border:1px solid #c4a66555;border-radius:9px;padding:13px 16px;font-size:.8rem}.display-connection-banner{color:#fff0c9;background:#75512e;border-radius:9px;margin-top:15px;padding:13px 20px;font-size:.85rem}.display-ending{text-align:center;padding:15vh 10vw}.display-ending h1{font-size:4rem}.display-ending p{color:#d7b9c6}.display-ending .button{margin-top:20px}@keyframes light-glimmer{50%{opacity:.65;filter:brightness(.85)}}@keyframes gentle-snow{to{transform:translate(25px,800px)}}@keyframes scene-flurry{to{transform:translate(20px,580px)}}@keyframes star-breathe{50%{opacity:.45;filter:drop-shadow(0 0 12px #f5ca7944)}}@keyframes lantern-light{0%{transform:scale(.75);box-shadow:0 0 #f5b86400}60%{transform:scale(1.12)}}@keyframes repair-reveal{0%{box-shadow:0 0 0 3px #eac57b88}to{box-shadow:var(--shadow)}}@keyframes spark-burst{0%{opacity:0;transform:translate(0)scale(0)}10%{opacity:1}to{transform:translate(var(--spark-x,100px),var(--spark-y,-100px)) rotate(160deg);opacity:0}}@media (min-width:1600px){.hero{min-height:800px;padding-block:100px}.display-story{padding-top:60px}.display-member>strong{font-size:1.1rem}.display-lobby-tip p{font-size:.92rem}.display-footer{font-size:.88rem}.display-join>div>span{font-size:.92rem}}@media (max-width:1150px){.hero{gap:30px;padding:75px 4.5vw}.hero h1{font-size:4.1rem}.hero-kicker{font-size:.68rem}.hero-description{font-size:.95rem}.scene-ticket{margin-inline:15px;padding:16px}.ticket-tag{display:none}.scene-ticket strong{font-size:1rem}.scene-caption{font-size:.6rem}.how-section{gap:7vw}.display-story{gap:25px}.display-story h1{font-size:3.5rem}.display-qr canvas{max-width:140px!important;height:140px!important}.display-join{gap:18px}.display-lobby-bottom{grid-template-columns:1fr}.display-lobby-tip{display:none}.station-track{grid-template-columns:repeat(3,1fr)}.track-station{padding:15px}.display-progress>.elapsed{margin-left:8px}}@media (max-width:850px){.site-header{padding:20px 24px}.site-header nav{gap:15px}.site-header .nav-link{display:none}.hero{grid-template-columns:1fr;gap:42px;min-height:0;padding:65px 24px 50px}.hero-copy{max-width:650px}.hero h1{font-size:clamp(3.6rem,8vw,5.3rem)}.hero-description{max-width:520px;font-size:1rem}.hero-actions{flex-direction:row;align-items:center}.hero-art{width:100%;max-width:680px;margin:auto}.hero-note br{display:none}.scene-caption{font-size:.72rem}.scene-ticket strong{font-size:1.3rem}.ticket-tag{display:block}.how-section{grid-template-columns:1fr;gap:40px;padding:65px 25px}.section-intro h2{font-size:3rem}.section-intro h2 br{display:none}.section-intro h2{max-width:500px}.device-sketch{float:right;transform-origin:100%;margin-top:-140px;margin-left:20px;transform:scale(.85)}.device-caption{max-width:300px}.section-intro>p:not(.eyebrow){max-width:58%}.how-steps{padding-top:0}.how-steps h3{font-size:1.5rem}.story-section{grid-template-columns:1fr 1fr;gap:5vw;padding:50px 25px}.story-section-copy h2{font-size:2.7rem}.story-window{aspect-ratio:.82;border-top-left-radius:120px;border-top-right-radius:120px}.story-window-label span{font-size:.58rem}.before-you-play{gap:6vw;padding:50px 25px}.before-you-play h2{font-size:2.3rem}.site-footer{flex-wrap:wrap;padding:30px 25px}.site-footer p{order:3;width:100%;max-width:none}.display-header{padding:18px 24px}.display-header .brand{font-size:1.5rem}.display-header>div{gap:12px}.display-header .connection{display:none}.display-main{padding:0 24px 20px}.display-story{grid-template-columns:1fr;padding:35px 0 20px}.display-story-copy{padding:0}.display-story h1{max-width:600px;font-size:3.8rem}.display-objective{max-width:600px}.display-join{margin:24px 0}.big-room-code{font-size:3.7rem}.display-qr canvas{max-width:160px!important;height:160px!important}.display-join>div>span{font-size:.85rem}.display-story .display-world{width:100%;max-width:700px;margin:auto}.display-world .world-scene{border-radius:22px}.world-label{font-size:.65rem}.display-members{gap:10px}.display-member{flex:1;min-width:180px}.display-footer{padding:16px 24px;font-size:.71rem}.station-track{grid-template-columns:repeat(2,1fr)}.display-complete-note{padding:20px 0}.display-ending{padding:14vh 0}.display-ending h1{font-size:3rem}}@media (max-width:600px){.hero-actions{flex-direction:column;align-items:stretch;gap:19px}.hero-join-link{text-align:center}.hero .button-large{width:100%}.hero h1{font-size:3.75rem}.hero-kicker{gap:7px;font-size:.68rem}.hero-note{text-align:center;font-size:.73rem}.game-facts{gap:15px;font-size:.76rem}.hero-art{transform:none}.scene-ticket{gap:12px;margin:-14px 13px 0;padding:16px}.scene-ticket strong{font-size:1rem}.scene-ticket div>span{font-size:.67rem}.ticket-tag{display:none}.ticket-star{width:39px;height:39px}.world-scene{border-radius:24px}.scene-medallion{width:36px;height:36px;top:14px;left:14px}.scene-medallion svg{width:20px}.beacon-lanterns{gap:7px;padding:7px 10px;bottom:15px}.beacon-lanterns>span{width:25px;height:25px}.scene-caption{font-size:.64rem}.invitation-ribbon{padding:20px 25px}.invitation-ribbon p{font-size:.97rem;line-height:1.55}.invitation-ribbon>span{display:none}.section-intro h2{font-size:2.8rem}.section-intro>p:not(.eyebrow){max-width:100%}.device-sketch{float:none;margin:25px auto 0;transform:none}.device-caption{text-align:center;max-width:none!important}.how-steps li{gap:17px}.how-steps h3{font-size:1.4rem}.how-steps p{font-size:.86rem}.story-section{grid-template-columns:1fr;gap:35px;padding:45px 24px}.story-window{aspect-ratio:1.2;width:100%;max-width:480px;margin:auto}.story-section-copy{max-width:480px;margin:auto}.story-section-copy h2{font-size:3rem}.story-window-label span{font-size:.7rem}.before-you-play{grid-template-columns:1fr;gap:25px;padding:50px 25px}.before-you-play>div+div{border-top:1px solid var(--line);padding-top:24px}.site-footer .brand{font-size:1.35rem}.site-footer nav{gap:15px;font-size:.71rem}.site-footer{gap:23px}.site-header .brand{font-size:1.5rem}.site-header .brand-mark{width:33px;height:38px}.site-header .button{gap:10px;padding:10px 12px;font-size:.74rem}.site-header{padding:18px}.phone-content{padding:24px 16px 30px}.room-header{padding:16px}.room-header .brand-small{font-size:1.25rem}.room-header .brand-small .brand-mark{width:30px;height:34px}.room-header .brand-sub{letter-spacing:.12em;font-size:.4rem}.room-header .mini-code{font-size:.58rem}.room-header .connection{font-size:.64rem}.paper-card,.practice-card,.station-card,.guide-card{border-radius:14px;margin-bottom:18px;padding:22px 18px}.player-greeting h1{font-size:2.05rem}.player-greeting>p:last-child{font-size:.82rem}.setup-content{grid-template-columns:1fr;gap:22px;padding:8px 0 16px}.setup-phone{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.organizer-setup{padding:4px 17px}.organizer-setup summary{font-size:.85rem;line-height:1.65}.private-qr{flex-wrap:nowrap}.private-qr p{font-size:.76rem}.setup-phone .text-button{display:block}.station-card-head{flex-wrap:wrap;gap:11px}.station-card-head .eyebrow{font-size:.63rem}.station-card-head h3{font-size:1.32rem}.station-icon{width:43px;height:46px}.station-card-head>div{flex:1;min-width:150px}.repaired-label{font-size:.65rem}.practice-card>p{font-size:.86rem}.checkbox-row{gap:10px;font-size:.82rem}.hint-picker>div{flex-direction:column}.hint-picker select,.hint-picker .button{width:100%}.hint-picker>.control-help{font-size:.76rem}.station-prompt{font-size:.88rem}.partner-label{padding:10px 12px;font-size:.79rem}.station-card>.button-primary{padding:13px;font-size:.82rem}.order-control li{gap:8px}.order-control li>span:not(.order-index){font-size:.84rem}.order-control li>svg{width:21px}.order-index{min-width:10px;font-size:.8rem}.cards-section>.section-label h2{font-size:1.55rem}.cards-section>.section-label span{font-size:.7rem}.guide-card blockquote{font-size:1.12rem}.guide-owner{font-size:.8rem}.finale-card{padding:26px 21px}.finale-card h2{font-size:2.2rem}.finale-card>p:not(.eyebrow){font-size:.85rem}.signal-input{font-size:2rem}.victory-card h1{font-size:2.85rem}.victory-stats{gap:28px}.join-page{padding:28px 18px}.join-card{margin:32px auto;padding:31px 25px}.join-card h1{font-size:3rem}.join-page>.brand{font-size:1.6rem}.form-note{font-size:.72rem}.player-tabs{gap:4px}.player-tabs button{padding-inline:8px;font-size:.77rem}.station-card .error-message{font-size:.82rem}.display-story h1{font-size:3.2rem}.display-main{padding:0 18px 18px}.display-header{padding:17px 18px}.display-header .brand{font-size:1.25rem}.display-header .brand-mark{width:30px;height:34px}.display-header .brand-sub{font-size:.38rem}.display-header .button{gap:8px;padding:9px 10px;font-size:.67rem}.display-qr canvas{max-width:128px!important;height:128px!important}.display-join{gap:17px}.big-room-code{font-size:2.5rem}.display-join>div>span{font-size:.73rem}.display-join>div:last-child>p{font-size:.66rem}.display-member{flex-wrap:wrap;gap:8px;min-width:130px;padding:11px}.display-member>strong{max-width:90px;font-size:.88rem}.display-member>span:last-child{width:100%;font-size:.72rem}.display-member .avatar{width:29px;height:29px;font-size:1rem}.track-station{gap:9px;padding:14px 11px}.track-station strong{font-size:.78rem}.track-station small{font-size:.66rem}.track-station>svg{width:22px}.display-footer{padding:16px 18px;font-size:.67rem}.display-footer>span:first-child{max-width:200px}.display-result{gap:16px;font-size:1.05rem}.public-signal>span{font-size:1.7rem}.public-signal{gap:12px;padding:15px}.display-progress{font-size:.78rem}.display-progress>strong{font-size:2.2rem}.display-progress strong>span,.display-progress>.elapsed{font-size:1.3rem}.world-label{font-size:.6rem}}@media (max-width:370px){.hero h1{font-size:3.25rem}.hero{padding-inline:20px}.phone-content{padding-inline:12px}.station-card,.guide-card,.practice-card,.paper-card{padding:20px 14px}.symbol-wheel{--wheel-radius:90px;width:266px;height:266px}.wheel-symbol{width:59px;height:54px;top:calc(50% - 27px);left:calc(50% - 29.5px)}.order-control li{gap:6px;padding-left:8px}.order-control li>svg{width:18px}.order-control li>span:not(.order-index){font-size:.79rem}.order-control button{width:44px}.station-card-head>div{min-width:130px}.station-card-head h3{font-size:1.2rem}.site-header .brand{font-size:1.3rem}.site-header .button{font-size:.69rem}.site-header{padding-inline:15px}.display-join{gap:12px}.big-room-code{font-size:2.15rem}.display-join>div>span{font-size:.65rem}.display-qr canvas{max-width:112px!important;height:112px!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.snowfall,.scene-snow,.scene-celebration{display:none}.village-art,.world-complete .village-art{transform:none}}.atmosphere-button{color:inherit;text-underline-offset:4px;opacity:.85;background:0 0;border:0;min-height:44px;padding:10px 0;font-size:.74rem;text-decoration:underline}.atmosphere-button:hover{color:var(--gold);opacity:1}html[data-calm=true] .snowfall,html[data-calm=true] .scene-snow,html[data-calm=true] .scene-celebration{display:none}html[data-calm=true] .festival-lights i{animation:none}@media (max-width:600px){.display-header .atmosphere-button{display:none}.site-footer nav{flex-wrap:wrap;align-items:center}.hero h1{font-size:3.3rem}}.setup-content>.setup-phone{border-left:0;padding-left:0}.setup-content>.setup-screen{border-left:1px solid var(--line);padding-left:25px}.setup-privacy-note{color:#7a432b;background:#fff2d9;border:1px solid #d8b788;border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 10px;padding:11px 12px;font-size:.77rem;line-height:1.7;display:flex}.setup-privacy-note>svg{color:#985532;margin-top:2px}@media (max-width:600px){.setup-content>.setup-phone{border-top:0;padding-top:0}.setup-content>.setup-screen{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}}.skip-link{z-index:100;color:var(--ink);background:var(--paper);border-radius:8px;padding:12px 20px;position:absolute;top:10px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:none}.mobile-navigation{display:none;position:relative}.mobile-navigation summary{border:1px solid #e5c19766;border-radius:9px;place-items:center;width:44px;height:44px;list-style:none;display:grid}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation-links{z-index:20;background:#35172c;border:1px solid #c89d6e;border-radius:12px;min-width:210px;padding:8px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 15px 40px #09041180}.mobile-navigation-links a{color:#fff0dd;border-radius:7px;align-items:center;min-height:46px;padding:9px 13px;font-size:.87rem;display:flex}.mobile-navigation-links a:hover{background:#ffffff0d}@media (max-width:850px){.mobile-navigation{display:block}.site-header nav{gap:10px}}@media (max-width:370px){.site-header nav{gap:7px}.site-header .button{padding-inline:9px}.site-header .brand{gap:8px}}.creator-device-path{background:#fffaf0;border:1px solid #d9bd9d;border-radius:10px;margin:16px 0 20px;padding:15px}.creator-device-path>p{color:var(--wine);margin-bottom:10px;font-size:.82rem;font-weight:700}.creator-device-path>.button{min-height:48px;font-size:.8rem}.creator-device-path>small{color:var(--muted-pine);margin-top:10px;font-size:.72rem;line-height:1.65;display:block}.optional-seat{scroll-margin-top:20px}.room-page:has(.victory-card) .player-greeting{display:none}@media (max-width:600px){.room-page:has(.player-tabs) .player-greeting{margin-bottom:14px}.room-page:has(.player-tabs) .player-greeting h1{font-size:1.8rem}}.beacon-magic{top:13%;left:67%}.beacon-shutter{mix-blend-mode:multiply;opacity:1;pointer-events:none;background:radial-gradient(#141026 0 18%,#141026d9 32%,#14102670 50%,#0000 74%);width:20%;height:30%;transition:opacity 2s;position:absolute;top:-2%;left:57%}.world-awaiting-light .village-art{filter:saturate(.75)brightness(.77)}.world-complete .beacon-shutter{opacity:0}.scene-chapter-1 .scene-vignette{background:linear-gradient(#0000 45%,#42262f45)}.scene-chapter-2 .scene-vignette{background:linear-gradient(#0000 45%,#142d3f55)}.chapter-transition{text-align:center;color:var(--paper);animation:chapter-unfold .8s var(--ease-out) both;background:radial-gradient(at 50% 0,#a350494a,#0000 70%),linear-gradient(140deg,#311427,#5a1c30);border:1px solid #d2a368;border-radius:22px;margin:24px 0;padding:42px 28px;position:relative;overflow:hidden;box-shadow:0 20px 50px #34102222}.chapter-transition:before,.chapter-transition:after{content:"";pointer-events:none;border:1px solid #f5ca7930;border-radius:15px;position:absolute;inset:10px}.chapter-transition:after{border-style:dashed;border-color:#f5ca791c;inset:17px}.chapter-moment-seal{color:var(--gold);width:74px;height:74px;animation:chapter-star .9s var(--ease-out) both;background:#f5ca790d;border:1px solid #f5ca7980;border-radius:50%;place-items:center;margin:0 auto 25px;display:grid;position:relative;box-shadow:0 0 40px #ffbd551c}.chapter-moment-seal>i{background:linear-gradient(90deg,#0000,#f5ca7990);width:55px;height:1px;position:absolute;right:calc(100% + 15px)}.chapter-moment-seal>i:last-child{left:calc(100% + 15px);right:auto;transform:rotate(180deg)}.chapter-transition>.eyebrow{color:var(--gold);margin-bottom:14px;font-size:.8rem}.chapter-transition>h2{text-wrap:balance;max-width:650px;margin:0 auto 20px;font-size:clamp(2.1rem,5vw,3.8rem)}.chapter-moment-description{color:#ead4d8;max-width:550px;margin:0 auto 22px;font-size:.9rem;line-height:1.85}.chapter-moment-progress{justify-content:center;gap:22px;margin:25px 0;padding:0;list-style:none;display:flex;position:relative}.chapter-moment-progress>li{color:#c4a6af;width:34px;height:34px;font-family:var(--serif);z-index:1;background:#301525;border:1px solid #f5ca7944;border-radius:50%;place-items:center;display:grid;position:relative}.chapter-moment-progress>li+li:before{content:"";background:#f5ca7944;width:23px;height:1px;position:absolute;right:100%}.chapter-moment-progress>.is-lit{color:#4c2032;background:#f5ca79;border-color:#ffdaa1;box-shadow:0 0 14px #f5ca7925}.chapter-transition>.button{z-index:2;max-width:100%;margin-top:8px;position:relative}.chapter-moment-wait{color:#d8b9c5;margin:22px 0 0;font-size:.8rem}.chapter-transition--display{padding:55px 40px}.chapter-transition--display>.chapter-moment-description{font-size:1.15rem}.chapter-transition--display>.eyebrow{font-size:1rem}@keyframes chapter-unfold{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@keyframes chapter-star{0%{opacity:0;transform:scale(.7)rotate(-25deg)}to{opacity:1;transform:none}}@media (max-width:600px){.chapter-transition{padding:35px 23px}.chapter-moment-description{font-size:.88rem}.chapter-transition>.button{width:100%}}@media (prefers-reduced-motion:reduce){.beacon-shutter{transition:none}}.station-prompt,.guide-card blockquote{white-space:pre-line}.order-control li>span.word-token{width:24px;height:28px;font-family:var(--serif);color:#8a3542;background:#f2dfc4;border:1px solid #d6b48a;border-radius:5px;flex:0 0 24px;place-items:center;font-size:.9rem;display:grid}.choice-panel{gap:10px;margin:20px 0 24px;display:grid}.choice-panel>.control-help{margin:0 0 3px;font-size:.77rem}.choice-panel>button{text-align:left;min-height:56px;color:var(--ink);background:#fff7e8;border:1px solid #bfa086;border-radius:10px;align-items:center;gap:13px;padding:14px;display:flex;box-shadow:0 3px #e8d3b9}.choice-panel>button>span:last-child{overflow-wrap:anywhere;font-size:.92rem}.choice-indicator{background:#fffcf5;border:1px solid #b38d76;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:.85rem;display:grid}.choice-panel>button.is-selected{background:var(--wine);color:var(--paper);border-color:#9a5263;box-shadow:0 3px #411329,0 0 0 3px #d8ac6a44}.choice-panel>button.is-selected .choice-indicator{background:var(--gold);color:var(--wine);border-color:#ffe0a4}.finale-card>p.finale-instructions{color:#ffe7bf;background:#f5ca7914;border:1px solid #d3aa6c88;border-radius:10px;padding:17px;font-size:.92rem;font-weight:600;line-height:1.85}.story-room-label{color:#7c3b3c;align-items:center;gap:10px;margin:20px 0;font-size:.79rem;font-weight:700;display:flex}.story-room-label>svg{color:#ac713b}.chapter-brief{background:#fffbf1;border:1px solid #d3b38e;border-left:4px solid #b7724f;border-radius:12px;margin:0 0 20px;padding:18px 20px}.chapter-brief-top{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;display:flex}.chapter-brief-top>.eyebrow{color:#933e47;margin:0;font-size:.7rem}.chapter-brief-top>span{color:#79616b;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.7rem}.chapter-brief>h2{margin:0 0 10px;font-size:1.5rem}.chapter-brief>p{color:var(--muted-pine);margin:0;font-size:.8rem;line-height:1.75}.chapter-brief details{margin-top:12px}.chapter-brief summary{cursor:pointer;color:#75454a;text-underline-offset:4px;align-items:center;min-height:44px;font-size:.75rem;font-weight:700;text-decoration:underline;display:flex}.chapter-brief details>p{margin:10px 0 0;font-size:.84rem;line-height:1.8}.chapter-break-note{text-align:center;color:var(--muted-pine);margin:20px 10px;font-size:.8rem;line-height:1.7}.room-status-chapter-complete .player-greeting{display:none}.victory-card>.button{margin:8px 5px}.chapter-transition>h1{text-wrap:balance;max-width:650px;margin:0 auto 20px;font-size:clamp(2.1rem,5vw,3.8rem)}.display-chapter-moment{grid-template-columns:1fr 1fr;align-items:center;gap:3vw;padding:35px 0;display:grid}.display-chapter-moment>.chapter-transition{margin:0;padding:45px 32px}.display-chapter-moment>.chapter-transition>h1{font-size:clamp(2.4rem,3.7vw,4.2rem)}.display-chapter-moment .chapter-moment-description{font-size:1rem}.display-chapter-objective{color:#f5d4a1;border-top:1px solid #dfb66f33;max-width:520px;margin:18px 0 0;padding:14px 0;font-size:clamp(.85rem,1vw,1.05rem);line-height:1.75}.display-progress .elapsed{font-variant-numeric:tabular-nums}.display-progress .elapsed>small{font-size:.7rem;font-family:var(--sans);text-align:right;color:#e3c0a1;margin-top:3px;display:block}.scene-railway .village-art{background:linear-gradient(#0000 40%,#13243b44),url(/images/christmas-railway.webp) 50%/cover no-repeat,url(/images/christmas-village.webp) 50%/cover no-repeat}.scene-railway .beacon-shutter,.scene-railway .beacon-magic,.scene-celebration .beacon-shutter{display:none}.scene-railway.world-awaiting-light .village-art{filter:saturate(.85)brightness(.9)}.scene-celebration.world-awaiting-light .village-art{filter:saturate(.95)brightness(.92)}.scene-celebration .beacon-magic{top:52%;left:47%}@media (max-width:850px){.display-chapter-moment{grid-template-columns:1fr;gap:25px;padding-top:28px}.display-chapter-moment>.chapter-transition{padding:36px 26px}.display-chapter-moment>.display-world{width:100%;max-width:650px;margin:auto}}@media (max-width:600px){.chapter-brief{padding:16px 17px}.chapter-brief-top{gap:10px}.chapter-brief-top>span{font-size:.66rem}.display-chapter-objective{font-size:.85rem}.display-chapter-moment .chapter-moment-description{font-size:.9rem}.display-chapter-moment>.chapter-transition>h1{font-size:2.4rem}.order-control li>span.word-token{flex-basis:22px;width:22px}.choice-panel>button>span:last-child{font-size:.88rem}}.public-document{background:var(--paper);min-height:100dvh}.document-nav{background:var(--night);color:var(--paper);border-bottom:1px solid #f5ca7933;justify-content:space-between;align-items:center;gap:24px;padding:23px max(5.5vw,24px);display:flex}.document-nav nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 26px;font-size:.83rem;display:flex}.document-nav nav a{color:#e8cad0;align-items:center;min-height:44px;display:flex}.document-nav nav a:hover{color:var(--gold)}.document-hero{isolation:isolate;color:var(--paper);background:radial-gradient(at 80% 30%,#723047,#251124 70%);border-bottom:1px solid #c99861;padding:80px max(5.5vw,24px) 65px;position:relative;overflow:hidden}.document-hero>div:not(.festive-atmosphere){z-index:1;max-width:1000px;margin:auto;position:relative}.document-hero .eyebrow{color:var(--gold);margin-bottom:20px;font-size:.78rem}.document-hero h1{text-wrap:balance;max-width:850px;font-size:clamp(2.7rem,5.5vw,5rem)}.document-hero>div>p:last-child{color:#ead2d9;max-width:680px;margin:25px 0 0;font-size:1.03rem;line-height:1.85}.document-hero-art:before{content:"";z-index:-1;opacity:.8;background:linear-gradient(90deg,#281026 10%,#281026db 42%,#28102630),url(/images/christmas-village.webp) 100%/cover;position:absolute;inset:0}.document-article{color:#4e3844;max-width:950px;margin:0 auto;padding:58px 42px 75px;font-size:1rem;line-height:1.85}.document-article>h2,.document-article>section>h2{color:var(--ink);max-width:740px;margin:48px 0 20px;font-size:2rem}.document-article>h2:first-child{margin-top:0}.document-article p,.document-article li{max-width:76ch}.document-article p{margin:0 0 22px}.document-article a:not(.button){color:#9c2c40;text-underline-offset:4px;text-decoration:underline}.document-article ul,.document-article ol{margin:15px 0 25px;padding-left:24px}.document-article li{margin-bottom:12px;padding-left:5px}.document-article code{color:#6e3e42;overflow-wrap:anywhere;background:#f0dfcd;border:1px solid #dec6af;border-radius:4px;padding:2px 5px;font-size:.85em}.document-facts{flex-wrap:wrap;gap:10px 12px;margin:0 0 27px;display:flex}.document-facts>span{color:#78474a;background:#fffbef;border:1px solid #d5b791;border-radius:24px;align-items:center;min-height:35px;padding:7px 13px;font-size:.79rem;font-weight:600;display:inline-flex}.document-caption{color:#826870;font-size:.8rem;line-height:1.8}.public-play-action{margin:25px 0}.public-play-action .button{min-height:54px}.public-play-action>.error-message{max-width:580px}.document-table-wrap{background:#fffaf0;border:1px solid #d3b69a;border-radius:12px;margin:25px 0;overflow-x:auto}.document-table-wrap table{border-collapse:collapse;width:100%;min-width:450px;font-size:.88rem;line-height:1.8}.document-table-wrap th,.document-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #e0cab2;border-right:1px solid #e0cab2;padding:17px 20px}.document-table-wrap tr:last-child td,.document-table-wrap tr:last-child th{border-bottom:0}.document-table-wrap th:last-child,.document-table-wrap td:last-child{border-right:0}.document-table-wrap th{color:#693242;background:#f3e2ca;font-weight:700}.document-table-wrap th:first-child{min-width:140px}.document-faq{border-top:1px solid #d8bea5;padding:0}.document-faq:last-of-type{border-bottom:1px solid #d8bea5}.document-faq>summary{color:#69303f;cursor:pointer;min-height:56px;padding:19px 4px;font-weight:700;line-height:1.7}.document-faq>p{color:#66505b;padding:0 20px 3px 4px;font-size:.93rem}.document-closing{background:#fff0d8;border:1px solid #d2ac7e;border-radius:16px;margin-top:45px;padding:32px}.document-closing>h2{font-size:2rem}.document-closing>p{font-size:.93rem}.document-closing>.public-play-action{margin-bottom:20px}.document-notice{background:#fff0d3;border:1px solid #bd8d51;border-left:4px solid #af653c;border-radius:8px;margin-bottom:35px;padding:20px 22px;line-height:1.8}.document-notice>strong{color:#7d3d30;font-size:.9rem}.document-notice>p{color:#795442;margin:8px 0 0;font-size:.85rem}.document-date{color:#897078;font-size:.8rem}.document-setup-steps{counter-reset:setup;list-style:none;margin:40px 0!important;padding:0!important}.document-setup-steps>li{counter-increment:setup;border-bottom:1px solid #d8bea5;margin-bottom:30px;padding:0 0 22px 64px;position:relative}.document-setup-steps>li:before{content:counter(setup);width:41px;height:41px;font-family:var(--serif);color:#7f2b3c;background:#f1dec5;border:1px solid #ba9676;border-radius:50%;place-items:center;font-size:1.4rem;display:grid;position:absolute;top:0;left:0}.document-setup-steps h2{color:var(--ink);margin:0 0 20px;font-size:1.9rem}.document-footer{background:var(--night);color:#ddc0cd;border-top:1px solid #b7865b66;justify-content:space-between;align-items:flex-start;gap:30px;padding:32px max(5.5vw,24px);font-size:.78rem;display:flex}.document-footer>a{color:var(--gold);align-items:center;min-height:44px;display:flex}.document-footer>nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;max-width:680px;display:flex}.document-footer>nav>a{align-items:center;min-height:44px;display:flex}.document-footer>nav>a:hover{color:var(--gold)}@media (max-width:650px){.document-nav{align-items:flex-start;gap:18px;padding:20px}.document-nav>.brand{font-size:1.4rem}.document-nav .brand-mark{width:32px;height:37px}.document-nav nav{gap:0 14px;font-size:.74rem}.document-nav .brand-sub{letter-spacing:.12em;font-size:.4rem}.document-hero{padding:60px 24px 45px}.document-hero h1{font-size:2.75rem}.document-hero>div>p:last-child{font-size:.94rem;line-height:1.8}.document-hero-art:before{background:linear-gradient(90deg,#281026df,#281026bb),url(/images/christmas-village.webp) 50%/cover}.document-article{padding:35px 22px 55px;font-size:.96rem}.document-article>h2,.document-article>section>h2{margin-top:36px;font-size:1.8rem}.document-table-wrap{margin-inline:-4px}.document-table-wrap th,.document-table-wrap td{padding:13px 14px}.document-table-wrap table{min-width:0;font-size:.8rem}.document-table-wrap th:first-child{min-width:0}.document-facts{gap:8px}.document-facts>span{padding:7px 10px;font-size:.73rem}.public-play-action>.button{width:100%}.document-setup-steps>li{padding-top:55px;padding-left:0}.document-setup-steps>li:before{top:0}.document-setup-steps h2{font-size:1.75rem}.document-notice{padding:17px}.document-closing{padding:24px 20px}.document-footer{flex-direction:column;gap:12px;padding:25px}.document-footer>nav{justify-content:flex-start;gap:5px 20px}.document-footer>nav>a{font-size:.74rem}}@media (max-width:370px){.document-nav{gap:12px;padding:18px 15px}.document-nav>.brand{font-size:1.25rem}.document-nav nav{font-size:.7rem}.document-hero h1{font-size:2.5rem}}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:640px}.scene-celebration .village-art{background-position:50%,50%,43% 55%}.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}@media (max-width:850px){.site-footer nav{justify-content:flex-start;max-width:none}}.room-stage{background:radial-gradient(ellipse at 75% 30%,#68253c55,transparent 55%),var(--night,#170f23);color:var(--paper,#fff6e9);border:1px solid #f5ca7933;border-radius:20px;margin:0 0 24px;padding:44px clamp(20px,4vw,48px)}.room-body{grid-template-columns:auto 1fr;align-items:center;gap:clamp(28px,6vw,80px);display:grid}.room-join{align-items:center;gap:30px;display:flex}.room-join .scan{color:#f3d2b0;letter-spacing:.02em;margin:0 0 4px;font-size:1.15rem}.room-join .big-room-code{margin:0;font-size:clamp(2.6rem,6vw,4.6rem)}.room-side{min-width:0}.room-lede{color:#eee0d4;margin:0 0 20px;font-size:1.2rem;line-height:1.6}.room-until{font-family:var(--serif);margin:0 0 12px;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.2}.room-until.is-warn{color:#d47f76}.room-warn{color:#d47f76;margin:-4px 0 12px;font-size:1.05rem;font-weight:700}.room-meter{background:#f5ca7926;border-radius:6px;max-width:420px;height:6px;margin-bottom:30px;overflow:hidden}.room-meter i{background:var(--brass,#f5ca79);border-radius:6px;height:100%;display:block}.room-meter.is-warn i{background:#d47f76}.room-roster-label{color:#ead2d0;margin:0 0 14px;font-size:.85rem}.room-side .display-members{min-height:0;margin:0 0 26px;padding:0;list-style:none}.room-side .display-member{min-width:150px}.room-side .display-member small{color:#ead2d0;margin-left:auto;font-size:.78rem}.room-start{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.room-start .button[aria-disabled=true]{cursor:not-allowed;opacity:.5}.room-need{color:#eee0d4;margin:0;font-size:14px}.room-error{color:#ffd1d1;margin:12px 0 0}@media (min-width:900px){.room-stage-wrap{width:min(1120px,100vw - 48px);position:relative;left:50%;transform:translate(-50%)}}@media (max-width:900px){.room-body{grid-template-columns:1fr}.room-join{flex-wrap:wrap}}.phone-host-note{margin:0 0 24px}.phone-host-note .button{width:100%}.hero h1.hero-title{text-wrap:balance;max-width:14em;font-size:clamp(2.6rem,4.5vw,4.15rem);line-height:1.08}a.button[aria-disabled=true]{cursor:not-allowed;opacity:.5}.document-closing .button{margin:0 12px 12px 0}
