@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=Nunito:wght@700;800;900;1000&display=swap";
:root{--plum:#392044;--plum-light:#53375c;--cream:#f9f6ee;--paper:#fffdf7;--lime:#e8ef8b;--ink:#382e3c;--muted:#8a818b;--line:#e4dedb;--red:#f25d62;--font-body:"DM Sans",Arial,sans-serif;--font-display:"Nunito","Trebuchet MS",sans-serif}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:15px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:5px;outline:3px solid #ffac66}input:focus-visible{outline-offset:2px;outline:3px solid #b9bf70}::selection{background:var(--lime);color:var(--plum)}button{touch-action:manipulation}svg{flex-shrink:0}button svg{pointer-events:none}h1,h2,h3,p{margin:0}button{border:0}a{color:inherit}.app{flex-direction:column;min-height:100svh;display:flex}.site-header{justify-content:space-between;align-items:center;gap:24px;width:min(1320px,100%);margin:0 auto;padding:28px 52px;display:flex}.brand{color:var(--plum);font-family:var(--font-display);letter-spacing:-3px;background:0 0;align-items:center;gap:10px;padding:0;font-size:41px;font-weight:1000;line-height:1;display:flex}.brand-flower{color:var(--plum);letter-spacing:0;font-size:45px;line-height:1;transform:rotate(9deg)}.brand-bang{color:var(--red)}.header-note{letter-spacing:2.1px;color:#8a7c87;margin-left:56px;font-size:10px;font-weight:650}.header-actions{align-items:center;gap:19px;display:flex}.icon-button{background:0 0;border-radius:12px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.sound-button{border:1px solid var(--line);color:#7f6c83;border-radius:50%;width:40px;min-width:40px;height:40px;min-height:40px}.help-button{background:0 0;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:600;display:flex}.help-button:hover{color:#8e5b95}.home-main{grid-template-columns:1.2fr .91fr;align-items:start;gap:55px;width:min(1200px,100%);margin:40px auto 48px;padding:0 44px;display:grid}.hero{padding:11px 0 0}.eyebrow{letter-spacing:1.8px;color:var(--plum);align-items:center;gap:9px;font-size:10px;font-weight:700;display:flex}.tiny-star{color:#e9976d;font-size:21px;line-height:1}.hero h1{font-family:var(--font-display);letter-spacing:-2.9px;color:var(--plum);margin-top:22px;font-size:clamp(43px,4.4vw,62px);font-weight:1000;line-height:1.11}.hero h1>span{color:#8f6c93}.bom-word{color:var(--plum);display:inline-block;position:relative}.bom-word svg{fill:none;width:100%;height:12px;stroke:var(--red);stroke-width:7px;stroke-linecap:round;position:absolute;bottom:-7px;left:0}.hero-description{color:#8b7e88;margin-top:25px;font-size:14px;line-height:1.8}.card-scene{max-width:500px;height:283px;margin-top:29px;position:relative}.display-card{filter:drop-shadow(0 10px 7px #3920440d);width:146px;height:207px;position:absolute;top:24px}.display-apple{z-index:1;left:20px;transform:rotate(-13deg)}.display-pear{z-index:2;top:13px;left:147px;transform:rotate(-1deg)}.display-strawberry{z-index:3;left:277px;transform:rotate(13deg)}.fruit-card{background:var(--fruit-paper,var(--paper));width:100%;height:100%;color:var(--plum);border:1.5px solid #4432471c;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #ffffff45}.card-corner{font-family:var(--font-display);flex-direction:column;align-items:center;gap:3px;font-size:14px;font-weight:900;line-height:1;display:flex;position:absolute;top:12px;left:13px}.card-corner>span{font-size:8px}.corner-bottom{inset:auto 13px 11px auto;transform:rotate(180deg)}.card-fruit{width:112px;height:120px;margin-top:3px}.fruit-name{letter-spacing:1px;text-transform:uppercase;margin-top:10px;font-size:10px;font-weight:700}.scene-spark{color:var(--plum);line-height:1;position:absolute}.spark-one{font-size:30px;top:0;left:0;transform:rotate(12deg)}.spark-two{color:#c5c968;font-size:42px;top:35px;right:8px;transform:rotate(12deg)}.scene-note{color:#96818f;align-items:center;gap:7px;font-size:11px;font-style:italic;line-height:1.45;display:flex;position:absolute;bottom:0;right:11px;transform:rotate(-6deg)}.scene-note svg{fill:none;stroke:#a08b99;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:61px;height:40px;transform:rotate(-16deg)}.entry-panel{background:var(--paper);border:1px solid #e7e0db;border-radius:23px;margin-top:12px;padding:37px 33px 0;position:relative;box-shadow:0 8px #ece5e080,0 20px 55px #48304b06}.panel-sticker{background:var(--lime);color:var(--plum);border:3px solid var(--cream);border-radius:12px;place-items:center;width:43px;height:43px;display:grid;position:absolute;top:-19px;right:28px;transform:rotate(12deg)}.small-label{letter-spacing:1.7px;color:#a1909d;align-items:center;gap:7px;font-size:9px;font-weight:750;display:inline-flex}.panel-heading h2{font-family:var(--font-display);letter-spacing:-1.1px;color:var(--plum);margin:9px 0 8px;font-size:30px;font-weight:1000;line-height:1.2}.panel-heading h2>span{color:var(--red)}.panel-heading p{color:#978b94;font-size:12px}.mode-switch{background:#f0eceb;border-radius:11px;gap:3px;margin:27px 0 25px;padding:5px;display:flex}.mode-switch button{color:#9a8d99;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:50%;min-height:42px;font-size:12px;font-weight:650;transition:background .18s,color .18s;display:flex}.mode-switch button.active{background:var(--plum);color:var(--paper);box-shadow:0 2px 3px #39204420}.entry-form{flex-direction:column;gap:12px;display:flex}.entry-form label{justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:650;display:flex}.entry-form label>span{letter-spacing:1.1px;color:#ae9eaa;font-size:8px;font-weight:550}.input-wrap{position:relative}.entry-form input{width:100%;min-height:52px;color:var(--plum);background:#fcfaf6;border:1px solid #e4dedb;border-radius:10px;padding:13px 16px;font-size:13px;transition:border-color .18s}.entry-form input::placeholder{color:#b2a3ad}.input-wrap input{padding-left:45px}.input-star{color:#b7a5b3;font-size:19px;line-height:1;position:absolute;top:15px;left:16px}.entry-form input:hover{border-color:#b7a5b3}.primary-button{background:var(--plum);width:100%;min-height:52px;color:var(--paper);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:13px;font-weight:650;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.entry-form .primary-button{justify-content:space-between;margin-top:6px}.primary-button:not(:disabled):hover{background:#53315f;transform:translateY(-2px);box-shadow:0 4px #27112f}.primary-button:not(:disabled):active{box-shadow:none;transform:translateY(1px)}.primary-button:disabled{opacity:.5}.entry-footnote{text-align:center;color:#a1929e;margin:15px 0 27px;font-size:10px;line-height:1.5}.panel-bottom{border-top:1px dashed #e5dedb;align-items:center;gap:12px;padding:21px 0 23px;display:flex}.stacked-avatars{flex-shrink:0;padding-right:6px;display:flex}.stacked-avatars i{border:2px solid var(--paper);color:#716638;background:#e4dfa5;border-radius:50%;place-items:center;width:29px;height:29px;margin-right:-7px;font-size:9px;font-style:normal;font-weight:700;display:grid}.stacked-avatars i:nth-child(2){color:#925b76;background:#e8cedc}.stacked-avatars i:nth-child(3){color:#786086;background:#e1d8ea}.panel-bottom>div{flex-direction:column;flex:1;gap:5px;display:flex}.panel-bottom strong{color:#796a79;font-size:10px;font-weight:650}.panel-bottom>div>span{color:#b0a1aa;font-size:9px}.panel-bottom>svg{color:#b5a8b0;width:15px}.code-input{letter-spacing:4px;font-weight:700}.how-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:.8fr 1fr 1fr 1fr;gap:25px;width:min(1216px,100% - 88px);margin:0 auto 27px;padding:27px 0 29px;display:grid}.strip-intro>span{letter-spacing:1.8px;color:#af9aa6;margin-bottom:6px;font-size:8px;font-weight:650;display:block}.strip-intro>strong{font-family:var(--font-display);letter-spacing:-.5px;font-size:18px;font-weight:900;line-height:1.3;display:block}.how-step{align-items:center;gap:13px;display:flex;position:relative}.step-number{font-family:var(--font-display);color:#c9bccc;letter-spacing:-1px;font-size:30px;font-weight:800;line-height:1}.how-step h3{margin-bottom:7px;font-size:12px;font-weight:750}.how-step p{color:#9c8c98;font-size:10px;line-height:1.4}.strip-burst{color:#d5b0bd;font-size:28px;position:absolute;top:0;right:0;transform:rotate(10deg)}.site-footer{color:#aa9aa6;justify-content:space-between;align-items:center;gap:22px;width:min(1216px,100% - 88px);margin:auto auto 0;padding:0 0 24px;font-size:9px;line-height:1.5;display:flex}.site-footer>span{align-items:center;gap:6px;display:flex}.site-footer strong{color:#7d687c;font-weight:750}.footer-dot{margin:0 4px}.footer-star{color:#b89ba9;font-size:16px}.error-banner{color:#8a352e;background:#ffe5df;border:1px solid #f0b8ac;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:min(760px,100% - 40px);margin:0 auto 16px;padding:8px 12px 8px 20px;font-size:13px;display:flex}.restore-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;min-height:60vh;display:flex}.text-button{text-underline-offset:4px;background:0 0;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 8px;font-size:12px;text-decoration:underline;display:inline-flex}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.in-room .site-header{padding-top:23px;padding-bottom:23px}.room-main{flex:1;width:min(1050px,100%);margin:0 auto;padding:0 44px 60px}.room-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:13px 0;display:flex}.room-location{letter-spacing:1.3px;white-space:nowrap;align-items:center;gap:10px;font-size:9px;display:flex}.live-dot{background:#9caf69;border-radius:50%;width:7px;height:7px}.toolbar-divider{color:#c0b3bd;margin:0 3px}.room-location strong{letter-spacing:2px;font-size:13px}.room-toolbar-actions{align-items:center;gap:20px;display:flex}.connection{color:#829567;align-items:center;gap:6px;font-size:10px;display:flex}.exit-button{color:#9b8798;background:0 0;align-items:center;gap:7px;min-height:36px;font-size:11px;display:flex}.exit-button:hover{color:var(--plum)}.lobby{width:min(580px,100%);margin:44px auto 0}.lobby-top{text-align:center}.lobby-top .eyebrow{justify-content:center;font-size:9px}.lobby h1{font-family:var(--font-display);letter-spacing:-1.6px;color:var(--plum);margin:18px 0 13px;font-size:44px;font-weight:1000;line-height:1.15}.lobby h1>span{color:#98779a}.lobby-top>p{color:#9b8a96;font-size:13px}.invite-code{background:var(--paper);border:1px dashed #cfbfcc;border-radius:15px;flex-direction:column;align-items:center;width:100%;margin:29px auto 27px;padding:19px 20px 10px;display:flex}.invite-code>span{letter-spacing:2.2px;color:#9e889b;font-size:9px;font-weight:650}.invite-code>button:not(.share-link){color:var(--plum);background:0 0;align-items:center;gap:22px;padding:7px 18px;display:flex}.invite-code strong{font-family:var(--font-display);letter-spacing:7px;font-size:41px;font-weight:1000}.invite-code .share-link{color:#9f889b;min-height:38px;font-size:11px}.players-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.players-heading h2,.players-heading>span{font-size:12px;font-weight:700}.players-heading>span>span{color:#ae9eaa;font-weight:400}.lobby-players ol{margin:0;padding:0;list-style:none}.lobby-players li{border-top:1px solid var(--line);align-items:center;gap:13px;min-height:67px;display:flex}.player-avatar{width:37px;height:37px;font-family:var(--font-display);border-radius:13px;flex-shrink:0;place-items:center;font-size:15px;font-weight:900;display:grid;position:relative}.avatar-0{color:#6c7644;background:#e7e9b7}.avatar-1{color:#b26562;background:#f4cfce}.avatar-2{color:#8d6ba4;background:#e5d3ef}.avatar-3{color:#628d82;background:#d2e4df}.player-name{word-break:break-word;flex:1;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.player-name small,.rank-name small{color:#a28e9f;font-size:9px;font-weight:500}.host-badge{color:#9f8a3d;white-space:nowrap;background:#ede9cc;border-radius:6px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:flex}.player-status{color:#8f9a74;align-items:center;gap:6px;font-size:10px;display:flex}.player-status>span{background:#a2b57d;border-radius:50%;width:5px;height:5px}.player-status.status-away{color:#b2906e}.empty-seat{color:#b2a0ad;font-size:12px}.empty-avatar{border:1px dashed #d6c7d1;border-radius:13px;place-items:center;width:37px;height:37px;display:grid}.empty-seat>span:nth-child(2){flex:1}.empty-seat>button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:36px;min-height:36px;display:grid}.lobby-start{margin-top:23px}.lobby-start .primary-button{background:var(--plum)}.lobby-start>p{color:#aa96a5;text-align:center;margin-top:12px;font-size:10px;line-height:1.6}.waiting-host{color:#977d91;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:12px;display:flex}.game-board{max-width:740px;margin:38px auto 0}.game-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.game-heading h1{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--plum);margin-top:8px;font-size:35px;font-weight:1000;line-height:1.2}.table-direction{color:#a08b9b;align-items:center;gap:7px;font-size:11px;display:flex}.seating{background:#eee8e5;border-radius:17px;flex-wrap:wrap;justify-content:center;gap:25px;margin:26px 0 32px;padding:21px 10px;list-style:none;display:flex}.seating li{flex-direction:column;align-items:center;gap:7px;min-width:53px;max-width:85px;font-size:10px;display:flex;position:relative}.seating li>span:last-of-type{overflow-wrap:anywhere;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:100%;display:flex}.seating small{color:#ad8ca1;font-size:9px}.my-seat .player-avatar{box-shadow:0 0 0 3px var(--cream),0 0 0 4px #bda7bb}.seat-ready{color:#fff;background:#86a270;border:2px solid #eee8e5;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:-4px;right:-4px}.seat-arrow{color:#c4afbe;position:absolute;top:11px;right:-25px}.hand-heading{color:#9e899b;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;display:flex}.hand-heading>span:first-child{letter-spacing:1.3px;flex-shrink:0;font-size:9px;font-weight:650}.hand{grid-template-columns:repeat(3,1fr);gap:19px;max-width:580px;margin:22px auto 0;display:grid}.hand-card{aspect-ratio:2/2.8;background:0 0;border-radius:16px;min-width:0;padding:0;transition:transform .18s,filter .18s;position:relative}.hand-card:not(:disabled):hover{transform:translateY(-7px)}.hand-card.chosen{transform:translateY(-9px)}.hand-card.chosen .fruit-card{border-color:var(--plum);box-shadow:0 0 0 2px var(--plum),0 10px 18px #39204413}.hand .card-fruit{width:72%;height:65%;max-height:150px}.hand .fruit-name{font-size:12px}.card-select-indicator{color:#876d88;background:#fff8;border:1px solid #39204424;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:12px;right:11px}.chosen .card-select-indicator{background:var(--plum);color:#fff;border-color:var(--plum)}.hand-card:disabled .card-select-indicator{display:none}.game-controls{text-align:center;max-width:420px;min-height:95px;margin:30px auto 0}.pass-button{max-width:320px;margin:0 auto}.pass-caption{color:#a28b9e;margin:13px auto 0;font-size:11px;line-height:1.6}.pass-caption strong{color:#80647c;font-weight:600}.bom-zone{max-width:380px;margin:0 auto;position:relative}.bom-callout{letter-spacing:1.6px;color:#ac5271;margin-bottom:12px;font-size:10px;font-weight:750;display:block}.bom-button{background:var(--red);width:100%;height:91px;color:var(--paper);font-family:var(--font-display);letter-spacing:-3px;border-radius:18px;justify-content:center;align-items:center;gap:7px;font-size:54px;font-weight:1000;line-height:1;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 7px #bb3f54}.bom-button>span{color:var(--lime)}.bom-button>svg:not(.spin){color:#ffcaba;position:absolute;top:54px;right:20px;transform:rotate(12deg)}.bom-button:not(:disabled):hover{background:#fc696e;transform:translateY(-2px);box-shadow:0 9px #bb3f54}.bom-button:not(:disabled):active{transform:translateY(6px);box-shadow:0 1px #bb3f54}.bom-button:disabled{opacity:.7}.bom-wait{color:#86823d;background:#efedcf;border:1px solid #dedcb1;border-radius:13px;flex-direction:column;align-items:center;gap:9px;padding:22px;display:flex}.bom-wait strong{font-family:var(--font-display);font-size:26px;font-weight:1000}.bom-wait>span{font-size:11px}.live-ranking{color:#97758f;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;font-size:11px;display:flex}.live-ranking>span{border:1px solid #e1cedb;border-radius:9px;align-items:center;gap:6px;padding:8px 12px;display:flex}.results{text-align:center;max-width:530px;margin:45px auto 0}.winner-burst{background:var(--lime);width:87px;height:87px;color:var(--plum);border-radius:25px;place-items:center;margin:0 auto 26px;display:grid;transform:rotate(-8deg)}.winner-burst svg{transform:rotate(8deg)}.results>.eyebrow{color:#a28a9c;font-size:9px;display:block}.results h1{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--plum);margin:12px 0;font-size:38px;font-weight:1000;line-height:1.2}.results>p{color:#a18b9d;font-size:13px;line-height:1.6}.ranking-list{text-align:left;flex-direction:column;gap:10px;margin:29px 0 25px;padding:0;list-style:none;display:flex}.ranking-list li{border:1px solid var(--line);background:var(--paper);border-radius:13px;align-items:center;gap:15px;padding:18px 20px;display:flex}.ranking-list li.first-place{background:var(--plum);color:var(--cream);border-color:var(--plum)}.ranking-list li.my-result:not(.first-place){border-color:#b4a175}.rank-number{font-family:var(--font-display);color:#a38b9a;min-width:29px;font-size:24px;font-weight:1000}.first-place .rank-number{color:var(--lime)}.rank-name{word-break:break-word;flex:1;align-items:center;gap:8px;font-size:14px;font-weight:650;display:flex}.rank-time{color:#b099a7;white-space:nowrap;font-size:10px}.first-place .rank-time{color:var(--lime);letter-spacing:1px;font-weight:750}.rules-dialog{background:var(--cream);width:calc(100% - 32px);max-width:500px;max-height:calc(100svh - 50px);color:var(--ink);border:1px solid #c9bdc8;border-radius:22px;padding:0;box-shadow:0 30px 100px #1a071a40}.rules-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#28152fc4}.rules-content{padding:35px;position:relative}.close-dialog{position:absolute;top:14px;right:14px}.rules-content>.tiny-star{font-size:33px}.rules-content h2{font-family:var(--font-display);letter-spacing:-1px;color:var(--plum);margin:14px 0 25px;font-size:31px;font-weight:1000;line-height:1.2}.rules-content ol{margin:0;padding-left:21px}.rules-content li{margin-bottom:19px;padding-left:5px}.rules-content li::marker{font-family:var(--font-display);color:#b79bb1;font-weight:900}.rules-content li strong{font-size:13px;font-weight:700}.rules-content li p{color:#998395;margin-top:5px;font-size:12px;line-height:1.7}.rules-note{color:#a28b9b;border-top:1px solid var(--line);margin:5px 0 20px;padding-top:15px;font-size:10px;line-height:1.7}@media (min-width:1500px){.home-main{margin-top:65px;margin-bottom:65px}.site-header{padding-top:38px}.hero h1{font-size:65px}.how-strip{padding-top:32px;padding-bottom:34px}.card-scene{margin-top:39px}}@media (max-width:1050px){.home-main{grid-template-columns:1.1fr 1fr;gap:30px;padding:0 38px}.hero h1{font-size:49px}.entry-panel{padding:33px 25px 0}.panel-heading h2{font-size:26px}.display-card{width:125px;height:183px}.display-apple{left:13px}.display-pear{left:116px}.display-strawberry{left:220px}.card-fruit{width:95px;height:106px}.card-scene{height:253px}.spark-two{right:-4px}.scene-note{right:0}.how-strip{gap:18px}.strip-burst{display:none}.how-step{gap:9px}.step-number{font-size:26px}.how-step p{font-size:9px}.header-note{margin-left:0}}@media (max-width:800px){.site-header{padding:23px 27px}.header-note{display:none}.home-main{grid-template-columns:1fr;gap:20px;max-width:540px;margin:21px auto 35px;padding:0 25px}.hero{padding:0}.hero .eyebrow{justify-content:center;font-size:9px}.hero h1{text-align:center;letter-spacing:-2.5px;margin-top:17px;font-size:48px}.hero-description{text-align:center;margin-top:21px;font-size:13px;line-height:1.7}.card-scene{width:365px;max-width:100%;height:220px;margin:17px auto 0}.display-card{width:112px;height:158px;top:19px}.display-apple{left:32px}.display-pear{top:8px;left:130px}.display-strawberry{left:227px}.card-fruit{width:86px;height:96px}.fruit-name{margin-top:4px;font-size:8px}.card-corner{font-size:11px;top:10px;left:11px}.corner-bottom{inset:auto 11px 10px auto}.fruit-card{border-radius:12px;box-shadow:inset 0 0 0 5px #ffffff45}.spark-one{font-size:23px;top:8px;left:9px}.spark-two{font-size:25px;top:0;right:0}.scene-note{font-size:9px;bottom:0;right:10px}.scene-note svg{width:45px}.entry-panel{margin-top:4px;padding:31px 28px 0}.panel-heading h2{font-size:29px}.mode-switch{margin:24px 0}.entry-form input,.primary-button{min-height:53px}.panel-bottom{padding:19px 0}.entry-footnote{margin:14px 0 24px}.how-strip{grid-template-columns:1fr;gap:22px;width:calc(100% - 50px);max-width:490px;margin-bottom:25px;padding:25px 0}.strip-intro{justify-content:space-between;align-items:center;gap:15px;padding-bottom:3px;display:flex}.strip-intro>span{margin:0;font-size:8px}.strip-intro>strong{font-size:16px}.strip-intro br{display:none}.how-step{gap:18px}.how-step h3{margin-bottom:5px;font-size:12px}.how-step p{font-size:10px}.step-number{min-width:40px;font-size:30px}.strip-burst{font-size:25px;display:block;top:5px;right:10px}.site-footer{flex-wrap:wrap;gap:10px;width:calc(100% - 50px);padding-bottom:23px;font-size:9px}.site-footer>span:last-child{display:none}.header-actions{gap:9px}.help-button{font-size:11px}.sound-button{width:36px;min-width:36px;height:36px;min-height:36px}.brand{font-size:36px}.brand-flower{font-size:38px}.room-main{padding:0 24px 45px}.room-toolbar{gap:10px}.room-location{letter-spacing:.7px;gap:7px;font-size:8px}.room-location strong{letter-spacing:1px;font-size:11px}.room-toolbar-actions{gap:12px}.connection>span{display:none}.exit-button{gap:5px;font-size:10px}.lobby{margin-top:34px}.lobby h1{font-size:39px}.lobby-top .eyebrow{letter-spacing:1px;font-size:8px}.lobby-top>p{font-size:12px}.invite-code strong{font-size:38px}.game-board{margin-top:27px}.game-heading h1{font-size:29px}.table-direction{gap:5px;font-size:9px}.table-direction svg{width:15px}.game-heading .small-label{font-size:8px}.seating{gap:22px;margin:23px 0 26px;padding:20px 8px}.seating li{min-width:45px;font-size:9px}.seating .player-avatar{border-radius:11px;width:33px;height:33px;font-size:13px}.seat-arrow{width:15px;top:10px;right:-22px}.hand{gap:12px;margin-top:20px}.hand .fruit-name{font-size:9px}.hand-card{border-radius:12px}.hand .card-fruit{width:76%;height:64%}.hand-heading{gap:20px;font-size:9px}.hand-heading>span:first-child{font-size:8px}.hand-heading>span:last-child{text-align:right}.game-controls{margin-top:27px}.pass-caption{font-size:10px}.card-select-indicator{width:21px;height:21px;top:9px;right:8px}.card-select-indicator svg{width:14px}.results{margin-top:35px}.results h1{font-size:31px}.results>p{font-size:12px}.rank-name{gap:6px;font-size:12px}.rank-time{font-size:9px}.ranking-list li{gap:10px;padding:17px 14px}.rank-name small{font-size:8px}.bom-button{height:82px;font-size:48px}.bom-callout{font-size:8px}.rules-content{padding:30px 25px}.rules-content h2{font-size:28px}}@media (max-width:380px){.site-header{padding:21px}.home-main{padding:0 20px}.hero h1{font-size:41px}.hero .eyebrow{letter-spacing:1.4px;font-size:8px}.card-scene{width:315px}.display-card{width:100px;height:146px}.display-apple{left:14px}.display-pear{left:101px}.display-strawberry{left:187px}.card-fruit{width:78px;height:85px}.scene-note{bottom:7px;right:14px}.entry-panel{padding-left:22px;padding-right:22px}.panel-heading h2{font-size:26px}.room-main{padding-left:18px;padding-right:18px}.room-toolbar-actions{gap:7px}.room-location>span:nth-child(2){display:none}.lobby h1{font-size:35px}.hand{gap:10px}.hand .fruit-name{font-size:8px}.hand .card-corner{font-size:9px;left:8px}.hand .corner-bottom{left:auto;right:8px}.seating{gap:18px}.seat-arrow{right:-19px}.game-heading h1{font-size:27px}.table-direction,.site-footer>span:nth-child(2){font-size:8px}}.home-main>*{min-width:0}.header-note,.hero-description,.panel-heading p,.small-label,.entry-form label>span,.entry-footnote,.panel-bottom strong,.panel-bottom>div>span,.how-step p,.strip-intro>span,.site-footer,.scene-note,.entry-form input::placeholder,.room-location,.connection,.exit-button,.lobby-top>p,.invite-code>span,.invite-code .share-link,.players-heading>span>span,.player-name small,.rank-name small,.empty-seat,.lobby-start>p,.waiting-host,.table-direction,.seating small,.hand-heading,.pass-caption,.pass-caption strong,.live-ranking,.results>.eyebrow,.results>p,.rank-time,.rules-content li p,.rules-note{color:#7a6b78}.mode-switch button{color:#796777}.player-status{color:#657343}.host-badge{color:#756024}.connection.offline{color:#9c4d26}.sound-button{width:44px;min-width:44px;height:44px;min-height:44px}.exit-button{min-height:44px}.empty-seat>button{width:44px;min-height:44px}@media (max-width:800px){.home-main{grid-template-columns:minmax(0,1fr);margin-top:15px}.hero h1{margin-top:14px;font-size:40px}.hero-description{margin-top:16px}.card-scene{width:320px;height:147px;margin-top:15px}.display-card{width:92px;height:132px;top:8px}.display-apple{left:9%}.display-pear{top:0;left:38%}.display-strawberry{left:67%}.card-fruit{width:70px;height:82px}.scene-note{display:none}.spark-one{top:8px;left:1%}.spark-two{top:6px;right:1%}.entry-panel{padding-top:26px}.mode-switch{margin-top:20px;margin-bottom:20px}}@media (max-width:380px){.hero h1{font-size:37px}.display-apple{left:7%}.display-pear{left:37%}.display-strawberry{left:67%}}.hand{grid-template-columns:repeat(var(--card-columns,3),minmax(0,1fr))}.hand .corner-bottom{display:none}.app{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}@media (max-width:800px){.entry-form input{font-size:16px}}.bom-logo{object-fit:contain;pointer-events:none;flex-shrink:0;width:20px;height:20px;display:block}.brand-flower,.tiny-star,.input-star,.strip-burst,.footer-star{justify-content:center;align-items:center;display:inline-flex}.brand-flower .bom-logo{width:44px;height:44px}.card-corner .bom-logo{width:16px;height:16px}.input-star .bom-logo{width:19px;height:19px}.spark-two .bom-logo{width:38px;height:38px}.strip-burst .bom-logo{width:28px;height:28px}.footer-star .bom-logo{width:16px;height:16px}.rules-content>.tiny-star .bom-logo{width:34px;height:34px}.player-copy,.rank-player{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.win-count{color:#7a6b78;align-items:center;gap:5px;font-size:10px;font-weight:500;display:inline-flex}.first-place .win-count{color:#e8ef8b}.rank-name{overflow-wrap:anywhere}.turn-timer{color:#7a6b78;justify-content:space-between;align-items:center;gap:14px;margin:-12px 0 20px;font-size:10px;line-height:1.5;display:flex}.turn-timer[hidden]{display:none}.turn-clock{color:#392044;white-space:nowrap;background:#e8ef8b;border-radius:8px;align-items:center;gap:6px;min-width:75px;padding:7px 10px;display:inline-flex}.turn-clock strong{font-variant-numeric:tabular-nums}.turn-clock.urgent{color:#9c3846;background:#ffe0dc}.turn-timer>span:last-child{text-align:right}@media (max-width:800px){.hand{grid-template-columns:repeat(var(--mobile-card-columns,3),minmax(0,1fr))}.large-table .seating{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 8px;padding:17px 9px;display:grid}.large-table .seating li{min-width:0;max-width:none;font-size:8px}.large-table .seating .player-avatar{width:28px;height:28px;font-size:12px}.large-table .seating .seat-arrow{display:none}.large-table .hand-card{aspect-ratio:1/1.25}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hand-card.chosen{transform:none}}
