:root{color-scheme:light;--ink:#273c38;--teal:#246559;--cream:#fffdf1;--cat:#598e9c;--dog:#df9864;--line:#273c3829;font-family:"Trebuchet MS","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#cddfda;color:var(--ink);overscroll-behavior:none}button,a,input{-webkit-tap-highlight-color:transparent}button,input,label{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,label:has(input:focus-visible){outline:3px solid #e49f5c;outline-offset:4px}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}#arena{position:fixed;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}a{color:inherit;text-decoration:none}.topbar{position:fixed;z-index:100;top:0;left:0;right:0;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:linear-gradient(#f8f9ecdb,#f8f9ec00);pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{font-size:13px;font-weight:900;letter-spacing:1.5px}.wordmark span{display:block;font:9px/1.5 monospace;letter-spacing:2px;color:#64766c}.game-brand{font-size:12px;font-weight:900;letter-spacing:3px;position:absolute;left:50%;transform:translateX(-50%)}.icon-button{position:fixed;right:24px;top:13px;width:40px;height:40px;background:#fffdf1e8;border:1px solid #526b5c44;border-radius:10px;display:grid;place-items:center}.icon-button svg{width:21px;height:21px}.sound-wave{display:none}.sound-on .sound-wave{display:block}.sound-on .sound-cross{display:none}.hud{position:fixed;z-index:10;left:32px;right:32px;top:77px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;pointer-events:none}.health-card{width:min(28vw,300px);padding:14px 17px 10px;border:1px solid #fff9;background:#fffdf1e8;border-radius:16px;box-shadow:0 5px 20px #526f5f0b}.health-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.health-label b{font-size:19px}.health-label>span{font:9px monospace;letter-spacing:1px;opacity:.65}.health-track{height:9px;background:#e7e9dd;border-radius:8px;margin-top:9px;overflow:hidden}.health-track>div{height:100%;background:var(--cat);border-radius:8px;transition:width .35s;width:100%}.dog-health .health-track>div{background:var(--dog)}.health-number{display:flex;gap:4px;align-items:baseline;justify-content:flex-end;font:10px monospace;margin-top:5px;opacity:.65}.health-number>span:first-child{font-size:13px;font-weight:bold;opacity:1}.wind-card{padding:9px 14px;text-align:center;background:#fffdf1ba;border:1px solid #fff8;border-radius:13px;min-width:145px}.wind-card>span{font:9px monospace;letter-spacing:2px}.wind-card>div{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:3px}.wind-card strong{font-size:23px}.wind-card small{font:10px monospace}.wind-card b{font-size:26px;line-height:1;color:#376f61;transition:transform .3s}.turn-banner{position:fixed;top:175px;left:50%;transform:translateX(-50%);z-index:10;text-align:center;border-radius:25px;padding:9px 21px;background:#273c38ed;color:#fffdf1;box-shadow:0 5px 12px #243a3222;pointer-events:none}.turn-banner span{font:9px monospace;letter-spacing:1px;margin-right:9px;opacity:.65}.turn-banner b{font-size:12px}.toast{position:fixed;z-index:15;top:235px;left:50%;transform:translateX(-50%);font-size:16px;font-weight:bold;text-align:center;pointer-events:none;max-width:70vw;padding:8px 14px;border-radius:12px;transition:opacity .2s;background:#fffdf1dd}.toast:empty{opacity:0}.match-controls{position:fixed;z-index:15;left:24px;right:24px;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:20px}.match-buttons{display:flex;gap:7px}.match-buttons button,.secondary{background:#fffdf1e8;border:1px solid var(--line);border-radius:9px;padding:11px 14px;font-size:11px;font-weight:bold}.match-controls p{margin:0 auto;font-size:12px;background:#fffdf1bd;padding:10px 17px;border-radius:24px;text-align:center}.aim-readout{display:flex;gap:18px;min-width:110px}.aim-readout span{display:flex;flex-direction:column;gap:4px}.aim-readout small{font:8px monospace;letter-spacing:1px}.aim-readout b{font:16px monospace}.overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#29483c35;backdrop-filter:blur(4px);padding:75px 24px 24px}.setup-card{width:min(850px,100%);display:grid;grid-template-columns:1fr 1fr;background:var(--cream);box-shadow:0 25px 90px #1f453d40;border:1px solid #fff8;border-radius:25px;overflow:hidden;max-height:100%;}.setup-story{padding:42px 34px;background:#edf0dd;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-right:1px solid var(--line)}.eyebrow{font:10px monospace;letter-spacing:2px;font-weight:bold;color:var(--teal)}h1{font-size:49px;line-height:1.07;letter-spacing:-2px;margin:21px 0;white-space:pre-line}h2{font-size:32px;line-height:1.15;letter-spacing:-1px}.setup-story p{font-size:13px;line-height:1.85;max-width:290px;color:#65766c;margin:0}.duel-mark{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:38px;margin:32px 0}.duel-mark i{font-size:14px;opacity:.45;font-style:italic}.cat-mark{color:var(--cat)}.dog-mark{color:#c1814a}.setup-story>small{font-size:9px;color:#788371}.setup-options{padding:34px;display:flex;flex-direction:column;gap:20px;justify-content:center;overflow:auto}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:10px;font:9px monospace;letter-spacing:1px;color:#6b796e}.option-row{display:flex;gap:8px}.option-row label{position:relative;flex:1;cursor:pointer;border-radius:10px}.option-row input{position:absolute;width:1px;height:1px;opacity:0}.option-row label>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;font-size:12px;font-weight:bold;border:1px solid var(--line);border-radius:10px;background:#fffefa;transition:background .15s,border-color .15s}.option-row input:checked+span{background:#e6efe6;border:2px solid var(--teal);color:var(--teal)}.sides label>span{flex-direction:column;gap:4px;min-height:79px}.sides b{font-size:27px;line-height:1.3}.sides em{font-style:normal;font-size:11px}.cat-option{color:var(--cat)}.dog-option{color:#b97849}.sides .dog-option input:checked+span{background:#fff0df;border-color:#c48550;color:#a36c3c}.difficulty label>span{min-height:35px;font-size:11px}.mode-help{font-size:11px;line-height:1.7;color:#788377;margin:0;min-height:36px}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:11px;background:var(--teal);color:#fffef0;padding:17px 20px;font-size:14px;font-weight:bold;box-shadow:0 4px 0 #164c41;transition:transform .15s,filter .15s}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #164c41}.start-note{font-size:9px;text-align:center;color:#8b9282;margin-top:-7px}.small-card{width:min(430px,100%);background:var(--cream);border-radius:24px;padding:35px;box-shadow:0 20px 80px #24463a44;text-align:center;max-height:100%;overflow:auto}.small-card h2{margin:20px 0 14px}.small-card p{font-size:13px;line-height:1.8;color:#758073}.small-card .primary{justify-content:center;margin-top:25px}.small-card .secondary{margin-top:12px;width:100%;background:none}.winner-mark{font-size:65px;color:var(--cat);margin-top:25px}#rotate{display:none;position:fixed;inset:0;z-index:20000;background:#eff2df;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;color:var(--teal)}#rotate h2{margin:25px 0 12px;font-size:29px}#rotate p{font-size:14px;max-width:260px;line-height:1.8}html[lang=zh-CN] h1{font-size:43px;letter-spacing:0;line-height:1.2}html[lang=zh-CN] .setup-story p{line-height:2}html[lang=zh-CN] h2{letter-spacing:0}
@media(max-width:800px){.hud{left:18px;right:18px}.health-card{width:30vw;padding:10px 13px}.setup-story{padding:28px}.setup-options{padding:28px;gap:16px}h1{font-size:40px}.setup-story p{font-size:12px}.match-controls{gap:8px;left:16px;right:16px}.match-controls p{font-size:10px;padding:9px 12px}.match-buttons button{padding:10px;font-size:10px}}
@media(max-height:540px) and (orientation:landscape){.topbar{height:43px;padding:0 17px}.wordmark{font-size:10px}.wordmark span{font-size:7px}.game-brand{font-size:9px;letter-spacing:2px}.icon-button{top:7px;right:15px;width:34px;height:34px}.hud{top:49px;left:18px;right:18px}.health-card{width:25vw;max-width:235px;padding:7px 11px;border-radius:11px}.health-label b{font-size:14px}.health-label>span{font-size:7px}.health-track{height:6px;margin-top:5px}.health-number{font-size:8px;margin-top:2px}.health-number>span:first-child{font-size:10px}.wind-card{min-width:119px;padding:5px 9px}.wind-card>span{font-size:7px}.wind-card strong{font-size:18px}.wind-card b{font-size:21px}.turn-banner{top:112px;padding:6px 14px}.turn-banner b{font-size:10px}.turn-banner span{font-size:7px}.toast{top:146px;font-size:12px;padding:5px 10px}.overlay{padding:51px 20px 12px}.setup-card{max-width:750px;border-radius:17px;grid-template-columns:.9fr 1.1fr}.setup-story{padding:20px 27px}.eyebrow{font-size:8px;letter-spacing:1px}h1,html[lang=zh-CN] h1{font-size:35px;margin:12px 0;line-height:1.05}.setup-story p{font-size:10px;line-height:1.6}.duel-mark{font-size:30px;margin:14px 0}.setup-story>small{font-size:8px}.setup-options{padding:15px 25px;gap:9px}legend{font-size:8px;margin-bottom:5px}.option-row label>span{min-height:31px;font-size:10px}.sides label>span{min-height:48px;flex-direction:row;gap:10px}.sides b{font-size:23px}.sides em{font-size:10px}.difficulty label>span{min-height:27px;font-size:10px}.mode-help{font-size:9px;min-height:14px;line-height:1.5}.primary{font-size:12px;padding:10px 15px}.start-note{font-size:8px;margin-top:0}.match-controls{bottom:max(7px,env(safe-area-inset-bottom));left:14px;right:14px;gap:8px}.match-buttons button{padding:7px 9px;font-size:9px}.match-controls p{font-size:9px;padding:7px 9px;max-width:38vw}.aim-readout{min-width:82px;gap:13px}.aim-readout small{font-size:7px}.aim-readout b{font-size:12px}.small-card{padding:20px;max-width:370px}.small-card h2{font-size:26px;margin:12px 0}.small-card p{font-size:11px}.small-card .primary{margin-top:14px}.small-card .secondary{margin-top:9px;padding:8px}.winner-mark{font-size:39px;margin-top:10px}}
@media(max-width:700px) and (orientation:portrait){.setup-card{grid-template-columns:1fr}.setup-story{display:none}}
@media(max-width:700px) and (orientation:portrait) and (pointer:coarse){#rotate{display:flex}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}

.duel-mark img{display:block;width:80px;height:80px}.sides b img{display:block}.winner-mark img{width:90px;height:90px}@media(max-height:540px) and (orientation:landscape){.duel-mark{margin:10px 0}.duel-mark img{width:50px;height:50px}.sides b img{width:30px;height:30px}.winner-mark img{width:50px;height:50px}}
