*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080908;color:#f4dfaa;font-family:"PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:2px solid #fff1a9;outline-offset:3px}button:disabled{opacity:.48;cursor:default}button[hidden],[hidden]{display:none!important}#viewport{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#stage{position:relative;flex:none;width:430px;height:932px;overflow:hidden;transform-origin:center;isolation:isolate;background:#15120d;box-shadow:0 0 90px #000}#stage>[id]:not(#hole-buttons){position:absolute}.scene-background{position:absolute;inset:0;background:#161610 url('../assets/农场背景.webp') center center/cover no-repeat;opacity:.85;z-index:0}.scene-vignette{position:absolute;inset:0;background:linear-gradient(#06070655,#080b0990 18%,#08080520 39%,#07080505 65%,#0a0b08d9 82%,#080a08);z-index:1;pointer-events:none}.edge{position:absolute;top:10px;bottom:11px;width:3px;background:linear-gradient(transparent,#b8974e 18%,#f5dd86 39%,#736337 63%,#ac8738 87%,transparent);z-index:2;box-shadow:0 0 12px #d9ac4138}.edge-left{left:9px}.edge-right{right:9px}.top-button{border:1px solid #8c743951;border-radius:12px;background:linear-gradient(#242820,#111912);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:inset 0 1px #d7ba6629}.top-button small{font-size:10px;color:#d4c69c;letter-spacing:1px}.chevron{font-family:serif;font-size:29px;line-height:19px}.support-icon{font-size:23px;line-height:23px}#profile{display:flex;align-items:center;gap:9px;justify-content:center}#avatar,.avatar-fallback{width:38px;height:38px;border:1px solid #ba974f;border-radius:50%;object-fit:cover}#avatar{display:none}.avatar-fallback{background:radial-gradient(circle at 35% 30%,#8c7948,#2b271c 60%);display:flex;align-items:center;justify-content:center;color:#ffe19b;font-family:serif;font-weight:900;text-shadow:0 2px #000}#nickname{font-size:12px;display:block;color:#e3d5b5;max-width:132px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#player-id{font-size:9px;color:#9f987c;letter-spacing:.3px;display:block;margin-top:4px}#title{text-align:center}.title-eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;letter-spacing:4px;color:#c4ae74}.title-eyebrow i{height:1px;width:28px;background:linear-gradient(90deg,transparent,#b39a59)}.title-eyebrow i:last-child{transform:rotate(180deg)}h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-size:58px;letter-spacing:2px;line-height:1.14;font-weight:900;margin:5px 0 2px;background:linear-gradient(#fff0b2 10%,#e5b955 43%,#a17426 49%,#ffe6a6 60%,#b98b39 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #352407) drop-shadow(0 0 13px #d7a73a22)}.title-line{font-size:9px;display:flex;gap:18px;justify-content:center;align-items:center;letter-spacing:5px;color:#b9a57b}.title-line b{font-size:6px;color:#d4ad59}.score-box{background:linear-gradient(120deg,#292a1fbd,#131914ed);border:1px solid #8c783d88;box-shadow:inset 0 0 0 3px #171b1499,inset 0 1px #eddb9470,0 6px 12px #0005;border-radius:9px;padding:8px 13px;position:relative}.score-box:after{content:"";position:absolute;right:5px;bottom:5px;width:7px;height:7px;border-right:1px solid #c2a75a77;border-bottom:1px solid #c2a75a77}.score-box>span{font-size:11px;color:#c4b790;letter-spacing:2px;display:block}.score-box strong{font-size:28px;font-variant-numeric:tabular-nums;font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.28;color:#fff0b5;text-shadow:0 0 15px #edbb3c22}.score-box>i{font-size:9px;color:#9f966d;position:absolute;right:13px;bottom:13px;font-style:normal}#won strong{color:#ffcc71}#pool{padding:6px 2px}.pool-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#cabc93;font-variant-numeric:tabular-nums}.pool-top b{color:#d8b44e;font-size:10px}.pool-top em{font-size:9px;font-style:normal;padding:3px 5px;border:1px solid #685729;border-radius:3px;color:#e0c275;background:#2c2818}#pool-value{font-family:Georgia,serif;font-size:14px;margin-left:auto}.pool-track{height:8px;border:1px solid #75602f;border-radius:9px;background:#0b100b;margin-top:10px;padding:1px;box-shadow:0 0 0 3px #0e100e55}.pool-track>div{width:0;height:100%;background:linear-gradient(90deg,#8c6224,#ddaf4b,#fff0a1);border-radius:9px;box-shadow:0 0 11px #fac45566;transition:width .22s ease}#board{touch-action:none}#game-canvas{display:block;width:100%;height:100%}#hole-buttons{position:absolute;inset:0}#hole-buttons button{position:absolute;background:transparent;border:0;border-radius:45%;padding:0;touch-action:none;user-select:none;-webkit-user-select:none}#hole-buttons button:focus-visible{outline:1px solid #ffd976;background:#f4d58915}#mode{display:flex;align-items:center;justify-content:center;gap:13px;border-radius:7px;color:#dbceaa;font-size:12px;letter-spacing:2px;background:linear-gradient(90deg,transparent,#15150be6 30%,#171709e6 70%,transparent);pointer-events:none}#mode>i{width:1px;height:9px;background:#6c6139}#countdown{font-size:11px;font-weight:400;letter-spacing:1px;color:#b4b495;font-variant-numeric:tabular-nums}#stage.frenzy #mode{border:1px solid #b5943b;background:linear-gradient(#594217,#1b1607);box-shadow:0 0 22px #e7ba3988}#stage.frenzy #countdown{font-size:22px;color:#ffe9aa;font-weight:bold}#stage.finale #mode{border-color:#f59d59;box-shadow:0 0 25px #ef5a2244}#stage.finale #countdown{color:#ff9967}#stage.frenzy .scene-background{filter:contrast(1.13) brightness(.85)}#message{text-align:center;color:#e8cc84;font-size:12px;letter-spacing:1px;line-height:29px;text-shadow:0 2px 3px #000;white-space:nowrap}.control-slab{border:1px solid #aa8d4290;border-radius:12px;background:linear-gradient(#3b38259c,#141d14f5);box-shadow:inset 0 1px #f9e39655,0 9px 15px #0006}#stake{text-align:center;padding-right:143px}.stake-label{font-size:10px;margin-top:9px;letter-spacing:3px;color:#c3b789}#stake-value{display:block;line-height:32px;font:700 28px Georgia,serif;letter-spacing:1px;color:#ffe9a6}.step-button{font:25px Georgia,serif;border:1px solid #b9a16480;border-radius:8px;background:linear-gradient(#4b49348c,#1a2117);box-shadow:inset 0 1px #d9c98745;line-height:35px}.step-button:active{transform:translateY(1px);background:#4a4525}.play-button{border:1px solid #e8c679;border-radius:10px;font-size:18px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#fff0aa,#cfaa55 40%,#8e6726);color:#35250d;text-shadow:0 1px #fbe5a9;box-shadow:inset 0 0 0 3px #e9c37160,inset 0 2px #ffffd2,0 5px 0 #493416,0 7px 15px #0008}.play-button:active{transform:translateY(3px);box-shadow:inset 0 1px #fff9b0,0 2px 0 #493416}.nav-button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;border-radius:9px;border:1px solid #73602d;background:linear-gradient(#2c3020ee,#151d13ee);box-shadow:inset 0 1px #e4d29126,0 4px 12px #0005;font-size:11px;letter-spacing:1px;color:#d5c69a}.nav-glyph{display:block;font-family:Georgia,serif;font-size:25px;line-height:25px;color:#cfb566}.nav-button.active{border-color:#e3c366;background:linear-gradient(#665026,#302a14);box-shadow:0 0 12px #ddb35133}.nav-button:active{background:#42442b}#footer{text-align:center;font-size:10px;letter-spacing:1px;color:#827f63;line-height:25px}#footer b{padding:0 6px;color:#b19344}#taunt{z-index:35;max-width:210px;padding:9px 12px;border:1.5px solid #d9b551;border-radius:8px;background:#111610f5;box-shadow:0 5px 10px #0007;color:#ffe598;font-size:15px;font-weight:800;pointer-events:none;opacity:0;transition:opacity .1s}#taunt:after{content:"";position:absolute;left:21px;bottom:-7px;width:10px;height:10px;transform:rotate(45deg);border-right:1px solid #d9b551;border-bottom:1px solid #d9b551;background:#111610}#taunt.show{opacity:1}#big-win{top:428px;left:20px;width:390px;text-align:center;z-index:38;pointer-events:none;opacity:0;transform:scale(.6);transition:opacity .2s,transform .24s cubic-bezier(.15,.85,.3,1.2);filter:drop-shadow(0 5px 1px #0c0803)}#big-win.show{opacity:1;transform:scale(1)}#big-win-label{display:block;font:800 25px "Songti SC",serif;color:#ffe598;text-shadow:0 0 18px #de9c39}#big-win-value{display:block;font:bold 58px Georgia,serif;color:#ffe9a3;text-shadow:0 2px #967032,0 0 20px #a57a38}#intro-banner{left:15px;top:408px;width:400px;z-index:36;pointer-events:none;text-align:center;background:linear-gradient(90deg,transparent,#080805ed 20%,#080805ed 80%,transparent);padding:22px 5px;opacity:0;transform:scale(1.35);transition:opacity .18s,transform .4s}#intro-banner.show{opacity:1;transform:scale(1)}#intro-banner small{font-size:12px;letter-spacing:5px;color:#e4ca81}#intro-banner strong{display:block;font:900 52px "Songti SC",serif;color:#ffe392;letter-spacing:7px;text-shadow:0 2px #84591c,0 0 30px #e49b3788;margin:4px 0}#intro-banner span{font-size:11px;letter-spacing:2px;color:#dccc98}#loading{inset:0;z-index:80;background:radial-gradient(ellipse at 50% 37%,#38301be8,#090e0bf7 68%);display:flex;align-items:center;flex-direction:column;justify-content:center}#loading img{width:152px;height:152px;box-shadow:0 0 55px #ac792d4d;border-radius:22px}#loading h2{font:900 32px "Songti SC",serif;letter-spacing:5px;color:#f8d48a;margin:30px 0 8px}#loading p{font-size:11px;letter-spacing:3px;color:#cdbb8c;margin-bottom:25px}.load-track{width:225px;height:7px;border-radius:9px;background:#090e0c;border:1px solid #705b2f;padding:1px}.load-track i{height:100%;width:0;display:block;background:linear-gradient(90deg,#795f28,#e4b85f,#ffe6a0);border-radius:9px;transition:width .12s}#load-percent{font-size:12px;color:#b3a17a;margin-top:15px;font-variant-numeric:tabular-nums}#load-retry,.error-card button,.panel-button{padding:11px 22px;border:1px solid #b99a48;border-radius:7px;color:#f4d28a;background:linear-gradient(#3d3923,#1b2117);margin-top:15px}#error-overlay{inset:0;z-index:72;display:flex;align-items:center;justify-content:center;background:#050804c9;backdrop-filter:blur(5px)}.error-card{width:352px;padding:24px;border:1px solid #9f8441;border-radius:14px;background:#131c13;text-align:center}.error-card h2{font-size:23px;color:#ebce85}.error-card p{font-size:13px;line-height:1.9;color:#bdb69e}#modal-overlay{inset:0;z-index:70;background:#030603be;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(5px)}#modal{position:relative;width:394px;max-height:824px;border:1px solid #ae9146;border-radius:16px;background:linear-gradient(140deg,#25301f,#0c150f 50%);box-shadow:inset 0 0 0 4px #ccaa443,0 25px 70px #000c;overflow:hidden;display:flex;flex-direction:column}#modal header{padding:22px 23px 17px;border-bottom:1px solid #8d783444;position:relative;background:radial-gradient(ellipse at top left,#a48b3030,transparent)}#modal header small{font-size:10px;letter-spacing:4px;color:#a59a70}#modal h2{font:800 27px "Songti SC",serif;color:#f0d89b;letter-spacing:2px;margin:7px 0 0}#modal-close{position:absolute;right:15px;top:17px;background:#22291b;border:1px solid #8d7834aa;border-radius:50%;width:36px;height:36px;font-size:27px;color:#e0cd96}#modal-content{padding:20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#8a7031 transparent;font-size:13px;line-height:1.9;color:#c9c3a7}#modal-content h3{font-size:15px;letter-spacing:1px;color:#edcf85;margin:20px 0 7px}#modal-content p{margin:6px 0 12px}#modal-content ul{padding-left:20px;margin:8px 0}#modal-content strong{color:#ecd38a}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rule-card{background:#0d140c;border:1px solid #85713a55;border-radius:10px;text-align:center;padding:8px}.rule-card canvas{display:block;margin:auto;width:92px;height:90px}.rule-card strong{display:block;font-size:13px}.rule-card span{font-size:12px;color:#b8a16b}.rule-card small{display:block;font-size:10px;line-height:1.5;color:#7f8c75}.rule-note{padding:12px;background:#b9922914;border-left:2px solid #ba9644;margin:15px 0;font-size:12px}.setting-row{padding:12px 0;border-bottom:1px solid #ffffff0c;display:flex;align-items:center;justify-content:space-between;gap:14px}.setting-row label{min-width:80px}.setting-row input[type=range]{flex:1;min-width:0;accent-color:#d5b158}.setting-row input[type=checkbox]{width:20px;height:20px;accent-color:#be993d}.setting-row output{min-width:37px;color:#dbc17e;font-variant-numeric:tabular-nums}.ledger{width:100%;border-collapse:collapse;font-size:10px;text-align:right;font-variant-numeric:tabular-nums}.ledger th{color:#b6a574;font-weight:500;padding:8px 2px;border-bottom:1px solid #5b5531}.ledger td{padding:8px 2px;border-bottom:1px solid #484e282f;color:#b7b99f}.ledger .credit{color:#e5c478}.ledger-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 18px}.ledger-summary div{padding:9px 12px;background:#0a140c;border:1px solid #88743840;border-radius:7px;font-size:11px}.ledger-summary b{display:block;color:#e5cd91;font-size:17px}.empty-history{padding:32px 0;text-align:center;color:#999d7d}.perf{font-size:11px;color:#8c9879}#stage.reduced-motion *{transition:none!important;animation:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
