:root{font-family:Inter,Pretendard,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#091a46;background:linear-gradient(180deg,#dff2ff,#72d7ff 48%,#19b7ed)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-header{height:72px;display:flex;align-items:center;gap:24px;padding:0 24px;background:#eff8ffeb;border-bottom:3px solid #66b9ff;box-shadow:0 8px 22px #1565c02e;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:#071c5a;letter-spacing:0;min-width:0}.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-text strong{font-size:19px;font-weight:900;line-height:1.25;white-space:nowrap}.brand-text span{font-size:13.5px;font-weight:600;color:#3a4a66;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand svg{color:#16a34a;filter:drop-shadow(0 2px 0 #fff)}.nav{display:flex;gap:12px;flex:1;justify-content:flex-end;align-items:center}.nav a,.nav-tool{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;color:#0b2a73;background:#fff;border:1px solid #d7eaff;box-shadow:0 4px 12px #1b56aa29;font-weight:900}.nav-tool{cursor:pointer}.nav a.active{background:linear-gradient(180deg,#fff,#eaf4ff);color:#0b57d0}.icon-button,.ghost-button{border:1px solid #cfe5ff;background:#fff;border-radius:12px;width:48px;height:48px;display:inline-grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px #1b56aa29}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9f7f0,#edf2f7)}.login-panel{width:min(460px,100%);background:#fff;border:1px solid #dfe7e4;border-radius:8px;padding:28px;box-shadow:0 20px 60px #0f172a14}.login-title{display:flex;gap:14px;align-items:center;margin-bottom:24px}.login-title h1{font-size:24px;line-height:1.25;margin:0}.login-title p{margin:4px 0 0;color:#64748b}form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:700}input{border:1px solid #cbd5e1;border-radius:8px;padding:12px}.primary-button{border:0;background:#0f766e;color:#fff;border-radius:8px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.primary-button:disabled{background:#94a3b8;cursor:not-allowed}.ghost-link{color:#0f766e;font-weight:800}.inline-link{width:fit-content}.account-hint{display:flex;justify-content:space-between;color:#64748b;font-size:13px;margin-top:18px;gap:10px;flex-wrap:wrap}.error{color:#dc2626;margin:0}.simulation-page{padding:18px 20px 22px}.floating-refresh{position:fixed;right:20px;top:88px;z-index:18}.top-strip{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.top-strip h1,.page-shell h1{margin:3px 0 0;font-size:32px;color:#071c5a;text-shadow:0 2px 0 #fff}.eyebrow{color:#0b57d0;font-weight:900;font-size:13px;text-transform:uppercase}.workbench{display:grid;grid-template-columns:minmax(520px,.96fr) minmax(640px,1fr);grid-template-rows:minmax(0,1fr);gap:20px;align-items:stretch;height:calc(100vh - 40px);min-height:480px}.workbench>.left-panel,.workbench>.right-panel{min-height:0;overflow-y:auto}@media(max-width:1200px){.workbench{height:auto;min-height:calc(100vh - 40px);grid-template-rows:none}.workbench>.left-panel,.workbench>.right-panel{overflow-y:visible}}.left-panel,.right-panel,.page-shell{background:#fffffff0;border:2px solid #9fd2ff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #0356a638,inset 0 0 0 1px #fffc}.left-panel{background:#ebfaffe6}.right-panel{display:grid;gap:16px;align-content:start;background:#fffffff5}.jeju-map{height:400px;position:relative;background:linear-gradient(180deg,#6fd7ff14,#2cbcec1f),url(/assets/images/jeju-simulation-map.png) center / cover no-repeat;border:2px solid #78c7ff;border-radius:18px;overflow:hidden;margin-bottom:14px;box-shadow:inset 0 0 0 3px #ffffff59}.year-card{position:absolute;left:18px;top:18px;z-index:5;width:236px;display:grid;grid-template-columns:32px 1fr;gap:4px 10px;align-items:center;padding:18px;border-radius:14px;background:#fffffff0;border:2px solid #b7ddff;box-shadow:0 8px 20px #1b56aa38}.year-card svg{color:#0b57d0}.year-card strong{font-size:36px;color:#1261db;line-height:1}.year-card strong{font-size:30px}.year-card-text{display:grid;gap:6px}.year-card{width:auto;min-width:236px;max-width:calc(100% - 36px)}.year-card-text strong{font-size:24px;white-space:nowrap}.year-card-text small{font-size:16px;font-weight:800;color:#0b2a73}.year-card span{grid-column:1 / -1;display:inline-flex;align-items:center;gap:7px;color:#0b2a73;font-weight:900}.island,.map-road{display:none}.road-one{width:46%;height:22%;left:25%;top:48%;transform:rotate(-10deg)}.road-two{width:58%;height:26%;left:18%;top:56%;transform:rotate(7deg)}.power-station{display:none}.map-badge{position:absolute;z-index:6;min-width:112px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:#fffffff5;border:2px solid #79baff;color:#0b2a73;box-shadow:0 8px 18px #14489033;transform-origin:center;transition:transform .2s ease}.map-badge strong{white-space:nowrap;font-size:15px}.map-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#0b57d0;background:#eaf4ff}.map-badge--normal{opacity:1}.map-badge--highlighted{opacity:1;border-color:#0b57d0;box-shadow:0 0 0 3px #0b57d038,0 8px 18px #14489040;z-index:7}.map-badge--muted{opacity:1}.wind-icon{left:34%;top:9%}.solar-icon{left:74%;top:23%}.ess-icon{left:8%;top:75%}.ev-icon{left:43%;top:83%}.charger-icon{left:74%;top:76%}.grid-icon{left:48%;top:55%}.policy-list{display:grid;gap:7px;padding:10px 14px;background:#ffffffeb;border-radius:16px;border:2px solid #b7ddff}.student-name-field{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:8px 14px;border-radius:16px;border:2px solid #b7ddff;background:#ffffffeb;color:#0b2a73;font-weight:1000;white-space:nowrap}.student-name-field input{flex:1;min-width:0;width:100%;border-color:#b7d7ff;background:#fff;color:#091a46;font-weight:800}.policy-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:12px;padding-bottom:7px;border-bottom:1px solid #b8d7f7}.policy-row:last-child{border-bottom:0}.policy-row span{font-weight:900;color:#091a46;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.policy-row .prev-choice-badge{display:block;font-weight:600;font-size:11px;color:#5b7299;margin-top:2px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #c9d8ea;border-radius:8px;overflow:hidden;background:#fff}.segmented button,.tabs button{border:0;background:linear-gradient(180deg,#fff,#f1f7ff);padding:9px;cursor:pointer;color:#0c235d}.segmented button.selected,.tabs button.active{background:linear-gradient(180deg,#1976ff,#0758e8);color:#fff;font-weight:900;box-shadow:inset 0 -2px #00000026}.participation-row{align-items:start}.participation-picker{display:grid;gap:6px}.participation-field{display:grid;gap:2px}.participation-picker .segmented{grid-template-columns:repeat(4,1fr)}.participation-picker .segmented button{padding:7px 4px;font-size:13px}.participation-step-label{font-size:11px;font-weight:700;color:#5b7299}.action-wide{width:100%;margin-top:6px;font-size:22px;border-radius:20px;padding:11px;background:linear-gradient(180deg,#2f8cff,#0b5cff);box-shadow:none}.action-wide:disabled{background:#94a3b8}.default-plan-note{margin:10px 2px 0;padding:8px 12px;font-size:13px;border-radius:12px;border:1px solid #b7d7ff;background:#ffffffdb;color:#0b2a73;font-weight:900;line-height:1.45}.action-flow{display:grid;gap:8px}.sticky-actions{position:sticky;bottom:-18px;z-index:3;display:grid;gap:8px;margin:12px -18px -18px;padding:10px 18px 14px;background:#ebfafff7;border-top:2px solid #b7ddff;box-shadow:0 -8px 16px #0356a61f}.sticky-actions .action-flow{gap:6px}.reset-row{margin-top:10px}.secondary-action{border:1px solid #b7d7ff;background:#fff;color:#0b57d0;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer}.secondary-action.danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.gauge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border-radius:18px;padding:18px 16px;border:2px solid #cfe5ff}.gauge{display:grid;justify-items:center;gap:7px;color:#071c5a;min-width:0}.gauge strong{font-size:16px;text-align:center;line-height:1.25}.gauge small{font-size:18px}.gauge i{width:50px;height:50px;display:grid;place-items:center;margin-top:-28px;border-radius:50%;background:#e7f1ff;border:1px solid #c9defb;font-style:normal;font-weight:900}.gauge em{width:min(130px,100%);border:1px solid #b9d7ff;border-radius:8px;background:#f4f9ff;color:#0b57d0;font-size:13px;font-style:normal;font-weight:900;line-height:1.3;text-align:center;padding:7px 8px}.gauge-ring{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 10px #ffffff94,0 8px 18px #1b56aa2e}.gauge-panel{background:#fff;border-radius:18px;border:2px solid #cfe5ff;overflow:visible}.gauge-grid{gap:18px;padding:20px 18px 18px;background:transparent;border:0;border-radius:0}.gauge-substrip{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 18px 16px;border-top:1px solid #e3edf9}.gauge-sub{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;border:1px solid #e3edf9;border-left:5px solid #22c55e;background:#fbfdff}.gauge-sub--caution{border-left-color:#f5b301}.gauge-sub-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#dcfce7;color:#15803d}.gauge-sub--caution .gauge-sub-icon{background:#fff1d1;color:#b45309}.gauge-sub-text{display:grid;gap:2px;min-width:0}.gauge-sub-text strong{color:#0b1f4d;font-size:15px;font-weight:900}.gauge-sub-text span{color:#475569;font-size:13px;font-weight:600;word-break:keep-all}.gauge-sub-pill{padding:6px 14px;border-radius:999px;font-size:15px;font-weight:900;white-space:nowrap;background:#dcfce7;color:#15803d}.gauge-sub--caution .gauge-sub-pill{background:#fff1d1;color:#b45309}@media(max-width:700px){.gauge-substrip{grid-template-columns:1fr}}.gauge{align-content:start;gap:12px}.gauge .gauge-title{gap:7px;min-height:30px}.gauge .gauge-title strong{font-size:16px;font-weight:900;color:#0b1f4d}.gauge-title-icon{display:inline-flex;flex:none}.gauge-ring-wrap{position:relative;padding-bottom:22px}.gauge .gauge-ring{width:150px;height:150px;box-shadow:0 0 0 8px #f1f5fb,0 10px 22px #1b56aa24}.gauge .gauge-ring span{width:104px;height:104px;font-size:40px;color:#1559d6;box-shadow:0 0 0 7px #f5f8fd,inset 0 2px 6px #0f25520f}.gauge .gauge-ring span small{font-size:20px;margin-left:1px}.gauge i.gauge-badge{position:absolute;left:50%;bottom:0;transform:translate(-50%);margin:0;width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid #dbe6f5;box-shadow:0 4px 12px #0f25521a;color:#0b1f4d;font-size:16px;font-weight:900}.gauge em{width:min(170px,100%);display:grid;gap:2px;padding:8px 10px;border:1px solid #cfe0f7;border-radius:10px;background:#f6faff;color:#334e7e;font-size:13px;font-weight:700}.gauge em b{color:#1559d6;font-size:15px;font-weight:900}.gauge em.down b{color:#b45309}.gauge-state-box{width:150px;height:150px;display:grid;align-content:center;justify-items:center;gap:8px;padding:0 10px 18px;border-radius:50%;border:1px solid #e2e8f0;background:#f1f5f9;color:#64748b;text-align:center;box-shadow:0 0 0 8px #f1f5fb,0 10px 22px #1b56aa24}.gauge-state-label{font-size:19px;font-weight:900;line-height:1.2;word-break:keep-all;white-space:nowrap}.gauge-state-box--ok{background:linear-gradient(180deg,#ecfbf1,#dcf5e5);border-color:#bfe8cf;color:#15803d}.gauge-state-box--warn{background:linear-gradient(180deg,#fff8ea,#ffefcc);border-color:#f3d8a0;color:#b45309}.gauge-state-box--danger{background:linear-gradient(180deg,#fff3e8,#ffe2c7);border-color:#fdba74;color:#c2410c}.gauge i.gauge-badge--bolt{color:#f97316}.gauge em.gauge-state-note{font-size:12.5px;font-weight:600;line-height:1.45;color:#475569;word-break:keep-all}.gauge-target{font-size:11px;font-weight:900;color:#0b57d0;background:#eaf2ff;border-radius:999px;padding:2px 9px}.gauge-hint{font-size:11px;color:#64748b;font-weight:700;text-align:center;line-height:1.4}.gauge-state-ring{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 18px #1b56aa1f}.gauge-state-ring span{width:100px;height:100px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:17px;padding:6px;box-shadow:inset 0 0 0 1px #0000000a}.gauge-state-ring--stable{background:#bfe8cf}.gauge-state-ring--stable span{color:#0a7d3c}.gauge-state-ring--caution{background:#f3d8a0}.gauge-state-ring--caution span{color:#9a5b00}.gauge-state-ring--burden{background:#f4c3bf}.gauge-state-ring--burden span{color:#b3261e}.gauge-state-ring--unknown{background:#e2e8f0}.gauge-state-ring--unknown span{color:#64748b}.gauge-raw-note{font-size:11px;color:#64748b;font-weight:700}.gauge-ring span{width:92px;height:92px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:34px;color:#1160d8;box-shadow:inset 0 0 0 1px #dce8f7}.evidence-tag{font-size:11px!important;font-weight:800;letter-spacing:.2px;padding:2px 8px;border-radius:999px;cursor:help}.evidence-tag--grounded{color:#0a7d3c;background:#e8f8ef;border:1px solid #bfe8cf}.evidence-tag--provisional{color:#9a5b00;background:#fff4e0;border:1px solid #f3d8a0}.evidence-tag--approximate{color:#0b57d0;background:#eaf2ff;border:1px solid #c3dafc}.state-badge{font-size:11px!important;font-weight:800;letter-spacing:.2px;padding:2px 8px;border-radius:999px;margin-left:4px}.state-badge--stable{color:#0a7d3c;background:#e8f8ef;border:1px solid #bfe8cf}.state-badge--caution{color:#9a5b00;background:#fff4e0;border:1px solid #f3d8a0}.state-badge--burden{color:#b3261e;background:#fdeceb;border:1px solid #f4c3bf}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-card{min-height:128px;display:grid;gap:7px;align-content:center;border-radius:12px;padding:14px;border:2px solid #d8e9fb;background:linear-gradient(180deg,#fff,#f8fbff)}.status-card div{display:flex;align-items:center;gap:8px;font-weight:900;color:#071c5a}.status-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff}.status-card b{font-size:31px;line-height:1;text-align:center}.status-card small{text-align:center;font-weight:900;font-size:12px;line-height:1.35}.status-card.green{border-color:#bbebc6;color:#16a34a}.status-card.green .status-icon{background:#22c55e}.status-card.blue{border-color:#bfdbfe;color:#2563eb;background:#f6fbff}.status-card.blue .status-icon{background:#2563eb}.status-card.amber{border-color:#fde5ad;color:#f59e0b}.status-card.amber .status-icon{background:#f59e0b}.status-card.red{border-color:#fecaca;color:#dc2626;background:#fff7f7}.status-card.red .status-icon{background:#ef4444}.status-card.orange{border-color:#fed7aa;color:#f97316;background:#fffaf5}.status-card.orange .status-icon{background:#f97316}.metric-card{border:2px solid #d8e9fb;border-radius:12px;padding:14px;background:linear-gradient(180deg,#fff,#f7fbff);display:grid;gap:8px;box-shadow:0 6px 14px #1b56aa1a}.metric-card span{color:#64748b;font-size:13px}.metric-card strong{font-size:28px;color:#0b57d0}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid #9bc7ff;border-radius:8px;font-weight:900}.chart-box{width:100%;height:355px;background:#fff;border:2px solid #cfe5ff;border-radius:14px;padding:12px 14px 8px}.chart-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.chart-title strong{font-size:17px;color:#071c5a}.chart-title span{border:1px solid #b7d7ff;border-radius:8px;background:#edf6ff;color:#0b57d0;padding:8px 12px;font-weight:900}.event-panel h3{margin:0 0 10px}.muted{color:#64748b}.learning-card{border:2px solid #cfe5ff;border-radius:14px;padding:14px 16px;background:linear-gradient(180deg,#fff,#f5fbff);display:grid;gap:8px;box-shadow:0 6px 16px #1b56aa1a}.learning-card h3{margin:0;color:#0b3d99;font-size:20px}.learning-card p{margin:0;color:#17335f;font-weight:800}.learning-card ul{margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;color:#0b2a73;font-weight:900}.learning-card.expected{border-color:#b8ddff;background:linear-gradient(180deg,#f8fcff,#edf7ff)}.learning-card.actual{border-color:#fbd38d;background:linear-gradient(180deg,#fffdf5,#fff7e8)}.learning-card.problem strong{font-size:18px}.learning-card.problem.calm{border-color:#b8ddff;background:linear-gradient(180deg,#f8fcff,#edf7ff)}.learning-card.problem.calm strong{color:#0b57d0}.learning-card.problem.severity-watch{border-color:#fbd38d;background:linear-gradient(180deg,#fffdf5,#fff7e8)}.learning-card.problem.severity-watch strong{color:#b45309}.learning-card.problem.severity-high{border-color:#ffcaca;background:linear-gradient(180deg,#fff7f7,#fff)}.learning-card.problem.severity-high strong{color:#dc2626}.learning-card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.change-alert-badge{font-size:11px;font-weight:900;color:#b45309;background:#fff4e0;border:1px solid #f3d8a0;border-radius:999px;padding:3px 9px}.learning-card.problem.severity-high .change-alert-badge{color:#b3261e;background:#fdeceb;border-color:#f4c3bf}.event-cause,.event-guide{font-size:13px;color:#475569;font-weight:700}.event-guide{color:#0f2744}.learning-card.milestone{border-color:#b7e4c7;background:linear-gradient(180deg,#f6fdf8,#edf9f1)}.learning-card.milestone h3{color:#1b7a43}.milestone-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.milestone-item{border-top:1px solid #d8f0e0;padding-top:10px}.milestone-item:first-child{border-top:none;padding-top:0}.milestone-item strong{color:#1b7a43;font-size:15px}.milestone-item p{margin:4px 0 0;font-size:13px;color:#475569}.milestone-item p.event-guide{font-weight:700;color:#0f2744}.dashboard-hint{margin:0;padding:11px 14px;border-radius:12px;background:#edf6ff;border:1px solid #b7d7ff;color:#0b2a73;font-weight:900}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:22px;background:#0f172a7a}.budget-warning-popup{background:#fff;border-radius:16px;padding:28px 26px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px #0f172a40}.budget-warning-icon{color:#ea580c;margin-bottom:8px}.budget-warning-popup h3{margin:4px 0 10px;font-size:19px;color:#b45309}.budget-warning-popup p{margin:0 0 18px;font-size:14px;line-height:1.55;color:#374151}.budget-warning-popup .primary-button{width:100%;justify-content:center}.live-budget-bar{display:grid;gap:5px;padding:10px 14px;background:#ffffffeb;border-radius:14px;border:2px solid #b7ddff}.live-budget-bar-track{position:relative;height:14px;border-radius:999px;background:#e5edf7;overflow:hidden}.live-budget-bar-fill{position:absolute;top:0;bottom:0;left:0;transition:width .25s ease}.live-budget-bar-fill.prior{background:#0b57d0}.live-budget-bar-fill.draft{background:#7fb1f5}.live-budget-bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#0c235d}.live-budget-bar.amber .live-budget-bar-fill.draft{background:#fbbf24}.live-budget-bar.orange .live-budget-bar-fill.draft{background:#fb923c}.live-budget-bar.red .live-budget-bar-fill.draft{background:#ef4444}.live-budget-bar.red .live-budget-bar-label{color:#b91c1c}.budget-inline-warning{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:13px;color:#dc2626;font-weight:600}.annual-backdrop{z-index:1200;padding:24px;overflow-y:auto}.annual-modal{width:min(1080px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#f8fafc;border-radius:18px;box-shadow:0 24px 70px #0f172a47;padding:26px}.annual-header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #dbe5ef;padding-bottom:18px}.annual-header svg{color:#0f766e}.annual-header h2{margin:0;color:#0f2744}.annual-header p{margin:4px 0 0;color:#64748b}.year-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:22px 0}.year-node{border:1px solid #cbd5e1;border-radius:10px;padding:10px 6px;background:#e2e8f0;color:#64748b;font-weight:900;text-align:center}button.year-node{cursor:pointer}.year-node small{display:block;margin-top:3px;font-size:11px;font-weight:700}.year-node.viewed{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.year-node.current{outline:3px solid #0f766e;background:#fff;color:#0f766e}.year-node.future:disabled{cursor:not-allowed;opacity:.58}.annual-result-grid{display:grid;gap:16px}.annual-section{background:#fff;border:1px solid #dbe5ef;border-radius:12px;padding:18px}.annual-section h3{margin:0 0 13px;color:#17324d}.annual-section ul{margin:0;padding:0;display:grid;gap:9px;list-style:none}.annual-section li{display:flex;align-items:flex-start;gap:8px;color:#334155}.annual-section li svg{flex:0 0 auto;color:#0f766e;margin-top:2px}.metric-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:12px}.metric-tile{background:#f1f5f9;border-radius:9px;padding:12px;display:grid;gap:6px}.metric-tile-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.metric-tile-head span{font-size:13px;color:#64748b}.metric-tile strong{color:#0f2744;font-size:18px}.grid-feedback-summary{margin:12px 0 0;color:#475569}.annual-events{display:grid;gap:10px}.annual-events article{display:flex;gap:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;padding:12px}.annual-events article svg{flex:0 0 auto;color:#ea580c}.annual-events article p{margin:4px 0 0;color:#475569}.empty-message{margin:0;color:#64748b}.annual-actions{display:flex;justify-content:flex-end;margin-top:20px}.report-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.report-event{border-radius:10px;padding:12px 14px;border:1px solid}.report-event strong{font-size:15px}.report-event p{margin:4px 0 0;font-size:13px;color:#475569}.report-event p.event-guide{font-weight:700;color:#0f2744}.report-event.milestone{border-color:#b7e4c7;background:linear-gradient(180deg,#f6fdf8,#edf9f1)}.report-event.milestone strong{color:#1b7a43}.report-event.severity-watch{border-color:#fbd38d;background:linear-gradient(180deg,#fffdf5,#fff7e8)}.report-event.severity-watch strong{color:#b45309}.report-event.severity-high{border-color:#ffcaca;background:linear-gradient(180deg,#fff7f7,#fff)}.report-event.severity-high strong{color:#dc2626}.report-combo-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px}.report-combo-list li{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px dashed #dbe9fb}.report-combo-list li span{color:#5b7299;font-weight:700}.report-combo-list li strong{color:#0b2a73}@media(max-width:720px){.report-combo-list{grid-template-columns:1fr}}.round-report-banner{display:flex;align-items:center;gap:14px;padding:18px 20px;margin:-26px -26px 20px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#eaf4ff,#e3fbec);border-bottom:1px solid #dbe5ef}.round-report-banner svg{color:#0f766e;flex:0 0 auto}.round-report-banner h2{margin:0;color:#0f2744}.round-report-banner p{margin:4px 0 0;color:#64748b}.round-report .annual-section+.annual-section{margin-top:14px}.report-tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:900px){.report-tile-grid{grid-template-columns:repeat(2,1fr)}}.report-tile-icon{display:inline-flex}.report-policy-tile,.report-metric-tile,.report-delta-tile{border-radius:12px;border:1px solid #dbe5ef;background:#f8fafc;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.report-policy-tile strong{font-size:13px;color:#17324d}.report-level-chip{font-size:12px;font-weight:900;border-radius:999px;padding:2px 10px}.report-policy-tile.level-none{background:#f1f5f9}.report-policy-tile.level-none .report-tile-icon{color:#94a3b8}.report-policy-tile.level-none .report-level-chip{background:#e2e8f0;color:#64748b}.report-policy-tile.level-slow{background:#eef6ff}.report-policy-tile.level-slow .report-tile-icon{color:#3b82f6}.report-policy-tile.level-slow .report-level-chip{background:#dbeafe;color:#1d4ed8}.report-policy-tile.level-normal{background:#e9f2ff}.report-policy-tile.level-normal .report-tile-icon{color:#1d73ff}.report-policy-tile.level-normal .report-level-chip{background:#d6e7ff;color:#0b57d0}.report-policy-tile.level-fast{background:#fff4e9}.report-policy-tile.level-fast .report-tile-icon{color:#ea580c}.report-policy-tile.level-fast .report-level-chip{background:#ffe4c7;color:#b45309}.report-metric-tile .report-tile-icon{color:#0b57d0}.report-metric-tile .report-metric-label{font-size:12px;color:#5b7299;font-weight:700}.report-metric-tile strong{font-size:19px;color:#0b2a73}.report-metric-tile small{font-size:11px;color:#8a9cc2}.report-delta-tile .report-metric-label{font-size:12px;color:#5b7299;font-weight:700}.report-delta-path{font-size:11px;color:#64748b}.report-delta-tile strong{font-size:17px}.report-delta-tile.good{background:#f3fbf5;border-color:#b7e4c7}.report-delta-tile.good .report-tile-icon,.report-delta-tile.good strong{color:#1b7a43}.report-delta-tile.watch{background:#fffaf3;border-color:#fbd38d}.report-delta-tile.watch .report-tile-icon,.report-delta-tile.watch strong{color:#b45309}.briefing-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.causal-chain-section{margin-top:14px;background:#ecfeff;border:1px solid #a5f3fc;border-radius:12px;padding:18px}.causal-chain-section h3{margin-top:0}.causal-chain{margin-top:12px}.causal-chain>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.causal-chain span{display:inline-flex;gap:8px;align-items:center;color:#155e75}@media(max-width:760px){.annual-backdrop{padding:10px}.annual-modal{max-height:calc(100vh - 20px);padding:16px}.year-timeline{grid-template-columns:repeat(3,1fr)}.briefing-grid,.metric-charts{grid-template-columns:1fr}}.report-backdrop{background:#031834b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.period-modal{width:min(860px,100%);max-height:min(820px,calc(100vh - 44px));overflow:auto;background:#fff;border:1px solid #dfe7e4;border-radius:8px;box-shadow:0 24px 80px #0f172a47;padding:20px}.final-modal{width:min(1080px,100%)}.report-modal{width:min(1240px,calc(100vw - 52px));max-height:calc(100vh - 24px);overflow:auto;border:2px solid #bfdcff;border-radius:24px;padding:14px 20px 10px;box-shadow:0 28px 90px #00133e6b,inset 0 0 0 1px #fff;background:linear-gradient(180deg,#fff,#f8fcff);position:relative}.period-report-design{width:min(1200px,calc(100vw - 52px))}.final-report-design{width:min(1240px,calc(100vw - 52px))}.report-close{position:absolute;top:14px;right:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:2px solid #bdd6f7;color:#28528d;background:#fff;display:grid;place-items:center;cursor:pointer}.report-title-banner{min-height:86px;display:grid;grid-template-columns:180px 1fr 120px;align-items:center;gap:16px;padding:0 54px 10px 10px;border-bottom:2px solid #dceafe}.report-title-banner.final{grid-template-columns:160px 1fr 120px;text-align:center}.report-title-banner h2{margin:0;font-size:clamp(38px,3.3vw,52px);line-height:1.05;color:#071c5a;font-weight:1000;letter-spacing:0;text-shadow:0 2px 0 #fff}.period-report-design .report-title-banner h2{font-size:clamp(40px,4vw,58px)}.report-title-banner p{grid-column:2 / 3;justify-self:center;margin:4px 0 0;padding:7px 28px;border-radius:999px;background:linear-gradient(180deg,#0642a8,#06317f);color:#fff;font-weight:900;font-size:18px}.mini-island{width:170px;height:76px;border-radius:12px;background:url(/assets/images/jeju-simulation-map.png) center 54% / cover no-repeat;border:1px solid #bbe0ff;box-shadow:inset 0 0 0 999px #ffffff1a}.trophy-mark{font-size:58px;text-align:center;filter:drop-shadow(0 3px 0 rgba(0,0,0,.12))}.confetti{color:#f59e0b;font-size:28px;letter-spacing:10px}.report-number{width:26px;height:26px;border-radius:50%;background:#0b57d0;color:#fff;display:inline-grid;place-items:center;font-weight:1000;margin-right:8px}.report-section-box{border:2px solid #d5e8fb;border-radius:12px;background:#ffffffeb;padding:8px 10px 10px;min-width:0;box-shadow:0 4px 13px #0c4a8c12}.report-section-box.full{margin-top:8px}.report-section-box h3{margin:0 0 8px;color:#0b3d99;font-size:19px;font-weight:1000;display:flex;align-items:center}.policy-card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.policy-report-card{min-height:138px;display:grid;justify-items:center;align-content:center;gap:7px;border-radius:12px;border:2px solid #d9e9ff;background:linear-gradient(180deg,#fff,#f7fbff);color:#071c5a;font-weight:900}.policy-report-card svg{color:#0b57d0}.policy-report-card span{min-width:118px;text-align:center;border-radius:9px;padding:7px 10px;font-weight:1000;color:#fff}.policy-report-card.low span{background:linear-gradient(180deg,#45c15d,#209b38)}.policy-report-card.medium span{background:linear-gradient(180deg,#f8b63d,#f59e0b)}.policy-report-card.high span{background:linear-gradient(180deg,#ff665b,#ea3323)}.report-metric-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.report-metric-card{min-height:102px;display:grid;justify-items:center;align-content:center;gap:4px;border-radius:10px;border:1px solid #cbe0f8;background:linear-gradient(180deg,#fbffff,#f4f9ff)}.report-metric-card strong{font-size:13px;color:#071c5a;text-align:center}.report-metric-card b{font-size:31px;color:#0b57d0;line-height:1}.report-metric-card span{color:#31537e;font-weight:800;font-size:13px}.report-grid-two{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:8px}.report-grid-two.compact{grid-template-columns:1fr 1fr}.change-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.change-card{min-height:104px;border:1px solid #cbdff8;border-radius:10px;padding:10px;background:linear-gradient(180deg,#fff,#f7fbff);display:grid;align-content:center;gap:5px}.change-card p{margin:0;font-weight:900;color:#23395d}.change-card b{color:#0b57d0}.change-card span{justify-self:start;border-radius:999px;padding:5px 10px;background:#eef6ff;border:1px solid #bcd7ff;color:#0b57d0;font-weight:1000}.problem-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.problem-report-card{border:2px solid #ffd2c8;border-radius:12px;background:#fff7f4;padding:10px;min-height:100px}.problem-report-card strong{color:#dc2626;font-size:17px}.problem-report-card p{margin:8px 0 0;color:#24334f;font-weight:700}.analysis-list{margin:0;padding-left:22px;display:grid;gap:5px;color:#17335f;font-weight:800}.question-box{background:linear-gradient(180deg,#f6fbff,#eaf5ff)}.question-content{display:flex;align-items:center;gap:16px;min-height:100px}.question-content svg{color:#0b8dff}.question-content p{margin:0;color:#0b2a73;font-size:20px;font-weight:1000}.report-action-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:10px}.report-action-bar button{border:0;min-height:58px;border-radius:10px;color:#fff;font-size:25px;font-weight:1000;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:inset 0 2px #ffffff4d,0 6px #00000029}.green-action{background:linear-gradient(180deg,#59cc4b,#26972b)}.blue-action{background:linear-gradient(180deg,#2d9cff,#0b66d8)}.orange-action{background:linear-gradient(180deg,#ffb52c,#ef8500)}.purple-action{background:linear-gradient(180deg,#9b67e8,#6636bd)}.final-report-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr 1fr;gap:8px;margin-top:8px}.final-eval{grid-column:span 2;display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:7px;align-items:stretch}.final-eval h3{grid-column:1 / -1}.medal-card{border:1px solid #cbdff8;border-radius:10px;display:grid;place-items:center;font-size:42px;background:#fff}.medal-card strong{font-size:18px;color:#071c5a}.medal-card b{font-size:30px;color:#138a22}.mini-score{display:grid;place-items:center;border:1px solid #cbdff8;border-radius:10px;background:#f8fcff;padding:8px}.mini-score strong{text-align:center;font-size:13px;color:#071c5a}.mini-score b{color:#0b57d0;font-size:29px}.final-policy-log{grid-column:span 2}.final-policy-table{display:grid;border:1px solid #c8def6;border-radius:8px;overflow:hidden}.final-policy-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr);border-bottom:1px solid #d8e8f8}.final-policy-row:last-child{border-bottom:0}.final-policy-row span,.final-policy-row strong{padding:6px 8px;border-right:1px solid #d8e8f8;text-align:center;font-size:13px}.final-policy-row strong{text-align:left}.final-policy-row .low{color:#0b57d0;font-weight:900}.final-policy-row .medium{color:#f59e0b;font-weight:900}.final-policy-row .high{color:#ef4444;font-weight:900}.final-policy-row .none{color:#64748b;font-weight:900}.final-policy-row .slow{color:#0b57d0;font-weight:900}.final-policy-row .normal{color:#f59e0b;font-weight:900}.final-policy-row .fast{color:#ef4444;font-weight:900}.final-policy-row.head{background:#edf5ff;font-weight:1000}.prev-attempt-note{font-size:12px;color:#5b7299;margin:-4px 0 8px}.final-policy-row span.choice-changed{outline:2px solid #f59e0b;outline-offset:-2px;border-radius:4px}.prev-choice-inline{display:block;font-weight:500;font-size:10px;color:#8a97ab}.core-indicators,.goal-table-box{grid-column:span 2}.goal-table{display:grid;border:1px solid #c8def6;border-radius:8px;overflow:hidden}.goal-table div{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;border-bottom:1px solid #d8e8f8}.goal-table div:last-child{border-bottom:0}.goal-table span,.goal-table strong,.goal-table b,.goal-table em{padding:7px 8px;border-right:1px solid #d8e8f8;text-align:center;font-style:normal;font-size:13px}.goal-table em{color:#ef4444;font-weight:1000}.graph-box{grid-column:span 2}.issue-box,.analysis-box,.next-proposal{grid-column:span 1}.good-bad{border-radius:10px;padding:10px;margin-bottom:8px}.good-bad p{margin:5px 0 0;font-weight:700}.good-bad.good{background:#f0fff4;border:1px solid #bce8c7}.good-bad.bad{background:#fff4f4;border:1px solid #ffcaca}.reflection-wide{grid-column:span 4;background:linear-gradient(90deg,#eaf5ff,#fff)}.reflection-wide p{margin:0;font-size:20px;color:#0b2a73;font-weight:1000}.final-report-design .report-action-bar{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-left:auto;margin-right:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:3px 0 0;font-size:24px}.modal-section{padding:16px 0;border-bottom:1px solid #eef2f7}.modal-section h3{margin:0 0 10px;font-size:17px}.choice-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-summary div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#fbfdfc}.choice-summary span{color:#64748b}.modal-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reflection-question{margin:0;color:#334155;font-weight:800}.modal-actions{display:flex;justify-content:flex-end;padding-top:16px}.report-table{display:grid;border:1px solid #e2e8f0;border-radius:8px;overflow:auto}.report-row{display:grid;gap:0;min-width:760px;border-bottom:1px solid #e2e8f0}.report-row:last-child{border-bottom:0}.policy-table .report-row{grid-template-columns:1.3fr repeat(6,1fr)}.trend-table .report-row{grid-template-columns:1.5fr 1fr repeat(3,1fr) 1fr}.report-row span,.report-row strong{padding:10px 12px;border-right:1px solid #e2e8f0;font-size:14px}.report-row span:last-child,.report-row strong:last-child{border-right:0}.report-head{background:#f8fafc;font-weight:900;color:#334155}.event-chip-list{display:flex;flex-wrap:wrap;gap:8px}.event-chip-list span{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:999px;padding:7px 10px;font-weight:800;font-size:13px}.page-shell{margin:22px;display:grid;gap:18px}.report-list{display:grid;gap:12px}.report-card{border:1px solid #e2e8f0;border-radius:8px;padding:14px}.report-document{display:grid;gap:18px}.report-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.report-hero div{border:1px solid #e2e8f0;border-radius:8px;padding:14px;background:#fbfdfc;display:grid;gap:6px}.report-hero strong{font-size:18px}.report-section{display:grid;gap:12px}.report-section h2{margin:0;font-size:20px}.final-page-table .report-row{grid-template-columns:1.5fr repeat(3,1fr)}.teacher{grid-template-columns:repeat(4,1fr)}.table{border:1px solid #dfe7e4;border-radius:8px;overflow:hidden}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:12px 14px;border-bottom:1px solid #e2e8f0}.table-row.header{background:#f8fafc;font-weight:900}.student-create{background:#fff;border:1px solid #dfe7e4;border-radius:8px;padding:16px;display:grid;gap:12px}.student-create h2{margin:0;font-size:18px;display:flex;align-items:center;gap:8px;color:#071c5a}.student-create-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.student-create-done{color:#0f766e;font-weight:700;margin:0}@media(max-width:960px){.student-create-form{grid-template-columns:1fr 1fr}}@media(max-width:560px){.student-create-form{grid-template-columns:1fr}}@media(max-width:960px){.workbench{grid-template-columns:1fr}.metric-grid,.gauge-grid,.status-grid,.teacher,.report-hero,.choice-summary,.modal-metric-grid{grid-template-columns:1fr 1fr}.policy-row,.learning-card ul{grid-template-columns:1fr}}@media(max-width:620px){.app-header{padding:0 12px;gap:10px}.brand span{display:none}.nav a{font-size:13px;padding:8px}.metric-grid,.gauge-grid,.status-grid,.teacher,.choice-summary,.modal-metric-grid,.report-hero{grid-template-columns:1fr}}.policy-info-trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid #b7d7ff;background:#edf6ff;color:#0b57d0;cursor:pointer;padding:0;flex-shrink:0}.policy-info-trigger:hover{background:#d9ecff}.policy-info-backdrop{z-index:1300}.policy-info-modal{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px #0f172a47;padding:26px}.policy-info-close{position:absolute;top:18px;right:18px;border:0;background:#f1f5f9;color:#475569;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;cursor:pointer}.policy-info-close:hover{background:#e2e8f0}.policy-info-header{display:flex;align-items:flex-start;gap:14px;padding-right:34px;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:16px}.policy-info-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf6ff;color:#0b57d0;flex-shrink:0}.policy-info-header h2{margin:0 0 4px;font-size:19px;color:#0f2744}.policy-info-header p{margin:0;font-size:13px;color:#64748b;line-height:1.5}.policy-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.policy-info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.policy-info-card h4{margin:0 0 10px;font-size:14px;color:#0f2744}.policy-info-note{margin:0 0 10px;font-size:12px;color:#64748b;line-height:1.5}.policy-info-note.muted{margin:10px 0 0;font-style:italic}.policy-info-baseline{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f1f6ff;font-size:12.5px;line-height:1.6;color:#24466e}.policy-info-baseline strong{color:#0b3d91}.policy-info-percent{font-size:11.5px;font-weight:700;color:#64748b}.policy-info-current{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:0 0 14px;padding:12px 16px;border-radius:12px;background:#eef5ff;border:1px solid #cfe0f7}.policy-info-current span{font-size:14px;font-weight:700;color:#24466e}.policy-info-current strong{font-size:20px;font-weight:900;color:#0b3d91}.policy-info-level-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.policy-info-level-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:13px}.policy-info-level-list span{color:#475569;font-weight:700}.policy-info-level-list strong{color:#0b2a73}.policy-info-card.participation-card{background:#fff;border:1px solid #e2e8f0}.policy-info-participation-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.policy-info-participation-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}.policy-info-participation-list strong{display:block;color:#0f2744;font-size:13px;margin-bottom:3px}.policy-info-participation-list span{display:block;color:#475569;font-size:13px}@media(max-width:620px){.policy-info-cards{grid-template-columns:1fr}}.current-combo-card{background:#ffffffeb;border:2px solid #b7ddff;border-radius:14px;padding:10px 14px}.current-combo-card summary{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#0b2a73;cursor:pointer}.current-combo-card ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.current-combo-card li{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:3px 0;border-bottom:1px dashed #dbe9fb}.current-combo-card li span{color:#5b7299;font-weight:700}.current-combo-card li strong{color:#0b2a73}.balance-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px}.balance-card h4{margin:0 0 10px;display:flex;align-items:center;gap:6px;font-size:14px;color:#0f2744}.balance-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.balance-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:8px 10px;border-radius:10px;background:#f8fafc}.balance-row small{grid-column:1 / -1;color:#64748b;font-size:11px}.balance-label{font-weight:800;font-size:13px;color:#17324d}.balance-pill{font-size:11px;font-weight:900;padding:3px 10px;border-radius:999px;justify-self:end}.balance-row.balance-good .balance-pill{color:#0a7d3c;background:#e8f8ef;border:1px solid #bfe8cf}.balance-row.balance-watch .balance-pill{color:#9a5b00;background:#fff4e0;border:1px solid #f3d8a0}.balance-row.balance-imbalance .balance-pill{color:#b45309;background:#ffedd5;border:1px solid #fdba74}.balance-row.balance-unknown .balance-pill{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.policy-info-narrative{margin:-4px 0 16px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:6px}.policy-info-narrative p{margin:0;font-size:13px;color:#334155;line-height:1.5}.policy-info-narrative strong{display:block;font-size:11px;color:#0b57d0;margin-bottom:2px}@media(max-width:620px){.current-combo-card ul{grid-template-columns:1fr}}.grid-state-pair{display:grid;gap:6px;width:100%}.grid-state-chip{display:grid;gap:1px;padding:7px 10px;border-radius:12px;border:1px solid #e2e8f0;background:#f1f5f9;color:#64748b;text-align:center}.grid-state-chip small{font-size:11px;font-weight:700;opacity:.85}.grid-state-chip span{font-size:16px;font-weight:900;line-height:1.2}.grid-state-chip em{font-style:normal;font-size:11px;font-weight:600;opacity:.9}.grid-state-chip--stable,.grid-state-chip--sufficient{background:#e8f8ef;border-color:#bfe8cf;color:#0a7d3c}.grid-state-chip--manageable,.grid-state-chip--ess_dependent{background:#eaf4ff;border-color:#bcd9ff;color:#0b57d0}.grid-state-chip--caution{background:#fff4e0;border-color:#f3d8a0;color:#9a5b00}.grid-state-chip--severe,.grid-state-chip--shortfall{background:#ffedd5;border-color:#fdba74;color:#b45309}.gauge--state .gauge-hint{text-align:center}.report-grid-state-tile{align-items:stretch}.report-grid-state-tile .report-delta-path{text-align:center}.mini-score--grid-state{display:grid;gap:6px}.report-metric-card--grid-state{display:grid;align-content:center;gap:6px}.final-grid-state-card{margin-top:12px;padding:10px 12px;border:1px solid #dbe5ef;border-radius:12px;background:#f8fafc}.final-grid-state-card>strong{display:block;margin-bottom:8px;color:#17324d;font-size:14px}.final-grid-state-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.final-grid-state-card li{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;font-size:13px;font-weight:800;color:#0b2a73}.final-grid-state-card .grid-state-pair{grid-template-columns:1fr 1fr}.grid-state-analysis{margin:8px 0 0;font-size:13px;line-height:1.5;color:#334155}.annual-backdrop:has(.round-report){background:#031e41c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.round-report{width:min(1240px,100%);padding:20px;border:2px solid #c8def7;border-radius:26px;background:linear-gradient(#fff,#f8fcff);box-shadow:0 24px 80px #001d4266,inset 0 0 0 3px #fff}.round-report-banner{position:relative;min-height:110px;margin:0 0 14px;padding:12px 96px 16px 210px;border-radius:16px;border-bottom:1px solid #d2e4fa;background:radial-gradient(ellipse at top left,#dff4ff,transparent 65%)}.round-report-banner:before{content:"";position:absolute;left:0;bottom:10px;width:190px;height:94px;border-radius:14px;background:url(/assets/images/jeju-simulation-map.png) center 54% / cover;box-shadow:inset 0 0 18px 8px #ffffff80}.round-report-banner>svg{position:absolute;right:16px;width:56px;height:56px;padding:10px;color:#dc930c;background:linear-gradient(145deg,#fff9dd,#ffefb5);border:1px solid #f4d38a;border-radius:16px;transform:rotate(5deg)}.round-report-banner h2{color:#091d51;font-size:clamp(28px,3.2vw,46px);font-weight:900;line-height:1.2;letter-spacing:-.04em}.round-report-banner p{margin-top:8px;color:#5176a0;font-weight:700}.round-report .annual-section{padding:12px;border:1px solid #cfe1fb;border-radius:16px;box-shadow:0 2px 6px #2267b610}.round-report .annual-section h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#0646b1;font-size:19px;font-weight:900}.round-report .annual-section h3:after,.report-modal .report-section-box h3:after{content:"";flex:1;height:1px;margin-left:8px;background:linear-gradient(90deg,#c7dcfa,transparent)}.round-report .report-number{flex:0 0 30px;width:30px;height:30px;margin-right:0;font-size:23px;background:linear-gradient(145deg,#1478e9,#0639a1);box-shadow:inset 0 1px 2px #ffffff80,0 2px 3px #07429e26}.round-report .policy-tiles{grid-template-columns:repeat(7,minmax(0,1fr))}.round-report .metric-tiles{grid-template-columns:repeat(8,minmax(0,1fr))}.round-report .delta-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.round-report .report-policy-tile{--tone: #208343;--edge: #b0d8bb;--wash: #eff8ee;min-height:152px;justify-content:space-between;gap:10px;padding:14px 8px 10px;background:linear-gradient(160deg,#fff,var(--wash));border-color:var(--edge)}.round-report .report-policy-tile:nth-child(1){--tone: #e98712;--edge: #f2c99f;--wash: #fff6ed}.round-report .report-policy-tile:nth-child(3){--tone: #118798;--edge: #acd9de;--wash: #edf8fa}.round-report .report-policy-tile:nth-child(4){--tone: #7554c6;--edge: #cbbcf1;--wash: #f6f2fe}.round-report .report-policy-tile:nth-child(5){--tone: #086ad4;--edge: #aecdfa;--wash: #eff6ff}.round-report .report-policy-tile:nth-child(6){--tone: #ef8516;--edge: #ffd2a0;--wash: #fff7ea}.round-report .report-policy-tile:nth-child(7){--tone: #168781;--edge: #acd8d2;--wash: #eff9f7}.round-report .report-policy-tile .report-tile-icon{color:var(--tone)}.round-report .report-policy-tile .report-tile-icon svg{width:46px;height:46px;stroke-width:1.8;filter:drop-shadow(0 2px 1px #00000010)}.round-report .report-policy-tile strong{font-size:14px;color:#182435;line-height:1.4}.round-report .report-level-chip{width:100%;padding:4px 8px;border:1px solid #fff;border-radius:9px;box-shadow:0 0 0 1px var(--edge),inset 0 1px 2px #ffffff80;font-size:17px}.round-report .level-normal .report-level-chip{color:#386924;background:linear-gradient(#eff8de,#d7edc6)}.round-report .level-fast .report-level-chip{color:#fff;background:linear-gradient(#ff9551,#fa5527)}.round-report .report-metric-tile{--tone: #167538;--edge: #afd8bf;--wash: #f0f8f3;min-width:0;min-height:140px;justify-content:center;gap:7px;padding:12px 6px;border-color:var(--edge);background:linear-gradient(145deg,#fff,var(--wash))}.round-report .report-metric-tile:nth-child(2),.round-report .report-metric-tile:nth-child(4){--tone: #0769bc;--edge: #acd3fc;--wash: #edf6ff}.round-report .report-metric-tile:nth-child(3){--tone: #08748e;--edge: #a8dbd4;--wash: #eff9f8}.round-report .report-metric-tile:nth-child(5),.round-report .report-metric-tile:nth-child(7),.round-report .report-metric-tile:nth-child(8){--tone: #b45c09;--edge: #ffd2ac;--wash: #fff5ed}.round-report .report-metric-tile:nth-child(6){--tone: #ce3525;--edge: #ffbdb8;--wash: #fff2f1}.round-report .report-metric-tile .report-tile-icon,.round-report .report-metric-tile strong{color:var(--tone)}.round-report .report-metric-tile strong{font-size:28px;line-height:1.1}.round-report .report-metric-label{color:#253447;font-size:12px;line-height:1.4;font-weight:800}.round-report .report-metric-tile small{color:#48627c;line-height:1.4}.round-report .report-delta-tile{gap:7px;padding:13px 8px}.round-report .report-delta-path{color:#3d5065;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.round-report .report-delta-tile strong{padding:3px 16px;border:1px solid currentColor;border-radius:999px;font-size:17px;background:#ffffffb3}.round-report .report-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.round-report .report-event{display:block;padding:16px;border-radius:13px}.round-report .report-event strong{font-size:17px}.round-report .report-event p,.round-report .annual-section>ul:not(.report-event-list) li{line-height:1.65}.round-report .annual-actions button{min-width:240px;padding:14px 28px;border:1px solid #389939;border-radius:13px;color:#fff;background:linear-gradient(#76ca58,#39a847);box-shadow:inset 0 1px 2px #ffffff90,0 3px 5px #1d71352b;font-size:21px;font-weight:800}.round-report .annual-actions button:hover{filter:brightness(1.05)}.round-report button:focus-visible{outline:3px solid #246bd5;outline-offset:4px}.report-modal .policy-card-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.report-modal .policy-report-card span{min-width:0;width:85%}.report-modal .report-metric-strip{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.report-modal .report-section-box{border-width:1px;border-radius:16px}.report-modal .report-title-banner h2{font-size:clamp(25px,3vw,46px);line-height:1.2}.report-modal .report-action-bar button{font-size:clamp(16px,1.8vw,23px);box-shadow:inset 0 1px 2px #ffffff80,0 3px 5px #134a8526}@media(max-width:1100px){.round-report .policy-tiles,.round-report .metric-tiles,.report-modal .policy-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.report-modal .report-grid-two{grid-template-columns:1fr}.report-modal .final-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-modal .reflection-wide{grid-column:1 / -1}.report-modal .final-eval{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.round-report{padding:12px;border-radius:20px}.round-report-banner{padding:16px 64px 16px 0;min-height:86px;background:#f2f9ff}.round-report-banner:before{display:none}.round-report-banner>svg{right:8px;width:40px;height:40px;padding:6px}.round-report-banner h2{font-size:26px}.round-report .annual-section h3{font-size:16px}.round-report .policy-tiles,.round-report .metric-tiles,.round-report .delta-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.round-report .report-event-list{grid-template-columns:1fr}.round-report .annual-actions button{width:100%;min-width:0}.report-modal{width:100%;padding:12px}.report-modal .report-title-banner,.report-modal .report-title-banner.final{grid-template-columns:1fr;padding:42px 0 12px;gap:8px;text-align:center}.report-modal .mini-island,.report-modal .confetti,.report-modal .trophy-mark{display:none}.report-modal .report-title-banner p{grid-column:1;font-size:14px}.report-modal .policy-card-grid,.report-modal .change-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-modal .final-report-grid{grid-template-columns:1fr}.report-modal .final-report-grid>*{grid-column:1}.report-modal .report-action-bar,.report-modal.final-report-design .report-action-bar{grid-template-columns:1fr;gap:10px}}.attempt-select{max-width:760px;margin:48px auto;padding:32px;border:1px solid #d7e7f7;border-radius:22px;background:#fff;box-shadow:0 10px 30px #1d73ff14;text-align:center}.attempt-select h2{margin:0 0 8px;font-size:26px}.attempt-select>p{margin:0 0 22px;color:#51657a}.attempt-select-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.attempt-card{display:grid;gap:8px;padding:22px 18px;border:2px solid #c8def7;border-radius:18px;background:#f7fbff;color:#0f2a47;text-align:center;cursor:pointer;font:inherit}.attempt-card:hover:not(:disabled){border-color:#1d73ff;background:#eaf3ff}.attempt-card:disabled{opacity:.6;cursor:default}.attempt-card strong{font-size:22px}.attempt-card span{font-size:14px;color:#51657a}.attempt-card em{font-style:normal;font-size:13px;font-weight:700}.attempt-history{margin-top:28px;padding-top:20px;border-top:1px solid #e3edf8;text-align:left}.attempt-history h3{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:18px;color:#0f2a47}.attempt-history .muted{margin:0}.attempt-history-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.attempt-history-list li{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #d7e7f7;border-radius:12px;background:#f7fbff}.attempt-history-list strong{font-size:16px;color:#0f2a47}.attempt-history-list .muted{flex:1;font-size:14px}.attempt-history-open{border:1px solid #1d73ff;background:#fff;color:#1d5fd0;border-radius:8px;padding:8px 14px;font:inherit;font-weight:800;cursor:pointer}.attempt-history-open:hover:not(:disabled){background:#eaf3ff}.attempt-history-open:disabled{opacity:.6;cursor:default}.attempt-history-list li.with-rounds{flex-wrap:wrap}.attempt-history-rounds{display:flex;flex-wrap:wrap;gap:6px;width:100%}.attempt-history-rounds button{border:1px solid #c8def7;background:#fff;color:#1d5fb8;border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.attempt-history-rounds button:hover:not(:disabled){background:#eaf3ff}.attempt-history-rounds button:disabled{opacity:.6;cursor:default}.attempt-history-rounds .muted{flex:none;font-size:13px}.attempt-history-rounds button.final{border-color:#1d73ff;color:#1d5fd0;font-weight:800}.home-select{margin-top:72px}.home-card{justify-items:center;padding:30px 22px;text-decoration:none}.home-card svg{color:#1d73ff}.home-card span{line-height:1.5}.home-flow{display:grid;gap:6px;margin:0 0 24px;padding:0;list-style:none;text-align:left}.home-flow li{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e0ecf8;border-radius:12px;background:#fbfdff}.home-flow-n{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1d73ff;color:#fff;font-size:15px;font-weight:800}.home-flow-text{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.home-flow-text strong{font-size:16px;color:#0f2a47}.home-flow-text span{font-size:14px;color:#51657a}.home-flow-where{flex:none;padding:3px 10px;border-radius:999px;font-style:normal;font-size:12.5px;font-weight:800}.home-flow-where.board{background:#e7f6f1;color:#0f766e}.home-flow-where.sim{background:#eaf3ff;color:#1d5fd0}.attempt-ready{color:#0a7d3c}.attempt-missing{color:#9a5b00}.attempt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border:1px solid #d7e7f7;border-radius:12px;background:#f4f9ff;font-size:13px}.attempt-bar strong{font-size:15px}.attempt-bar span{color:#51657a}.attempt-bar button{margin-left:auto;display:inline-flex;align-items:center;gap:2px;padding:4px 10px;border:1px solid #c8def7;border-radius:8px;background:#fff;color:#1d5fb8;font:inherit;font-size:12px;cursor:pointer}.attempt-bar button+button{margin-left:0}.attempt-bar button:disabled{opacity:.45;cursor:default}.attempt-bar .attempt-bar-reset{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.backcast-plan-bar{display:grid;gap:6px;padding:10px 12px;border:1px solid #cfe3d6;border-radius:12px;background:#f3faf5;font-size:13px}.backcast-plan-head{display:flex;align-items:center;gap:6px;color:#2e6b47}.backcast-plan-head strong{font-size:14px}.backcast-plan-head span{color:#5b7a66}.backcast-plan-bar ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.backcast-plan-bar li{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid #d5e6da;border-radius:999px;background:#fff;color:#23384a;font-weight:700}.backcast-plan-bar li em{font-style:normal;font-size:12px;font-weight:800;color:#2e6b47}.backcast-plan-bar li.key{border-color:#f0b46b;background:#fff7ec;color:#b45309}.backcast-plan-bar p{margin:0;color:#5b7a66}.plan-mismatch-popup{max-width:440px}.plan-mismatch-popup ul{margin:0 0 14px;padding:10px 14px 10px 28px;border-radius:10px;background:#fff7ec;text-align:left;font-size:13.5px;line-height:1.6;color:#7c3d06}.period-view-banner{display:grid;gap:6px;padding:12px 14px;border:2px solid #fcd9a8;border-radius:12px;background:#fff8ee}.period-view-banner strong{font-size:15px;color:#7c3d06}.period-view-banner span{font-size:13px;color:#8a5a22}.period-view-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.period-view-actions button{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #f3c88a;border-radius:8px;background:#fff;color:#7c3d06;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.policy-readonly{margin:0;padding:0;border:0;min-width:0;opacity:.85}.resume-popup h3{color:#0646b1}.resume-popup-actions{display:grid;gap:8px}.resume-popup-actions button{width:100%;justify-content:center}.board-entry-loading{padding:48px 16px;text-align:center;color:#51657a;font-size:15px}.round-report .policy-details>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:#0646b1;font-size:17px;font-weight:900}.round-report .policy-details>summary::-webkit-details-marker{display:none}.round-report .policy-details>summary:after{content:"▾";margin-left:auto;color:#5b7299;transition:transform .15s}.round-report .policy-details[open]>summary:after{transform:rotate(180deg)}.round-report .policy-details[open]>summary{margin-bottom:12px}.round-report .report-compare-note{margin-left:6px;color:#5b7299;font-size:13px;font-weight:700}.report-metric-delta{font-style:normal;font-size:12.5px;font-weight:800;line-height:1.35;text-align:center}.report-metric-delta.good{color:#1b7a43}.report-metric-delta.watch{color:#b45309}.report-metric-delta.flat{color:#64748b;font-weight:700}.round-report .report-metric-tile:nth-child(5),.round-report .report-metric-tile:nth-child(6){--tone: #b45c09;--edge: #ffd2ac;--wash: #fff5ed}.round-report .report-interpretation li{line-height:1.7;padding-left:4px}.round-report .report-interpretation li:before{content:"▸";color:#0b57d0;margin-right:6px}.report-reading-prompt{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:#eef5ff;color:#0b3f93;font-size:14px;font-weight:700}.round-report .policy-fold-row{display:flex;align-items:center;gap:10px}.round-report .policy-fold-row>strong{color:#17324d;font-size:16px}.round-report .fold-toggle{padding:4px 12px;border:1px solid #c8def7;border-radius:999px;background:#f4f9ff;color:#1d5fb8;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.round-report .fold-toggle:hover{background:#e6f1ff}.round-report .policy-fold .policy-tiles{margin-top:12px}.round-report .report-interpretation li{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border-radius:10px;background:#f6f9fd;line-height:1.55}.round-report .report-interpretation li:before{content:none}.round-report .report-interpretation .interp-area{flex:0 0 76px;color:#0b57d0;font-size:14px;font-weight:900}.round-report .report-interpretation li.alert{background:#fff6ea}.round-report .report-interpretation li.alert .interp-area{color:#b45309}.round-report .event-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.round-report .event-keywords span{padding:3px 10px;border-radius:999px;background:#e6f1ff;color:#0b57d0;font-size:12.5px;font-weight:800}.round-report .event-graph-hint{margin:6px 0 0;color:#5b7299;font-size:13px}.grid-chip-label{display:inline-flex;align-items:center;justify-content:center;gap:6px}.round-report .rr-banner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,.9fr) auto;align-items:center;gap:16px;min-height:130px;margin:0 0 14px;padding:14px 16px;overflow:hidden;border:1px solid #d2e4fa;border-radius:20px;background:linear-gradient(90deg,#f2f9ff,#fff 45%,#eaf6ff);box-shadow:0 3px 10px #2267b614}.round-report .rr-banner-art{width:210px;height:104px;border-radius:16px;background:url(/assets/images/jeju-simulation-map.png) center 54% / cover;box-shadow:0 2px 8px #2267b62e}.round-report .rr-banner-text{position:relative;z-index:1}.round-report .rr-pill{display:inline-block;padding:4px 14px;border-radius:999px;background:#e1eefc;color:#1d5fb8;font-size:13px;font-weight:800}.round-report .rr-banner h2{margin:6px 0 2px;color:#091d51;font-size:clamp(30px,3.4vw,50px);font-weight:900;line-height:1.15;letter-spacing:-.04em}.round-report .rr-banner p{margin:0;color:#6b7f98;font-size:20px;font-weight:800}.round-report .rr-banner-scene{align-self:stretch;margin:-14px 0;background:linear-gradient(90deg,#f7fbff,#f7fbff00 45%),url(/assets/images/jeju-simulation-map.png) right center / cover;opacity:.55}.round-report .rr-save{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;padding:12px 16px;border:1px solid #f4d38a;border-radius:16px;background:linear-gradient(145deg,#fffbe8,#ffefb5);color:#8a5a00;font:inherit;font-size:14px;font-weight:900;line-height:1.25;text-align:center;cursor:pointer;box-shadow:0 2px 6px #dc930c26}.round-report .rr-save:hover{filter:brightness(1.04)}.round-report .policy-fold{padding:10px 14px}.round-report .policy-fold-row{display:flex;align-items:center;gap:12px;cursor:pointer}.round-report .policy-fold-icon{color:#4a76b8;flex:0 0 auto}.round-report .policy-fold-row>strong{font-size:19px;color:#17324d}.round-report .fold-toggle{padding:5px 14px;font-size:14px}.round-report .policy-fold-chevron{margin-left:auto;color:#6b86ab;transition:transform .15s}.round-report .policy-fold-chevron.open{transform:rotate(180deg)}.round-report .rr-h3{flex-wrap:wrap}.round-report .rr-h3:after{display:none}.round-report .rr-h3 .rr-note{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;border-radius:10px;background:#eaf3ff;color:#4a6a93;font-size:13px;font-weight:700}.round-report .metric-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.round-report .report-metric-tile{min-height:170px;justify-content:flex-start;gap:8px;padding:14px 12px}.round-report .rr-tile-head{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--tone)}.round-report .rr-tile-head .report-metric-label{font-size:14px;font-weight:900}.round-report .report-metric-tile strong{font-size:34px}.round-report .report-metric-delta{font-size:13.5px}.report-metric-delta.watch,.round-report .report-metric-delta.watch{color:#d33a2b}.round-report .rr-target{display:grid;gap:5px;width:100%;margin-top:auto;text-align:left}.round-report .rr-target small{color:#3d5065;font-size:13px;font-weight:700}.round-report .rr-bar{height:8px;border-radius:999px;background:#e3ebf3;overflow:hidden}.round-report .rr-bar i{display:block;height:100%;border-radius:999px;background:var(--tone)}.round-report .report-grid-state-tile{justify-content:flex-start}.round-report .report-grid-state-tile .grid-state-chip{padding:12px 10px;border-radius:999px}.round-report .report-grid-state-tile .grid-chip-label{font-size:19px}.round-report .report-interpretation{gap:8px}.round-report .report-interpretation li.rr-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:0;padding:0;overflow:hidden;border-radius:12px;background:#f1f8f3;font-size:16px}.round-report .rr-area{display:flex;align-items:center;gap:10px;align-self:stretch;padding:12px 16px;color:#1b7a43;background:linear-gradient(90deg,#e1f3e8,#ecf7f0)}.round-report .rr-area strong{font-size:16px;color:inherit}.round-report .rr-text{padding:12px 16px;color:#2b3b4e;line-height:1.55}.round-report .rr-row.area-renewable{background:#eef7ff}.round-report .rr-row.area-renewable .rr-area{color:#0b57d0;background:linear-gradient(90deg,#deeeff,#e9f3ff)}.round-report .rr-row.area-transport{background:#eef7ff}.round-report .rr-row.area-transport .rr-area{color:#0b57d0;background:linear-gradient(90deg,#deeeff,#e9f3ff)}.round-report .rr-row.area-budget{background:#fff6ec}.round-report .rr-row.area-budget .rr-area{color:#c05a00;background:linear-gradient(90deg,#ffe9d2,#fff1e2)}.round-report .rr-row.alert{box-shadow:inset 4px 0 #f08c00}.round-report .rr-row.alert .rr-text{font-weight:700}.round-report .rr-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;justify-content:stretch}.round-report .rr-tip{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;background:#e8f2ff;color:#0b3f93;font-size:16px;font-weight:700}.round-report .rr-tip svg{flex:0 0 auto;color:#2f7fe0}.round-report .rr-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px}@media(max-width:1100px){.round-report .metric-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.round-report .rr-banner{grid-template-columns:auto minmax(0,1fr) auto}.round-report .rr-banner-scene{display:none}}@media(max-width:640px){.round-report .rr-banner{grid-template-columns:minmax(0,1fr) auto}.round-report .rr-banner-art{display:none}.round-report .metric-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.round-report .report-interpretation li.rr-row,.round-report .rr-footer{grid-template-columns:1fr}.round-report .rr-h3 .rr-note{margin-left:0}}.round-report .rr-tile-head{height:44px;min-height:44px}.round-report .rr-tile-head .report-metric-label{word-break:keep-all;line-height:1.3}.round-report .report-grid-state-tile .grid-chip-label{white-space:nowrap;font-size:17px}.round-report .rr-row.alert{box-shadow:none}.round-report .rr-row.alert .rr-area{box-shadow:inset 4px 0 #f08c00}.round-report .rr-banner{grid-template-columns:minmax(0,1fr) auto;min-height:240px;padding:22px 26px;align-items:start;border:0;background:linear-gradient(90deg,#ffffffc4,#ffffff80 34%,#fff0 58%),url(/assets/images/round-report-banner.png) left center / cover no-repeat}.round-report .rr-banner-text{align-self:start}.round-report .rr-save{background:#ffffffe6}@media(max-width:640px){.round-report .rr-banner{min-height:190px;background:linear-gradient(90deg,#ffffffc4,#ffffff80 60%,#fff3),url(/assets/images/round-report-banner.png) 30% center / cover no-repeat}}.gauge{position:relative}.gauge .gauge-title{display:flex;align-items:center;justify-content:center;gap:6px}.gauge .gauge-title-info{position:relative;display:inline-flex}.gauge .policy-info-trigger[aria-expanded=true]{background:#d9ecff}.gauge .gauge-title strong{word-break:keep-all}.gauge .gauge-info-pop{position:absolute;z-index:5;top:28px;left:50%;transform:translate(-50%);display:grid;gap:5px;width:210px;padding:10px 12px;border-radius:12px;border:1px solid #cfe0f7;background:#fff;box-shadow:0 8px 20px #1b56aa2e;color:#334155;font-size:12px;font-weight:700;line-height:1.45;text-align:center}.gauge .gauge-info-pop span:first-child:not(:only-child){color:#0b57d0;font-weight:900}.keyword-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px;padding:0;list-style:none}.keyword-chips li{padding:3px 10px;border-radius:999px;background:#e8f1ff;color:#0b57d0;font-size:13px;font-weight:800}.event-graph-ref{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:700}.report-metric-card .report-metric-goal{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:700;line-height:1.35}.backcast-page{display:block}.backcast-frame-wrap{height:100vh;display:flex;flex-direction:column}.backcast-frame-bar{display:flex;gap:12px;align-items:center;min-height:24px;padding:2px 16px;font-size:13px;color:#5b6b82}.backcast-save-status.error{color:#c2410c}.backcast-frame{flex:1;min-height:0;width:100%;border:0;background:#fff}.backcast-teacher-head{padding:8px 16px 0}.backcast-teacher-head h1{margin:0 0 4px;font-size:20px}.backcast-teacher-head p{margin:0}.teacher-tabs{display:flex;gap:6px;margin:4px 0 8px}.teacher-tabs button{border:1px solid #cfe0f3;background:#fff;color:#51657a;border-radius:999px;padding:7px 16px;font:inherit;font-weight:800;cursor:pointer}.teacher-tabs button.on{border-color:#0f766e;background:#0f766e;color:#fff}.backcast-page .page-shell .attempt-history{margin-top:8px;padding-top:0;border-top:none}.info-pop{position:relative;display:inline-flex;flex:none}.info-pop-btn{width:20px;height:20px;padding:0;border-radius:50%;border:1.5px solid #8fb4e8;background:#fff;color:#1160d8;font:italic 800 13px/1 Georgia,serif;cursor:pointer}.info-pop-btn:hover,.info-pop-btn[aria-expanded=true]{background:#1160d8;color:#fff}.info-pop-box{position:absolute;z-index:20;top:26px;left:50%;transform:translate(-50%);display:grid;gap:5px;width:220px;padding:10px 12px;border-radius:12px;border:1px solid #cfe0f7;background:#fff;box-shadow:0 8px 20px #1b56aa2e;color:#334155;font-size:12px;font-weight:700;line-height:1.45;text-align:center}.report-metric-title{display:flex;align-items:center;justify-content:center;gap:6px}.attempt-select .attempt-resume{width:100%;margin-bottom:12px;border-color:#16a34a;background:#f0fdf4}.stakeholder-card{background:#fff;border:2px solid #dbeafe;border-radius:20px;padding:18px;box-shadow:0 6px 18px #1e40af0f}.stakeholder-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.stakeholder-head-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eaf2ff;color:#1d4ed8}.stakeholder-card h4{margin:0 0 4px;color:#0b1f4d;font-size:20px;font-weight:900}.stakeholder-note{margin:0;color:#64748b;font-size:13px;font-weight:600;line-height:1.5}.stakeholder-note b{color:#1d4ed8;font-weight:800}.stakeholder-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.stakeholder-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px 12px 12px;border-radius:14px;background:#fff;border:1px solid #e6eef9;border-left:5px solid #22c55e;box-shadow:0 2px 8px #0f25520d}.stakeholder-row.stakeholder-emerging{border-left-color:#f5b301}.stakeholder-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:#ecfaf1;color:#16a34a}.stakeholder-icon-offshore_wind{background:#e8f2ff;color:#2563eb}.stakeholder-icon-ess{background:#fff6e0;color:#d97706}.stakeholder-icon-charging{background:#eef2ff;color:#4f46e5}.stakeholder-body{min-width:0;display:grid;gap:3px}.stakeholder-row .stakeholder-who{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:17px;font-weight:900;color:#0b1f4d}.stakeholder-row .stakeholder-who small{padding:2px 9px;border-radius:8px;background:#eaf2ff;color:#475d85;font-size:12px;font-weight:700}.stakeholder-stance{margin:0;color:#475569;font-size:13px;line-height:1.45}.stakeholder-participation{display:flex;align-items:center;gap:6px;margin:0;color:#475569;font-size:12.5px;line-height:1.45}.stakeholder-participation svg{flex:none;color:#3b82f6}.stakeholder-participation.off{color:#94a3b8}.stakeholder-participation.off svg{color:#94a3b8}.stakeholder-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font-size:15px;font-weight:900;white-space:nowrap;background:#dcfce7;color:#15803d}.stakeholder-emerging .stakeholder-pill{background:#fff1d1;color:#b45309}@media(max-width:520px){.stakeholder-row{grid-template-columns:48px minmax(0,1fr)}.stakeholder-icon{width:48px;height:48px}.stakeholder-pill{grid-column:2;justify-self:start}}.round-report .report-interpretation li.rr-row.area-stakeholder .rr-area{color:#6d28d9}.final-report-v2{position:relative}.final-report-v2 .fr-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffffd9;color:#334155;cursor:pointer}.final-report-v2 .rr-banner{padding-right:150px}.fr-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fr-round{padding:14px 16px;border:1px solid #d2e4fa;border-radius:16px;background:#fff;display:grid;gap:6px;align-content:start}.fr-round>strong{color:#0b3a8a;font-size:16px}.fr-round-metrics{margin:0;color:#334155;font-size:14px;font-weight:800;line-height:1.5}.fr-changed{margin:0;color:#b54708;font-size:13px;font-weight:800}.fr-round .fold-toggle{justify-self:start}.fr-policy-list{display:grid;gap:4px;margin:4px 0 0;padding:0;list-style:none}.fr-policy-list li{display:flex;justify-content:space-between;padding:4px 10px;border-radius:8px;background:#f3f8ff;font-size:13px;font-weight:700;color:#334155}.fr-completions{margin:10px 0 4px;color:#4c1d95;font-size:14px;font-weight:800}.fr-problems{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.fr-problems>li{padding:8px 12px;border-radius:12px;background:#fff7ed;color:#7c2d12}.event-chains{display:grid;gap:10px}.event-chain-group{--tone: #b45c09;--wash: #fff7ed;--edge: #fed7aa;padding:10px 14px;border:1px solid var(--edge);border-left:5px solid var(--tone);border-radius:12px;background:var(--wash)}.event-chain-charging{--tone: #0769bc;--wash: #eff6ff;--edge: #bfdbfe}.event-chain-social{--tone: #7554c6;--wash: #f6f2fe;--edge: #ddd6fe}.event-chain-group h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--tone);font-size:15px;font-weight:900}.event-chain-group>ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.event-chain-flow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 2px;margin:0;padding:0;list-style:none}.event-chain-flow>li{display:flex;align-items:center;gap:2px}.event-chain-arrow{flex:none;color:var(--tone)}.event-chain-node{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border:1px solid var(--edge);border-radius:999px;background:#fff;color:#1e293b;font-size:14px;font-weight:800}.event-chain-node b{color:var(--tone);font-size:12px}.event-chain-flow>li.earlier .event-chain-node{opacity:.5}.event-chain-effect{margin:4px 0 0;color:#475569;font-size:13px;font-weight:700;line-height:1.5}.event-chain-ongoing{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:8px 14px;border-radius:12px;background:#f1f5f9;color:#334155;font-size:14px;font-weight:700}.event-chain-ongoing strong{color:#0f2552}.fr-compare{display:grid;gap:8px}.fr-compare-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#f6f9fd;font-weight:800;color:#0f2552}.fr-compare-row em{font-style:normal;font-size:14px}.fr-compare-row.good em{color:#0a7d3c}.fr-compare-row.watch em{color:#b54708}.fr-compare-note{margin:8px 0 0;color:#64748b;font-size:13px;font-weight:700}.fr-questions{display:grid;gap:8px;margin:0 0 10px;padding:0;list-style:none}.fr-questions li{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;border-radius:12px;background:#eef6ff;color:#0f2552;font-weight:800;line-height:1.5}.fr-questions svg{flex:0 0 auto;margin-top:3px;color:#2f7fe0}.fr-memo{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid #cfe0f7;border-radius:12px;font:inherit;resize:vertical}@media(max-width:900px){.fr-timeline,.fr-compare-row{grid-template-columns:1fr}}
