/* Urban Icon — record-sleeve typography, warm paper, plum ink and music motifs. */
:root{color-scheme:light;--bg:#f2e6d8;--panel:#fffaf2;--panel2:#ead9cd;--line:#d5bcac;--text:#382039;--muted:#705b69;--gold:#875315;--soft:#38634c;--accent:#835012;--danger:#a33944;--urban-plum:#562447;--urban-gold:#efbc62;--urban-pattern:url('assets/urban-music-pattern.svg')}
body{background-image:var(--urban-pattern),radial-gradient(ellipse at 5% 5%,#edc69888,transparent 48%),radial-gradient(ellipse at 95% 45%,#dca5be66,transparent 55%);background-size:760px 620px,100% 100%,100% 100%;background-attachment:fixed;color:var(--text)}
::selection{background:#efbc62;color:#382039}
.btn{background:var(--urban-plum);color:#fff8ec;font-size:14px;border:1px solid #562447;box-shadow:0 3px 0 #35163018}.btn:hover:not(:disabled){background:#743357}.btn.secondary{background:#e6ca9a;color:#48293f;border-color:#c9a773}.btn.secondary:hover:not(:disabled){background:#f2d9af}.btn.ghost{border-color:var(--line);color:var(--text);background:#fffaf270;box-shadow:none}.btn.ghost:hover:not(:disabled){background:#eedcd1}.btn.danger{background:#f2d5cf;color:#812c3b;border-color:#c68383}.btn.sm{font-size:13px}.link-btn{font-size:14px;color:#74304f}.icon-btn{color:#603751;background:#fff7ed;border-color:#cfb7aa}.pill{font-size:12px;letter-spacing:.4px}.pill.live{background:#f6e6c7;color:#68421a;border-color:#caab75}.eyebrow{font-size:12px;letter-spacing:1.5px}.micro,.small{font-size:13px}.topbar,.game-top{height:auto;min-height:78px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;background:#562447;color:#fff5e5;border-bottom:4px solid #efbc62;--muted:#e3c9d5;--line:#a37492;--gold:#ffcf7c;--text:#fff5e5}.topbar .icon-btn,.game-top .icon-btn{background:#6b375b;color:#fff5e5;border-color:#ac7b9a}.topbar .pill,.game-top .pill{border-color:#ac7b9a;color:#ffdda0;background:#673455}.game-top .btn.ghost{color:#fff5e5;background:#673455;border-color:#ac7b9a}.publisher{font-size:12px;letter-spacing:1.5px}.publisher .square{background:#efbc62;color:#562447;border-radius:5px}.backlink{font-size:12px}.save-status{color:#e0e8c5;font-size:12px}.game-top .chapter-name{font-size:13px}.game-top .chapter-name span{font-size:12px}.top-actions{flex-wrap:wrap}
.cover{padding-top:38px}.cover-grid{gap:44px;grid-template-columns:1fr 1fr}.cover-left{position:relative}.cover-word{font-family:Georgia,serif;font-size:clamp(90px,11vw,155px);letter-spacing:-7px;font-weight:700;color:#562447;text-shadow:none;line-height:.88;margin:24px 0 14px;max-width:100%}.urban-word{display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.24em;line-height:1.4;letter-spacing:.34em;font-weight:850;margin:0 0 9px 7px;color:#a26321}.cover-kicker{font-size:12px;letter-spacing:2.2px;color:#704357;margin:20px 0 16px}.urban-music-mark{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:#915125}.urban-music-mark:after{content:'';height:2px;width:95px;background:linear-gradient(90deg,#b87e37,transparent)}.urban-music-mark .i{width:27px;height:27px}.urban-music-mark .i:nth-child(even){color:#914c76}.chapter-tag{font-size:12px;background:#faefd8;border-color:#c99c5d;color:#79491f;border-radius:50px}.chapter-tag .i{width:19px;height:19px}.cover h2{font-size:34px;color:#512845}.cover-description{font-size:16px;line-height:1.75;max-width:430px}.cover-notes{font-size:12px;color:#705b69;line-height:1.7}.cover-audio-note{font-size:13px;color:#705b69}.cover-audio-note strong{color:#562447}.cover-song-badge{background:#f8ead3;color:#744426;border-color:#c99c5d;font-size:12px}.cover-song-badge.playing{color:#35624b;background:#e1ecd9;border-color:#8cab88}.artist-mosaic:before{background:radial-gradient(ellipse,#c58b7140,transparent 70%)}.mosaic-card{border:5px solid #fff8ee;border-radius:6px;box-shadow:0 12px 28px #55233c22;background:#6a3b55}.mosaic-card:nth-child(odd){transform:rotate(-2deg)}.mosaic-card:nth-child(even){transform:translateY(20px) rotate(2deg)}.mosaic-card:after{background:linear-gradient(180deg,transparent 40%,#43243eeb)}.mosaic-label span{font-size:12px;color:#ffe5bb}.mosaic-label strong{color:#fff5e5}.mosaic-number{font-size:12px;background:#562447d9}.cover-fact strong{font-size:15px}.cover-fact span{font-size:14px}.cover-fact>.i{width:28px;height:28px}.cover-bottom{border-color:#c4a18d;margin-top:42px}.footer{background:#e6d2c3;border-color:#cba994;color:#62485b;font-size:12px}.footer button{font-size:12px;color:#603751}.brand-mini{letter-spacing:0;font-size:30px}.urban-brand{display:block;font-family:Georgia,serif;font-weight:bold;font-size:30px;line-height:.95;letter-spacing:1px;text-align:left}.urban-brand>span{display:block;font-family:system-ui,sans-serif;font-weight:750;font-size:10px;line-height:1.5;letter-spacing:4.5px;color:#ffcf7c}.brand-button{flex-shrink:0}
.selection-head p,.artist-detail p,.start-place{font-size:16px}.artist-card,.artist-detail,.panel,.side-card,.scene-card,.shop-card,.feed-post,.market-card{box-shadow:0 5px 20px #6a35460a}.artist-card.selected{box-shadow:0 0 0 2px var(--accent),0 8px 24px #56244718}.artist-body p{font-size:14px}.artist-body .eyebrow,.saved-chip{font-size:12px}.trait{color:#62455c;border-color:#ccb0a0;background:#f2e4d4;font-size:12px}.selection-note{font-size:13px;line-height:1.6}.selected-check{color:#fff8ee}.artist-detail .eyebrow{color:var(--accent)}
.sidebar{background:linear-gradient(175deg,#e8cebbf5,#eedfcfee);border-color:#c6a28e}.sidebar-artist strong{font-size:14px}.sidebar-artist span{font-size:12px}.nav-btn{font-size:14px;color:#67495c;min-height:48px}.nav-btn .i{color:#8d4a6c}.nav-btn.active{color:#fff4e7;background:#713958;border-color:#713958;box-shadow:0 4px 12px #56244724}.nav-btn.active .i{color:#ffcf7c}.nav-btn:hover{background:#dcbba8;color:#48263c}.nav-btn.active:hover{background:#803f61;color:#fff4e7}.side-meta p{font-size:12px}.side-meta .eyebrow{font-size:12px}.stat{border-radius:12px;background:#fff8ec;border-color:#d9bda7;border-top:3px solid #bb8251}.stat:nth-child(2n){border-top-color:#986883}.stat-label{font-size:12px;letter-spacing:.6px;white-space:normal}.stat-label .i{color:#8e4a6b;width:18px;height:18px}.stat-value{color:#562447}.stat-value small{color:#776272;font-size:12px}.stat-track,.progress-track{background:#decabc}.stat-track span{opacity:1}.story-progress{font-size:12px}.scene-heading,.decision-head{background:linear-gradient(115deg,#f2debd,#f6e9e4 75%)}.scene-location{font-size:12px}.scene-paragraph{font-size:16px;color:#5f495b}.quote-box p{color:#60364f;font-size:19px}.quote-box .eyebrow{font-size:12px}.choices-title,.choice-detail,.choice-letter{font-size:13px}.choice-label{font-size:16px}.choice,.activity{background:#fff7e9;border-color:#d5bba8;color:#422741}.choice:hover:not(:disabled),.activity:hover:not(:disabled){background:#f3e2c8;border-color:var(--accent)}.choice-detail,.choice:disabled .choice-detail{color:#705b69}.choice-letter{background:#efe0c5;border-color:#ccb080;color:#74491b}.choice-arrow{color:#875315}.scene-advance{background:#f9f0e1}.scene-portrait-label{color:#fff6e8}.scene-portrait-label span{color:#ebd8e3}.side-card p,.mini-meter-top,.side-note{font-size:13px;color:#705b69}.story-mode-note,.decision-context{font-size:13px;color:#705b69}
.result-card,.ending-hero{background:linear-gradient(125deg,#f1d6ae,#fff9f0 70%);border-color:#cfa773}.result-card p,.reflection{color:#624c5d;font-size:16px}.result-footer{border-color:#d7bda6}.result-footer span{font-size:13px}.result-symbol{background:#fff1d5;border-color:#cda96a;color:#8c5418}.change{color:#315f43;background:#e4ecd9;border-color:#b3c4a0;font-size:13px}.change.negative{color:#963845;background:#f5e1da;border-color:#d1a09a}.change.neutral{color:#73531a;background:#f1e7ce;border-color:#cbbb8e}.accounting{background:#f7ead7;border-color:#d1bba3}.accounting-row{font-size:14px;border-color:#dbc7b2}.activity strong{font-size:16px}.activity p{font-size:14px}.activity span{color:#81541f;font-size:12px}.record-field label{font-size:13px}.record-field input{background:#fffdf8;border-color:#c1a58e;color:#48233d}.title-suggestions button{background:#efdfc7;border-color:#c9ab82;color:#785228;font-size:12px}.schedule-log,.performance-note,.performance-help,.method-label{font-size:13px}.cue-header{color:#735264;font-size:14px}.cue-feedback{font-size:14px}.meter,.play-meter{background:#613355;border-color:#cbaa7a}.stage{background:radial-gradient(ellipse at 50% 5%,#bd835866,transparent 65%),linear-gradient(#67375b,#452443)}
.panel-heading p{font-size:16px}.panel h2{font-size:19px}.panel h3{font-size:16px}.info-row{font-size:14px;border-color:#dfcabb}.relationship-label{font-size:15px}.milestone{border-color:#dfcabb}.milestone strong{font-size:15px}.milestone p{font-size:14px}.milestone .future{font-size:12px;color:#705b69}.milestone.done .milestone-marker{background:#eddbb4;border-color:#c8a366;color:#82531f}.market-card.established{background:linear-gradient(135deg,#f0dcb5,#fffaf2);border-color:#c3a16c}.market-card h2{font-size:16px}.market-card .eyebrow,.market-card p{font-size:12px}.notice,.chapter-complete-strip{background:#f6e6c8;border-color:#cdac76;color:#765026;font-size:14px}.shop-art{background:radial-gradient(ellipse at 50% 100%,#d3b382,#f3e4d5 80%);color:#7c415f}.shop-art>.i{filter:drop-shadow(0 8px 10px #945b6722)}.shop-art .eyebrow{color:#725329;font-size:12px}.shop-details p{font-size:15px}.shop-effect{font-size:13px}.post-head strong{font-size:14px}.post-head span{font-size:12px}.feed-post p{color:#5e3651}.journal-item{border-color:#c99a61}.journal-item .eyebrow{font-size:12px}.journal-item strong{font-size:15px}.journal-item p{font-size:14px}.journal-item .change{font-size:12px}.settings-row{border-color:#dcc9bb}.settings-row label{font-size:16px}.settings-row p,.muted-card{font-size:14px}.switch{background:#d2c0c6;border-color:#a991a0}.switch:checked{background:#774262;border-color:#774262}.empty-state{font-size:15px}.ending-hero p{font-size:16px}.ending-name{font-size:13px}.dialog-body p{font-size:15px}.dialog-body .info-row{font-size:14px}dialog{background:#fff7ea;border-color:#b99584;box-shadow:0 25px 100px #48223c66}dialog::backdrop{background:#48223c88}.intro{background:linear-gradient(120deg,#6c3255,#48253e);color:#fff4e4;--muted:#f1d9df;--gold:#ffcf7c;--text:#fff4e4}.intro .eyebrow{color:#ffcf7c}.intro .btn.ghost{color:#fff4e4;background:#713858;border-color:#b48c9c}.intro-content h1{color:#fff4e4}.intro-content p{color:#f0ddd5}.film-overlay,.microcinema{background:#48253e}.toast{background:#562447;color:#fff4e4}
/* The same palette follows the player into all seven minigames and public encounters. */
.play-intro p,.play-card p,.play-subtitle,.play-help,.play-result-screen p{color:#705b69}.play-card{background:#fff9ef;border-color:#d0b2a2;box-shadow:0 5px 20px #6a354611}.play-card .eyebrow{display:flex;align-items:center;gap:8px}.play-card .eyebrow:before{content:'♫';font-family:Georgia,serif;font-size:24px;line-height:1;color:#8b3f65}.play-overlay{background-color:#f2e6d8;background-image:var(--urban-pattern),radial-gradient(ellipse at 95% 0%,#e6b5c388,transparent 65%);background-size:760px 620px,100% 100%;color:#382039}.play-bar{border-color:#ccab9a}.play-title{font-family:Georgia,serif;color:#562447}.play-mode input{accent-color:#733658}.play-hud strong{color:#784723}.combat-hud{background:#ead4b7;border:1px solid #c6a27b}.play-dpad button{background:#f9eddc;color:#62374f;border-color:#bb9989}.play-dpad button:active{background:#e5c59c}.play-notice{background:#efe0c8;border-color:#b17935;color:#644b3a}.play-choice{background:#fff9ef;border-color:#cdb09e;color:#382039}.play-choice:hover{border-color:#804162;background:#f2dfd4}.play-choice strong{color:#743151}.play-choice span{color:#705b69}.play-dialogue{background:#fff8eb;border-left-color:var(--accent);color:#5c304c;box-shadow:0 3px 18px #622e4810}.play-speaker,.play-score,.play-decision-badge,.play-overlay .status-line{color:#8b4c21}.play-rounds span{background:#e8d0c1;color:#67334f}.play-pad{background:#eee0cb;border-color:#bc9c80;color:#582e4b}.play-pad small{color:#705b69}.play-pad.lit{background:#efbe62;color:#4b2343;border-color:#8d5625}.play-step{background:#fff6e7;border-color:#ceb39d;color:#64344f}.play-step small{color:#705b69}.play-step.active{background:#edc782}.play-sliders input{accent-color:#803b60}.play-warn,.combat-hud .play-warn{color:#9c3343}.play-pause-cover{background:#542a48ed;color:#fff4e5}.play-overlay :focus-visible{outline-color:#8a4a75}.play-outcome-changes span{background:#e0ead6;color:#356143}.play-outcome-changes .play-warn{background:#f0d8d2;color:#9c3343}.play-canvas-wrap{border:3px solid #ad806b;box-shadow:0 8px 25px #6c375526}.play-controls [data-fire]{background:#9a4b32;color:#fff7e9;border-color:#9a4b32}
@media(min-width:1130px){.game-body{grid-template-columns:224px minmax(0,1fr)}}
@media(max-width:920px){.cover-word{font-size:110px}.game-top{gap:12px}.game-body{grid-template-columns:175px minmax(0,1fr)}.nav-btn{font-size:13px;gap:8px;padding:12px 8px}.stat-label{font-size:12px}.sidebar-artist strong{font-size:14px}}
@media(max-width:680px){.topbar,.game-top{min-height:70px;padding:12px 16px;gap:12px}.topbar .top-actions{width:100%;justify-content:space-between}.topbar .pill{font-size:12px}.publisher{font-size:12px}.cover{padding:24px 22px}.cover-grid{gap:30px}.cover-word{font-size:110px;letter-spacing:-5px}.cover-kicker{font-size:12px;letter-spacing:1.6px}.cover h2{font-size:30px}.cover-description{font-size:16px}.cover-notes{font-size:12px}.cover-buttons .btn{font-size:14px}.mosaic-card:nth-child(odd){transform:rotate(-1deg)}.mosaic-card:nth-child(even){transform:rotate(1deg)}.mosaic-label{bottom:13px;left:12px}.mosaic-label span{font-size:11px}.mosaic-label strong{font-size:22px}.mosaic-number{font-size:11px}.cover-fact span{font-size:14px}.cover-bottom{gap:22px}.footer{padding:20px 22px}.footer button{font-size:12px}.game-body{grid-template-columns:1fr}.game-brand{width:100%;flex-wrap:nowrap;justify-content:space-between}.game-top .top-actions{width:100%;justify-content:flex-start;gap:8px}.game-top .chapter-name{display:block;font-size:12px}.game-top .chapter-name span{font-size:12px}.game-top .save-status{display:none}.sidebar{padding:10px 12px;border-bottom:1px solid #c6a28e}.side-nav{overflow-x:auto;flex-direction:row}.nav-btn{flex-shrink:0;min-height:46px;font-size:13px}.nav-btn .i{display:block;width:17px;height:17px}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:12px}.stat-label{font-size:12px}.stat-label .i{display:block}.stat-value{font-size:23px}.scene-paragraph{font-size:16px}.scene-heading h1{font-size:29px}.scene-location{line-height:1.65}.choice-label{font-size:15px}.choice-detail{font-size:13px}.artist-body .eyebrow{font-size:12px;letter-spacing:.4px}.artist-body h3{font-size:24px}.artist-body p{font-size:14px}.artist-detail p{font-size:16px}.selection-head p{font-size:15px}.selection-note{font-size:13px}.play-intro{align-items:flex-start;flex-direction:column}.play-intro>strong{font-size:14px}.play-bar strong{font-size:16px}.play-result-screen h2{font-size:32px}.play-card-body{padding:19px}}
@media(max-width:370px){.cover-word{font-size:96px}.mosaic-label strong{font-size:19px}.mosaic-label span{font-size:10px}.publisher{letter-spacing:1px}.game-top .chapter-name{display:none}.game-main{padding:16px 12px}.stat-label{letter-spacing:0}.stat{padding:10px 8px}}
/* Story interactions use the same light surfaces, including calls and the mixing desk. */
.artist-song{background:linear-gradient(115deg,#ead1ad,#f9ebdf);border-color:#c5a383}.artist-song p{color:#654c60}.artist-song .eyebrow{color:var(--accent)}.phone-wrap{background-image:var(--urban-pattern),linear-gradient(130deg,#e9cdae,#e5c4d0);background-size:760px 620px,100% 100%}.phone-shell{background:#fff8ed;border:2px solid #b88f95;box-shadow:0 15px 35px #6a35462b;color:#562447}.phone-status{color:#7b586d;font-size:12px}.phone-shell p{color:#705b69;font-size:16px}.phone-connected{color:#35664b;font-size:14px;background:#edf0de}.mix-desk{background:linear-gradient(130deg,#eee0c7,#f6e6e2);border-color:#bf9a80}.mix-desk p{color:#654c60}.mix-fader label{font-size:14px}.mix-fader small{color:#705b69;font-size:13px}.mix-feedback{font-size:14px}.decision-read{font-size:14px;color:#705b69}.milestone-video{background:#683555}.milestone-video figcaption{background:#f4e7d4;color:#684d60}.event-banner{background:#fff4deed;color:#73491f;box-shadow:0 15px 45px #5a264533}.event-banner small{color:#705b69}.event-setback .event-banner{background:#f7e1de;color:#973446;border-color:#be7781}.event-romance .event-banner{background:#f5dfeb;color:#87345d;border-color:#bc7d9d}.overlay-back{background:#713858ed;color:#fff4e4;border-color:#be95a9}.story-art{background:#683555}
/* Full-career goals sit on the cover; starting a game needs no extra screen. */
.cover-grid{align-items:start}
.cover .cover-word{font-size:clamp(5rem,8.3vw,7rem);margin:18px 0 12px;letter-spacing:-.3rem}
.cover .cover-kicker{margin:12px 0}
.cover .urban-music-mark{margin-bottom:18px}
.career-goals{max-width:34rem}
.career-goals h2{font-size:1.75rem;line-height:1.2;margin:10px 0 18px;max-width:none}
.career-goal-steps{list-style:none;counter-reset:career-step;padding:0;margin:0;display:grid;gap:16px}
.career-goal-steps li{position:relative;padding-left:36px;counter-increment:career-step;min-width:0}
.career-goal-steps li:before{content:counter(career-step);position:absolute;left:0;top:1px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #b59170;border-radius:50%;font-size:.875rem;font-weight:700;color:#562447;background:#fff8ec}
.career-goal-steps strong{display:block;font-size:1rem;line-height:1.4;color:#562447}
.career-goal-steps span{display:block;font-size:.9375rem;line-height:1.5;color:#624b5c;margin-top:3px}
.career-goal-note{font-size:.9375rem;line-height:1.55;margin:18px 0 0;color:#624b5c}
.career-goal-note strong{color:#562447}
.career-goal-availability{font-size:.875rem;line-height:1.5;margin:12px 0 0;color:#705b69}
.career-badge-guide{margin-top:32px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.career-badge-guide summary{font-size:1rem;line-height:1.5;font-weight:700;cursor:pointer;color:#562447;padding:12px 0;min-height:44px}
.career-badge-guide summary:focus-visible{outline:3px solid #875315;outline-offset:5px;border-radius:3px}
.career-badge-guide>p{font-size:1rem;line-height:1.6;max-width:62rem;color:#624b5c;margin:8px 0 20px}
.career-badge-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:0}
.career-badge-list>div{padding:16px 0;border-top:1px solid var(--line);min-width:0}
.career-badge-list dt{font-size:1rem;font-weight:700;color:#562447;margin-bottom:6px}
.career-badge-list dd{font-size:1rem;line-height:1.6;color:#624b5c;margin:0}
@media(max-width:680px){.cover .cover-word{font-size:5rem}.career-goals h2{font-size:1.625rem}.career-goal-steps{gap:14px}.career-badge-list{grid-template-columns:1fr;gap:6px}.career-badge-guide{margin-top:24px}}

/* Full app title, with a compact wordmark on phones. */
.cover-word .brand-app{display:inline-block;font-family:system-ui,sans-serif;font-size:clamp(12px,1.7vw,20px);font-weight:750;letter-spacing:2px;margin-left:10px;vertical-align:baseline}
.urban-brand .brand-app{font-family:system-ui,sans-serif;font-size:9px;font-weight:750;letter-spacing:1px;vertical-align:baseline}
/* Game overlays retain a solid, safe-area-aware audio bar while scrolling. */
.play-overlay .play-bar{position:sticky;top:0;z-index:50;background:#fff9ef;padding:10px 0 12px;padding-top:max(10px,env(safe-area-inset-top));box-shadow:0 7px 14px #38203918}.play-audio-controls{display:flex;gap:8px;flex-wrap:wrap;order:2;width:100%}.play-audio-controls .btn{min-height:44px}.play-overlay .play-bar strong{min-width:0;overflow-wrap:anywhere}.play-overlay #play-title{scroll-margin-top:160px}.play-overlay #beat-save-status{min-height:24px}
@media(max-width:640px){.play-audio-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.play-audio-controls .btn{padding:8px 3px;font-size:12px}.play-overlay .play-bar{gap:8px}.play-overlay .play-bar>.btn{min-height:44px;padding:8px 10px}}
