*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#0c1024;color:#342c36;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.85}
a{color:#654583;text-underline-offset:4px}a:hover{color:#946524}a:focus-visible,button:focus-visible{outline:3px solid #c8a0ef;outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4;letter-spacing:-.02em}h1{font-size:32px}h2{font-size:25px}h3{font-size:19px}p+p{margin-top:16px}
.site-header{width:min(390px,100%);height:48px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent;border:0;color:#ffedbb}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-size:25px;font-weight:750;line-height:1.3;letter-spacing:.08em}.brand h1{font-size:25px;line-height:1.3}.brand:hover{color:#ffedbb}
.site-header nav{display:flex;justify-content:center;align-items:center;gap:19px;font-size:12px;line-height:1.5}.site-header nav a{padding:3px 0;text-decoration:none;color:#d5ccdb;white-space:nowrap}.site-header nav a:hover{color:#ffedbb}.site-header [aria-current=page]{color:#ffedbb;border-bottom:1px solid #e3bf79}
main{width:min(390px,100%);margin:0 auto;padding:0 22px;background:#f9f3e7;min-height:calc(100dvh - 48px)}
.page-intro{padding:30px 0 25px;max-width:100%}.page-intro h1{font-size:28px}.eyebrow{font-size:12px;font-weight:650;color:#8c6b43;letter-spacing:.1em;margin-bottom:14px}.lead{font-size:17px;line-height:1.95;color:#695b65;margin-top:20px;max-width:740px}.quiet{font-size:12px;color:#837780;margin-top:18px}
.section{border-top:1px solid #dfd6c9;padding:36px 0}.section p{color:#695b65}.section h2+p{margin-top:18px}.prose{max-width:780px}.prose p,.prose li{font-size:15px}.prose ul{padding-left:22px;color:#695b65}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 22px;border-radius:12px;background:#654783;color:#fffaf1;font-weight:650;text-decoration:none;line-height:1.5;box-shadow:0 3px 0 #3e2e50}.button:hover{background:#795698;color:white}.prose .button{margin-top:24px}.text-link{font-size:14px;font-weight:650;text-decoration:none}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}
.contents{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.contents a{background:#ece4ed;border-radius:7px;padding:5px 11px;text-decoration:none;font-size:13px}
.table-scroll{overflow-x:auto;margin:24px 0}table{border-collapse:collapse;min-width:540px;width:100%;font-size:14px;text-align:left}th,td{padding:12px 14px;border-bottom:1px solid #e5dccd}th{background:#ece4ed;color:#654783}td:first-child,td:nth-child(2){white-space:nowrap}td:nth-child(2){font-weight:650;color:#654783}
.site-footer{width:min(390px,100%);margin:auto;padding:24px 22px 30px;background:#161a32;display:flex;flex-direction:column;justify-content:space-between;gap:18px;font-size:11px;color:#c7bacd}.site-footer span{color:#a89bb2;font-size:10px}.site-footer nav{display:flex;gap:12px;flex-wrap:wrap;align-content:start}.site-footer a{color:#cfc0dd;text-decoration:none}
.skip-link{position:fixed;top:-70px;left:12px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:12px}
.site-home .site-header{width:min(390px,100%);height:48px;background:transparent;border:0;gap:0}.site-home #content{width:min(390px,100%);padding:0;background:#11162f;min-height:0}
.home-stage{height:calc(100dvh - 48px);min-height:420px;max-height:900px;position:relative;overflow:hidden;background:#16172f;isolation:isolate}
.room-preview{position:absolute;inset:0}.room-preview[hidden]{display:none}.room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}
.welcome-title{position:absolute;top:11%;left:50%;width:82%;max-width:320px;transform:translateX(-50%);margin:0;line-height:0;filter:drop-shadow(0 3px 4px #090d2b66)}.welcome-title img{display:block;width:100%;height:auto}
.welcome-cards{position:absolute;top:calc(32% + 30px);left:50%;transform:translateX(-50%) rotate(-2deg);display:grid;grid-template-columns:80px 80px;gap:16px 24px}.welcome-card{width:80px;height:72px;background-size:100% 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;filter:drop-shadow(0 3px 3px #05081844);font-size:12px;font-weight:650;color:#342c36;line-height:1.3}.welcome-card:nth-child(2){transform:rotate(7deg)}.welcome-card:nth-child(3){transform:rotate(3deg)}.welcome-card img{object-fit:contain}
.welcome-start{position:absolute;top:calc(65% + 15px);left:0;right:0;text-align:center;padding:0 15px}.start-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:57px;min-width:216px;padding:8px 24px;border:3px solid #fffbea;border-radius:16px;background:#efd092;color:#4b3540;box-shadow:0 4px 0 #8c613d,0 7px 16px #090b2270;font:750 21px/1.5 system-ui,sans-serif;cursor:pointer}.start-button:hover{background:#f8dea7}.start-button span{font-size:18px;color:#836038}.welcome-start>p{margin-top:12px;font-size:12px;color:#fff4d2;text-shadow:0 2px 3px #15132b}.welcome-start #start-status:empty{display:none}
.welcome-note{position:absolute;bottom:18px;left:22px;right:22px;text-align:center;font-size:12px;line-height:1.8;color:#fff6dd;text-shadow:0 1px 5px #100f1f;padding:10px 12px;border-radius:12px;background:#17142a99}.welcome-note span{display:block;font-size:10px;color:#e8d6bb;margin-top:3px}.home-game{display:block;position:absolute;inset:0;border:0;width:100%;height:100%;background:#11162f}.no-script{position:absolute;inset:20px;background:#fff8e8;padding:20px;border-radius:12px}
@media(max-width:600px){main{padding:0 22px}.site-header nav{gap:19px}.site-footer{padding:24px 22px;flex-direction:column;gap:18px}.page-intro{padding:30px 0 25px}.page-intro h1{font-size:28px}.lead{font-size:16px}.section{padding:29px 0}.section h2{font-size:23px}}
@media(max-width:350px){.site-header nav{gap:13px;font-size:11px}.brand,.brand h1{font-size:23px}.welcome-cards{grid-template-columns:72px 72px;gap:12px 18px}.welcome-card{width:72px;height:66px}.welcome-note{left:14px;right:14px;font-size:11px}.start-button{min-width:195px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
