*{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8f4e8;background:#07120f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}html,body,#app{min-width:100%;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% -10%,#275e48 0,#0b2119 35%,#050b09 100%);min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.start-shell,.lobby-shell,.game-shell{width:min(100%,460px);min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));margin:0 auto}.start-shell,.lobby-shell{flex-direction:column;justify-content:center;gap:24px;display:flex}.brand-lockup{text-align:center}.brand-kicker{color:#b2d8c0;letter-spacing:.18em;margin:0 0 9px;font-size:.78rem;font-weight:900}.brand-title{white-space:pre-line;letter-spacing:-.07em;margin:0;font-size:clamp(3.2rem,15vw,5.5rem);font-weight:950;line-height:.82}.hero-cards{justify-content:center;margin:34px 0 8px;display:flex}.hero-cards .hand-card:first-child{transform:rotate(-12deg)translate(12px)}.hero-cards .hand-card:nth-child(2){z-index:2;transform:translateY(-10px)}.hero-cards .hand-card:nth-child(3){transform:rotate(12deg)translate(-12px)}.mode-actions{gap:10px;display:grid}.mode-button,.action-button,.soft-button,.join-button{color:#f8f4e8;letter-spacing:.08em;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:16px;min-height:52px;padding:0 18px;font-weight:900}.mode-button--visual{letter-spacing:.02em;font-size:clamp(1.4rem,7vw,2rem)}.mode-button--primary,.action-button--set,.join-button{color:#102014;background:#e4f6bb;border-color:#dbf1ae}.mode-button:disabled,.action-button:disabled,.join-button:disabled,.hand-card:disabled{opacity:.38;cursor:not-allowed}.portal-link,.text-button{color:#a6bdb2;cursor:pointer;background:0 0;border:0;align-self:center;font-size:1.25rem;font-weight:900;text-decoration:none}.portal-link{border:1px solid #ffffff1a;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.icon-text-button{min-width:44px;min-height:44px}.hand-card{aspect-ratio:.72;color:#161916;-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#fffdf4,#ddd4bd);border:1px solid #d7d0bc;border-radius:12px;place-items:center;width:clamp(48px,15vw,68px);display:grid;position:relative;box-shadow:0 8px 18px #00000040}button.hand-card{cursor:grab}.hand-card.is-selected{z-index:6;outline-offset:3px;outline:3px solid #f7c76c;transform:translateY(-7px)}.hand-card__icon{filter:grayscale(.15)contrast(1.08);font-size:clamp(1.7rem,8vw,2.7rem)}.hand-card--compact{border-radius:9px;width:clamp(43px,13vw,58px)}.hand-card--compact .hand-card__icon{font-size:clamp(1.5rem,7vw,2.2rem)}.lobby-title{text-align:center;margin:0;font-size:3rem;line-height:.95}.lobby-card{background:#00000038;border:1px solid #ffffff21;border-radius:22px;gap:14px;padding:22px;display:grid}.room-create{font-size:1.4rem}.join-row{grid-template-columns:auto minmax(0,1fr) 56px;align-items:center;gap:8px;display:grid}.room-hash,.room-code-label{color:#afc7bb;text-align:center;font-size:1.25rem;font-weight:950}.room-input{color:#fff;text-align:center;letter-spacing:.18em;background:#08130f;border:1px solid #fff3;border-radius:14px;width:100%;min-height:56px;padding:0 10px;font-size:1.45rem;font-weight:900}.room-code-label,.connection-status{margin:0}.room-code{text-align:center;letter-spacing:.16em;font-size:2.8rem;font-weight:950}.share-button{justify-self:center;min-width:88px;font-size:1.6rem}.connection-status{color:#a4b9af;text-align:center;justify-content:center;align-items:center;gap:8px;min-height:22px;font-size:.72rem;display:flex}.connection-status__icon{font-size:.9rem}.connection-status__text{line-height:1.35}.game-shell{grid-template-rows:auto auto minmax(310px,1fr) auto;gap:8px;display:grid;overflow:hidden}.game-header{padding-right:var(--jr-lobby-safe-right,0px);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid;position:relative}.round-progress{align-items:center;gap:5px;display:flex}.round-dot{background:0 0;border:1px solid #7d998c;border-radius:50%;width:7px;height:7px}.round-dot.is-complete{background:#dff3a7;border-color:#dff3a7}.scoreboard{letter-spacing:.04em;justify-self:center;align-items:center;font-size:.84rem;font-weight:950;display:flex}.score-side{text-align:center;min-width:58px}.scoreboard__dash{opacity:.35;margin-inline:6px}.menu-wrap{position:relative}.menu-button{color:#fff;cursor:pointer;background:#0003;border:1px solid #ffffff21;border-radius:50%;width:38px;height:38px}.menu-panel{z-index:20;background:#102019;border:1px solid #ffffff29;border-radius:14px;grid-template-columns:repeat(2,52px);display:grid;position:absolute;top:44px;right:0;overflow:hidden;box-shadow:0 16px 40px #0006}.menu-link{color:#eef6f0;place-items:center;min-height:52px;text-decoration:none;display:grid}.menu-link+.menu-link{border-left:1px solid #ffffff1a}.menu-link--button{cursor:pointer;background:0 0;border:0}.menu-link--icon{border-radius:0;width:52px;height:52px;font-size:1.25rem}.opponent-zone{text-align:center;min-height:74px}.player-meta{justify-content:center;align-items:center;gap:7px;min-height:24px;margin-bottom:4px;display:flex}.player-avatar{font-size:1.2rem}.thinking-mark{color:#dce9e2;font-size:1.1rem;font-weight:900}.connection-dot{color:#ffad9f;font-size:.9rem;font-weight:900}.opponent-hand{justify-content:center;min-height:32px;display:flex}.card-back{background:repeating-linear-gradient(45deg,#244e3c,#244e3c 4px,#173729 4px 8px);border:1px solid #89a99b;border-radius:4px;width:21px;height:31px;margin-left:-5px;box-shadow:0 4px 8px #0003}.card-back:first-child{margin-left:0}.remaining-zero{color:#70877c;font-size:1.2rem}.table{background:radial-gradient(at 50% 28%,#245f45,#123b2a 58%,#0a271b 100%);border:1px solid #e1ffea21;border-radius:48% 48% 24px 24px/14% 14% 24px 24px;min-height:0;padding:17px 7px 13px;position:relative;box-shadow:inset 0 0 45px #0003,0 14px 40px #00000047}.table:before{border-radius:inherit;content:"";pointer-events:none;border:1px solid #fff4cf1a;position:absolute;inset:9px}.lanes{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:100%;display:grid;position:relative}.lane{border-right:1px solid #ffffff12;border-radius:14px;grid-template-rows:1fr 22px 1fr;place-items:center;min-width:0;transition:background .15s,box-shadow .15s,opacity .15s;display:grid;position:relative}.lane:last-child{border-right:0}.lane.is-eligible{background:#dcf7ad1c;box-shadow:inset 0 0 0 2px #dcf7ad8c}.lane.is-blocked{opacity:.42}.lane.is-invalid{animation:.35s invalid-flash}@keyframes invalid-flash{0%,to{background:0 0}45%{background:#ff503c47}}.lane-slot{background:0 0;border:0;place-items:center;width:100%;min-height:80px;display:grid;position:relative}.lane-slot--self{cursor:pointer;border-radius:13px}.lane-slot--self:focus-visible{outline-offset:-3px;outline:2px solid #f6d68d}.lane-card-back{aspect-ratio:.72;background:repeating-linear-gradient(45deg,#244e3c,#244e3c 6px,#173729 6px 12px);border:1px solid #90ad9f;border-radius:9px;width:clamp(42px,12vw,56px)}.slot-plus{color:#fff3;font-size:1.65rem}.call-badge{z-index:7;color:#f7d58e;background:#392c17e8;border:1px solid #f1c26e85;border-radius:999px;align-items:center;gap:2px;padding:2px 5px;display:inline-flex;position:absolute;box-shadow:0 4px 12px #0000003d}.call-badge--opponent{bottom:3px}.call-badge--self{top:3px}.call-badge__bubble{font-size:.7rem}.call-badge__icon{font-size:.9rem}.lane__result{color:#c9d5ce;letter-spacing:.05em;min-height:22px;font-size:.78rem;font-weight:950}.lane__result[data-outcome=win]{color:#e7f4a5;font-size:.95rem}.lane__result[data-outcome=lose]{color:#7f9489}.lane__result[data-outcome=tie]{color:#e7d5a8}.table-overlay{z-index:12;border-radius:inherit;background:#020806b8;place-items:center;font-size:2rem;display:grid;position:absolute;inset:0}.self-zone{text-align:center;min-height:150px}.hand-wrap{min-height:91px}.hand-cue{color:#f5d492;min-height:24px;margin:0 0 2px;font-size:1.05rem;font-weight:950}.hand{justify-content:center;width:100%;min-width:0;min-height:78px;padding:7px 4px;display:flex}.hand .hand-card{flex:none;width:clamp(42px,12.5vw,54px);margin-left:clamp(-16px,-3.5vw,-10px)}.hand .hand-card:first-child{margin-left:0}.hand .hand-card:hover{z-index:4}.controls{grid-template-columns:1fr 1fr;gap:9px;margin-top:6px;display:grid}.action-button{min-height:50px;font-size:1.5rem}.action-button--call{color:#f6d693;background:#3a2b13;border-color:#f1c26e}.sheet-backdrop{z-index:50;background:#00000085;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.call-sheet{width:min(100%,460px);padding:20px max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom));text-align:center;background:#102019;border:1px solid #ffffff24;border-radius:24px 24px 0 0}.call-sheet__symbol{margin-bottom:13px;font-size:1.8rem}.lane-picker{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.lane-pick{color:#afc3b9;background:0 0;border:1px solid #ffffff1f;border-radius:12px;min-height:46px;font-size:1rem;font-weight:900}.lane-pick.is-selected{color:#ffe1a2;background:#3a2d18;border-color:#f2d086;box-shadow:0 0 0 2px #f2d0862e}.call-sheet__arrow{color:#779286;margin:8px 0 2px;font-size:1.1rem}.call-card-picker{justify-content:center;gap:12px;margin:8px 0 14px;display:flex}.sheet-cancel{color:#9eb3a9;min-width:48px;min-height:42px}.round-summary,.game-over{gap:8px;padding-top:8px;display:grid}.round-points{letter-spacing:.02em;font-size:2rem;font-weight:950}.bonus-chip{color:#f6d18a;letter-spacing:.05em;background:#3b2c15;border-radius:999px;justify-self:center;padding:4px 10px;font-size:.78rem;font-weight:950}.next-button,.replay-button{font-size:1.6rem}.game-over__symbol{font-size:3.2rem;line-height:1}.game-over[data-outcome=lose] .game-over__symbol{color:#809087}.game-over[data-outcome=draw] .game-over__symbol{color:#e7d5a8}.game-over .scoreboard{justify-self:center;font-size:1rem}@media (width<=480px){html[data-jr-lobby-message=visible] .game-header{grid-template-columns:minmax(0,1fr) auto;gap:4px}html[data-jr-lobby-message=visible] .round-progress{display:none}html[data-jr-lobby-message=visible] .scoreboard{letter-spacing:0;justify-self:start;min-width:0;font-size:.72rem}html[data-jr-lobby-message=visible] .score-side{min-width:0}html[data-jr-lobby-message=visible] .scoreboard__dash{margin-inline:3px}}@media (width<=350px){.game-shell{padding-inline:8px}.table{padding-inline:3px}.hand-card{width:45px}.game-header{gap:3px}.score-side{min-width:50px}}@media (height>=850px){.table{min-height:390px}.opponent-zone{padding-top:8px}.self-zone{padding-top:5px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.labeled-button,.labeled-link{justify-content:center;align-items:center;gap:10px;display:inline-flex}.labeled-button__glyph,.labeled-link__glyph{flex:none;font-size:1.15em;line-height:1}.labeled-button__label,.labeled-link__label{letter-spacing:.04em;text-align:center;min-width:0;font-size:.84rem;font-weight:900;line-height:1.15}.section-label,.visible-field-label{color:#b2c8bd;letter-spacing:.08em;text-align:center;margin:0;font-size:.76rem;font-weight:900}.mode-actions .section-label{margin-bottom:2px}.mode-button--visual{min-height:66px;font-size:1rem}.mode-button--visual .labeled-button__glyph{font-size:clamp(1.2rem,5.5vw,1.65rem)}.mode-button--visual .labeled-button__label{font-size:clamp(.86rem,3.7vw,1rem)}.portal-link{border-radius:999px;width:auto;min-width:150px;height:44px;padding:0 16px;font-size:1rem}.portal-link .labeled-link__label{font-size:.78rem}.lobby-shell{justify-content:center}.lobby-title{text-transform:uppercase;font-size:clamp(2.2rem,10vw,3.2rem)}.lobby-visual{color:#dff3a7;text-align:center;margin-top:-10px;font-size:1.8rem;font-weight:900}.room-create{min-height:64px;font-size:1rem}.readable-divider{color:#82978d;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.readable-divider__line{background:#ffffff1f;height:1px}.readable-divider__text{letter-spacing:.12em;font-size:.7rem;font-weight:900}.join-row{grid-template-columns:minmax(0,1fr) auto}.join-button{min-width:126px;padding:0 14px;font-size:1rem}.join-button .labeled-button__label{font-size:.72rem}.share-button{min-width:150px;padding-inline:18px;font-size:1rem}.back-button{min-width:116px;padding-inline:12px}.controls .action-button{min-height:56px;padding-inline:10px;font-size:1rem}.controls .action-button .labeled-button__label{font-size:.72rem}.readable-call-title{justify-content:center;align-items:center;gap:8px;display:flex}.readable-call-title strong{letter-spacing:.06em;font-size:.9rem}.lane-pick.labeled-button{flex-direction:column;gap:3px;min-height:50px;padding:5px 4px}.lane-pick .labeled-button__label{font-size:.68rem}.sheet-cancel.labeled-button{min-width:110px;min-height:44px;margin-inline:auto}.next-button,.replay-button{min-width:min(100%,260px);min-height:58px}.game-over__heading{justify-content:center;align-items:center;gap:10px;display:flex}.game-over__label{letter-spacing:.05em;font-size:1.35rem}.table-overlay{text-align:center;gap:8px}.readable-menu-panel{grid-template-columns:1fr;width:min(260px,76vw)}.readable-menu-panel .menu-link{border-radius:0;justify-content:flex-start;width:100%;height:52px;padding-inline:14px}.readable-menu-panel .menu-link+.menu-link{border-top:1px solid #ffffff1a;border-left:0}.readable-menu-panel .labeled-link__label,.readable-menu-panel .labeled-button__label{font-size:.76rem}@media (width<=360px){.labeled-button{gap:7px}.join-button{min-width:108px;padding-inline:10px}.controls .action-button .labeled-button__label,.join-button .labeled-button__label{font-size:.66rem}}.invite-qr{color:#111;background:#fff;border-radius:16px;justify-items:center;gap:6px;width:max-content;max-width:100%;margin:0 auto;padding:10px;display:grid;box-shadow:0 8px 24px #00000040}.invite-qr__image{aspect-ratio:1;width:clamp(112px,24dvh,184px);max-width:44vw;height:auto;display:block}.invite-qr__caption{color:#151515;letter-spacing:.12em;margin:0;font-size:11px;font-weight:900}@media (height<=640px){.invite-qr{gap:4px;padding:6px}.invite-qr__image{width:104px}}
