.home{min-height:100dvh;padding-bottom:calc(24px + var(--safe-b));background:var(--nn-table);flex-direction:column;align-items:center;display:flex;position:relative}.home-corner{top:calc(6px + var(--safe-t));right:calc(max(0px, (100% - 1400px) / 2) + 6px + var(--safe-r));z-index:5;color:var(--nn-ivory);display:flex;position:absolute}.home-corner .icon-btn{background:#1f4a3dc7;border-radius:50%;margin-left:4px}.hero{aspect-ratio:16/9;width:100%;max-width:1400px;max-height:64vh;position:relative;overflow:hidden}.hero-img img{object-fit:cover;object-position:50% 60%;width:100%;height:100%}.hero-img{object-fit:cover;object-position:50% 60%;width:100%;height:100%;position:absolute;inset:0}.hero-fallback{background:var(--nn-table);position:absolute;inset:0}.hero-crest{filter:drop-shadow(0 6px 14px #0000002e);place-items:center;width:min(46vw,230px);display:grid;position:absolute;top:6%;left:50%;transform:translate(-50%)}.hero-crest .crest{width:100%}@media (width<=640px),(orientation:portrait) and (width<=1100px){.hero{aspect-ratio:auto;height:min(125vw,100dvh - 262px);min-height:300px;max-height:none}.hero-img,.hero-img img{object-position:50% 35%}.hero-crest{width:clamp(116px,33vw,230px);top:calc(8px + var(--safe-t))}}.hero:has(.hero-fallback){aspect-ratio:auto;height:min(46vh,340px)}.hero:has(.hero-fallback) .hero-crest{top:50%;transform:translate(-50%,-50%)}.home-body{text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(100%,380px);padding:18px 16px 0;display:flex}.tagline{color:var(--nn-ivory);letter-spacing:.01em;margin:0 0 6px;font-size:1.05rem;font-weight:600}.home-actions{flex-direction:column;gap:10px;width:100%;display:flex}.home-btn{width:100%}.home-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.home-pair .home-btn{padding-left:10px;padding-right:10px}.home-btn.offline{opacity:.6}.resume-hole{border-radius:var(--nn-radius-pill);background:#f4ebd926;margin-left:4px;padding:1px 8px;font-size:.85rem}.join-link{font-size:.95rem}.lobby,.center-screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.lobby-card{text-align:center;width:min(100%,460px);box-shadow:inset 0 3px 0 var(--nn-gold), var(--nn-shadow-lg);padding:22px 20px 16px}.lobby-code{letter-spacing:.12em;color:var(--nn-ink);margin:0;font-size:clamp(3.2rem,18vw,4.4rem);line-height:1}.invite{justify-content:center;align-items:center;gap:6px;margin:12px 0 18px;display:flex}.share-btn{color:var(--nn-ink-soft)}.seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.seat{background:#e6d8bc73;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:92px;padding:10px 4px 8px;display:flex;position:relative}.seat.me{box-shadow:inset 0 0 0 1.5px var(--nn-gold)}.seat.away{opacity:.55}.seat-name{max-width:100%;color:var(--nn-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:800;overflow:hidden}.seat-tag{color:var(--nn-ink-soft);font-size:.72rem;font-weight:700}.seat-x{width:26px;height:26px;color:var(--nn-ink-soft);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.seat-x:hover{background:#1b1a2e14}.seat.open{box-shadow:inset 0 0 0 1.5px var(--nn-ivory-deep);background:0 0;justify-content:center}.seat.open.pulse{animation:1.8s ease-in-out infinite seat-pulse}@keyframes seat-pulse{50%{box-shadow:inset 0 0 0 1.5px var(--nn-gold)}}.seat-add{border:1.5px dashed var(--nn-limestone);width:48px;height:48px;color:var(--nn-ink-soft);background:0 0;border-radius:50%;place-items:center;display:grid}.seat-add:hover:not(:disabled){border-color:var(--nn-gold-dark);color:var(--nn-ink)}.level-pop{z-index:10;min-width:120px;box-shadow:var(--nn-shadow-lg);animation:pop-in .16s var(--ease-out) both;background:#fff;border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% - 6px);left:50%;transform:translate(-50%)}.level-btn{min-height:40px;color:var(--nn-ink);background:0 0;border:0;border-radius:8px;font-weight:800}.level-btn:hover{background:var(--nn-ivory)}.lobby-holes{margin-bottom:14px}.lobby-wait{color:var(--nn-ink-soft);justify-content:center;align-items:center;gap:10px;margin:6px 0 4px;font-weight:700;display:flex}.lobby-wait .spinner{border-color:#1b1a2e26;border-top-color:var(--nn-gold-dark)}.lobby-foot{justify-content:center;gap:18px;margin-top:10px;display:flex}.gate{width:min(100%,400px);box-shadow:inset 0 3px 0 var(--nn-gold), var(--nn-shadow-lg)}.gate-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 20px 18px;display:flex}.gate-inner .field{text-align:left;width:100%}.gate-title{font-family:var(--nn-font-mark);letter-spacing:.04em;color:var(--nn-ink);margin:0;font-size:1.5rem;font-weight:700}.gate-inner p{color:var(--nn-ink-soft);margin:0}.finding{flex-direction:column;align-items:center;gap:14px;font-weight:700;display:flex}.conn-bar{left:50%;bottom:calc(12px + var(--safe-b));z-index:90;border-radius:var(--nn-radius-pill);background:var(--nn-ink);color:var(--nn-ivory);box-shadow:var(--nn-shadow-lg);align-items:center;gap:8px;padding:10px 16px;font-weight:800;display:flex;position:fixed;transform:translate(-50%)}.table-screen{height:100dvh;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);background:var(--nn-table);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template:"top""opp"minmax(0,1fr)"center""mine"/minmax(0,1fr);display:grid;position:relative;overflow:hidden}.table-screen>section{justify-self:center;width:min(100%,1180px)}.topbar{height:50px;color:var(--nn-on-table);border-bottom:1px solid var(--nn-table-line);grid-area:top;align-items:center;gap:2px;padding:0 6px;display:flex}.topbar-lockup{color:var(--nn-ivory);letter-spacing:.12em;align-items:center;gap:8px;margin-left:4px;font-size:.95rem;display:none}@media (width>=900px){.topbar-lockup{display:inline-flex}}.lockup-img{width:auto;height:28px}.topbar-mid{flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.hole-chip{border-radius:var(--nn-radius-pill);background:var(--nn-table-raised);min-height:40px;color:var(--nn-ivory);border:0;align-items:center;gap:8px;padding:3px 12px 3px 4px;display:inline-flex;position:relative}.hole-count{font-size:1.1rem;line-height:1}.hole-tip{z-index:50;background:var(--nn-ivory);color:var(--nn-ink);white-space:nowrap;box-shadow:var(--nn-shadow-lg);animation:pop-in .16s var(--ease-out) both;border-radius:10px;padding:6px 12px;font-size:.85rem;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.room-tag{font-family:var(--nn-font-numeral);letter-spacing:.14em;color:var(--nn-on-table-soft);font-size:.85rem;font-weight:600}.help-btn{font-family:var(--nn-font-numeral);font-size:1.2rem;font-weight:900}.opponents{grid-area:opp;place-content:center;gap:10px 8px;min-height:0;padding:10px 12px 6px;display:grid}.tile{border-radius:var(--nn-radius-md);background:var(--nn-table-raised);min-width:0;color:var(--nn-on-table);flex-direction:column;align-items:center;gap:6px;padding:7px 8px 9px;transition:box-shadow .2s;display:flex;position:relative}.tile.active{box-shadow:0 0 0 2.5px var(--nn-gold), 0 0 16px #d9a33b4d}.tile.out-of-hole,.tile.away{opacity:.55}.tile-head{align-items:center;gap:7px;width:100%;min-width:0;display:flex}.tile-medal{place-items:center;display:grid;position:relative}.drain-ring{pointer-events:none;width:calc(100% + 10px);height:calc(100% + 10px);position:absolute;inset:-5px;transform:rotate(-90deg)}.drain-ring circle{fill:none;stroke:var(--nn-ivory);stroke-width:2px;stroke-dasharray:100.5;stroke-linecap:round;animation-name:drain;animation-timing-function:linear;animation-fill-mode:both}@keyframes drain{0%{stroke-dashoffset:calc((1 - var(--start,1)) * 100.5)}to{stroke-dashoffset:100.5px}}.tile-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.88rem;font-weight:700;overflow:hidden}.tile-total{color:var(--nn-ivory);font-size:1.15rem;line-height:1}.tile-badge{background:var(--nn-table-raised);min-width:18px;height:18px;color:var(--nn-ivory);border-radius:9px;place-items:center;padding:0 2px;display:grid;position:absolute;bottom:-5px;right:-7px}.tile-badge.flag{background:0 0;bottom:-3px;right:-9px}.tile-badge.clock{background:var(--nn-ink);color:var(--nn-gold-light);padding:0 5px;font-size:.68rem;bottom:-10px;left:50%;right:auto;transform:translate(-50%)}.tile-spin{border-color:#f4ebd933;border-top-color:var(--nn-ivory);width:12px;height:12px}.tile.compact{gap:4px;padding:5px 6px 7px}.tile.compact .tile-name{font-size:.78rem}.tile.compact .tile-total{font-size:.95rem}.tile-grid{gap:3px;display:flex}.tile-col{--pf-r:calc(var(--mini) * .12 + 1px);--pf-inset:-1px;--pf-w:clamp(1.5px, calc(var(--mini) * .045), 3px);flex-direction:column;gap:3px;display:flex;position:relative}.tile-col.paired .mini-cell.up{background:color-mix(in srgb, var(--nn-ivory) 80%, var(--nn-jade))}.sticker-pop{z-index:30;background:var(--nn-ivory);width:64px;height:64px;box-shadow:var(--nn-shadow-lg);animation:sticker 2s var(--ease-out) both;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-14px;left:50%;transform:translate(-50%)}@keyframes sticker{0%{opacity:0;transform:translate(-50%)scale(.4)}12%{opacity:1;transform:translate(-50%)scale(1.08)}20%{transform:translate(-50%)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-8px)}}.me-sticker{top:auto;bottom:calc(100% + 6px);left:30px}.sticker-wrap{position:relative}.sticker-toggle{color:var(--nn-on-table)}.sticker-tray{z-index:40;background:var(--nn-ivory);box-shadow:var(--nn-shadow-lg);animation:pop-in .16s var(--ease-out) both;border-radius:18px;gap:4px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.sticker-btn{background:0 0;border:0;border-radius:14px;place-items:center;width:56px;height:56px;padding:0;display:grid}.sticker-btn:hover:not(:disabled){background:var(--nn-ivory-deep)}.sticker-btn:disabled{opacity:.4}.center{flex-direction:column;grid-area:center;align-items:center;gap:6px;padding:8px 12px 2px;display:flex}.piles{justify-content:center;align-items:center;gap:clamp(14px,6vw,40px);display:flex}.pile{border-radius:calc(var(--pw) * .07);transition:transform .18s var(--ease-out), box-shadow .18s, filter .18s;background:0 0;border:0;padding:0;position:relative}.pile.target,.slot.target{box-shadow:var(--nn-glow);animation:1.6s ease-in-out infinite breathe;transform:translateY(-4px)}@keyframes breathe{50%{box-shadow:0 0 0 3px var(--nn-gold-light), 0 0 20px #f2c766d9}}.pile.target:hover{transform:translateY(-6px)}.pile.dim,.slot.dim{filter:brightness(.7)}.deck-layer{border-radius:calc(var(--pw) * .07);background:var(--nn-lapis-deep);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #d9a33b80}.deck-layer.l1{transform:translate(2px,2px)}.deck-layer.l2{transform:translate(4px,4px)}.pile-empty{width:var(--pw);height:calc(var(--pw) * 1.5);border-radius:calc(var(--pw) * .07);border:1.5px dashed var(--nn-table-line);display:block}.discard .under{filter:brightness(.85);position:absolute;top:0;left:0;transform:rotate(-5deg)translate(-3px,2px)}.discard .top{position:relative}.discard-drop{border-radius:calc(var(--pw) * .07);background:var(--nn-ivory);color:var(--nn-ink);font-weight:800;font-size:clamp(.72rem, calc(var(--pw) * .16), 1.2rem);box-shadow:inset 0 0 0 1.5px var(--nn-gold-dark), inset 0 0 0 5px var(--nn-ivory), inset 0 0 0 6px #9c702073;animation:pop-in .2s var(--ease-out) both;flex-direction:column;justify-content:center;align-items:center;gap:6px;line-height:1.1;display:flex}.discard-drop-ic{width:clamp(30px, calc(var(--pw) * .42), 72px);height:clamp(30px, calc(var(--pw) * .42), 72px);background:var(--nn-gold-light);color:var(--nn-ink);border-radius:50%;place-items:center;display:grid}.pile.discard.drop:active{transform:translateY(-1px)scale(.98)}.held{width:var(--hw);height:calc(var(--hw) * 1.5);place-items:center;display:grid;position:relative}.held-empty{border-radius:calc(var(--hw) * .07);border:1.5px dashed var(--nn-table-line);width:100%;height:100%}.flatcard.lifted{transform:translateY(-6px);box-shadow:0 10px 24px #0006,0 3px 6px #00000040}.keep-hidden{width:min(var(--hw), 96px);aspect-ratio:1;background:var(--nn-ivory);color:var(--nn-ink);box-shadow:var(--nn-glow);animation:pop-in .2s var(--ease-out) both, breathe 1.6s .2s ease-in-out infinite;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:800;line-height:1.1;display:flex}.keep-hidden-ic{display:grid}.status-line{place-items:center;height:24px;margin-top:2px;display:grid}.status-text{color:var(--nn-on-table);white-space:nowrap;animation:status-in .25s var(--ease-out) both;align-items:center;gap:8px;font-size:.95rem;font-weight:800;display:inline-flex}@keyframes status-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.mine{flex-direction:column;grid-area:mine;align-items:center;padding:4px 12px 6px;display:flex;position:relative}.mygrid{justify-content:center;gap:10px;padding-top:6px;display:flex;position:relative}.col{flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.slot{border-radius:calc(var(--cw) * .07);transition:transform .18s var(--ease-out), filter .18s, box-shadow .18s;background:0 0;border:0;padding:0;position:relative}.slot.target:hover{transform:translateY(-6px)}.slot.rock{animation:1.6s ease-in-out infinite breathe,.5s ease-in-out rock}@keyframes rock{25%{rotate:-2deg}75%{rotate:2deg}}.slot.aimed{box-shadow:0 0 0 3px var(--nn-gold), 0 0 16px #d9a33bb3;animation:none}.slot.flash:after{content:"";border-radius:inherit;pointer-events:none;background:#ffffffb3;animation:1.2s ease-out both flash-out;position:absolute;inset:0}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.slot.dealing{animation:deal .42s var(--ease-out) both;animation-delay:calc(var(--i) * 60ms)}@keyframes deal{0%{opacity:0;transform:translateY(-60px)rotate(-8deg)scale(.8)}to{opacity:1;transform:none}}.ghost{opacity:.6;pointer-events:none;animation:.12s both fade-in;position:absolute;inset:0}.ghost .flatcard{box-shadow:none}.col-cards{--pf-r:calc(var(--cw) * .07 + 4px);--pf-inset:-4px;--pf-w:2.5px;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.pair-frame{inset:var(--pf-inset,-3px);border:var(--pf-w,2px) solid var(--nn-gold);border-radius:var(--pf-r,8px);pointer-events:none;transition:transform .18s var(--ease-out);position:absolute}.pair-frame:before{content:"";border-radius:inherit;mix-blend-mode:multiply;background:#2f8f6e33;position:absolute;inset:0}.tile-col .pair-frame,.tile-col.paired:after{display:none}.tile-col.paired:before{content:"";inset:var(--pf-inset);z-index:3;border:var(--pf-w) solid var(--nn-gold);border-radius:var(--pf-r);pointer-events:none;position:absolute}.m5 .pair-frame,.minusFivePair .pair-frame,.tile-col.paired.m5:before{box-shadow:inset 0 0 0 1.5px var(--nn-table), inset 0 0 0 2.5px var(--nn-gold-light), 0 0 10px #f2c76673}.he-col .pair-frame,.htp-col .pair-frame{border-radius:var(--pf-r);border-width:2px;inset:-3px}.he-col.minusFivePair .pair-frame{box-shadow:inset 0 0 0 1.5px var(--nn-ivory), inset 0 0 0 2.5px var(--nn-gold)}.col-cards:has(.slot.target) .pair-frame{transform:translateY(-4px)}.col-cards:has(.slot.dim) .pair-frame{filter:brightness(.7)}.col.forming .pair-frame,.tile-col.forming:before{animation:pair-form .5s var(--ease-out) var(--form-delay,0s) both}.col.forming .pair-frame:after,.tile-col.forming:after{content:"";border-radius:inherit;animation:pair-shimmer .9s ease-out calc(var(--form-delay,0s) + .15s) both;background:linear-gradient(115deg,#0000 30%,#fff6d6d9 48%,#f2c76680 54%,#0000 70%) 0 0/250% 100% no-repeat;position:absolute;inset:0}.tile-col.forming:after{inset:var(--pf-inset);z-index:4;pointer-events:none;display:block}.col.forming .chip{animation:pop-in .25s var(--ease-out) var(--form-delay,0s) both}@keyframes pair-form{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes pair-shimmer{0%{opacity:1;background-position:120% 0}80%{opacity:1}to{opacity:0;background-position:-60% 0}}.chip{min-width:calc(var(--cw) * .5);border-radius:var(--nn-radius-pill);height:20px;font-family:var(--nn-font-numeral);text-align:center;white-space:nowrap;color:var(--nn-ivory);padding:0 7px;font-size:.82rem;font-weight:900;line-height:20px}.chip.sum{background:var(--nn-table-raised);animation:.2s both pop-in}.chip.pair{background:var(--nn-jade);color:#fff;animation:.2s both pop-in}.chip.m5pair{background:var(--nn-gold);color:var(--nn-ink);animation:.2s both pop-in}.chip.none{visibility:hidden}.col.paired .chip{z-index:4;box-shadow:0 0 0 2px var(--nn-gold);position:relative;transform:translateY(-1px)}.chip.bonus{outline:1.5px dashed var(--nn-gold-light);outline-offset:2px}.mebar{z-index:20;border-radius:var(--nn-radius-pill);background:var(--nn-table-raised);align-items:center;gap:10px;width:min(100%,460px);min-height:46px;margin-top:4px;padding:0 4px 0 8px;transition:box-shadow .2s;display:flex;position:relative}.mine.active .mebar{box-shadow:0 0 0 2.5px var(--nn-gold)}.mebar-medal{display:grid;position:relative}.mebar-clock{color:var(--nn-gold-light);font-size:.75rem;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.mebar-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;font-weight:800;overflow:hidden}.mebar-total{background:var(--nn-table);min-width:38px;height:38px;box-shadow:inset 0 0 0 2px var(--nn-gold);color:var(--nn-ivory);border-radius:19px;place-items:center;padding:0 6px;font-size:1.1rem;display:grid}.tee-pips{gap:6px;display:inline-flex}.tee-pips i{width:11px;height:11px;box-shadow:inset 0 0 0 2px var(--nn-ivory);border-radius:50%;transition:background .2s}.tee-pips i.on{background:var(--nn-ivory)}.sitting-out{height:8px}.spectating{grid-area:mine;place-items:center;padding:16px;display:grid}.spectating .pill{background:var(--nn-table-raised);color:var(--nn-on-table-soft)}.coach{z-index:70;pointer-events:none;position:fixed;inset:0}.coach.tap-close{pointer-events:auto}.coach-spot{transition:all .25s var(--ease-out);pointer-events:none;border-radius:16px;position:fixed;box-shadow:0 0 0 9999px #0a120f9e}.coach-bubble{background:var(--nn-ivory);color:var(--nn-ink);box-shadow:var(--nn-shadow-lg);pointer-events:auto;animation:rise-in .25s var(--ease-out) both;border-radius:20px;align-items:center;gap:8px;padding:8px 6px 8px 8px;display:flex;position:fixed}.coach-text{flex:1;margin:0;font-size:1rem;font-weight:800;line-height:1.3}.coach-x{min-width:36px;min-height:36px;color:var(--nn-ink-soft);align-self:flex-start}.tip-bubble{z-index:25;background:var(--nn-ivory);width:min(100% - 16px,460px);min-height:46px;color:var(--nn-ink);box-shadow:var(--nn-shadow-lg);animation:tip-in .25s var(--ease-out) both;border-radius:20px;align-items:center;padding:4px 0 4px 50px;display:flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.tip-tibbs{position:absolute;bottom:2px;left:4px}.tip-text{letter-spacing:-.005em;flex:1;margin:0;font-size:.78rem;font-weight:800;line-height:1.22}.tip-text span:last-child{color:var(--nn-ink-soft)}.tip-x{min-width:34px;min-height:40px;color:var(--nn-ink-soft);flex:none;align-self:center}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.table-screen.wide .tip-bubble{width:min(100% - 16px,520px);padding-left:58px;bottom:12px}.table-screen.wide .tip-text{font-size:.9rem}.travel{z-index:150;background:var(--nn-table);cursor:pointer;animation:travel-out var(--dur) ease-in both;position:fixed;inset:0;overflow:hidden}@keyframes travel-out{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.travel-art{animation:travel-slide var(--dur) var(--ease-out) both;position:absolute;inset:0}@keyframes travel-slide{0%{transform:translate(8%)scale(1.03)}30%{transform:translate(0)scale(1.03)}to{transform:translate(0)scale(1.06)}}.travel.still .travel-art{animation:none}.travel-img,.travel-img img{object-fit:cover;object-position:50% 70%;width:100%;height:100%}.travel-fallback{background:var(--nn-table);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.travel-medal{margin-top:8vh}.travel-walk{animation:tibbs-walk var(--dur) linear both;position:absolute;bottom:16%;left:0}@keyframes tibbs-walk{0%{transform:translate(-20vw)}to{transform:translate(110vw)}}.travel.still .travel-walk{animation:none;left:50%;transform:translate(-50%)}.travel-ground{background:var(--nn-table-raised);height:16%;position:absolute;bottom:0;left:0;right:0}.travel-band{min-height:22%;padding:calc(14px + var(--safe-t)) 20px 14px;background:var(--wc);color:var(--nn-ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 2px #0000001f}.travel-name{font-family:var(--nn-font-mark);letter-spacing:.06em;text-shadow:0 1px #0000002e;margin:0;font-size:clamp(1.7rem,7vw,3rem);font-weight:700;line-height:1.1}.travel-place{letter-spacing:.14em;text-transform:uppercase;opacity:.92;margin:0;font-size:.8rem;font-weight:800}.travel-flavor{color:#f4ebd9e0;margin:4px 0 0;font-size:1rem;font-style:italic}@media (orientation:portrait){.travel{flex-direction:column;display:flex}.travel-band{z-index:1;flex:none;order:-1;position:relative}.travel-art{min-height:0;transform-origin:var(--ox,50%) 100%;flex:1;position:relative;overflow:hidden}.travel-img,.travel-img img{object-position:var(--fx,35%) 100%;position:absolute;inset:0}}.table-screen.side{grid-template:"top top""opp mine"minmax(0,1fr)"center mine"/minmax(0,1fr) minmax(0,1fr)}.table-screen.side .mine{justify-content:center}.table-screen.wide{grid-template:"top top top top""opp opp opp opp"minmax(0,1fr)".center mine."/minmax(0,1fr) auto auto minmax(0,1fr)}.table-screen.wide>section{width:auto}.table-screen.wide>.opponents{gap:10px;width:100%;padding:8px 24px}.table-screen.wide .center{justify-content:center;margin-right:56px;padding:8px 12px 50px}.table-screen.wide .piles{gap:36px}.table-screen.wide .mine{justify-content:center;padding:4px 12px 12px}.table-screen.wide .tile{padding:8px 10px 10px}.table-screen.wide .tile-name{font-size:1rem}.table-screen.wide .tile-total{font-size:1.3rem}.table-screen.wide .mebar{width:min(100%,520px)}@media (width>=900px) and (height>=700px){.tile-name{font-size:.95rem}.status-text{font-size:1rem}}.table-screen.tight .col,.table-screen.tight .col-cards{gap:4px}.table-screen.tight .center{padding-top:6px}.table-screen.tight .status-line{height:22px}.table-screen.watching{grid-template-rows:auto auto auto minmax(0,1fr)}.table-screen.watching .spectating{align-self:start}.sheet-backdrop{z-index:80;background:#0c14118c;justify-content:center;align-items:flex-end;animation:.18s both fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:calc(100dvh - 24px - var(--safe-t));border-radius:var(--nn-radius-lg) var(--nn-radius-lg) 0 0;box-shadow:inset 0 3px 0 var(--nn-gold), var(--nn-shadow-lg);animation:rise-in .24s var(--ease-out) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-head{flex:none;align-items:center;gap:8px;padding:14px 10px 2px 20px;display:flex}.sheet-title{font-family:var(--nn-font-mark);letter-spacing:.06em;color:var(--nn-ink);flex:1;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.sheet-close{color:var(--nn-ink-soft)}.sheet-close:hover{background:#1b1a2e12}.sheet-body{overscroll-behavior:contain;padding:8px 20px calc(20px + var(--safe-b));overflow-y:auto}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:var(--nn-radius-lg);width:min(100%,480px);max-height:calc(100dvh - 48px)}.sheet.wide{width:min(100%,760px)}}.wide-btn{width:100%}.confirm-text{color:var(--nn-ink-soft);margin:4px 0 0}.field{flex-direction:column;gap:6px;margin:4px 0 14px;display:flex}.field span{color:var(--nn-ink-soft);font-size:.9rem;font-weight:700}.field input,.code-input{border:1.5px solid var(--nn-ivory-deep);min-height:48px;color:var(--nn-ink);background:#fffdf8;border-radius:12px;padding:10px 14px;font-size:1.05rem}.field input:focus,.code-input:focus{border-color:var(--nn-lapis);outline:none;box-shadow:0 0 0 3px #2b4c9b33}.join-row{gap:10px;display:flex}.code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;flex:1;min-width:0;font-size:1.6rem}.code-input::placeholder{color:var(--nn-limestone)}.field-error{color:var(--nn-terracotta-dark);margin:8px 2px 0;font-size:.9rem;font-weight:700}.settings{flex-direction:column;display:flex}.setting-row{border:0;border-bottom:1px solid var(--nn-ivory-deep);min-height:56px;color:var(--nn-ink);text-align:left;background:0 0;align-items:center;gap:12px;padding:6px 2px;font-weight:700;display:flex}.setting-row:last-child{border-bottom:0}.setting-ic{color:var(--nn-ink-soft);display:grid}.setting-label{flex:1}.setup-row{border-bottom:1px solid var(--nn-ivory-deep);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.setup-row:last-of-type{margin-bottom:18px}.setup-label{color:var(--nn-ink);font-weight:800}.setup-sheet .seg-btn{min-width:0;padding:6px 12px}.toasts{left:50%;top:calc(60px + var(--safe-t));z-index:260;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--nn-radius-pill);background:var(--nn-ink);color:var(--nn-ivory);text-align:center;box-shadow:var(--nn-shadow-lg);animation:pop-in .2s var(--ease-out) both;padding:10px 18px;font-size:.92rem;font-weight:700}.toast.error{background:var(--nn-terracotta-dark)}.menu-list{margin:0;padding:0;list-style:none}.menu-item{border:0;border-bottom:1px solid var(--nn-ivory-deep);width:100%;min-height:52px;color:var(--nn-ink);text-align:left;background:0 0;align-items:center;gap:12px;padding:8px 4px;font-weight:700;display:flex}.menu-list li:last-child .menu-item{border-bottom:0}.menu-item:hover{background:#1b1a2e0a}.menu-item.danger{color:var(--nn-terracotta-dark)}.menu-ic{width:46px;color:var(--nn-ink-soft);place-items:center;display:inline-grid}.help-glyph{font-family:var(--nn-font-numeral);font-size:1.2rem;font-weight:900;line-height:1}.confirm p{margin:0}.htp{flex-direction:column;gap:16px;display:flex}.htp-step{grid-template-columns:132px 1fr;align-items:center;gap:14px;display:grid}.htp-step p{color:var(--nn-ink);margin:0;font-size:.95rem;line-height:1.4}.htp-pic{place-items:center;min-height:72px;display:grid}.htp-grid{gap:3px;display:flex}.htp-col{--pf-r:5px;flex-direction:column;gap:3px;display:flex;position:relative}.htp-score{gap:4px}.htp-sc-row{align-items:center;gap:3px;display:flex}.htp-sc-row i{background:var(--nn-ivory-deep);width:22px;height:22px;font-style:normal;font-family:var(--nn-font-numeral);color:var(--nn-ink-soft);border-radius:4px;place-items:center;font-size:.8rem;font-weight:900;display:grid}.htp-sc-row b{text-align:right;min-width:32px;color:var(--nn-ink-soft);margin-left:4px}.htp-sc-row.win b{color:var(--nn-jade-dark)}.htp-sc-row.win b:after{content:" ★";font-family:var(--nn-font-ui);color:var(--nn-gold-dark);font-size:.75rem}.htp-turn{grid-template-columns:1fr}.htp-flow{justify-content:center;align-items:flex-end;gap:8px;display:flex}.htp-move{flex-direction:column;align-items:center;gap:4px;display:flex}.htp-move em{color:var(--nn-ink-soft);font-size:.78rem;font-style:normal;font-weight:800}.htp-pair{align-items:center;gap:3px;min-height:45px;display:flex}.htp-arrow,.htp-or{color:var(--nn-gold-dark);align-self:center;margin-bottom:18px;font-size:.85rem;font-weight:800}.htp-toss{width:30px;height:45px;color:var(--nn-ink-soft);place-items:center;display:grid}.htp-anim-swap{animation:2.4s ease-in-out infinite htp-swap}@keyframes htp-swap{0%,20%{transform:translateY(-10px)}45%,to{transform:none}}.htp-anim-flip{animation:2.4s ease-in-out infinite htp-flip}@keyframes htp-flip{0%,40%{transform:rotateY(0)}60%,to{transform:rotateY(180deg)}}.htp-values{grid-template-columns:1fr}.htp-strip{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.htp-more{border-top:1px solid var(--nn-ivory-deep);padding-top:8px}.htp-toggle{color:var(--nn-ink-soft);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-weight:800;display:inline-flex}.htp-keys{color:var(--nn-ink);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;margin:4px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}kbd{min-width:24px;box-shadow:inset 0 -2px 0 var(--nn-ivory-deep), 0 0 0 1px var(--nn-limestone);font-family:var(--nn-font-ui);text-align:center;background:#fff;border-radius:5px;padding:1px 6px;font-size:.8rem;font-weight:800;display:inline-block}.htp-foot{border-top:1px solid var(--nn-ivory-deep);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.htp-about{text-align:center;color:var(--nn-ink-soft);flex-direction:column;align-items:center;gap:4px;padding:12px 0 4px;display:flex}.htp-about p{margin:0}.htp-motto{color:var(--nn-gold-dark);letter-spacing:.14em;font-weight:600;margin-top:6px!important}.htp-tag{font-style:italic}.htp-ver{font-size:.8rem}@media (width<=420px){.htp-step{text-align:center;grid-template-columns:1fr;justify-items:center;gap:8px}}.holeend-sheet .sheet-body{padding-top:18px}.holeend-head{align-items:center;gap:12px;min-height:64px;margin-bottom:8px;display:flex}.holeend-title{letter-spacing:.08em;color:var(--nn-ink);flex:1;margin:0;font-size:1.6rem}.holeend-tibbs{animation:pop-in .35s .2s var(--ease-out) both}.he-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.he-row{animation:rise-in .3s var(--ease-out) both;animation-delay:calc(var(--row) * 60ms);background:#e6d8bc73;border-radius:14px}.he-row.me{box-shadow:inset 0 0 0 1.5px var(--nn-gold)}.he-line{width:100%;min-height:54px;color:var(--nn-ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.he-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:800;overflow:hidden}.he-flag{color:var(--nn-ink);display:grid}.he-hole{text-align:right;min-width:2.2ch;font-size:1.7rem;line-height:1}.he-total{text-align:right;min-width:3ch;color:var(--nn-ink-soft);font-size:.95rem}.he-chev{color:var(--nn-ink-soft);opacity:.6;display:grid}.he-grid{flex-wrap:wrap;justify-content:center;gap:8px;padding:2px 10px 12px;display:flex}.he-col{flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.he-cards{--pf-r:6px;flex-direction:column;gap:3px;display:flex;position:relative}.he-chip.pair,.he-chip.minusFivePair{z-index:4;box-shadow:0 0 0 2px var(--nn-gold);margin-top:-1px;position:relative}.he-chip{border-radius:var(--nn-radius-pill);background:var(--nn-ivory-deep);min-width:30px;color:var(--nn-ink);font-family:var(--nn-font-numeral);text-align:center;margin-top:2px;padding:0 6px;font-size:.8rem;font-weight:900;line-height:1.5}.he-chip.pair{background:var(--nn-jade);color:#fff}.he-chip.minusFivePair{background:var(--nn-gold);color:var(--nn-ink)}.he-chip.bonus{outline:1.5px dashed var(--nn-gold-dark);outline-offset:2px}.he-bonuses{flex-basis:100%;justify-content:center;gap:6px;display:flex}.bonus-ribbon{background:var(--nn-gold);color:var(--nn-ink);white-space:nowrap;border-radius:4px;padding:1px 10px;font-size:.78rem;font-weight:800}.holeend-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.he-sc{color:var(--nn-ink-soft)}.he-next{flex:1;max-width:320px}.ready-wait{max-width:320px;min-height:52px;color:var(--nn-ink-soft);flex:1;justify-content:center;align-items:center;gap:10px;font-weight:700;display:inline-flex}.ready-wait .spinner{border-color:#1b1a2e26;border-top-color:var(--nn-gold-dark)}.sc-sheet .sheet-body{padding-left:12px;padding-right:12px}.scorecard-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.scorecard{border-collapse:separate;border-spacing:0;width:100%;color:var(--nn-ink);font-size:.95rem}.scorecard th,.scorecard td{text-align:center;white-space:nowrap;border-bottom:1px solid var(--nn-ivory-deep);padding:6px}.sc-hole{font-weight:400}.sc-hole .wmedal{margin:0 auto 2px;display:grid}.sc-hole .num{color:var(--nn-ink-soft);font-size:.75rem;display:block}.sc-hole.now .num{color:var(--nn-gold-dark)}.scorecard th.sc-name{z-index:1;background:var(--nn-ivory);text-align:left;width:1%;max-width:120px;font-weight:800;position:sticky;left:0}.sc-who{align-items:center;gap:6px;max-width:130px;display:flex}.sc-who>span:last-child{text-overflow:ellipsis;overflow:hidden}.scorecard tr.me th.sc-name{color:var(--nn-lapis)}.scorecard td.best{color:var(--nn-jade-dark);background:#2f8f6e1a}.sc-total{color:var(--nn-ink-soft);font-size:.8rem;font-weight:800}.scorecard td.sc-total{color:var(--nn-ink);font-size:1.1rem}.scorecard td.sc-total.leader{color:var(--nn-gold-dark)}.gameover{z-index:75;background:#0c141199;place-items:center;padding:16px;animation:.25s both fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.gameover-card{width:min(100%,440px);padding:20px 20px calc(18px + var(--safe-b));text-align:center;box-shadow:inset 0 3px 0 var(--nn-gold), var(--nn-shadow-lg);animation:rise-in .35s var(--ease-out) both;position:relative}.go-trophy{place-items:center;height:170px;display:grid}.go-trophy img{width:auto;max-height:170px}.go-trophy-fallback{align-items:flex-end;gap:4px;display:flex}.go-title{color:var(--nn-ink);margin:8px 0 0;font-size:clamp(2rem,9vw,2.6rem);line-height:1.05}.go-line{color:var(--nn-ink-soft);margin:4px 0 14px;font-weight:700}.go-table{text-align:left;margin:0 0 16px;padding:0;list-style:none}.go-row{border-bottom:1px solid var(--nn-ivory-deep);align-items:center;gap:10px;min-height:44px;padding:4px 10px;display:flex}.go-row:last-child{border-bottom:0}.go-row.win{background:#d9a33b24;border-radius:10px}.go-rank{width:1.5ch;color:var(--nn-ink-soft)}.go-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:800;overflow:hidden}.go-row.me .go-name{color:var(--nn-lapis)}.go-amph{width:24px;height:24px;display:grid}.go-amph img{object-fit:contain;width:100%;height:100%}.go-total{font-size:1.25rem}.go-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.go-actions>.btn{width:100%}.go-secondary{justify-content:center;align-items:center;gap:10px;display:flex}.go-sc{color:var(--nn-ink-soft)}.laurels{pointer-events:none;z-index:76;position:fixed;inset:0;overflow:hidden}.leaf{background:var(--nn-jade);border-radius:100% 0;animation:linear both leaf-fall;position:absolute;top:-20px}.leaf.gold{background:var(--nn-gold)}@keyframes leaf-fall{0%{transform:translateY(0) rotate(var(--r));opacity:1}85%{opacity:1}to{transform:translateY(105vh) rotate(calc(var(--r) + 300deg));opacity:0}}.gameover~.sheet-backdrop,.sheet-backdrop{z-index:85}
