*,:before,:after{box-sizing:border-box}:root{--font-xs:11px;--font-sm:12px;--font-base:13px;--font-md:14px;--font-lg:16px;--font-xl:18px;--font-2xl:20px;--font-3xl:22px;--fw-normal:400;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--gap-1:4px;--gap-2:6px;--gap-3:8px;--gap-4:12px;--gap-5:16px;--color-primary:#1e7fff;--color-primary-subtle:#1e7fff22;--color-primary-bg:#f0f4ff;--color-danger:#ff1010;--color-danger-subtle:#ffd0c0;--color-accent:#ff6b35;--color-warning:#e6a800;--color-warning-subtle:#ffe066;--place-fill:#cce4ff;--place-stroke:var(--color-primary);--conquer-fill:#ffd0c0;--conquer-stroke:var(--color-danger);--bg-app:#f0e8d0;--bg-panel:#fff;--bg-panel-alt:#f5f5f5;--bg-nav-enabled:#fff;--bg-nav-disabled:#f0f0f0;--bg-nav-hover:#f0f4ff;--bg-ghost-hover:#e4e4e4;--bg-history-highlight:#f0f7ff;--bg-card-hand:#e8e2d4;--bg-card-hand-sel:#c8dcff;--text-card-hand:#1a1a2e;--timer-bg:#f5f5f5;--border-default:#ddd;--border-subtle:#eee;--border-ghost-hover:#bbb;--timer-border:#eee;--text-primary:#1a1a2e;--text-secondary:#666;--text-muted:#767676;--text-faint:#767676;--text-nav-enabled:#333;--text-nav-disabled:#bbb;--timer-color:#333;--timer-color-over:#666;--board-bg:var(--bg-panel);--board-border:var(--border-default);--board-empty-fill:#e8e2d4;--board-empty-stroke:#a0b4be;--board-card-stroke:#00000040;--withdraw-fill:#ffe066;--withdraw-stroke:#e6a800;--stack-shadow:#000}[data-theme=dark]{--stack-shadow:#000;--bg-app:#0f1923;--bg-panel:#1a2535;--bg-panel-alt:#22304a;--bg-nav-enabled:#1a2535;--bg-nav-disabled:#131d2a;--bg-nav-hover:#1a2f4f;--bg-ghost-hover:#243350;--bg-history-highlight:#1a2f4f;--bg-card-hand:#1e2d42;--bg-card-hand-sel:#0d2a52;--text-card-hand:#ccd6f0;--timer-bg:#1a2535;--border-default:#2e4060;--border-subtle:#243350;--border-ghost-hover:#3a5070;--timer-border:#2e4060;--text-primary:#e8eaf0;--text-secondary:#89b;--text-muted:#8a9ab8;--text-faint:#7a8eaa;--text-nav-enabled:#ccd6f0;--text-nav-disabled:#3a4e6a;--timer-color:#ccd6f0;--timer-color-over:#89b;--board-empty-fill:#1e2d3e;--board-empty-stroke:#2a3f58;--board-card-stroke:#0003;--withdraw-fill:#4d3800;--withdraw-stroke:#ffd000}body{background:var(--bg-app);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{width:100%}button{-webkit-tap-highlight-color:transparent}.app-root{flex-direction:column;gap:10px;height:100dvh;padding:10px;font-family:system-ui,sans-serif;display:flex;overflow:clip}@media (width<=767px){.app-root{height:auto;min-height:100dvh;overflow:visible}}.rules-section{background:var(--bg-panel-alt);border-top:1px solid var(--border-default)}.rules-section__inner{box-sizing:border-box;max-width:800px;margin:0 auto;padding:48px 20px 64px}.rules-section__title{text-align:center;font-size:var(--font-2xl);color:var(--text-primary);margin:0 0 32px;font-weight:800}.rules-steps{flex-direction:column;display:flex;position:relative}.rules-steps:before{content:"";background:var(--border-default);width:2px;position:absolute;top:48px;bottom:48px;left:50%;transform:translate(-50%)}.rules-step{opacity:0;align-items:center;gap:56px;padding:48px 0;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.3,1);display:flex;position:relative;transform:translateY(28px)}.rules-step.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.rules-step{opacity:1;transition:none;transform:none}}.rules-step:after{content:"";background:var(--bg-panel-alt);border:3px solid var(--color-primary);z-index:1;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rules-step--reverse{flex-direction:row-reverse}.rules-step__visual{flex:1 1 0;justify-content:center;align-items:center;min-width:0;display:flex}.rules-step__icon{font-size:80px;line-height:1}.rules-step__text{flex:1 1 0;min-width:0}.rules-step__num{font-size:var(--font-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:8px;font-weight:700}.rules-step__title{font-size:var(--font-xl);color:var(--text-primary);margin:0 0 12px;font-weight:800}.rules-step__body{font-size:var(--font-base);color:var(--text-secondary);white-space:pre-line;margin:0;line-height:1.8}@media (width<=560px){.rules-steps:before{top:32px;bottom:32px;left:11px;transform:none}.rules-step:after{top:44px;left:12px;transform:translate(-50%)}.rules-step,.rules-step--reverse{flex-direction:column;gap:24px;padding:32px 0 32px 38px}.rules-step__visual,.rules-step__text{flex:none;width:100%}.rules-step__text{order:-1}}.benefits-section{border-top:1px solid var(--border-subtle);margin-top:56px;padding-top:48px}.benefits-section__title{text-align:center;font-size:var(--font-2xl);color:var(--text-primary);margin:0 0 28px;font-weight:800}.benefits-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.benefit-card{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-lg);opacity:0;flex-direction:column;gap:8px;padding:24px 20px;transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.3,1);display:flex;transform:translateY(18px)}.benefits-grid.is-visible .benefit-card{opacity:1;transform:none}.benefit-card__icon{margin-bottom:4px;font-size:34px;line-height:1}.benefit-card__title{font-size:var(--font-md);color:var(--text-primary);margin:0;font-weight:700}.benefit-card__text{font-size:var(--font-sm);color:var(--text-secondary);margin:0;line-height:1.6}@media (width<=560px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=360px){.benefits-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.benefit-card{opacity:1;transition:none;transform:none}}.rules-section__credits{text-align:center;font-size:var(--font-xs);color:var(--text-muted);margin:32px 0 0}.main-area{flex-direction:column;flex:none;gap:10px;min-height:0;display:flex;overflow-y:visible}.left-col{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.board-wrap{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-default);flex:0 0 65dvh;min-width:0;min-height:0;padding:52px 0;position:relative}.corner-chips{display:block}.sidebar{flex-direction:column;gap:10px;display:flex}.history-log{max-height:72px;color:var(--text-secondary);font-size:12px;line-height:1.8;overflow-y:auto}@media (width>=768px){.main-area{flex-direction:row;flex:1;overflow-y:hidden}.sidebar{order:-1}.left-col{flex:1;min-width:0;min-height:0}.board-wrap{background:0 0;border:none;border-radius:0;flex:1;padding:0}.sidebar{flex-shrink:0;width:475px;overflow-y:auto}.history-log{max-height:220px}.history-panel{flex-direction:column;flex:1;min-height:0;display:flex}.history-panel .history-log{flex:1;max-height:none}}.hand-desktop{display:none}.hand-mobile{display:block}@media (width>=768px){.hand-desktop{display:block}.hand-mobile{display:none}}@keyframes dot-bounce{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.bot-thinking{color:var(--text-secondary);font-size:var(--font-base);align-items:center;gap:10px;padding:6px 2px;display:flex}.bot-thinking__dots{gap:5px;display:flex}.bot-thinking__dots span{background:#bbb;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot-bounce;display:inline-block}.bot-thinking__dots span:nth-child(2){animation-delay:.18s}.bot-thinking__dots span:nth-child(3){animation-delay:.36s}.btn-nav{transition:background .15s,border-color .15s,color .15s}.btn-nav:hover:not(:disabled){background:var(--bg-nav-hover)!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important}.btn-nav:active:not(:disabled){transform:scale(.95)}.btn-primary{transition:filter .15s}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{filter:brightness(.95);transform:scale(.97)}.btn-ghost{transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--bg-ghost-hover)!important;border-color:var(--border-ghost-hover)!important}.btn-ghost:active{transform:scale(.97)}.btn-icon{transition:background .15s,color .15s;border-radius:6px!important}.btn-icon:hover{color:#444!important;background:#eee!important}.btn-icon:active{background:#ddd!important}.btn-toggle{transition:background .15s,border-color .15s,color .15s}.btn-toggle:not([data-selected=true]):hover{background:var(--bg-nav-hover)!important;color:var(--color-primary)!important;border-color:#aac4ff!important}.btn-card{transition:border-color .15s,background .15s,box-shadow .15s,transform .1s}.btn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-card:active{transform:translateY(0)scale(.97)}input::placeholder{color:var(--text-faint)}@keyframes card-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.card-pop{transform-box:fill-box;transform-origin:50%;animation:.32s cubic-bezier(.2,.8,.3,1) card-pop}@keyframes modal-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes trophy-bounce{0%{opacity:0;transform:scale(0)rotate(-20deg)}55%{transform:scale(1.25)rotate(8deg)}75%{transform:scale(.92)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.win-modal{animation:.28s cubic-bezier(.2,.8,.3,1) modal-pop}.win-trophy{animation:.7s cubic-bezier(.2,.8,.3,1) .1s both trophy-bounce;display:inline-block}@keyframes score-pulse{0%{opacity:0}25%{opacity:.85}to{opacity:0}}.score-pulse{animation:.9s ease-out both score-pulse}@keyframes score-float{0%{opacity:0;transform:translateY(0)scale(.6)}25%{opacity:1;transform:translateY(-6px)scale(1.12)}to{opacity:0;transform:translateY(-30px)scale(1)}}.score-float{transform-box:fill-box;transform-origin:50%;animation:1s cubic-bezier(.2,.8,.3,1) both score-float}@keyframes burn-flash{0%{opacity:.9;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.3)rotate(12deg)}}.burn-flash{transform-box:fill-box;transform-origin:50%;animation:.7s ease-in both burn-flash}@media (prefers-reduced-motion:reduce){.card-pop,.win-modal,.win-trophy{animation:none!important}.score-pulse,.burn-flash,.score-float{opacity:0!important;animation:none!important}}
