.phone-page{max-width:600px;padding:0 0 max(24px,env(safe-area-inset-bottom));min-height:100dvh}.phone-banner{aspect-ratio:620/337;background:#eee7d9;width:100%;position:relative;overflow:hidden}.phone-banner img{width:100%;height:auto;display:block}.phone-page .card{border-radius:0 0 24px 24px;margin:0 12px;padding:26px 18px}.phone-page .inputrow{flex-direction:column;gap:12px}.phone-page input,.phone-page .inputrow button{width:100%;min-height:56px;font-size:18px}.phone-page h2{font-size:32px}.phone-page .card>p{margin-bottom:24px;line-height:1.5}.phone-page .match{align-items:center;min-height:60px;line-height:1.4}.phone-page .match span{flex-shrink:0}.phone-page .result{padding:24px 12px;scroll-margin:20px}.phone-page .table-number{color:#8d6424;font-size:clamp(110px,38vw,190px)}.phone-page .guest{font-size:28px}.phone-page footer{margin:24px 12px}.phone-page .hint{font-size:14px}.phone-page .secondary{width:100%}.phone-map{border-top:1px solid #d4c8b0;margin:24px -4px 12px;padding-top:20px}.phone-map h2{font-size:26px}.phone-map>p{font-size:14px;line-height:1.5}.phone-map-scroll{background:#f8f5ee;border-radius:12px;max-width:100%;overflow-x:auto}.phone-map .floor-image{margin:0}.phone-map .table-highlight{border-width:2px;font-size:clamp(12px,3.6vw,22px);box-shadow:0 0 0 3px #d2a84499}.phone-map .map-zoom{min-height:44px;margin:0 0 12px;padding:10px 16px;font-size:14px}.phone-page .result>.guest-photo{width:100px;height:100px;margin:0 auto 16px}.phone-page .result>.guest-photo img{display:block}.phone-page .secondary{color:#fff;background:#405c49;border-radius:16px;width:100%;min-height:80px;margin-top:24px;padding:20px 14px;font-size:32px;font-weight:700;line-height:1.2;text-decoration:none;display:block;box-shadow:0 5px 16px #344c4020}.phone-page .secondary:hover{background:#304b39}.phone-has-result .phone-banner,.phone-has-result .card>h2,.phone-has-result .card>p,.phone-has-result .card>form{display:none}.phone-has-result .card{border-radius:24px;margin-top:12px;padding-top:12px}.phone-has-result .result{margin-top:0}:root{color:#344c40;font-synthesis:none;background:#f8f5ee;font-family:Arial,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}main{text-align:center;max-width:860px;margin:auto;padding:48px 24px}.eyebrow{letter-spacing:2.5px;color:#687561;margin-bottom:28px;font-size:10px}.welcome{margin-bottom:12px;font-size:18px}h1{margin:0 0 24px;font:clamp(38px,7vw,66px) Georgia,serif}h1 em{color:#ad9572}.date{letter-spacing:2px;font-size:11px}.rule{border-bottom:1px solid #d8d6c5;width:120px;margin:30px auto}.card{background:#fffefa;border:1px solid #e7e6dc;border-radius:24px;padding:32px;box-shadow:0 12px 40px #44543808}h2{margin:0 0 12px;font:32px Georgia,serif}.card>p{color:#687561;margin-bottom:28px}label{text-align:left;margin-bottom:10px;font-size:14px;font-weight:700;display:block}.inputrow{gap:10px;display:flex}input{color:#344c40;background:#fafbf7;border:1px solid #b6c2b1;border-radius:12px;flex:1;min-width:0;padding:18px 14px;font-size:17px}button{color:#fff;cursor:pointer;background:#405c49;border:0;border-radius:12px;min-height:52px;padding:18px 20px;font-size:16px}button:disabled{opacity:.65;cursor:wait}button:hover{background:#304b39}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ad9572}.secondary{color:#405c49;background:0 0;margin-top:16px;text-decoration:underline}.secondary:hover{background:#edf1e7}.match{color:#344c40;text-align:left;background:#edf1e7;justify-content:space-between;gap:10px;width:100%;margin-top:12px;display:flex}.match:hover{background:#e0e8d6}.match span{font-size:13px}.result{background:#eee7d9;border-radius:16px;margin-top:28px;padding:25px}.result small{letter-spacing:2px;margin-top:20px;display:block}.table-number{overflow-wrap:anywhere;margin:10px 0;font:700 clamp(130px,24vw,210px)/1.05 Georgia,serif}.guest{overflow-wrap:anywhere;font:26px Georgia,serif}.hint{margin-top:24px;line-height:1.6}footer{color:#687561;margin-top:28px;font:italic 18px Georgia,serif}a{color:#405c49}.qr{width:100%;max-width:330px;height:auto}.actions{justify-content:center;gap:20px;margin-top:24px;display:flex}@media (width<=560px){main{padding:32px 16px}.card{padding:24px 18px}.inputrow{flex-direction:column}h1{font-size:42px}.date{font-size:10px}}@media print{.actions{display:none}body{background:#fff}main{padding-top:50px}.card{box-shadow:none}}.tv{background:#f8f5ee;justify-content:center;align-items:center;width:100%;height:100dvh;display:flex;overflow:hidden}.poster{aspect-ratio:1672/941;width:min(100vw,177.68vh);position:relative}.poster-photo{object-fit:contain;width:100%;height:100%;display:block}.poster-qr{object-fit:contain;background:#fff;width:13.2%;height:21.7%;padding:.25%;position:absolute;top:65.2%;left:17.4%}.fullscreen{z-index:5;opacity:.15;min-height:0;padding:10px;font-size:12px;position:fixed;top:12px;right:12px}.fullscreen:hover,.fullscreen:focus{opacity:1}.tv-split{grid-template-columns:36% 64%;align-items:center;width:100%;height:100%;display:grid}.tv-greeting{text-align:center;padding:3vw}.tv-greeting h1{overflow-wrap:anywhere;font-size:clamp(28px,4vw,76px)}.tv-number{color:#8d6424;margin:10px 0 25px;font:700 clamp(100px,15vw,290px)/1 Georgia,serif}.tv-greeting>p{letter-spacing:2px}.tv-greeting .tv-caption{letter-spacing:0;font-size:14px}.tv-map{text-align:center;padding:2vw}.tv-map h2{font-size:3vw}.floor-image{width:100%;margin:25px 0;position:relative}.floor-image>img{width:100%;display:block}.table-highlight{aspect-ratio:1;color:#213c2a;background:#d2a844;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:7%;font:700 2.3vw Georgia,serif;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #d2a84499}.tv-offline{color:#503b1e;background:#fff5d9;border-radius:10px 10px 0 0;padding:10px 20px;font-size:14px;position:fixed;bottom:0}@media (aspect-ratio<=1){.tv-split{grid-template-columns:1fr;overflow:auto}.tv-greeting{padding:20px}.tv-greeting h1{font-size:32px}.tv-number{font-size:100px}.tv-map h2{font-size:28px}.tv-map{padding:20px}.table-highlight{font-size:4vw}.tv-greeting img{display:none}}.music-control{z-index:6;position:fixed;bottom:14px;left:14px}.music-control button{background:#344c40e8;min-height:40px;padding:10px 15px;font-size:13px;box-shadow:0 2px 12px #0002}.music-control span{background:#fffefa;padding:6px;font-size:12px;display:block}.coffee-steam{pointer-events:none;width:6%;height:12%;position:absolute;top:66%;left:43%}.coffee-steam i{filter:blur(2px);opacity:0;border-left:3px solid #fff9;border-radius:50%;width:26%;height:80%;animation:4.8s ease-in-out infinite coffee-rise;position:absolute;bottom:0}.coffee-steam i:nth-child(2){height:95%;animation-delay:-1.6s;left:34%}.coffee-steam i:nth-child(3){animation-delay:-3.2s;left:65%}.garland-sparkles{pointer-events:none;width:12%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.garland-sparkles i{opacity:0;background:#ffe6a0;border-radius:50%;width:5px;height:5px;animation:linear infinite sparkle-fall;position:absolute;top:-2%;box-shadow:0 0 7px 2px #fff4ce}.garland-sparkles i:nth-child(3n){clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);width:8px;height:8px}@keyframes coffee-rise{0%{opacity:0;transform:translateY(15%)scale(.6)}35%{opacity:.7}to{opacity:0;transform:translate(-20%,-70%)scale(1.3)}}@keyframes sparkle-fall{0%{opacity:0;transform:translate(0)}12%{opacity:.85}70%{opacity:.7}to{opacity:0;transform:translate(18px,95vh)}}@media (prefers-reduced-motion:reduce){.coffee-steam,.garland-sparkles{display:none}}.coffee-steam.steam-cup{width:5.6%;height:14.8%;top:63.8%;left:43.7%}.coffee-steam.steam-pot{width:5.4%;height:14.4%;top:55.7%;left:38.2%}.coffee-steam svg{opacity:0;filter:blur(1.2px)drop-shadow(0 1px 2px #88704a55);width:48%;height:100%;animation:5s ease-out infinite steam-curl;position:absolute;bottom:0;left:0;overflow:visible}.coffee-steam svg:nth-child(2){height:87%;animation-delay:-1.7s;left:26%}.coffee-steam svg:nth-child(3){height:95%;animation-delay:-3.4s;left:51%}.coffee-steam path{fill:none;stroke:#fffdf2;stroke-width:4.2px;stroke-linecap:round}.steam-pot svg{animation-duration:5.8s}.steam-pot svg:nth-child(2){animation-delay:-2s}.steam-pot svg:nth-child(3){animation-delay:-4s}@keyframes steam-curl{0%{opacity:0;transform:translateY(8%)scaleX(.75)}18%{opacity:.8}55%{opacity:.62}to{opacity:0;transform:translate(-12%,-38%)scaleX(1.35)}}.guest-photo{background:#e8e9df;border:3px solid #c8ab70;border-radius:50%;width:clamp(90px,18vh,210px);height:clamp(90px,18vh,210px);margin:0 auto 1.5vh;position:relative;overflow:hidden;box-shadow:0 6px 25px #67573618}.guest-photo svg{fill:#98a18d;width:100%;height:100%}.guest-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.tv-greeting h1{margin:1vh 0;font-size:clamp(26px,3.2vw,60px)}.tv-greeting>p{margin:1vh 0}.tv-number{margin:0 0 1vh;font-size:clamp(80px,19vh,220px)}.tv-greeting>img{width:9vh;min-width:56px;height:9vh;min-height:56px}@media (aspect-ratio<=1){.guest-photo img{display:block}.guest-photo{width:110px;height:110px}}.tv-split{grid-template-columns:44% 56%}.tv-greeting{padding:1vh 2vw}.tv-greeting .guest-photo{width:14vh;height:14vh;margin-bottom:1vh}.tv-greeting h1{font-size:clamp(24px,2.7vw,52px);line-height:1.05}.tv-number{letter-spacing:-.04em;margin:1vh 0 0;font-size:clamp(240px,57vh,660px);line-height:.85}.tv-greeting .eyebrow{font-size:12px}@media (aspect-ratio<=1){.tv-split{grid-template-columns:1fr}.tv-number{font-size:min(57vh,65vw)}.tv-greeting .guest-photo{width:110px;height:110px}}
