
:root{
 --bg:#07111f;--panel:#101b2d;--panel2:#152238;--line:#2a3953;--text:#f7f9fc;--muted:#9aabbe;
 --accent:#5876e8;--good:#3bd498;--warn:#f3c75f;--bad:#ff7474
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 0,#152442 0,#07111f 34%,#07111f 100%)}
button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}
.app{max-width:1180px;margin:auto;padding:12px}.hidden{display:none!important}.screen{display:none}.screen.active{display:block}
.panel,.card{background:rgba(16,27,45,.97);border:1px solid var(--line);border-radius:20px;padding:16px}
.hero{background:linear-gradient(135deg,#1b2c4c,#0f1828);border:1px solid var(--line);border-radius:24px;padding:28px 20px;margin-bottom:12px}
.hero h1{font-size:42px;margin:8px 0}.hero p{margin:0;color:var(--muted);line-height:1.6}
.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#b3c0ff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:flex;flex-direction:column;gap:7px;color:#ccd5e2;font-size:14px}
input,select{background:#0c1524;border:1px solid var(--line);color:var(--text);padding:12px;border-radius:12px;outline:none}
input:focus,select:focus{border-color:var(--accent)}
.btn{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#101a2b;color:var(--text);padding:11px 14px}
.btn.primary{background:var(--accent);font-weight:800}.btn.full{width:100%}.btn:hover:not(:disabled){filter:brightness(1.08)}
.section-head,.topbar,.event-head,.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.topbar{margin-bottom:10px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.player-name{font-size:22px;font-weight:900}
.stat-preview{margin-top:14px;background:#0c1627;border:1px solid var(--line);border-radius:16px;padding:14px}
.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}
.stat-box{background:#121d31;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.stat-box span{display:block;color:var(--muted);font-size:11px}.stat-box b{font-size:19px}.stat-box.warn{border-color:#7a652b}.stat-box.warn b{color:var(--warn)}.stat-box.bad{border-color:#7b3439}.stat-box.bad b{color:var(--bad)}.stat-box.good{border-color:#285c4b}.stat-box.good b{color:var(--good)}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}
.option-card{background:#0d1728;border:1px solid var(--line);border-radius:14px;padding:12px}.option-card h4{margin:0 0 6px}.option-card .big{font-size:25px;font-weight:900;margin:6px 0}.option-card .meta{color:var(--muted);font-size:11px;line-height:1.55}
.layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:12px}.sidebar,.maincol{display:grid;gap:12px;align-content:start}
.profile{display:flex;gap:12px;align-items:center}.avatar{width:72px;height:72px;border-radius:20px;background:#0b1525;border:1px solid var(--line);display:grid;place-items:center;font-size:36px;flex:none}
.profile h2{margin:0 0 4px;font-size:18px}.profile p{margin:0;color:var(--muted);font-size:12px}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.kpi{background:#0d1728;border:1px solid var(--line);border-radius:12px;padding:9px;text-align:center}.kpi span{display:block;color:var(--muted);font-size:11px}.kpi b{font-size:15px}.kpi.warn{border-color:#7a652b;background:#231f14}.kpi.warn b{color:var(--warn)}.delta{font-size:11px;font-weight:800;margin-left:5px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.detail-row.warn{border-color:#7a652b;background:#231f14}.detail-row.warn b{color:var(--warn)}.detail-row.bad{border-color:#7b3439;background:#261519}.detail-row.bad b{color:var(--bad)}.detail-row.good{border-color:#285c4b}.detail-row.good b{color:var(--good)}.xpbar{height:5px;background:#08101c;border-radius:999px;overflow:hidden;margin-top:5px}.xpbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#9bafff)}.trend{font-size:11px;font-weight:900;margin-left:5px}.trend.up{color:var(--good)}.trend.down{color:var(--bad)}.exam-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.exam-cell{background:#0b1525;border:1px solid var(--line);border-radius:10px;padding:8px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.toolbar select{min-width:150px;flex:1}.prob.low{color:var(--bad)}.prob.mid{color:var(--warn)}.prob.high{color:var(--good)}.company-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.company-tags span{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:3px 6px;color:var(--muted)}.req{display:flex;justify-content:space-between;gap:8px;margin-top:4px}.req.ok{color:var(--good)}.req.mid{color:var(--warn)}.req.low{color:var(--bad)}.kpi.bad{border-color:#7b3439;background:#261519}.kpi.bad b{color:var(--bad)}.kpi.good{border-color:#285c4b}.kpi.good b{color:var(--good)}
.progress{height:8px;background:#08101c;border-radius:999px;overflow:hidden;margin-top:10px}.progress>div{height:100%;background:linear-gradient(90deg,var(--accent),#9bafff)}
.badge{display:inline-flex;border:1px solid #3b4d70;background:#1c2b47;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}
.action-list,.choice-list{display:grid;gap:8px;margin-top:12px}.action,.choice{width:100%;text-align:left;background:#0c1626;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 12px}
.action:hover:not(:disabled),.choice:hover:not(:disabled){border-color:#455a7f;transform:translateY(-1px)}
.action b,.choice b{display:block;margin-bottom:3px}.action span,.choice span{font-size:11px;color:var(--muted)}.costline{display:block;margin-top:5px;font-size:11px;font-weight:800}.costline.cost{color:var(--warn)}.costline.income{color:var(--good)}.subjectrow{display:flex;justify-content:space-between;gap:8px;margin-top:4px}.subjectrow b{font-weight:900}
.event-card{min-height:430px}.event-card h2{margin:5px 0 0;font-size:22px}.event-icon{font-size:40px}.event-body{white-space:pre-line;line-height:1.72;color:#dfe6f0;margin-top:14px}
.result{margin-top:12px;background:#0b1729;border:1px solid #34496a;border-radius:13px;padding:13px;line-height:1.6}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:center;padding:14px;z-index:30}
.modal-card{width:min(880px,100%);max-height:88vh;overflow:auto;background:#0f1a2b;border:1px solid var(--line);border-radius:20px;padding:16px}
.detail-grid,.npc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-row,.npc{background:#0c1626;border:1px solid var(--line);border-radius:12px;padding:10px}.detail-row{display:flex;justify-content:space-between}.npc h4{margin:0 0 5px}.history{display:grid;gap:8px}.hist{border-left:3px solid #405270;padding:6px 0 6px 11px}
.toast{position:sticky;bottom:12px;margin:12px auto 0;max-width:540px;background:#111c2f;border:1px solid #3b4d70;padding:11px 13px;border-radius:12px;text-align:center}.goal-card-v27{background:#0d1728;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:7px}.goal-card-v27.done{border-color:#285c4b;background:#10231d}.goalbar-v27{height:6px;background:#08101c;border-radius:999px;overflow:hidden;margin-top:6px}.goalbar-v27>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#9bafff)}.chip-v27{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px 7px;font-size:10px;margin:2px;color:var(--muted)}.news-v27{border-left:3px solid #4a5d82;padding:7px 0 7px 10px;margin-top:7px}
@media(max-width:900px){.layout{grid-template-columns:1fr}}
@media(max-width:700px){.app{padding:9px}.grid2,.option-grid,.npc-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:34px}.event-card{min-height:auto}}


/* PlayMarket mobile finishing layer */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#090e15}
body{min-height:100dvh;overscroll-behavior-y:contain;padding-bottom:env(safe-area-inset-bottom)}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #75c7ff;outline-offset:2px}
.storage-warning{position:fixed;z-index:9999;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#713d0c;color:#fff;text-align:center;font-size:13px}
@media(max-width:600px){
  button,.btn,.menuBtn,input,select{min-height:44px}
  [class*="modal"],[class~="panel"]{max-width:100%}
}
@media(max-height:500px) and (orientation:landscape){
  [class*="modal"]{max-height:94dvh;overflow:auto;overscroll-behavior:contain}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){#nextBtn:not(.hidden){position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:12;box-shadow:0 10px 32px #000b;min-height:54px}.topbar{align-items:flex-start;flex-wrap:wrap}.topbar>.actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.topbar>.actions .btn{padding-inline:6px}}
@media(max-width:520px){.app{padding:8px}.hero{padding:20px}.panel{padding:16px}.btn.full{min-height:52px}.stat-grid{gap:7px}}
