:root{--ink:#29231d;--paper:#f3ead8;--wood:#d7aa69;--red:#a4372c}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:var(--ink);font-family:"Microsoft YaHei",system-ui;background:radial-gradient(circle at 12% 12%,#fff9eb 0,transparent 35%),linear-gradient(145deg,#ddd4c3,#f5efe3)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='85' height='85'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.1'/%3E%3C/svg%3E")}main{width:min(1120px,94vw);min-height:100vh;display:grid;grid-template-columns:280px minmax(0,630px);gap:65px;align-items:center;justify-content:center;padding:30px 0;margin:auto}.eyebrow{color:var(--red);font:600 11px Georgia;letter-spacing:.25em}.intro h1{margin:12px 0 16px;font:500 clamp(58px,8vw,88px)/.95 "KaiTi","STKaiti",serif}.intro p{max-width:250px;color:#70675b;font-size:13px;line-height:1.9}.intro label{display:block;margin:28px 0 18px;color:#746b60;font-size:11px}.intro select{margin-left:10px;padding:5px 18px 5px 5px;border:0;border-bottom:1px solid #a09788;background:transparent}.buttons{display:flex;gap:8px}.buttons button,.game-card footer button,.modal button{border:0;cursor:pointer;font:600 11px inherit;letter-spacing:.06em}.buttons button{padding:11px 16px;border:1px solid #aaa091;background:transparent}.buttons button:hover{background:#29251f;color:white}.legend{display:flex;gap:18px;margin-top:28px;color:#777065;font-size:10px}.legend i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:50%;background:#29251f}.legend .red-dot{background:var(--red)}.game-card{background:#ffffff70;border:1px solid #fff;box-shadow:0 25px 70px #44352132;backdrop-filter:blur(8px)}.game-card header{height:66px;display:flex;align-items:center;gap:11px;padding:0 24px;border-bottom:1px solid #d7cdbc}.turn{width:18px;height:18px;border-radius:50%;background:#a4372c;box-shadow:0 2px 5px #0004}.turn.black{background:#29251f}.game-card header small{display:block;font-size:9px;color:#8d8377}.game-card header strong{font:500 14px "KaiTi"}.thinking{display:none;margin-left:auto;gap:4px}.thinking.show{display:flex}.thinking i{width:4px;height:4px;border-radius:50%;background:#777;animation:dot 1s infinite}.thinking i:nth-child(2){animation-delay:.14s}.thinking i:nth-child(3){animation-delay:.28s}@keyframes dot{50%{transform:translateY(-5px);opacity:.3}}.board-wrap{padding:20px;background:linear-gradient(135deg,#ddb475,#c79351)}canvas{display:block;width:100%;height:auto;touch-action:manipulation;cursor:pointer}.game-card footer{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:#81776a;font-size:10px}.game-card footer button{background:transparent;color:#7b4b3e}.modal{position:fixed;inset:0;display:grid;place-items:center;background:#211d18a8;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:.25s;z-index:4}.modal.show{opacity:1;visibility:visible}.modal>div{width:min(390px,88vw);padding:40px;text-align:center;background:var(--paper);box-shadow:0 30px 80px #0008}.seal{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:50%;background:var(--red);color:white;font:30px "KaiTi"}.modal h2{font:500 27px "KaiTi";margin:18px 0 8px}.modal p{white-space:pre-line;color:#746b5f;font-size:13px;line-height:1.8}.modal button{padding:12px 28px;background:#29251f;color:white}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);padding:9px 15px;border-radius:4px;background:#28231eea;color:white;font-size:11px;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){main{display:block;padding:22px 0}.intro{text-align:center;margin-bottom:22px}.intro h1 br{display:none}.intro p{margin:8px auto}.buttons,.legend{justify-content:center}.game-card{max-width:600px;margin:auto}}@media(max-width:520px){main{width:100%;padding:7px 0}.intro{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin:0}.intro h1{font-size:32px;margin:0}.eyebrow,.intro p,.intro label,.legend{display:none}.buttons button{padding:8px}.board-wrap{padding:8px}.game-card{border-left:0;border-right:0}.game-card header{height:55px}}
