:root{font-family:Segoe UI,Pretendard,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#e8f7f9;background-color:#050814;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(17,163,156,.12),transparent 25%),radial-gradient(circle at 80% 10%,rgba(245,158,11,.12),transparent 25%),#050814}a{color:inherit}.page{max-width:1200px;margin:0 auto 80px;padding:32px 20px 48px;display:flex;flex-direction:column;gap:24px}.no-anim *{animation:none!important;transition:none!important}.header{background:linear-gradient(120deg,#0f172a,#0b2f32);color:#e8f7f9;border-radius:20px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-right{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin:0 0 6px;color:#7dd7de}.subtitle{margin:6px 0 0;color:#e8f7f9c7;max-width:640px}.summary{display:flex;flex-wrap:wrap;gap:12px 16px;text-align:right}.summary>div{min-width:160px}.summary p{margin:0;color:#e8f7f9b3;font-size:13px}.summary strong{display:block;color:#fff;font-size:20px}.grid{display:grid;gap:12px}.resources{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.upgrades{display:flex;flex-direction:column;gap:12px}.upgrade-actions{display:flex;gap:8px}.risk-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:#0c111b;color:#e8f7f9;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px 18px;box-shadow:0 12px 30px #00000040;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #00000059}.card h2{margin:8px 0 0;font-size:32px;font-weight:700;color:#11a39c;letter-spacing:-.02em}.card h4{margin:4px 0 0;font-size:18px;font-weight:600;color:#e8f7f9}.spark-card{grid-column:span 2}.sparkline{margin-top:8px}.penguin-card{position:relative}.penguin-level{display:flex;flex-direction:column;align-items:flex-end}.penguin-level strong{font-size:20px;color:#11a39c}.penguin-frame{margin-top:12px;width:100%;aspect-ratio:4 / 3;border-radius:14px;background:radial-gradient(circle at 30% 30%,#11a39c14,#0c111be6);border:1px dashed rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}.penguin-map{margin-top:12px;width:100%;aspect-ratio:4 / 3;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 20% 20%,#11a39c14,#0c111be6);overflow:hidden}.penguin-map canvas{width:100%;height:100%;display:block}.penguin-frame img{width:100%;height:100%;object-fit:contain}.penguin-frame video,.penguin-media{width:100%;height:100%;object-fit:cover;display:block}.penguin-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#e8f7f9db;text-align:center;padding:12px;background:#ffffff08}.sparkline path{stroke-linecap:round;stroke-linejoin:round}.toast{position:fixed;right:20px;bottom:20px;min-width:240px;max-width:320px;padding:12px 14px;border-radius:14px;background:#0c111beb;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px #00000059;display:grid;gap:6px;animation:toast-in .25s ease,toast-out .35s ease 2.3s forwards;z-index:10}.toast strong{font-size:16px}.toast span{font-size:14px;color:#e8f7f9cc}.toast.good{border-color:#11a39c99;box-shadow:0 0 24px #11a39c59}.toast.warn{border-color:#f59e0b99;box-shadow:0 0 24px #f59e0b4d}.toast.bad{border-color:#ef444499;box-shadow:0 0 24px #ef44444d}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.99)}}.fx{pointer-events:none;position:fixed;inset:0;background:radial-gradient(circle at 50% 50%,rgba(17,163,156,.28),transparent 45%);animation:fx-pop .9s ease-out forwards;z-index:5}.fx-warn{background:radial-gradient(circle at 50% 50%,rgba(245,158,11,.25),transparent 45%)}.fx-bad{background:radial-gradient(circle at 50% 50%,rgba(239,68,68,.25),transparent 45%)}@keyframes fx-pop{0%{opacity:.55;transform:scale(.96)}50%{opacity:.25;transform:scale(1.05)}to{opacity:0;transform:scale(1.12)}}.muted{color:#e8f7f9a6;margin:6px 0 0;font-size:14px}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}.modal{background:#0b1220;color:#e8f7f9;border-radius:16px;border:1px solid rgba(255,255,255,.08);width:min(520px,100%);box-shadow:0 18px 40px #0006;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-body{padding:4px 0}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.panel{background:#0a0f1a;border-radius:18px;border:1px solid rgba(255,255,255,.04);padding:18px 16px 20px;display:flex;flex-direction:column;gap:12px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel h3{margin:0;color:#e8f7f9}.panel .muted{margin:0}.row{display:flex;align-items:center;gap:12px}.space{justify-content:space-between}button{background:#11a39c;color:#041018;border:none;padding:11px 16px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease;white-space:nowrap}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #11a39c4d}button:active:not(:disabled){transform:translateY(0)}.ghost{background:#ffffff0d;color:#e8f7f9;border:1px solid rgba(255,255,255,.15)}.ghost:hover:not(:disabled){background:#ffffff14;border-color:#ffffff40;box-shadow:0 4px 12px #ffffff1a}.pill{border-radius:999px;padding:7px 14px;font-size:13px}.heat-card .heat-bar{width:120px;height:10px;background:#ffffff14;border-radius:8px;overflow:hidden}.heat-card .heat-bar span{display:block;height:100%;background:linear-gradient(90deg,#11a39c,#f59e0b);transition:width .18s ease-out}.risk{border:1px solid rgba(255,255,255,.08);position:relative}.risk.ready{border-color:#11a39c;box-shadow:0 0 0 2px #11a39c66,0 0 20px #11a39c33;animation:pulse-ready 2s ease-in-out infinite}@keyframes pulse-ready{0%,to{box-shadow:0 0 0 2px #11a39c66,0 0 20px #11a39c33}50%{box-shadow:0 0 0 2px #11a39c99,0 0 30px #11a39c59}}.prob-row{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prob-row span{min-width:0;padding:6px 10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:13px;font-weight:500;color:#e8f7f9d9;text-align:center}.help{margin-top:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px dashed rgba(255,255,255,.08);color:#e8f7f9e6;font-size:14px}h1,h2,h3,h4,p{margin:0}h2{font-size:28px}h4{margin-bottom:4px}@media(max-width:768px){.page{padding:16px 12px 32px;gap:16px}.header{flex-direction:column;align-items:flex-start;padding:20px 16px;gap:16px}.header h1{font-size:24px}.upgrade-actions{flex-direction:column;align-items:flex-end}.subtitle{font-size:14px}.header-right{width:100%;align-items:flex-start}.summary{width:100%;text-align:left;gap:12px}.summary>div{min-width:140px;flex:1 1 140px}.summary strong{font-size:18px}.resources,.risk-grid{grid-template-columns:1fr;gap:10px}.card{padding:16px 14px}.card h2{font-size:26px}.panel{padding:16px 12px 18px}.panel-header{flex-direction:column;align-items:flex-start;gap:12px}.panel-header .row{width:100%;flex-wrap:wrap}.row{flex-wrap:wrap;gap:8px}button{font-size:13px;padding:10px 14px}.prob-row{gap:6px}.prob-row span{min-width:70px;font-size:12px;padding:5px 8px}.heat-card .heat-bar{width:100%;max-width:200px}.toast{right:12px;bottom:12px;min-width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}@media(max-width:480px){.page{padding:12px 8px 24px}.header{padding:16px 12px;border-radius:16px}.header h1{font-size:20px}.eyebrow{font-size:10px}.subtitle{font-size:13px}.summary>div{min-width:120px;flex:1 1 120px}.summary p{font-size:12px}.summary strong{font-size:16px}.card{padding:14px 12px;border-radius:14px}.card h2{font-size:22px}.card h4{font-size:16px}.muted{font-size:13px}.panel{border-radius:14px}button{font-size:12px;padding:9px 12px;width:100%}.pill{padding:6px 12px;font-size:12px}.help{font-size:13px;padding:8px 10px}}
