/* Cinematic menu over the user-supplied, text-free artwork. */
#start-screen{background:#061019;isolation:isolate;padding-top:clamp(65px,11vh,125px);font-family:'Microsoft YaHei','PingFang SC',sans-serif}
#start-screen .launch-backdrop{position:absolute;inset:-12px;z-index:-2;background:url('../assets/models/kanshan-launch.png') center 52%/cover no-repeat;transform:translate(var(--launch-x,0px),var(--launch-y,0px));transition:transform 1.2s cubic-bezier(.18,.7,.25,1);pointer-events:none}
#start-screen::before{z-index:-1;background:linear-gradient(180deg,rgba(1,7,13,.5),rgba(1,7,13,.07) 40%,rgba(1,7,13,.08) 62%,rgba(1,7,13,.8));pointer-events:none}
#start-screen::after{z-index:-1;background:linear-gradient(90deg,rgba(1,8,16,.3),transparent 30%,transparent 70%,rgba(1,8,16,.28));pointer-events:none}
#start-screen .launch-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,rgba(59,199,255,.10),transparent 45%);animation:launch-breathe 8s ease-in-out infinite}
#start-screen .launch-topline{position:absolute;top:28px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center;color:#bdd2dcc0;font:10px/1.2 Consolas,'Microsoft YaHei',monospace;letter-spacing:2px;text-transform:uppercase}
#start-screen .launch-topline span:last-child{color:#a5c8d1;letter-spacing:1px}
#start-screen .launch-topline span:last-child:before{content:'';display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:#7ed8c2;box-shadow:0 0 10px #5bdac0}
#start-screen .start-badge{margin:0 0 16px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#a5c6d5;font:10px/1.5 Consolas,monospace;letter-spacing:4px;opacity:.85}
#start-screen .badge-dot{width:4px;height:4px;background:#b4e5ee;box-shadow:none;margin-right:8px}
#start-screen h1{margin:0 0 12px;padding-left:14px;font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:clamp(50px,5.3vw,96px);font-weight:800;line-height:1.15;letter-spacing:14px;background:linear-gradient(180deg,#fff 20%,#d3e2e8 72%,#7babbc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 18px #0009);animation:launch-title-in 1.2s ease-out both;text-transform:none}
#start-screen .subtitle{margin:0 0 15px;color:#e4c5a1;font:400 clamp(12px,1.1vw,16px)/1.8 'Microsoft YaHei',sans-serif;letter-spacing:8px;text-shadow:0 2px 10px #000;animation:launch-title-in 1.4s ease-out both}
#start-screen .desc{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;color:#c6d8dfb0;font-size:12px;letter-spacing:2px;line-height:1.8;text-shadow:0 2px 8px #000;animation:launch-title-in 1.6s ease-out both}
#start-screen .start-actions{position:absolute;bottom:13.5%;display:flex;align-items:stretch;gap:14px;z-index:10;margin:0}
#start-screen .start-actions button{position:relative;bottom:auto;display:grid;align-content:center;gap:6px;min-height:66px;margin:0;padding:15px 42px;border-radius:3px!important;cursor:pointer;letter-spacing:3px;font-family:'Microsoft YaHei',sans-serif;overflow:hidden;animation:none;transition:background .25s,transform .25s,box-shadow .25s;border-color:#acd9e84d!important;box-shadow:0 10px 40px #0004;filter:none;text-shadow:none;text-transform:none}
#start-screen .start-actions button span{font-size:17px;line-height:1.2;font-weight:600}
#start-screen .start-actions button small{font-size:9px;line-height:1.2;font-weight:400;letter-spacing:2px;opacity:.6}
#start-screen #start-btn{min-width:246px;padding-right:66px;background:linear-gradient(110deg,#e4f0ed,#a8d4db);color:#14343e;border-color:#d3f3f4!important;box-shadow:0 0 24px #70d7ed20,0 12px 45px #0005}
#start-screen #start-btn i{position:absolute;right:27px;top:50%;transform:translateY(-50%);font:26px/1 sans-serif;font-style:normal;transition:right .2s}
#start-screen #start-btn:hover{transform:translateY(-3px);background:linear-gradient(110deg,#fff,#c6eaf0);box-shadow:0 0 38px #8bdeef45,0 12px 50px #0005}
#start-screen #start-btn:hover i{right:21px}
#start-screen #start-btn::before{background:linear-gradient(90deg,transparent,#ffffff70,transparent);transition:left .7s}
#start-screen #multiplayer-btn{min-width:174px;background:#06151bc2;color:#d4e7eb;backdrop-filter:blur(10px)}
#start-screen #multiplayer-btn:hover{background:#12333ed9;transform:translateY(-3px);border-color:#9cd5e2!important;box-shadow:0 0 30px #3997b422}
#start-screen button:focus-visible{outline:2px solid #fff;outline-offset:5px}
#start-screen .launch-controls{position:absolute;bottom:7.5%;display:flex;gap:20px;color:#b7cdd5b8;font:10px/1.6 'Microsoft YaHei',sans-serif;letter-spacing:.5px;margin:0;text-shadow:0 1px 4px #000}
#start-screen .launch-chapter{position:absolute;left:38px;bottom:14%;display:flex;flex-direction:column;gap:8px;padding-left:15px;border-left:1px solid #b4cdd550;text-shadow:0 2px 8px #000}
#start-screen .launch-chapter span{color:#a4beca;font:9px/1.5 Consolas,monospace;letter-spacing:3px}
#start-screen .launch-chapter strong{color:#e0e8e9;font-size:18px;font-weight:500;letter-spacing:4px}
#start-screen .launch-chapter small{color:#a4b9c480;font-size:10px;letter-spacing:1px}
#start-screen .launch-footer{position:absolute;bottom:24px;left:38px;right:38px;display:flex;justify-content:space-between;color:#9ab6c465;font:9px/1.5 Consolas,'Microsoft YaHei',monospace;letter-spacing:2px}
#loading{background:#061019 url('../assets/models/kanshan-launch.png') center/cover no-repeat}
#loading::before{background:#061019b3}
#loading h1{animation:none;background:linear-gradient(#fff,#a9c4cf);background-clip:text;-webkit-background-clip:text;filter:none}
#loading .subtitle{font:12px/1.8 'Microsoft YaHei',sans-serif;letter-spacing:2px;color:#bdcfd6;animation:none;border:0;white-space:normal;text-align:center;text-shadow:none;margin:0 24px 36px}
#loading::after{display:none}
#loading h1{font-family:'Microsoft YaHei','PingFang SC',sans-serif;font-size:clamp(32px,5vw,62px);letter-spacing:10px;padding-left:10px}
#loading-bar{width:min(320px,72vw);height:2px;background:#adcfd522;box-shadow:none}
#loading-fill{background:linear-gradient(90deg,#659fb0,#d0e8e9);box-shadow:0 0 16px #93d3e644}
#loading-fill::after{width:4px;height:4px;right:-2px;box-shadow:0 0 10px #b0dae0}
#loading-text{color:#abc4d0;letter-spacing:2px;font:11px/1.8 'Microsoft YaHei',sans-serif}

