:root{color:#f5ead7;font-synthesis:none;--gold:#c9a96a;--red:#b84232;--ink:#1d2521;background:#15110d;font-family:PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#game-canvas{width:100%;height:100%}body{background:radial-gradient(circle at 50% 32%,#5c432752,#0000 42%),linear-gradient(160deg,#211a13 0%,#110e0b 70%);min-height:100dvh;margin:0;overflow:hidden}button{font:inherit}.app-shell{width:min(100%,520px);height:100dvh;padding:max(14px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;margin:0 auto;display:grid}.topbar{justify-content:space-between;align-items:center;padding:0 2px 10px;display:flex}.eyebrow{color:var(--gold);letter-spacing:.3em;margin:0 0 2px;font-size:10px;font-weight:700}h1{letter-spacing:.08em;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(24px,7vw,34px);font-weight:600}h1 span{color:var(--red);margin:0 .08em}.engine-badge{color:#cfc2ae;background:#08070659;border:1px solid #c9a96a33;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;display:flex}.engine-dot{background:#92714a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #92714a1f}.engine-dot.ready{background:#71a477;box-shadow:0 0 0 3px #71a47724,0 0 12px #71a477a6}.game-stage{background:linear-gradient(#14100c59,#040403b3);border:1px solid #c9a96a3b;border-radius:26px;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 80px #00000052}#game-canvas{-webkit-tap-highlight-color:transparent;outline:none;display:block}.turn-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#14100cb8;border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:10px;padding:9px 12px;display:flex;position:absolute;top:12px;left:12px;right:12px}.turn-seal,.side{border-radius:50%;flex:none;place-items:center;font-family:STKaiti,KaiTi,serif;font-weight:700;display:grid}.turn-seal{color:#fff2df;background:var(--red);width:34px;height:34px;box-shadow:inset 0 0 0 2px #ffffff2e}.turn-card strong,.turn-card small{display:block}.turn-card strong{letter-spacing:.08em;font-size:13px}.turn-card small{color:#a99d8a;margin-top:2px;font-size:10px}.thinking{color:#d7c7ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0a08d1;border-radius:999px;align-items:center;gap:5px;padding:9px 14px;font-size:11px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.thinking[hidden]{display:none}.thinking span{background:var(--gold);border-radius:50%;width:4px;height:4px;animation:1s infinite alternate pulse}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}.thinking b{letter-spacing:.12em;margin-left:4px;font-weight:600}@keyframes pulse{to{opacity:.4;transform:translateY(-4px)}}.controls{padding:12px 2px 0}.match-line{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px;display:grid}.match-line>div{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;display:grid}.match-line .opponent{text-align:right;grid-template-columns:1fr auto}.match-line .opponent .side{grid-area:1/2/span 2}.match-line b{align-self:end;font-size:12px}.match-line small{color:#8f8373;align-self:start;font-size:9px}.side{border:1px solid #ffffff24;grid-row:1/span 2;width:35px;height:35px}.red-side{color:#f4d7ba;background:#8e3027}.black-side{color:#d9c79e;background:#27342f}.versus{color:#6f6558;font:12px STKaiti,KaiTi,serif}.actions{grid-template-columns:1fr 1.5fr;gap:9px;display:grid}.actions button{color:#d8cab4;letter-spacing:.08em;background:#ffffff09;border:1px solid #c9a96a38;border-radius:14px;min-height:44px;font-size:12px;font-weight:650}.actions button.primary{color:#251b11;background:linear-gradient(135deg,#d6bd87,#ad8449);border-color:#0000}.actions button:disabled{opacity:.32}.actions button:active:not(:disabled){transform:translateY(1px)}.privacy-note{text-align:center;color:#655d52;margin:8px 0 0;font-size:9px}@media (height>=820px){.app-shell{padding-left:20px;padding-right:20px}.controls{padding-top:16px}}@media (height<=680px){.match-line,.privacy-note{display:none}.controls{padding-top:8px}.topbar{padding-bottom:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
