:root{color-scheme:dark;--ink:#ece4cd;--muted:#a0b7b2;--gold:#d5b16a;--gold2:#f0d59c;--line:#ba995339}
body{background:#0c1719;color:var(--ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#07131435,#07131455 48%,#081315eb 100%),url('/seal-temple.png') center top/cover no-repeat;pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 10%,#4abda80d,transparent 55%),linear-gradient(90deg,#050c1166,transparent 20%,transparent 80%,#050c1166)}
.topbar{height:72px;background:linear-gradient(180deg,#142829f5,#0b191cf5);border-bottom:1px solid #b49a5b83;box-shadow:0 4px 20px #0006,inset 0 -3px #050d12;backdrop-filter:blur(10px)}
.brand{color:#f2e2b9;font-weight:800}.brand small{color:#9ab9b0}.brand-mark{border:1px solid #c3a362;background:linear-gradient(140deg,#203d3c,#0b1e24);color:#e5c780;box-shadow:inset 0 0 0 3px #0d2429,0 4px 10px #0005;border-radius:9px}
nav a{color:#c4c4ad}nav a:hover{color:#f2d58f}.identity{color:#bfe6ce}
.button{color:#231f14;background:linear-gradient(135deg,#bc914e,#edcd87 48%,#b58745);border-color:#c8a86a;border-radius:4px;box-shadow:inset 0 1px #ffedb7,0 3px 8px #0005}.button.ghost{color:#ded8c1;border-color:#a58c555e;background:#12272be0}.button.ghost:hover{background:#203b3a}.button:focus-visible,.spin-button:focus-visible,select:focus-visible{outline:2px solid #8de4bd;outline-offset:3px}
main{max-width:1280px;padding-top:32px}.eyebrow{color:#c6ac75;font-size:10px;letter-spacing:.2em}.catalog{gap:25px;margin-bottom:24px}.catalog h2{color:#e7dcc0;font-size:20px}.game-tile{background:linear-gradient(130deg,#142b2de8,#0c1a20ed);color:#e0d6bb;border:1px solid #9b835751;box-shadow:inset 0 0 0 3px #0c1b1d,0 5px 15px #0004;border-radius:4px}.game-tile.active{background:linear-gradient(130deg,#254a43ed,#10282ce8);border-color:#c0a268;box-shadow:inset 0 0 0 3px #122c2c,0 0 20px #58b59112}.game-tile small{color:#a4b8ac}.game-tile.planned{opacity:.65}
.hero{gap:42px;align-items:center}.hero-copy{padding-bottom:12px}.hero h1{color:#f1e7cc;font-family:STKaiti,KaiTi,"Microsoft YaHei",serif;font-weight:700;text-shadow:0 3px 15px #000b;letter-spacing:.04em}.hero h1 em{color:#d9bd7b}.intro{color:#c0cbbd;text-shadow:0 2px 5px #000;line-height:1.9}.hero-tags{color:#c5d1bf}.hero-tags>span{padding:7px 0;border-bottom:1px solid #ad97552e}.guardian-portrait{filter:drop-shadow(0 9px 15px #000a)}.guardian-portrait span{color:#e8d5a4;background:#0d2426e8;border-color:#a88e53a8;border-radius:3px}
.game-card{padding:25px 23px 20px;background:radial-gradient(ellipse at 50% 0,#2b4a43b3,transparent 50%),linear-gradient(135deg,#253236f5,#11242af7 52%,#182729fc);border:3px solid #9b8356;border-radius:7px;box-shadow:0 20px 60px #0009,inset 0 0 0 2px #0a171c,inset 0 0 0 5px #cfb27338,inset 0 0 35px #0005;overflow:visible}
.game-card::before{inset:8px;border:1px solid #b99f5b57;border-radius:1px}.game-card::after{content:"";position:absolute;inset:-5px;pointer-events:none;border-radius:6px;background:linear-gradient(#e2ca8e,#e2ca8e) left top/34px 2px no-repeat,linear-gradient(#d6b978,#d6b978) left top/2px 34px no-repeat,linear-gradient(#e2ca8e,#e2ca8e) right top/34px 2px no-repeat,linear-gradient(#d6b978,#d6b978) right top/2px 34px no-repeat,linear-gradient(#b49758,#b49758) left bottom/34px 2px no-repeat,linear-gradient(#b49758,#b49758) left bottom/2px 34px no-repeat,linear-gradient(#b49758,#b49758) right bottom/34px 2px no-repeat,linear-gradient(#b49758,#b49758) right bottom/2px 34px no-repeat}
.game-head{padding:0 3px 14px;border-bottom:1px solid #b79b5540}.game-head .eyebrow{font-size:9px;color:#bba778}.game-head h2{color:#efe2ba;font-family:STKaiti,KaiTi,"Microsoft YaHei",serif;font-size:26px;letter-spacing:.07em;text-shadow:0 2px 2px #000}.balance{padding:7px 10px;background:#091d22;border:1px solid #a88c514a;border-radius:3px;font-size:10px;color:#a5b9ae;min-width:95px}.balance strong{color:#f7d78b;font-size:23px}
.reels{margin-top:14px;padding:9px;gap:5px;border:2px solid #8d784c;border-radius:4px;background:linear-gradient(180deg,#041317,#0a1b20);box-shadow:inset 0 5px 14px #000c,0 1px #ddc28366,0 -1px #d2b87833}
.reel{background:linear-gradient(180deg,#10292be8,#1a3335cc 48%,#0c2428ed);border:1px solid #d0ba7d18;border-radius:3px;box-shadow:inset 2px 0 5px #0004,inset -2px 0 5px #0004}.talisman{background-image:url('/octagon-frame.svg')}.talisman .animal-art,.lore-art .animal-art{filter:drop-shadow(0 1px 0 #080d12) drop-shadow(0 -0.6px 0 #f9edc36b)}
.reel-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;font-size:11px}.reel-legend>span{padding:7px;background:#081d22bd;border:1px solid #ab95563b;border-radius:3px;line-height:1.5;justify-content:center;color:#c2d0bd}.reel-legend>span:first-child{grid-column:1/-1;padding:0 0 2px;background:none;border:0;color:#a2b8ad;font-size:10px}.reel-legend>span#jackpot-value{color:#e8c87d}.reel-legend>span#free-count{color:#a9dfc0}
.game-actions{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.7fr);gap:10px;margin-top:15px;align-items:stretch}.bet-select{width:auto;min-width:0;padding:10px;background:linear-gradient(135deg,#243d3b,#10282b);border:1px solid #a18b54;border-radius:4px;color:#d6c89e;font-size:11px;align-content:center;box-shadow:inset 0 0 0 3px #0e2227}.bet-select select{margin-top:7px;padding:9px 7px;background:#081b20;border:1px solid #a78f5661;border-radius:2px;color:#f1deb0;font-size:15px;font-weight:700;min-height:39px}
.spin-button{display:grid;grid-template-columns:52px 1fr;grid-template-rows:1fr 1fr;align-items:center;justify-items:start;column-gap:10px;padding:11px 13px;min-height:90px;flex:none;border:2px solid #d6b976;border-radius:5px;color:#f2e2b5;background:radial-gradient(ellipse at 10% 50%,#6aaf6e40,transparent 62%),linear-gradient(145deg,#3a5745,#1e382d 55%,#30452f);box-shadow:inset 0 0 0 2px #0d2324,inset 0 0 0 3px #c5af704d,0 5px 0 #061519,0 7px 14px #0007;text-shadow:0 1px 2px #000}
.spin-button .spin-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;margin:0;border:0;border-radius:0;background:url('/octagon-frame.svg') center/contain no-repeat;clip-path:polygon(29.2893% 0,70.7107% 0,100% 29.2893%,100% 70.7107%,70.7107% 100%,29.2893% 100%,0 70.7107%,0 29.2893%);box-shadow:none}.spin-icon .animal-art{width:78%;height:78%}.spin-button .spin-label{font-size:16px;align-self:end;text-align:left;line-height:1.45;margin:0}.spin-button small{grid-column:2;margin:1px 0 0;align-self:start;font-size:10px;line-height:1.6;opacity:.85;text-align:left;flex-basis:auto;color:#c9d5b4}.spin-button:disabled{opacity:.78}.spin-button:hover:not(:disabled){background:radial-gradient(ellipse at 10% 50%,#b4ed8d55,transparent 62%),linear-gradient(145deg,#46684b,#294c37);box-shadow:inset 0 0 0 2px #19352b,inset 0 0 0 3px #e1c68088,0 5px 0 #061519,0 0 22px #8edc6d22}.spin-button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px #19352b,0 2px 0 #061519}
.game-note{grid-column:1/-1;width:auto;padding-top:6px;text-align:center;font-size:10px;color:#9fb4a7}.last-result{margin-top:9px;padding:11px 9px 8px;border-top:1px solid #b8a06466;background:linear-gradient(90deg,transparent,#d6bd7310,transparent);color:#dcc891;font-size:11px;line-height:1.7;text-align:center;min-height:37px}
.lore-grid{margin-top:32px}.lore-card,.info-card{background:linear-gradient(145deg,#1c3030f5,#101f25f5);border:1px solid #a28b535e;border-radius:5px;box-shadow:inset 0 0 0 4px #091b1f55,0 12px 25px #0004}.lore-card h2,.info-card h2{color:#e3d5ae;font-family:STKaiti,KaiTi,"Microsoft YaHei",serif;font-size:23px}.lore-item{background:linear-gradient(135deg,#2b403d,#172c30);border-color:#a28b533d;border-radius:4px}.lore-copy strong{color:#ddd4b4;font-size:12px}.lore-copy small{color:#bba16b}.lore-copy p{color:#a4b8ab;font-size:11px;line-height:1.6}.steps strong{color:#ded7bb}.steps b{color:#c4a064;border-color:#9e874e61}.steps small{color:#a5b7a7;font-size:12px;line-height:1.7}.fineprint{color:#90a99f;border-color:#bda56526}.leaderboard li{color:#d4d1b6;border-color:#a28b532e}.leaderboard li span,.leaderboard li::marker{color:#e3c87e}.leaderboard .empty{color:#99aea4}footer{background:#0b191be6;border-color:#aa945a50;color:#98aaa0}
dialog,.admin-dialog{background:linear-gradient(145deg,#213532,#102329);border-color:#baa065;color:#e4dcc1}.admin-dialog h2,#auth-title{color:#e7d5a5}.close{color:#c8bc97}.admin-intro,.rule-section>p{color:#a8b8a7}.rule-section{background:#12282a;border-color:#9e89513d}.rule-section h3,.payout-row strong{color:#dbc188}.admin-field,label{color:#c6cbb1}.admin-field input,input{background:#0b1e24;color:#eee1b7;border-color:#a58f5359}.admin-actions{background:#14292c}.auth-error{color:#ffb2a0}.switch-auth{color:#9caf9f}.text-button{color:#e2c581}
@media(max-width:850px){.hero{gap:17px}.game-card{padding:21px 18px 16px}.hero-copy{padding-top:0}}
@media(max-width:600px){.topbar{height:64px;padding:0 12px}.brand{font-size:14px}.brand-mark{width:36px;height:36px}.brand small{font-size:7px}.button{padding:9px 11px}main{padding:22px 12px 28px}.catalog{gap:10px;margin-bottom:18px}.catalog .eyebrow{font-size:8px;margin-bottom:5px}.catalog h2{font-size:17px}.game-tiles{gap:7px}.game-tile{min-width:0;padding:9px 12px;flex:1}.game-tile.planned{display:none}.game-tile strong{font-size:13px}.game-tile small{font-size:10px}.hero-copy{min-height:200px}.hero h1{font-size:29px;line-height:1.3}.hero-copy .intro{font-size:11px;line-height:1.85;max-width:calc(100% - 120px);margin-top:13px}.guardian-portrait{height:195px;width:123px;bottom:-5px}.game-card{width:100%;padding:18px 12px 13px;border-width:2px}.game-head{padding:0 3px 11px}.game-head h2{font-size:23px}.game-head .eyebrow{font-size:8px}.balance{min-width:88px;padding:6px 8px}.balance strong{font-size:20px}.reels{padding:6px;gap:3px;margin-top:12px}.reel{height:calc(var(--rows,5)*51px + 12px)}.reel-legend{font-size:10px;gap:5px}.reel-legend>span{padding:6px 4px}.game-actions{grid-template-columns:minmax(100px,.85fr) minmax(0,1.6fr);gap:8px}.bet-select{padding:8px;font-size:10px}.bet-select select{font-size:14px}.spin-button{grid-template-columns:43px 1fr;column-gap:7px;padding:10px 8px;min-height:88px}.spin-button .spin-icon{width:43px;height:43px}.spin-button .spin-label{font-size:14px}.spin-button small{font-size:9px}.lore-card,.info-card{padding:19px 15px}.lore-card h2,.info-card h2{font-size:21px}.lore-list{gap:7px}.lore-item{gap:7px;padding:9px 7px}.lore-copy{grid-template-columns:1fr}.lore-copy small{font-size:9px}.lore-copy p{font-size:10px}.lore-copy strong{font-size:11px}.lore-art{width:35px}.last-result{font-size:10px}}
@media(max-width:360px){main{padding-inline:9px}.brand{font-size:12px}.brand-mark{width:32px;height:32px}.account{gap:4px}.button{padding:8px 9px;font-size:11px}.hero h1{font-size:26px}.game-head h2{font-size:21px}.game-card{padding-inline:9px}.spin-button .spin-label{font-size:12px}.game-actions{grid-template-columns:100px 1fr}.spin-button{grid-template-columns:36px 1fr;column-gap:6px}.spin-button .spin-icon{width:36px;height:36px}}
/* Fit each visible silhouette, not its uneven atlas cell, to the raised face. */
.animal-art{background-image:none!important}
.animal-art>svg{display:block;width:100%;height:100%;overflow:hidden;filter:none}
.animal-art svg{padding:0;border:0;margin:0;border-radius:0;box-shadow:none;background:none}
.animal-art>svg>svg{width:362px;height:362px;filter:none}
.talisman,.lore-art,.spin-button .spin-icon{display:grid;place-items:center}
.talisman>.animal-art,.lore-art>.animal-art,.spin-button .spin-icon>.animal-art{width:61%;height:61%;margin:0;justify-self:center;align-self:center;top:-4%;min-width:0;min-height:0}
.talisman .animal-art>svg,.lore-art .animal-art>svg{width:100%;height:100%;filter:none}
:root{--meander:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='24' viewBox='0 0 64 24'%3E%3Cpath d='M0 4h28v16H8V10h12v4h-6m18 6h28V4H40v10h12v-4h-6' fill='none' stroke='%23b79a5d' stroke-width='1.3' opacity='.55'/%3E%3C/svg%3E")}
.machine-crest{height:36px;margin:-8px 0 12px;background:url('/bronze-ornament.svg') center/100% 100% no-repeat;filter:drop-shadow(0 1px 1px #000)}
.game-card{background-image:var(--meander),radial-gradient(ellipse at 50% 0,#2b4a43b3,transparent 50%),linear-gradient(135deg,#253236f5,#11242af7 52%,#182729fc);background-repeat:repeat-x,no-repeat,no-repeat;background-position:left bottom 5px,center,center;background-size:64px 16px,cover,cover;padding-bottom:29px}
.game-head{border-bottom:0;padding-bottom:22px;background:var(--meander) left bottom/48px 14px repeat-x}.balance{border-style:double;border-width:3px;box-shadow:inset 0 0 13px #0008,0 1px #d4b26b55}
.game-actions{position:relative;padding:16px 8px 8px;border:1px solid #b3995f5c;background:var(--meander) left top/48px 12px repeat-x,linear-gradient(135deg,#9c864515,transparent 55%,#9c864519);box-shadow:inset 0 0 0 3px #0b1f2466}
.bet-select{background-image:url('/bronze-ornament.svg'),linear-gradient(135deg,#243d3b,#10282b);background-position:center 3px,center;background-size:80% 13px,cover;background-repeat:no-repeat;padding-top:19px}
.spin-button{border:3px double #e7c981;background-image:url('/bronze-ornament.svg'),radial-gradient(ellipse at 10% 50%,#6aaf6e40,transparent 62%),linear-gradient(145deg,#3a5745,#1e382d 55%,#30452f);background-position:center bottom 2px,center,center;background-size:94% 15px,cover,cover;background-repeat:no-repeat;padding-bottom:19px}
.spin-button::after{content:"";position:absolute;inset:5px;pointer-events:none;background:linear-gradient(#e4c57b,#e4c57b) left top/13px 1px no-repeat,linear-gradient(#e4c57b,#e4c57b) left top/1px 13px no-repeat,linear-gradient(#e4c57b,#e4c57b) right top/13px 1px no-repeat,linear-gradient(#e4c57b,#e4c57b) right top/1px 13px no-repeat}
.lore-card,.info-card{background-image:url('/bronze-ornament.svg'),linear-gradient(145deg,#1c3030f5,#101f25f5);background-position:right 16px top 16px,center;background-size:100px 15px,cover;background-repeat:no-repeat;border-style:double;border-width:3px}
.reel-legend>span:not(:first-child){border-style:double;border-width:3px;box-shadow:inset 0 0 10px #0005}
@media(min-width:1000px){main{max-width:1460px;padding-inline:40px}.hero{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:45px}.hero-copy{min-width:0}.hero h1{font-size:48px}.hero-copy .intro{font-size:14px;max-width:400px}.hero-tags{padding-right:205px;min-height:300px;font-size:11px}.guardian-portrait{height:335px;width:220px;right:-18px;bottom:0}.game-card{padding-inline:26px}.machine-crest{height:44px}.reel{height:calc(var(--rows,5)*69px + 14px)}.talisman{width:min(84%,63px)}.game-head h2{font-size:32px}.game-head .eyebrow{font-size:10px}.spin-button{min-height:108px;grid-template-columns:65px 1fr;padding-left:19px;column-gap:16px}.spin-button .spin-icon{width:65px;height:65px}.spin-button .spin-label{font-size:21px}.spin-button small{font-size:12px}.bet-select{font-size:12px}.bet-select select{font-size:19px}.lore-list{grid-template-columns:repeat(4,minmax(0,1fr))}.lore-art{width:52px}.lore-copy strong{font-size:14px}.lore-copy p{font-size:12px}}
@media(max-width:600px){.machine-crest{height:28px;margin:-5px 0 10px}.game-card{padding-bottom:24px}.game-actions{padding:15px 5px 7px;gap:7px}.spin-button{min-height:99px;padding-bottom:19px}.bet-select{padding-top:18px}.lore-card,.info-card{background-size:75px 13px,cover}}