/* Sparse foreground dust gives the still artwork depth without covering the character. */
#start-screen .launch-motes{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
#start-screen .launch-motes span{position:absolute;left:var(--left);top:var(--top);width:2px;height:2px;border-radius:50%;background:#a3e5ec;box-shadow:0 0 7px #68d1ef88;opacity:0;animation:launch-drift var(--duration) var(--delay) linear infinite}
#start-screen .launch-motes span:nth-child(3n){background:#e9c39b;box-shadow:0 0 7px #e8af7266}
#start-screen .launch-topline,#start-screen .launch-chapter,#start-screen .launch-footer{z-index:2}
#start-screen.launch-paused *,#start-screen.launch-paused *::before{animation-play-state:paused}
#start-screen .launch-touch-hint{display:none}
@keyframes launch-drift{0%{opacity:0;transform:translate(0,35px)}20%{opacity:.5}75%{opacity:.3}100%{opacity:0;transform:translate(var(--drift),-100px)}}
@media(hover:none) and (pointer:coarse){#start-screen .launch-desktop-hint{display:none}#start-screen .launch-touch-hint{display:inline}}
@keyframes launch-title-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes launch-breathe{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:900px){#start-screen .launch-chapter{display:none}#start-screen .launch-topline,#start-screen .launch-footer{left:22px;right:22px}#start-screen .start-actions{bottom:15%}#start-screen .launch-controls{bottom:8%;gap:12px}}
@media(max-width:600px){#start-screen{background-position:55% center;padding-top:17vh}#start-screen h1{font-size:46px;letter-spacing:8px;padding-left:8px}#start-screen .start-badge{font-size:8px;letter-spacing:2px}#start-screen .subtitle{font-size:12px;letter-spacing:5px}#start-screen .desc{max-width:280px;font-size:10px;letter-spacing:1px;text-align:center}#start-screen .start-actions{gap:9px;width:calc(100% - 44px);bottom:15%}#start-screen .start-actions button{padding:14px 16px;min-height:64px}#start-screen #start-btn{min-width:0;flex:1.4;padding-right:35px}#start-screen #start-btn i{right:12px;font-size:21px}#start-screen #multiplayer-btn{min-width:0;flex:1}#start-screen .start-actions button span{font-size:15px;letter-spacing:2px}#start-screen .launch-controls{max-width:300px;justify-content:center;flex-wrap:wrap;gap:5px 12px;font-size:9px}#start-screen .launch-footer span:last-child{display:none}#start-screen .launch-topline{top:22px;font-size:8px;letter-spacing:1px}#start-screen .launch-footer{bottom:18px}}
@media(max-height:600px) and (min-width:601px){#start-screen{padding-top:12vh}#start-screen h1{font-size:48px}#start-screen .desc{display:none}#start-screen .start-actions{bottom:14%}#start-screen .start-actions button{min-height:55px;padding-top:9px;padding-bottom:9px}#start-screen .launch-controls{bottom:6%}#start-screen .launch-footer{bottom:12px}#start-screen .launch-chapter{display:none}}
@media(max-width:600px){#start-screen .launch-backdrop{background-position:55% center}}
@media(max-height:600px){#start-screen .launch-footer{display:none}}
@media(prefers-reduced-motion:reduce){#start-screen *,#start-screen *::before{animation:none!important;transition:none!important}#start-screen .launch-motes{display:none}}
