:root{--ink:#263c33;--surface:#f7f3e9;--green:#254d3e;--muted:#808477;--red:#bd4439;--line:#dfdfd0;color:var(--ink);font-synthesis:none;background:#e9e9de;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #d5ae67}button{background:0 0;border:0}a{color:inherit;text-decoration:none}button,input{min-height:44px}button{-webkit-user-select:none;user-select:none}h1,h2,p{margin:0}p{font-size:14px;line-height:1.8}strong{font-weight:650}.app{background:var(--surface);isolation:isolate;width:100%;max-width:480px;min-height:100svh;margin:0 auto;position:relative}.home{padding:calc(env(safe-area-inset-top) + 14px) 26px calc(env(safe-area-inset-bottom) + 16px);flex-direction:column;gap:22px;min-height:100svh;display:flex}.home-header,.connection-screen header{justify-content:space-between;align-items:center;height:46px;display:flex}.brand{letter-spacing:-1.5px;font-family:inherit;font-size:29px;font-weight:700}.brand span{font-family:inherit;font-size:inherit;letter-spacing:inherit;font-weight:inherit;margin-left:0}.icon-button{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:25px;display:inline-flex}.home-header .icon-button{border:1px solid var(--line)}.home-copy{margin-top:12px}.eyebrow{letter-spacing:1.4px;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.small-flower{background:var(--red);border-radius:4px;width:12px;height:12px;position:relative;transform:rotate(45deg)}.small-flower:after{content:"";background:var(--surface);border-radius:50%;width:4px;height:4px;position:absolute;top:4px;left:4px}.home h1{letter-spacing:-1.5px;margin:16px 0 13px;font-family:Georgia,Apple SD Gothic Neo,serif;font-size:31px;font-weight:500;line-height:1.5}.home-copy p{color:#828378;font-size:13px;line-height:1.9}.home-table{background-color:#315d47;background-image:repeating-linear-gradient(15deg,#0000,#0000 2px,#ffffff05 2px 3px),radial-gradient(at 50% 35%,#466c52,#0000 75%);border-radius:16px;flex-shrink:0;height:234px;margin:0 -3px;position:relative;overflow:hidden;box-shadow:0 14px 30px #254d3e13,inset 0 1px 1px #ffffff38}.table-stitch{pointer-events:none;border:1px dashed #c8d0af40;border-radius:10px;position:absolute;inset:9px}.table-caption{letter-spacing:1.3px;color:#d8dfcb99;font-size:10px;position:absolute;top:20px;left:22px}.hero-cards{justify-content:center;align-items:center;display:flex;position:absolute;inset:25px 0 8px}.hero-cards>span{transform:translateX(calc((var(--i) - 2) * 43px)) translateY(calc((var(--i) - 2) * (var(--i) - 2) * 5px)) rotate(calc((var(--i) - 2) * 10deg));filter:drop-shadow(1px 8px 5px #112e2980);position:absolute}.hero-cards .hwatu{width:76px}.hwatu{aspect-ratio:64/100;vertical-align:middle;border-radius:4px;flex-shrink:0;width:54px;line-height:0;display:inline-block;box-shadow:0 2px 2px #0005}.hwatu img{aspect-ratio:64/100;object-fit:fill;border-radius:inherit;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.home-actions{gap:10px;display:grid}.primary,.secondary{border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:15px 18px;font-size:15px;font-weight:600;display:flex}.primary{background:var(--green);color:#faf8ec;box-shadow:0 4px 10px #254d3e12}.secondary{color:var(--green);background:#fcfaf4;border:1px solid #d6dbcd}.home-actions .primary,.home-actions .secondary{min-height:72px}.home-actions button>span:first-child{text-align:left}.home-actions small{opacity:.6;margin-top:6px;font-size:10px;font-weight:400;display:block}.home-actions button>span:last-child{font-size:22px;font-weight:400}.connection-screen{min-height:100svh;padding:calc(env(safe-area-inset-top) + 18px) 26px 28px}.connection-screen header{margin-bottom:50px}.connection-screen h1{letter-spacing:-1px;margin:20px 0 12px;font-size:28px;font-weight:500}.muted{color:var(--muted)}.field{gap:10px;margin:30px 0 18px;font-size:12px;display:grid}.field input,.invite-content input{width:100%;color:var(--ink);outline-offset:2px;background:#fffdf7;border:1px solid #d6dbcd;border-radius:10px;padding:15px;font-size:16px}.room-input{letter-spacing:5px}.or-divider{color:var(--muted);align-items:center;gap:16px;margin:27px 0 0;font-size:11px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.fine-print{color:var(--muted);margin-top:18px;font-size:11px;line-height:1.8}.invite-content{justify-items:center;gap:12px;display:grid}.room-code{letter-spacing:7px;color:var(--green);padding:16px 0;font-family:Georgia,serif;font-size:34px;font-weight:600}.qr{border-radius:10px}.invite-content input{text-align:center;min-height:44px;font-size:10px}.lobby .invite-content{margin-top:24px}.waiting-note{text-align:center;color:var(--muted);margin-top:26px;font-size:12px}.status-dot{background:#788c60;border-radius:50%;width:7px;height:7px;margin-right:8px;animation:2s ease-in-out infinite breathe;display:inline-block}.playing{color:#eff0dd;--surface:#284d3e;background:#284d3e;height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.game-table{--play-card-width:50px;height:100%;padding:env(safe-area-inset-top) 13px env(safe-area-inset-bottom);background-image:repeating-linear-gradient(30deg, transparent, transparent 2px, #fff03 2px, #fff03 3px), radial-gradient(ellipse at center, #38634d, transparent 80%);grid-template-rows:48px 32px 65px minmax(0,1fr) 24px 32px 65px 177px;display:grid}.game-header{border-bottom:1px solid #f4f5dd17;align-items:center;gap:3px;margin-bottom:5px;display:flex}.game-header .icon-button{width:44px;min-height:44px;font-size:22px}.table-logo{letter-spacing:-1px;margin-left:4px;font-family:inherit;font-size:22px}.table-logo span{font-family:inherit;font-size:inherit;letter-spacing:inherit;color:inherit;margin-left:0}.round{color:#d5dfc6;white-space:nowrap;margin-left:auto;font-size:10px}.player-info{justify-content:space-between;align-items:center;padding:0 7px;font-size:12px;display:flex}.player-name{white-space:nowrap;align-items:center;gap:7px;max-width:75%;display:flex;overflow:hidden}.player-dot{border:1px solid #9bae9c;border-radius:50%;width:6px;height:6px}.active .player-dot{background:#e6c483;border-color:#e6c483;box-shadow:0 0 8px #e6c433}.dealer-badge{color:#254d3e;background:#e6d5a6;border-radius:3px;padding:2px 4px;font-size:9px}.win-count{color:#b8c8b3;font-size:9px}.player-score{align-items:baseline;gap:6px;display:flex}.player-score strong{font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1}.player-score>span{color:#b8c8b3;font-size:10px}.player-score small{color:#ead294;font-size:11px}.opponent-hand{justify-content:center;align-items:center;gap:5px;display:flex;position:relative}.opponent-hand .hwatu{width:25px;box-shadow:0 2px 2px #0005}.pass-badge{color:#d4dfc5;background:#162e27;border-radius:4px;padding:6px;font-size:10px}.captured{background:#172f2826;border:1px solid #e8efce12;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.35fr);gap:6px;padding:3px 6px;display:grid}.captured-group{flex-direction:column;align-items:flex-start;min-width:0;height:57px;padding:0;display:flex;position:relative}.group-title{color:#bdceb7;align-items:center;gap:5px;font-size:9px;line-height:16px;display:flex}.group-title small{color:#e1e5cc;opacity:.8;font-size:8px}.mini-stack{width:100%;height:39px;display:block;position:relative;overflow:hidden}.mini-stack>span:not(.empty-slot){position:absolute;top:0}.mini-stack .hwatu{border-radius:2px;width:23px}.empty-slot{border:1px dashed #d7e1c427;border-radius:2px;width:23px;height:36px;position:absolute;top:1px}.floor-area{--floor-width:var(--play-card-width);min-height:0;position:relative;container-type:size}.deck{width:var(--floor-width);height:calc(var(--floor-width) * 1.5625);z-index:3;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck .hwatu{width:var(--floor-width);box-shadow:2px 3px #9c3028,3px 5px #1a2a20,4px 6px #9c3028,5px 8px #1a2a20}.deck>span:last-child{color:#e7e6ce;text-align:center;font-family:Georgia,serif;font-size:14px;line-height:1;position:absolute;top:calc(100% + 12px)}.deck small{color:#b0c0ac;margin-top:3px;font-size:8px;display:block}.floor-grid{max-width:calc(var(--floor-width) * 6.6);max-height:calc(var(--floor-width) * 4.7);margin:auto;position:absolute;inset:26px 8px}.floor-month{left:var(--slot-x);top:var(--slot-y);width:var(--floor-width);height:calc(var(--floor-width) * 1.5625);position:absolute;transform:translate(-50%,-50%)}.floor-card{left:calc(var(--pile-index) * var(--floor-width) * .6667 * var(--stack-direction,1));top:var(--pile-top,0px);min-height:0;width:var(--floor-width);height:calc(var(--floor-width) * 1.5625);cursor:zoom-in;outline-offset:2px;transform:rotate(var(--rest-angle,0deg));padding:0;transition:filter .18s;position:absolute}.floor-card+.floor-card{margin-left:0}.landed-card{z-index:10;pointer-events:none;filter:drop-shadow(0 2px 1px #0006);position:absolute;inset:0}.floor-card:disabled{opacity:1}.floor-card .hwatu{border:1px solid #e9ecdd42;width:100%}.floor-card.highlighted{filter:drop-shadow(0 0 5px #ecc36966);border-radius:5px;outline:2px solid #e9c786}.floor-card.highlighted:not(:disabled){cursor:pointer;animation:1.5s infinite breathe}.pending-cards{gap:6px;display:flex;position:absolute;top:12px;left:50%}.pending-cards .hwatu{width:36px}.turn-status{min-height:0;position:relative}.turn-message{z-index:50;text-align:center;color:#d6dec4;pointer-events:none;height:23px;font-size:10px;line-height:23px;position:absolute;bottom:0;left:0;right:0}.turn-message.callout{white-space:nowrap;color:#fff2ba;text-shadow:0 2px #38160f,0 0 14px #e7b74750;letter-spacing:2px;background:#702d24f5;border:2px solid #f1ce70;border-radius:12px;height:auto;padding:12px 24px;font-family:inherit;font-size:clamp(26px,8vw,36px);font-weight:900;line-height:1.5;bottom:calc(50% - 30px);left:50%;right:auto;transform:translate(-50%);box-shadow:0 0 0 4px #352d2199,0 10px 25px #0008}.hand-area{justify-content:center;align-items:center;min-height:0;padding:7px 5px 0;display:flex;position:relative}.hand-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-content:center;gap:6px 9px;width:100%;display:grid}.hand-card{touch-action:manipulation;border-radius:4px;flex-direction:column;align-items:center;min-width:0;min-height:44px;padding:0;transition:transform .16s;display:flex;position:relative}.hand-card .hwatu{width:var(--play-card-width);border:1px solid #f4edda4a;box-shadow:0 2px 1px #16231f99,0 4px 8px #11211b44}.hand-card.selected{transform:translateY(-7px)}.hand-card.selected .hwatu{box-shadow:0 0 0 2px #e6c78c,0 4px 12px #0005}.hand-card.matchable .hwatu{box-shadow:0 0 0 2px #f4d569cc,0 0 8px 2px #f6d66680}.bomb-pass-face svg{width:100%;height:100%;display:block}.bomb-pass:disabled{opacity:.65}.game-footer{color:#a9bca7;border-top:1px solid #f0f3d814;justify-content:space-between;align-items:center;font-size:8px;display:flex}.game-footer button{color:#d0d8bc;min-height:32px;padding:0 5px;font-size:9px}.card-motion{z-index:20;pointer-events:none;filter:drop-shadow(0 8px 5px #0005);will-change:transform;display:flex;position:absolute;top:0;left:0}.card-motion>span{margin-left:calc(var(--i) * -24px)}.card-motion .hwatu{width:var(--motion-width);height:var(--motion-height);aspect-ratio:auto}.card-motion.waiting{transform:translate(var(--from-x), var(--from-y))}.card-motion.play{animation:slap-card var(--duration) linear both}.card-motion.place{animation:place-card var(--duration) ease-out both}.card-motion.flip{transform:translate(var(--from-x), var(--from-y));perspective:600px}.flip-face{width:var(--motion-width);height:var(--motion-height);transform-style:preserve-3d;animation:turn-card var(--duration) ease-in-out both;display:block;position:relative}.flip-front,.flip-back{backface-visibility:hidden;position:absolute;inset:0}.flip-front{transform:rotateY(180deg)}.card-motion.capture,.card-motion.transfer,.card-motion.bonus-capture{animation:capture-card var(--duration) ease-in both}@keyframes slap-card{0%{transform:translate(var(--from-x), var(--from-y)) rotate(-12deg) scale(1.06);filter:drop-shadow(0 14px 7px #0005)}45%{transform:translate(calc(var(--to-x) + 5px), calc(var(--to-y) - 42px)) rotate(var(--swing-angle)) scale(1.12)}73%{transform:translate(calc(var(--to-x) + var(--land-x)), calc(var(--to-y) + var(--land-y))) rotate(var(--land-angle)) scale(1.06, .94);filter:drop-shadow(0 1px 1px #0008)}85%{transform:translate(calc(var(--to-x) + var(--land-x)), calc(var(--to-y) - 3px)) rotate(var(--land-angle)) scale(.98, 1.03)}to{transform:translate(calc(var(--to-x) + var(--land-x)), calc(var(--to-y) + var(--land-y))) rotate(var(--land-angle));filter:drop-shadow(0 2px 1px #0006)}}@keyframes place-card{0%{transform:translate(var(--from-x), var(--from-y)) rotate(-5deg)}to{transform:translate(var(--to-x), var(--to-y)) rotate(0deg)}}@keyframes turn-card{0%{transform:rotateY(0)translateY(0)}45%{transform:rotateY(85deg)translateY(-12px)scale(1.08)}to{transform:rotateY(180deg)translateY(0)}}@keyframes capture-card{0%{transform:translate(var(--from-x), var(--from-y));opacity:1}to{transform:translate(var(--to-x), var(--to-y)) scale(.45);opacity:.15}}@keyframes breathe{50%{opacity:.6}}.modal{color:#263c33;--surface:#f7f3e9;background:#f7f3e9;border:0;border-radius:21px;width:calc(100% - 36px);max-width:420px;max-height:calc(100dvh - 48px);padding:24px;overflow:auto;box-shadow:0 24px 80px #0004}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10251dc7}.modal-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.modal h2{letter-spacing:-.7px;font-size:20px;font-weight:600}.modal p{font-size:13px}.modal .primary,.modal .secondary{justify-content:center;margin-top:10px}.modal fieldset{border:0;margin:24px 0;padding:0}.modal legend{margin-bottom:12px;font-size:12px;font-weight:600}.segmented{background:#e8eadf;border-radius:10px;gap:3px;padding:4px;display:flex}.segmented button{white-space:nowrap;border-radius:7px;flex:1;min-height:42px;padding:5px;font-size:11px}.segmented button[aria-pressed=true]{color:#254d3e;background:#fffdf6;font-weight:600;box-shadow:0 2px 5px #233b2712}.toggle-row{border-bottom:1px solid #e0e2d5;justify-content:space-between;align-items:center;min-height:50px;font-size:13px;display:flex}.toggle-row input{accent-color:#254d3e;width:22px;margin:0}.zoom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px;padding:8px 0 12px;display:grid}.zoom-grid>div{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.zoom-grid .hwatu{width:80px;max-width:100%}.zoom-grid strong{font-size:12px}.zoom-grid span:not(.hwatu){color:#7a8073;font-size:10px;line-height:1.5}.zoom-grid small{color:#bb4138;font-size:9px}.rules-cards{justify-content:center;align-items:center;gap:12px;margin:20px 0;display:flex}.rules-cards>span:not(.hwatu){color:#7a8073;font-size:11px}.rules-cards .hwatu{width:50px}.breakdown{border-top:1px solid #dedfd1;margin:16px 0 10px;padding-top:10px;font-size:11px}.breakdown>div{justify-content:space-between;gap:10px;margin:8px 0;display:flex}.breakdown dd{white-space:nowrap;margin:0;font-weight:600}.breakdown dt{color:#7a8073}.decision-modal,.result-modal{text-align:center}.decision-modal .modal-heading,.result-modal .modal-heading{justify-content:center}.decision-modal .icon-button,.result-modal .icon-button{display:none}.decision-modal .eyebrow,.result-modal .eyebrow{justify-content:center;margin-top:15px;font-size:10px}.decision-score{color:#254d3e;letter-spacing:-2px;margin:15px 0 3px;font-family:Georgia,serif;font-size:70px;line-height:1.3}.decision-score>span{letter-spacing:0;margin-left:7px;font-family:inherit;font-size:16px}.risk-badges{justify-content:center;gap:8px;margin-top:15px;display:flex}.risk-badges span{border:1px solid #d6dccb;border-radius:6px;padding:6px 9px;font-size:11px}.decision-actions{gap:10px;margin-top:20px;display:flex}.decision-actions button{flex-direction:column;gap:8px;font-size:24px;display:flex}.decision-actions small{font-size:9px;font-weight:400}.text-button{color:#828378;margin-top:8px;font-size:12px}.error-toast{bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:100;color:#334939;background:#faf6e8;border:1px solid #d9d8c4;border-radius:10px;align-items:center;width:calc(100% - 40px);max-width:440px;padding:10px 12px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #0003}.error-toast span{flex:1;line-height:1.6}.error-toast button{width:32px;font-size:22px}.modal pre{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;background:#e8eadf;border-radius:8px;padding:10px;font-size:10px}.modal details{margin-top:14px;font-size:12px}.modal summary{cursor:pointer;min-height:44px}@media (max-width:374px){.home{gap:18px;padding-left:22px;padding-right:22px}.home h1{font-size:29px}.home-table{height:218px}.hero-cards .hwatu{width:71px}.hero-cards>span{transform:translateX(calc((var(--i) - 2) * 39px)) translateY(calc((var(--i) - 2) * (var(--i) - 2) * 5px)) rotate(calc((var(--i) - 2) * 10deg))}.game-table{--play-card-width:46px;padding-left:9px;padding-right:9px}.hand-grid{gap:6px}.room-code{font-size:29px}.zoom-grid .hwatu{width:72px}}@media (max-height:760px){.home{gap:15px}.home-copy{margin-top:0}.home h1{margin:12px 0;font-size:27px}.home-table{height:200px}.home-actions .primary,.home-actions .secondary{min-height:62px}.game-table{grid-template-rows:44px 28px 57px minmax(0,1fr) 24px 28px 57px 153px}.captured-group{height:49px}.mini-stack .hwatu{width:20px}.game-table{--play-card-width:44px}.hand-grid{gap:5px}.opponent-hand .hwatu{width:22px}}@media (max-height:700px){.game-table{--play-card-width:40px;grid-template-rows:44px 26px 46px minmax(0,1fr) 24px 26px 46px 146px}.floor-grid{inset:22px 8px}.captured-group{height:38px}.mini-stack .hwatu{width:14px}.empty-slot{width:14px;height:22px}}@media (max-height:640px){.game-table{--play-card-width:36px;grid-template-rows:44px 24px 42px minmax(0,1fr) 24px 24px 42px 134px}.captured-group{height:34px}.player-score strong{font-size:21px}}@media (max-height:610px){.game-table{--play-card-width:34px;grid-template-rows:44px 24px 38px minmax(0,1fr) 24px 24px 38px 128px}.floor-grid{inset:18px 8px}.captured-group{height:30px}.group-title{line-height:13px}.mini-stack .hwatu{width:11px}.empty-slot{width:11px;height:17px}}@media (orientation:landscape) and (max-height:500px){.playing{height:auto;max-height:none;overflow:auto}.game-table{height:800px}.app{max-width:420px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:50ms!important;animation-iteration-count:1!important}}.floor-choices{justify-content:center;gap:24px;margin:24px 0 6px;display:flex}.floor-choices button{border:1px solid #d2d9c8;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:14px;padding:10px;font-size:12px;display:flex}.floor-choices .hwatu{width:85px}.floor-choices button:hover{background:#e9ecdf}.fixture-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.fixture-buttons .secondary{min-height:44px;margin:0;font-size:11px}.modal textarea{resize:vertical;background:#fffdf7;border:1px solid #d6dbcd;border-radius:8px;width:100%;min-height:120px;margin:12px 0;padding:10px;font:11px monospace}.brand .brand-rabbit{margin-left:7px;font-size:23px}.dealer-notice{text-align:center}.dealer-portrait{margin:12px 0}.dealer-portrait .rabbit-mark{--surface:#faf7ef;width:64px;height:64px;color:var(--green);margin:0}.dealer-notice strong{font-size:24px}.slap-impact{z-index:30;pointer-events:none;width:1px;height:1px;position:absolute}.impact-ring{border:3px solid #ffe1a0;border-radius:50%;width:58px;height:58px;animation:.43s ease-out both impact-ring;position:absolute;transform:translate(-50%,-50%)}.slap-impact i{transform-origin:50% 0;background:#fff0b8;border-radius:50%;width:5px;height:20px;animation:.42s ease-out both impact-ray;position:absolute;box-shadow:0 0 6px #ffc76e}@keyframes impact-ring{0%{opacity:.95;transform:translate(-50%,-50%)scale(.25)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}@keyframes impact-ray{0%{opacity:1;transform:rotate(var(--ray)) translateY(12px) scaleY(.7)}to{opacity:0;transform:rotate(var(--ray)) translateY(43px) scaleY(.2)}}@media (prefers-reduced-motion:reduce){.impact-ring,.slap-impact i{animation-duration:80ms}}.rabbit-mark{color:currentColor;vertical-align:middle;flex-shrink:0;width:25px;height:25px;margin-left:7px}.table-tools{gap:12px;font-size:10px;display:flex;position:absolute;bottom:3px;right:13px}.game-table{position:relative}.table-tools:empty{display:none}.friends-screen header{margin-bottom:28px}.friends-screen .field{margin-top:20px}.join-name-hint{color:#6b7467;margin:0 0 12px;font-size:12px;line-height:1.5}.hand-count{color:#d1ddc5;white-space:nowrap;font-size:10px}.opening-bonus-note{color:#806b38;font-size:13px;line-height:1.5}.connection-banner{z-index:70;color:#433c2d;text-align:center;background:#fff6e8f5;border:1px solid #d4b777;border-radius:12px;padding:12px;position:absolute;top:8px;left:12px;right:12px;box-shadow:0 4px 16px #0003}.connection-banner strong,.connection-banner span{display:block}.connection-banner span{margin-top:5px;font-size:11px}.connection-banner button{margin-top:8px;font-size:12px}.floor-area:before,.floor-area:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#dec99b40,#0000);height:1px;position:absolute;left:12px;right:12px}.floor-area:before{top:13px}.floor-area:after{bottom:15px}.deck>span:last-child{background:#243d31e6;border:1px solid #dec99b7a;border-radius:12px;padding:3px 6px;font-size:11px;top:auto;bottom:6px;left:50%;transform:translate(-50%)}.deck small{display:none}.card-motion.bonus{animation:bonus-show var(--duration) ease-out both;z-index:35}@keyframes bonus-show{0%{transform:translate(var(--from-x), var(--from-y)) rotate(-8deg) scale(.7)}to{transform:translate(var(--to-x), var(--to-y)) rotate(0deg) scale(1)}}.home-actions .history-menu{min-height:54px;padding:10px 18px}.history-summary{background:#e8ede2;border-radius:12px;padding:16px}.history-summary h3{margin:0 0 12px;font-size:14px}.history-summary strong{font-size:21px}.history-summary p span{margin-top:6px;font-size:13px;display:block}.history-summary .secondary{min-height:44px;padding:10px;font-size:12px}.history-list{margin:0;padding:0;list-style:none}.history-list li{border-top:1px solid #d6dbcd;padding:14px 0}.history-list li>div{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.history-list li>div+div{color:#777a6e;margin-top:7px;font-size:11px}.history-list li span{overflow-wrap:anywhere}.history-outcome{flex-shrink:0;font-size:14px}.history-outcome.win{color:#254d3e}.history-outcome.loss{color:#a84c40}.history-outcome.draw{color:#777a6e}.history-empty{text-align:center;color:#777a6e;padding:24px 0}@media (max-height:760px){.home-table{height:155px}}.turn-message.callout small{letter-spacing:0;color:#fff8df;font-size:11px;display:block}.kukjin-choices{gap:10px;margin-top:18px;display:grid}.kukjin-choices button{text-align:left;display:block}.kukjin-choices small{margin-top:6px;font-size:12px;font-weight:400;display:block}.kukjin-preview{justify-content:center;margin:12px;display:flex}.kukjin-preview .hwatu{width:70px}.table-tools .kukjin-button{color:#ffed9c;background:#19372eee;border:1px solid #d3ad55;border-radius:7px;padding:6px 9px;font-weight:700}.game-header:has(.go-stop-decision){border-bottom:0;margin-bottom:0}.go-stop-decision{background:#16382b;border-radius:10px;flex:1;align-items:center;gap:7px;min-width:0;padding:0 4px;display:flex;box-shadow:inset 0 0 0 2px #f0ce78,0 0 14px #f0ce7840}.go-stop-summary{white-space:nowrap;flex-direction:column;flex:1;min-width:0;line-height:1.1;display:flex}.go-stop-summary strong{color:#ffe39b;font-size:17px}.go-stop-summary span{color:#fff9e9;font-size:12px}.go-stop-summary small{color:#ffe39b;font-size:9px}.go-stop-decision button{flex:0 0 64px;justify-content:center;width:64px;min-width:57px;min-height:44px;padding:5px 12px;font-size:20px;font-weight:900;box-shadow:0 2px 5px #0005}.go-stop-decision .secondary{color:#35280e;background:#ffdc78;border:2px solid #fff0b5}.go-stop-decision .primary{color:#fff9e9;background:#b7352a;border:2px solid #ffb59b}.go-stop-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:22px 18px 18px;display:grid}.go-stop-expanded .go-stop-summary{white-space:normal;text-align:center;grid-column:1/-1;align-items:center;gap:8px}.go-stop-expanded .go-stop-summary strong{font-size:32px}.go-stop-expanded .go-stop-summary span{font-size:18px}.go-stop-expanded .go-stop-summary small{font-size:12px}.go-stop-modal .go-stop-decision button{width:100%;min-height:68px;margin:0;font-size:30px}.go-stop-modal .view-cards-button{width:100%;min-height:48px;margin-top:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.captured-zoom .zoom-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 7px;padding-top:2px}.captured-zoom .zoom-grid>div{gap:3px}.captured-zoom .zoom-grid .hwatu{width:100%;max-width:70px}.captured-zoom .zoom-grid span:not(.hwatu){word-break:keep-all;line-height:1.2}.captured-zoom .zoom-grid small:empty{display:none}.captured-zoom .modal-heading h2{font-size:clamp(17px,4.5vw,22px)}.player-info.active{background:#f3d27b1c;border-radius:7px;box-shadow:inset 3px 0 #ffdc78,inset 0 0 0 1px #f3d27b66}.player-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.player-name>small{flex-shrink:0}.turn-badge{color:#35280e;background:#ffdc78;border-radius:4px;padding:3px 5px;font-size:10px;font-weight:800;line-height:1.2}.match-summary{text-align:center;background:#eee7d6;border:1px solid #d4c6a2;border-radius:12px;margin:14px 0;padding:14px 12px 10px}.match-summary h3{margin:0 0 10px;font-size:13px}.match-scores{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;display:grid}.match-player{flex-direction:column;gap:4px;min-width:0;display:flex}.match-player>span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.match-player strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(20px,6vw,28px)}.match-player strong small{margin-left:3px;font-size:12px;font-weight:400}.match-versus{color:#867c66;font-size:24px}.match-summary p{margin:10px 0 0;font-size:12px;font-weight:600}.go-stop-summary strong{font-size:15px}.go-stop-decision button{white-space:nowrap;padding-left:7px;padding-right:7px}
