:root{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:#263e35;background:#f8f9f5;font-synthesis:none;--green:#347c5b;--ink:#263e35;--muted:#859088;--line:#e4e9e1;--team:#668fc4;--team-light:#e9f1fb;--team-dark:#4272af}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:3px solid #e3a829;outline-offset:5px}button svg{width:20px;height:20px}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}img{display:block}button{color:inherit}h1,h2,p{margin:0}button{border:0}button:hover{filter:brightness(.975)}[hidden]{display:none!important}.site-header{height:91px;padding:0 max(32px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-icon{display:grid;place-items:center;width:48px;height:51px;background:#fff0e9;border-radius:15px;transform:rotate(-5deg)}.brand-icon img{width:37px;height:40px}.brand-overline{font-size:10px;letter-spacing:1px;font-weight:700;color:#849085;display:block;line-height:1.7}h1{font-size:26px;letter-spacing:-1.3px;line-height:1.2;font-weight:900}.brand-dot{color:#ed987d;margin-left:2px}.header-actions{display:flex;gap:12px;align-items:center}.icon-button,.settings-button{display:flex;align-items:center;gap:7px;justify-content:center;background:transparent;color:#737e76;font-size:12px;padding:11px 9px;font-weight:500;border-radius:10px}.settings-button{background:#f0f4ed;border:1px solid #e2e8dc;color:#4b6552;padding:10px 17px;font-weight:700}.icon-button svg,.settings-button svg{width:17px;height:17px}.sound-off{display:none}[aria-pressed=false] .sound-off{display:block}[aria-pressed=false] .sound-waves{display:none}.main-content{max-width:1200px;padding:0 30px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:31px 0 25px}.eyebrow{font-size:11px;letter-spacing:.2px;color:#7e8a76;margin-bottom:8px;display:flex;align-items:center;gap:7px;font-weight:500}.eyebrow>span{background:#a4b688;width:6px;height:6px;border-radius:50%}.intro h2{font-size:29px;letter-spacing:-1.2px;line-height:1.45;font-weight:800}.intro h2 em{color:var(--green);font-style:normal;position:relative}.intro h2 em:after{content:'';position:absolute;height:6px;border-radius:5px;background:#d9e8b8;left:0;right:0;bottom:1px;z-index:-1}.intro p{font-size:12px;color:#859084;margin-top:7px}.game-meta{display:flex;gap:8px;align-self:flex-end;margin-bottom:3px}.game-meta>span{display:flex;gap:4px;align-items:center;border:1px solid #e5e9df;background:#fff;padding:9px 12px;border-radius:8px;font-size:10px;color:#8b9388;white-space:nowrap}.game-meta b{font-weight:600;color:#576950}.game-meta svg{width:14px;height:14px;margin-right:3px;color:#86927a}.game-board{background:#edf3e9;border:1px solid #dce5d5;border-radius:25px;min-height:494px;padding:22px 29px 16px;position:relative;overflow:hidden;background-image:radial-gradient(#6d8b5b14 .8px,transparent .8px);background-size:14px 14px;box-shadow:0 3px 0 #e3e9df;transition:background-color .4s}.board-topline{position:absolute;top:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;z-index:1;pointer-events:none}.round-pill{font-size:10px;letter-spacing:1.6px;background:#ffffffb3;border:1px solid #dae4d6;border-radius:20px;padding:7px 12px;font-weight:700;color:#64835c;display:flex;align-items:center;gap:7px}.live-dot{width:5px;height:5px;border-radius:50%;background:#93ae7d}.open-count{font-size:11px;color:#85917c}.open-count strong{color:#526b4b;margin-left:5px;font-size:13px}.bell-area{height:147px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:0}.bell-button{position:relative;width:151px;height:111px;flex:none;display:grid;place-items:center;background:transparent;transition:transform .15s;border-radius:50%}.bell-button:active{transform:translateY(5px) scale(.97)}.bell-art{width:150px;height:104px;stroke:none;position:relative;z-index:1;filter:drop-shadow(0 3px 1px #5c71370b)}.bell-halo{position:absolute;width:96px;height:96px;border:1px solid #d7e4bd;background:#e3ebcd66;border-radius:50%;top:0;left:28px}.bell-touch-label{position:absolute;top:2px;right:-10px;background:#fffbed;color:#a1833a;border:1px solid #e8d9af;font-size:8px;font-weight:800;letter-spacing:.9px;border-radius:5px;padding:4px 7px;transform:rotate(9deg)}.board-status{font-size:12px;font-weight:500;color:#7b8a70;margin-top:4px;min-height:20px;text-align:center;line-height:1.7}.bell-spark{position:absolute;color:#b9c7a7;top:47px;font-size:19px}.spark-left{left:calc(50% - 115px);transform:rotate(9deg)}.spark-right{left:calc(50% + 100px);top:29px;font-size:15px}.players{display:grid;grid-template-columns:repeat(var(--player-count,2),minmax(0,1fr));max-width:630px;margin:3px auto 0;gap:44px;--card-width:143px;--card-height:175px;position:relative}.players[data-count="3"]{max-width:760px;gap:33px}.players[data-count="4"]{max-width:925px;gap:23px}.player{display:flex;align-items:center;flex-direction:column;min-width:0;position:relative}.player[data-team="1"],.team-color-1{--team:#7499cb;--team-light:#e5eefb;--team-dark:#507bab;--team-pattern:#a6bfdf}.player[data-team="2"],.team-color-2{--team:#e09696;--team-light:#fbe8e6;--team-dark:#b47173;--team-pattern:#f2b8b5}.player[data-team="3"],.team-color-3{--team:#a48ac6;--team-light:#eee7f8;--team-dark:#8568aa;--team-pattern:#c2acd9}.player[data-team="4"],.team-color-4{--team:#d6af63;--team-light:#faf0d9;--team-dark:#a38440;--team-pattern:#ebcc8e}.open-slot{width:var(--card-width);height:var(--card-height);position:relative;border-radius:12px;border:1.5px dashed #cbd7c1;background:#ffffff35;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#a6b29b}.empty-card-icon{display:flex;align-items:center;justify-content:center;width:37px;height:44px;border:1.5px solid #c9d4bf;border-radius:6px;transform:rotate(-9deg);font-size:21px;font-weight:300;box-shadow:4px 3px 0 -1px #edf2e8,5px 4px 0 0 #d1dbc9}.empty-card-label{font-size:10px;letter-spacing:.3px;margin-top:4px}.open-slot.has-card{border-color:transparent;background:transparent}.fruit-card{width:100%;height:100%;position:relative;background:#fffefb;border-radius:12px;border:1px solid #e3e2d5;box-shadow:0 3px 0 #d6d9cd,0 5px 12px #3f50370c;overflow:hidden;padding:19px 17px;display:flex;align-items:center;justify-content:center}.fruit-card:before{content:'';position:absolute;inset:5px;border:1px solid #edf0e5;border-radius:8px;pointer-events:none}.fruit-card .corner{position:absolute;left:9px;top:7px;font-size:10px;color:#88977e;font-weight:700;z-index:1;line-height:1}.fruit-card .corner.bottom{left:auto;top:auto;right:9px;bottom:7px;transform:rotate(180deg)}.fruit-layout{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);width:100%;height:100%;align-items:center;justify-items:center;gap:0 2px}.fruit-layout img{width:50px;max-width:100%;height:49px;object-fit:contain}.fruit-layout[data-number="1"] img{grid-area:2/1/3/3;width:83px;height:83px}.fruit-layout[data-number="2"] img:first-child{grid-area:1/1/2/2}.fruit-layout[data-number="2"] img:last-child{grid-area:3/2/4/3}.fruit-layout[data-number="2"] img{width:57px;height:57px}.fruit-layout[data-number="3"] img:nth-child(1){grid-area:1/1}.fruit-layout[data-number="3"] img:nth-child(2){grid-area:2/1/3/3}.fruit-layout[data-number="3"] img:nth-child(3){grid-area:3/2}.fruit-layout[data-number="4"] img:nth-child(3){grid-area:3/1}.fruit-layout[data-number="4"] img:nth-child(4){grid-area:3/2}.fruit-layout[data-number="5"] img:nth-child(3){grid-area:2/1/3/3}.fruit-layout[data-number="5"] img:nth-child(4){grid-area:3/1}.fruit-layout[data-number="5"] img:nth-child(5){grid-area:3/2}.pile-counter{position:absolute;bottom:-9px;right:-9px;z-index:3;font-size:9px;font-weight:700;color:#77856b;border:1px solid #d9e0d1;background:#fbfcf8;border-radius:6px;padding:3px 6px}.flip-arrow{height:33px;display:flex;align-items:center;justify-content:center;position:relative;width:100%;color:#b2bea9}.flip-arrow svg{width:28px;height:29px;transform:rotate(-9deg);stroke-width:1.3}.turn-marker{position:absolute;font-size:9px;left:calc(50% + 24px);white-space:nowrap;color:var(--team-dark);opacity:0;font-weight:700;transition:opacity .2s}.is-next .flip-arrow{color:var(--team-dark)}.is-next .turn-marker{opacity:1}.deck-wrap{width:98px;height:110px;position:relative;border-radius:10px;background:var(--team-pattern);box-shadow:0 3px 0 #fffc,0 4px 0 var(--team),0 7px 0 #fffc,0 8px 0 var(--team);transition:transform .3s}.card-back{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background-color:var(--team);background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,#ffffff13 6px,#ffffff13 7px);border:4px solid #ffffffef;border-radius:10px;box-shadow:0 2px 5px #41523114;color:#fff;overflow:hidden}.card-back:before{content:'';border:1px solid #ffffff6b;border-radius:5px;position:absolute;inset:4px}.card-back:after{content:'✧';position:absolute;top:9px;left:11px;font-size:12px;line-height:1;color:#ffffffc9}.card-back .team-number{font-size:42px;font-weight:900;line-height:1.1;font-family:'Noto Sans KR',sans-serif;text-shadow:0 2px 0 #0000000a}.card-back .card-caption{font-size:7px;letter-spacing:1.6px;font-weight:700;margin-top:5px;color:#ffffffe3}.deck-wrap.is-empty{opacity:.35;box-shadow:none}.is-next .deck-wrap{transform:translateY(-2px)}.team-info{display:flex;align-items:center;gap:8px;margin-top:17px;font-size:10px;color:#8a9480}.team-info .team-name{font-size:12px;font-weight:800;color:var(--team-dark)}.team-info .deck-count{font-weight:700;color:#637756}.team-info .info-divider{width:2px;height:2px;background:#bcc8b1;border-radius:50%}.board-bottomline{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:9px;color:#94a087;gap:12px}.board-bottomline>span{display:flex;gap:5px;align-items:center}.direction-arrow{font-size:17px;line-height:1}.game-controls{display:flex;justify-content:center;align-items:center;gap:26px;padding:26px 0 23px;position:relative}.start-button{height:49px;min-width:216px;background:var(--green);border-radius:12px;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 3px 0 #246446,0 5px 10px #347c5b12;transition:transform .15s}.start-button:active{transform:translateY(2px);box-shadow:0 1px 0 #246446}.start-button svg{width:16px;height:16px;fill:currentColor;stroke:none}.start-button:disabled{background:#93ab83;box-shadow:0 3px 0 #7f976f}.restart-button{display:flex;align-items:center;gap:6px;font-size:11px;background:transparent;color:#87917f;padding:12px 3px}.restart-button svg{width:14px;height:14px}.keyboard-hint{display:flex;align-items:center;gap:7px;font-size:9px;color:#9aa091;width:127px}.keyboard-hint kbd{font:9px inherit;border:1px solid #dde3d6;background:#fff;border-radius:4px;padding:3px 6px;box-shadow:0 1px 0 #dfe5d8}.game-footer{display:flex;justify-content:center;align-items:center;gap:9px;padding:18px 0 24px;border-top:1px solid #e8ebdf;position:relative;color:#939b89;font-size:10px}.footer-fruits{display:flex;align-items:center;gap:2px}.footer-fruits img{width:17px;height:17px}.footer-brand{position:absolute;right:0;letter-spacing:1.8px;font-weight:600;font-size:8px;color:#b1b9a4}.game-board[data-phase="waiting"]{background-color:#e8f1dc}.game-board[data-phase="waiting"] .bell-halo{animation:halo-pulse 1.6s ease-out infinite;border-color:#a8c588;background:#d4e5b6}.game-board[data-phase="waiting"] .bell-touch-label{background:#347c5b;color:#fff;border-color:#347c5b}.game-board[data-phase="waiting"] .board-status{color:#347c5b;font-weight:800}.game-board[data-phase="waiting"] .bell-spark{color:#d3a344}.matching .fruit-card{border:2px solid #98b969;box-shadow:0 0 0 4px #c7dea34d,0 3px 0 #bbce9c}.is-flipping .fruit-card{animation:card-flip .62s cubic-bezier(.2,.6,.3,1) both;transform-origin:center bottom}.is-winning .deck-wrap{animation:win-bounce .65s ease 2}.modal{border:1px solid #e4e8df;border-radius:24px;padding:34px;width:min(440px,calc(100vw - 32px));color:var(--ink);background:#fffefb;box-shadow:0 25px 100px #20392d26;overflow:visible;max-height:calc(100dvh - 40px);overflow-y:auto}.modal::backdrop{background:#23392c55;backdrop-filter:blur(5px)}.modal[open]{animation:modal-in .22s ease}.close-button{position:absolute;right:17px;top:15px;width:29px;height:29px;border-radius:50%;background:#f1f4ed;color:#8b967f;font-size:24px;font-weight:300;line-height:1;padding:0 0 3px}.modal-eyebrow{display:block;color:#869578;letter-spacing:.3px;font-size:11px;margin:0 0 8px;font-weight:500}.modal h2{font-size:25px;letter-spacing:-1px;font-weight:800;margin-bottom:23px}.modal fieldset{padding:0;margin:0 0 25px;border:0}.modal legend{padding:0;font-size:13px;font-weight:600;margin-bottom:12px}.segmented{display:flex;gap:9px}.segmented label{flex:1;position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.segmented span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:77px;border:1.5px solid #e4e8df;border-radius:12px;background:#f8f9f4;font-size:16px;color:#8b9580;gap:4px;transition:.15s}.team-options span{flex-direction:row;font-size:12px;gap:5px}.team-options b{font-size:26px;font-weight:800}.segmented input:checked+span{background:#eef5e6;border-color:#71975c;color:#427c42}.segmented input:focus-visible+span{outline:3px solid #e5b351;outline-offset:3px}.segmented small{font-size:10px;color:#899780}.form-note{font-size:10px;line-height:1.8;color:#9a9f90;margin:0 0 20px}.primary-button{display:flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:13px;font-weight:700;min-height:47px;padding:12px 20px;border-radius:10px;width:100%}.help-steps{list-style:none;margin:0 0 20px;padding:0;counter-reset:step}.help-steps li{counter-increment:step;position:relative;padding-left:38px;margin-bottom:23px}.help-steps li:before{content:counter(step);position:absolute;left:0;top:0;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;background:#edf3e5;color:#6b8a54;font-size:11px;font-weight:800}.help-steps b{font-size:13px;line-height:25px}.help-steps p{font-size:11px;line-height:1.8;color:#8b9680;margin-top:4px}.help-example{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:10px;background:#f5f7ef;margin:0 0 17px;font-size:16px}.help-example img{width:24px;height:28px}.help-example>span{color:#a5b08f;font-size:13px}.help-example>strong{font-size:14px;color:var(--green)}.winner-modal{width:min(600px,calc(100vw - 32px));text-align:center;padding:34px 31px 27px}.winner-bell{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:#fff1bc;color:#d9a92c;font-size:36px;line-height:58px}.winner-modal h2{margin-bottom:10px;font-size:28px}.winner-modal>p{font-size:12px;color:#929b85}.winner-options{display:flex;justify-content:center;gap:18px;margin:28px 0}.winner-choice{width:105px;padding:0;background:none;color:var(--team-dark);font-size:12px;font-weight:800;transition:transform .2s}.winner-choice:hover{transform:translateY(-6px)}.winner-choice .card-back{height:126px;margin-bottom:12px}.winner-pot{font-size:12px;color:#8b967c;background:#f2f5eb;border:1px solid #e6eadc;border-radius:9px;padding:13px 10px}.winner-pot strong{color:#507849}.finish-modal{text-align:center}.finish-modal h2{font-size:24px;margin-bottom:12px}.finish-modal p{font-size:13px;color:#8a957f;margin-bottom:23px}.finish-medal{width:80px;height:80px;border:8px solid #f7e9ac;border-radius:50%;background:#f1ca53;color:#fff8dc;margin:20px auto;font-size:41px;line-height:64px}.toast{position:fixed;z-index:20;bottom:30px;left:50%;transform:translateX(-50%);background:#2d4c3dec;color:#fff;border-radius:12px;box-shadow:0 4px 20px #28433222;padding:13px 22px;font-size:12px;text-align:center;max-width:calc(100vw - 28px);width:max-content;pointer-events:none;animation:toast-in .2s ease}.animation-layer{position:fixed;inset:0;pointer-events:none;z-index:15;overflow:hidden}.flying-card{position:fixed;border-radius:10px;pointer-events:none;box-shadow:0 4px 15px #34482b20;transform-origin:center center}.flying-card .fruit-card{border-radius:10px}.confetti-piece{position:fixed;width:8px;height:12px;top:45%;left:50%;border-radius:2px;animation:confetti-fall 1s ease-out both}@keyframes card-flip{0%{transform:translateY(94px) scale(.72) rotateY(-170deg);opacity:0}25%{opacity:1}100%{transform:translateY(0) scale(1) rotateY(0)}}@keyframes halo-pulse{0%{box-shadow:0 0 0 0 #9dbc6a40}100%{box-shadow:0 0 0 22px #9dbc6a00}}@keyframes win-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px) rotate(-4deg)}}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;bottom:20px}to{opacity:1;bottom:30px}}@keyframes confetti-fall{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(min-width:1600px){.main-content{max-width:1360px}.intro{padding-top:40px;padding-bottom:31px}.game-board{min-height:600px}.players{--card-width:170px;--card-height:211px;max-width:720px;margin-top:13px}.players[data-count="4"]{max-width:1040px}.bell-area{height:162px}.deck-wrap{width:113px;height:125px}.flip-arrow{height:42px}.board-bottomline{margin-top:24px}.fruit-layout img{width:61px;height:61px}.fruit-layout[data-number="1"] img{width:95px;height:95px}.game-controls{padding:30px 0}.start-button{height:53px}}
@media(max-width:900px){.site-header{padding:0 25px;height:80px}.header-actions{gap:5px}.main-content{padding:0 24px}.intro h2{font-size:25px}.intro p{font-size:11px}.game-meta{flex-direction:column;align-items:flex-end;gap:5px;align-self:center}.game-meta>span{padding:6px 9px;font-size:9px}.game-board{padding:20px 19px 15px}.board-topline{left:20px;right:20px}.players{gap:35px;max-width:520px}.players[data-count="3"]{gap:24px}.players[data-count="4"]{gap:17px;--card-width:125px;--card-height:158px}.players[data-count="4"] .fruit-layout img{width:43px;height:43px}.players[data-count="4"] .fruit-layout[data-number="1"] img{width:70px;height:70px}.footer-brand{display:none}.board-bottomline{font-size:8px}.game-board{min-height:480px}.turn-marker{font-size:8px;left:calc(50% + 17px)}}
@media(max-width:620px){.site-header{height:71px;padding:0 17px;gap:10px}.brand{gap:9px}.brand-icon{width:38px;height:41px;border-radius:12px}.brand-icon img{width:31px;height:32px}.brand-overline{font-size:8px}.brand h1{font-size:23px}.header-actions{gap:1px}.icon-button{padding:9px 8px}.icon-button>span{display:none}#fullscreenButton{display:none}.settings-button{padding:8px 10px;font-size:11px;gap:5px}.settings-button svg{width:15px;height:15px}.main-content{padding:0 14px}.intro{padding:23px 3px 21px;gap:15px;display:block}.eyebrow{font-size:9px;margin-bottom:7px}.intro h2{font-size:24px;letter-spacing:-1.1px}.intro p{font-size:10px;line-height:1.7;margin-top:6px}.game-meta{flex-direction:row;margin-top:13px;gap:6px}.game-meta>span{font-size:9px;padding:5px 8px}.game-board{padding:18px 13px 13px;border-radius:20px;min-height:481px}.board-topline{top:17px;left:17px;right:17px}.round-pill{font-size:8px;padding:6px 9px;letter-spacing:1px}.open-count{font-size:9px}.open-count strong{font-size:11px}.bell-area{height:145px;padding-top:13px}.bell-button{width:127px;height:100px}.bell-art{width:129px;height:93px}.bell-halo{width:80px;height:80px;left:23px;top:2px}.bell-touch-label{top:10px;right:-5px;font-size:6px}.bell-spark{top:55px;font-size:15px}.spark-left{left:calc(50% - 97px)}.spark-right{left:calc(50% + 90px);top:41px}.board-status{font-size:10px;margin-top:2px}.players{--card-width:119px;--card-height:149px;max-width:330px;gap:37px;margin-top:8px}.fruit-card{padding:16px 12px;border-radius:10px}.fruit-layout img{width:43px;height:42px}.fruit-layout[data-number="1"] img{width:70px;height:70px}.fruit-layout[data-number="2"] img{width:45px;height:45px}.deck-wrap{width:82px;height:98px}.card-back .team-number{font-size:35px}.card-back .card-caption{font-size:6px;letter-spacing:1.3px}.team-info{font-size:9px;gap:6px;margin-top:16px}.team-info .team-name{font-size:11px}.flip-arrow{height:32px}.flip-arrow svg{width:25px}.turn-marker{font-size:8px;left:calc(50% + 15px)}.board-bottomline{margin-top:19px;justify-content:center;font-size:8px}.board-bottomline>span:first-child{display:none}.players[data-count="3"]{--card-width:88px;--card-height:119px;gap:15px}.players[data-count="4"]{--card-width:68px;--card-height:97px;gap:9px}.players[data-count="3"] .deck-wrap{width:69px;height:88px}.players[data-count="4"] .deck-wrap{width:57px;height:76px}.players[data-count="4"] .card-back{border-width:3px;border-radius:8px}.players[data-count="4"] .card-back .team-number{font-size:27px}.players[data-count="4"] .card-back .card-caption{font-size:4px;letter-spacing:.7px}.players[data-count="4"] .card-back:after{font-size:8px;left:7px;top:9px}.players[data-count="3"] .fruit-card,.players[data-count="4"] .fruit-card{padding:13px 6px 12px}.players[data-count="3"] .fruit-layout img{width:32px;height:32px}.players[data-count="4"] .fruit-layout img{width:25px;height:25px}.players[data-count="3"] .fruit-layout[data-number="1"] img{width:51px;height:51px}.players[data-count="4"] .fruit-layout[data-number="1"] img{width:40px;height:40px}.players[data-count="4"] .fruit-card .corner{font-size:7px;top:5px;left:6px}.players[data-count="4"] .fruit-card .corner.bottom{top:auto;left:auto;bottom:5px;right:6px}.players[data-count="4"] .empty-card-icon{width:25px;height:33px;font-size:16px}.players[data-count="4"] .empty-card-label{font-size:7px}.players[data-count="3"] .turn-marker,.players[data-count="4"] .turn-marker{display:none}.players[data-count="3"] .team-info,.players[data-count="4"] .team-info{flex-direction:column;gap:3px}.players[data-count="3"] .info-divider,.players[data-count="4"] .info-divider{display:none}.players[data-count="4"] .pile-counter{font-size:7px;right:-4px;padding:2px 4px}.players[data-count="3"]{margin-top:22px}.players[data-count="4"]{margin-top:31px}.game-controls{padding:23px 0 22px;gap:22px}.start-button{min-width:188px;height:48px;font-size:13px}.restart-button{font-size:10px}.keyboard-hint{display:none}.game-footer{padding:17px 0 22px;gap:7px;font-size:8px}.footer-fruits{gap:0}.footer-fruits img{width:14px;height:14px}.modal{padding:30px 23px;border-radius:20px}.winner-modal{padding:30px 20px 24px}.winner-modal h2{font-size:24px}.winner-modal>p{font-size:10px}.winner-options{gap:10px;margin:24px 0}.winner-choice{width:83px;font-size:11px;min-width:0;flex:1;max-width:94px}.winner-choice .card-back{height:100px}.winner-choice .card-back .team-number{font-size:33px}.winner-choice .card-back .card-caption{font-size:5px;letter-spacing:.8px}.winner-pot{font-size:10px}.winner-bell{height:49px;width:49px;line-height:49px;font-size:30px}.toast{font-size:11px;padding:12px 17px;bottom:23px}.board-status{max-width:100%}}
@media(max-width:360px){.players[data-count="4"]{--card-width:60px;--card-height:89px;gap:6px}.players[data-count="3"]{--card-width:79px;--card-height:110px;gap:12px}.players[data-count="4"] .fruit-layout img{width:23px;height:23px}.intro h2{font-size:21px}.header-actions .icon-button{padding:8px 5px}.game-footer p{font-size:7px}.winner-options{gap:7px}.winner-choice .card-back{height:86px}.winner-choice .card-back:after{display:none}}
@media(min-width:621px) and (max-height:800px){.site-header{height:65px}.brand-icon{width:38px;height:41px;border-radius:12px}.brand-icon img{width:30px;height:34px}.brand h1{font-size:23px}.brand-overline{font-size:8px}.intro{padding:18px 0 17px}.intro h2{font-size:25px}.eyebrow{font-size:10px;margin-bottom:5px}.intro p{font-size:10px;margin-top:4px}.game-board{min-height:0;padding-top:14px;padding-bottom:12px;border-radius:21px}.board-topline{top:16px}.bell-area{height:112px}.bell-button{width:128px;height:84px}.bell-art{width:125px;height:86px}.bell-halo{width:78px;height:78px;left:25px;top:0}.bell-touch-label{font-size:7px;right:-9px}.bell-spark{top:34px}.board-status{font-size:10px;margin-top:5px}.players,.players[data-count="3"],.players[data-count="4"]{--card-width:112px;--card-height:137px;margin-top:2px}.fruit-card{padding:13px 12px}.fruit-layout img,.players[data-count="4"] .fruit-layout img{width:40px;height:39px}.fruit-layout[data-number="1"] img,.players[data-count="4"] .fruit-layout[data-number="1"] img{width:63px;height:63px}.fruit-layout[data-number="2"] img{width:43px;height:43px}.deck-wrap{width:76px;height:80px}.card-back .team-number{font-size:32px}.card-back .card-caption{font-size:5px;letter-spacing:1px}.card-back:after{font-size:9px;left:8px;top:8px}.flip-arrow{height:27px}.flip-arrow svg{width:24px;height:25px}.team-info{margin-top:14px;font-size:9px}.team-info .team-name{font-size:11px}.board-bottomline{margin-top:12px;font-size:8px}.game-controls{padding:18px 0 16px}.start-button{height:43px;min-width:206px;font-size:12px}.game-footer{padding:12px 0 15px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep essential labels legible on the pastel cards and board. */
.card-back .team-number{color:#263e35;text-shadow:none}.card-back .card-caption{color:#203025}.board-status,.restart-button{color:#586a50}
