:root{--menu-ink:#f5ecdd;--menu-gold:#ccb583;--menu-pink:#bd315c}
body:not([data-screen="play"]) nav[aria-label$="inspection"]{display:none!important}
#help-panel{background:linear-gradient(110deg,#071a24ef,#091c24e8),url('../assets/ui/title-city-v2.png') center/cover;padding:24px;backdrop-filter:blur(12px);animation:none}
.menu-sheet{background:linear-gradient(135deg,#152b34f5,#091820fa);color:var(--menu-ink);border:1px solid #ccb58355;border-radius:8px;box-shadow:0 30px 120px #0009;width:min(820px,96vw);max-height:94dvh;padding:28px 36px;overflow:auto}
.menu-sheet h2{color:var(--menu-ink);font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.025em;word-spacing:.04em;margin:18px 0 26px}.sheet-top .kicker{letter-spacing:.25em;color:var(--menu-gold)}
.menu-sheet .primary,.result-card .primary,.tour-card .primary{background:linear-gradient(135deg,#cf3b69,#8f2246);border:1px solid #f09ab1;box-shadow:0 4px 0 #5f1532,0 8px 30px #bd315c30;color:#fff5e8;border-radius:4px;letter-spacing:.1em;padding:16px 24px}
.menu-sheet .primary:hover,.tour-card .primary:hover{filter:brightness(1.15);transform:translateY(-2px)}
.menu-sheet .secondary,.tour-card .secondary{background:#142a33;border:1px solid #738081;color:#e7e2d5;border-radius:4px;padding:13px 18px}.menu-sheet button:disabled{opacity:.38;cursor:not-allowed;transform:none}
.sheet-tabs{flex-wrap:wrap;gap:8px;border-bottom:1px solid #ffffff18;padding-bottom:18px}.sheet-tabs button{color:#b6c3c5;border-radius:3px}.sheet-tabs button.active{background:#bd315c;color:white}
.flow-eyebrow{color:var(--menu-gold);font:600 11px monospace;letter-spacing:.22em;margin-bottom:16px}.flow-intro{color:#b6c3c5}.muted,.local-note{color:#9dadb1;font-size:12px}.local-note{margin-top:28px;letter-spacing:.12em;font-size:10px}
.account-form{display:grid;gap:18px}.account-form label{display:grid;gap:8px;font:600 10px monospace;letter-spacing:.13em}.account-form input{min-width:0;width:100%;background:#07151e;border:1px solid #657178;border-radius:3px;color:#fff5e4;padding:13px;font:500 16px system-ui;letter-spacing:.03em}.account-form small{color:#9dadb1;font-size:11px;letter-spacing:0}
.auth-tabs{display:flex;gap:8px;margin:24px 0}.auth-tabs button,.text-button{border:0;background:none;color:#c9bb9b;padding:12px;font-size:12px;letter-spacing:.08em}.auth-tabs button[aria-pressed=true]{border-bottom:2px solid #db4278;color:#fff}.identity-fields{display:grid;align-items:start;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.identity-fields[hidden]{display:none}
.form-status{font-size:13px;color:#f0bcaa;min-height:18px;margin:8px 0}.menu-sheet:has([data-sheet="auth"]:not(.hidden)){width:min(540px,96vw)}
.menu-sheet:has(#cast-sheet:not(.hidden)),.menu-sheet:has([data-sheet="courses"]:not(.hidden)),.menu-sheet:has([data-sheet="holes"]:not(.hidden)){width:min(1280px,96vw);max-width:1280px}
.cast-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:36px}.cast-stage{border-radius:4px;border-color:#ccb58344;background:radial-gradient(ellipse at 50% 65%,#3f4342 0%,#162d35 45%,#091820 80%)}#cast-preview{height:clamp(340px,51dvh,580px)}.cast-stage-label{color:#ccb583}.cast-card{border-radius:3px;background:#10252e;border-color:#42545b;padding:13px}.cast-card[aria-pressed=true]{background:linear-gradient(110deg,#7d2442,#182c35);border-color:#da6488;box-shadow:-4px 0 #e7cc90;padding:12px}.cast-number{color:#b5a88c;font-size:16px}.cast-card small{color:#a8b5b8}.cast-check{color:#f3d79c}.cast-heading h3{font-size:38px}.cast-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.cast-actions .primary{width:auto;margin-left:auto;min-width:270px}.cast-best{color:#ccb583}.cast-mode{color:#a9bbc0}.cast-mode select{background:#142a33;color:white;border:1px solid #738081;padding:8px}
.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course-card{display:flex;position:relative;overflow:hidden;min-height:360px;flex-direction:column;text-align:left;gap:12px;justify-content:flex-end;padding:26px;border:1px solid #677574;border-radius:4px;color:#f4ead8;background:linear-gradient(180deg,#09253288,#08141ff5),url('../assets/ui/title-city-v2.png') 55% 20%/auto 125%;transition:transform .25s,border-color .25s}.course-card:hover{transform:translateY(-5px);border-color:#d6bd84}.course-card.course-foundry{background-position:0 50%;filter:saturate(.45)}.course-card.course-underworld{background-position:100% 80%;filter:saturate(.3)}.course-card small{color:#d2bd8d;letter-spacing:.18em;font-size:10px}.course-card strong{font-size:34px;letter-spacing:-.04em}.course-card>span:not(.course-index){font-size:13px;color:#b6c3c8}.course-card b{border-top:1px solid #ffffff33;padding-top:18px;font-size:11px;letter-spacing:.1em}.course-index{position:absolute;top:18px;left:24px;font:300 54px system-ui;color:#f5edda55}
.flow-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:26px;font:10px monospace;color:#b7a789;letter-spacing:.1em}.hole-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px}.hole-feature{padding:24px;background:#091923;border:1px solid #ccb58344;border-radius:4px}.hole-feature h3{font-size:30px;margin:8px 0}.hole-feature p{color:#b6c3c8;font-size:13px}.hole-art{position:relative;background:linear-gradient(90deg,#06253388,#122b3155),url('../assets/ui/title-city-v2.png') center/cover;height:130px;display:flex;align-items:center;padding:18px;font-size:70px;font-weight:800;color:#eee3d6}.hole-art span{font-size:11px;letter-spacing:.12em;margin-left:20px}.hole-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.hole-tile{aspect-ratio:.85;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#11232b;border:1px solid #58626a;border-radius:4px;color:#ede3cf}.hole-tile strong{font-size:27px;font-weight:400}.hole-tile span{font:8px monospace;letter-spacing:.1em}.hole-tile[aria-pressed=true]{background:#90264c;border-color:#edb9c8;box-shadow:0 6px 25px #bd315c33}.tour-choice{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:18px}.tour-choice input{accent-color:#bd315c}
.profile-heading{display:flex;justify-content:space-between;font-size:30px}.profile-heading span:last-child{color:#d3b97b}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.profile-stats>div{border:1px solid #cbb58133;padding:16px}.profile-stats strong{display:block;font-size:28px;color:#e8d6b4}.profile-stats small{font:10px monospace;color:#9eafb6}.history-row{padding:14px 0;border-bottom:1px solid #ffffff18;font-size:12px;color:#bcc9ce}.run-history{max-height:240px;overflow:auto}
#save-status{position:fixed;right:22px;bottom:16px;z-index:30;color:#d6c8a9;background:#0b1f29bd;font:9px monospace;letter-spacing:.1em;padding:5px 8px;pointer-events:none}#save-status:empty,body[data-screen="intro"] #save-status,body[data-screen="menu"] #save-status{display:none}
.result-card{background:linear-gradient(135deg,#172b34,#091820);border:1px solid #cbb58166;color:#f5ecdd;border-radius:8px}.result-card h2{color:#f5ecdd}.result-stats strong{color:#e1bc82}.result-stats span{color:#aebec1}
.tour-overlay{position:fixed;inset:0;z-index:45;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:30px;background:linear-gradient(transparent 40%,#06151bc9)}.tour-overlay.hidden{display:none}.tour-card{width:min(700px,94vw);pointer-events:auto;background:#0a1a24f5;border:1px solid #ccb58388;border-radius:5px;padding:26px 32px;color:#f5ecdd;box-shadow:0 20px 70px #0008}.tour-card h2{font-size:32px;margin:10px 0}.tour-card p{font-size:15px;line-height:1.7;color:#c4d0d1}.tour-top,.tour-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.tour-top{font:10px monospace;color:#ccb583;letter-spacing:.15em}.tour-actions{margin-top:18px}.tour-progress{height:3px;background:#37474c;margin-top:20px}.tour-progress span{display:block;height:100%;background:#cf3b69;transition:width .25s}.tour-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px}.tour-controls kbd{display:inline-block;min-width:70px;color:#e9c987}body[data-screen="tutorial"] #game-hud{display:none}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f0cb83;outline-offset:4px}.reduced-motion *{scroll-behavior:auto}
@media(max-width:800px){#help-panel{padding:10px}.menu-sheet{padding:20px;max-height:96dvh}.cast-layout{gap:16px;grid-template-columns:1fr 1fr}#cast-preview{height:380px}.course-list{gap:10px}.course-card{padding:16px;min-height:300px}.course-card strong{font-size:24px}.hole-layout{grid-template-columns:1fr}.hole-grid{grid-template-columns:repeat(6,1fr)}.hole-tile{aspect-ratio:1}.tour-overlay{padding:12px}.tour-card{padding:20px}}
@media(max-width:520px){.menu-sheet h2{font-size:30px;margin:14px 0 20px}.cast-layout{grid-template-columns:1fr}#cast-preview{height:320px}#cast-list{grid-template-columns:repeat(5,1fr);gap:4px}.cast-card{padding:9px 4px;display:block;text-align:center}.cast-card[aria-pressed=true]{padding:8px 3px}.cast-card strong{font-size:12px}.cast-card small,.cast-check{display:none}.cast-number{font-size:10px}.cast-heading{margin-top:18px}.cast-heading h3{font-size:28px}.cast-actions .primary{width:100%;min-width:0}.course-list{grid-template-columns:1fr}.course-card{min-height:210px}.course-index{left:auto;right:16px}.hole-grid{gap:6px;grid-template-columns:repeat(3,1fr)}.hole-tile{aspect-ratio:1.3}.flow-footer{flex-wrap:wrap}.tour-card h2{font-size:25px}.tour-card p{font-size:13px}.tour-actions button{padding:12px}.tour-controls{grid-template-columns:1fr 1fr;font-size:10px}.tour-controls kbd{min-width:0;display:block}.profile-stats{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.course-card,.tour-progress span{transition:none}}.reduced-motion .course-card,.reduced-motion .tour-progress span{transition:none}
.tour-card{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-height:520px) and (min-width:600px){.tour-overlay{justify-content:flex-end;align-items:center}.tour-card{width:370px;padding:16px 20px}.tour-card h2{font-size:23px}.tour-card p{font-size:12px;line-height:1.5}.tour-actions{margin-top:10px}.tour-actions button{padding:10px 14px}.tour-progress{margin-top:12px}}

.identity-fields>label{min-width:0;align-content:start}
