@import './foundation.css';
/* AI RISK design system v1.2. Shared by the application and reference page. */
:root{
 /* Product typography: preserve the existing metrics across every surface. */
 --ds-line-1-3:1.3;
 --ds-weight-semibold:600;
 --ds-line-1-75:1.75;
 --ds-line-1-8:1.8;
 --ds-weight-bold:700;
 --ds-tracking-2px:2px;
 --ds-tracking-minus-1px:-1px;
 --ds-tracking-1px:1px;
 --ds-line-1-45:1.45;
 --ds-weight-medium:500;
 --ds-line-1-6:1.6;
 --ds-line-1-2:1.2;
 --ds-line-1-35:1.35;
 --ds-line-1:1;
 --ds-tracking-1-4px:1.4px;
 --ds-tracking-1-5px:1.5px;
 --ds-line-1-9:1.9;
 --ds-weight-regular:400;
 --ds-tracking-1-1px:1.1px;
 --ds-tracking-0-5px:.5px;
 --ds-line-1-25:1.25;
 --ds-line-1-65:1.65;
 --ds-tracking-0-11em:.11em;
 --ds-tracking-minus-0-035em:-.035em;
 --ds-line-1-08:1.08;
 --ds-login-offset:12vh;
 --ds-background:var(--airisk-foundation-color-08131f);--ds-surface:var(--airisk-foundation-color-102737);--ds-surface-raised:var(--airisk-foundation-color-163241);--ds-input:var(--airisk-foundation-color-091d2b);
 --ds-text:var(--airisk-foundation-color-dfedf4);--ds-text-muted:var(--airisk-foundation-color-a9c0cf);--ds-text-subtle:var(--airisk-foundation-color-9fb7c7);
 --ds-border:var(--airisk-foundation-color-426578);--ds-border-control:var(--airisk-foundation-color-64899a);
 --ds-action:var(--airisk-foundation-color-a8ddd2);--ds-action-hover:var(--airisk-foundation-color-c5eee5);--ds-on-action:var(--airisk-foundation-color-092b30);
 --ds-secondary:var(--airisk-foundation-color-193d49);--ds-secondary-hover:var(--airisk-foundation-color-234c57);--ds-link:var(--airisk-foundation-color-b5e6da);
 --ds-focus:var(--airisk-foundation-color-a8ddd2);--ds-error:var(--airisk-foundation-color-efb0b0);--ds-warning:var(--airisk-foundation-color-dcc79e);--ds-success:var(--airisk-foundation-color-a8ddd2);
 --ds-incident:var(--airisk-foundation-color-e2a98e);--ds-hazard:var(--airisk-foundation-color-8baedb);--ds-country-selected:var(--airisk-foundation-color-f5cf69);
 --ds-policy-active:var(--ds-action);--ds-policy-proposed:var(--ds-hazard);--ds-policy-complete:var(--ds-text-muted);--ds-policy-not-started:var(--ds-warning);
 --ds-space-1:var(--airisk-foundation-space-4px);--ds-space-2:var(--airisk-foundation-space-8px);--ds-space-3:var(--airisk-foundation-space-12px);--ds-space-4:var(--airisk-foundation-space-16px);--ds-space-6:var(--airisk-foundation-space-24px);--ds-space-8:var(--airisk-foundation-space-32px);--ds-space-12:var(--airisk-foundation-space-48px);
 --ds-radius-control:var(--airisk-foundation-radius-6px);--ds-radius-panel:var(--airisk-foundation-radius-8px);--ds-radius-dialog:var(--airisk-foundation-radius-12px);--ds-radius-pill:var(--airisk-foundation-radius-999px);
 --ds-font-body:"Upright Quotes", Pretendard, "Malgun Gothic", system-ui, sans-serif;--ds-font-title:"Upright Quotes", "Space Grotesk", SUITE, Pretendard, sans-serif;--ds-font-number:"Upright Quotes", "Space Grotesk", Pretendard, sans-serif;
 --ds-type-display:var(--airisk-foundation-type-40px);--ds-type-title:var(--airisk-foundation-type-32px);--ds-type-section:var(--airisk-foundation-type-24px);--ds-type-card:var(--airisk-foundation-type-20px);--ds-type-body:var(--airisk-foundation-type-16px);--ds-type-ui:var(--airisk-foundation-type-14px);--ds-type-meta:var(--airisk-foundation-type-12px);
 --ds-line-body:1.7;--ds-line-heading:1.4;--ds-line-control:1.5;
 --ds-target:44px;--ds-action-height:48px;--ds-work-width:1120px;--ds-dialog-width:1240px;
 --ds-scrollbar-size:10px;--ds-scrollbar-track:var(--ds-input);--ds-scrollbar-thumb:var(--ds-border-control);--ds-scrollbar-hover:var(--ds-action);--ds-scrollbar-radius:var(--ds-radius-pill);
 --ds-shadow:0 24px 80px var(--airisk-foundation-color-00000066);--ds-backdrop:var(--airisk-foundation-color-030b14c9);
 /* Existing layout variables resolve to the shared foundations. */


 --work-width:var(--ds-work-width);--work-space-xs:var(--ds-space-2);--work-space-sm:var(--ds-space-4);--work-space-md:var(--ds-space-6);--work-space-lg:var(--ds-space-8);--work-radius:var(--ds-radius-panel);--work-input-height:var(--ds-action-height);--work-textarea-height:128px;--work-panel-border:var(--ds-border);--work-panel-bg:var(--ds-surface);
}
html,body{background:var(--ds-background);color:var(--ds-text)}body{font-family:var(--ds-font-body);font-size:var(--ds-type-body);line-height:var(--ds-line-body)}
:where(button,input,select,textarea){font-family:inherit}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ds-focus);outline-offset:3px}
:where(button,a){-webkit-tap-highlight-color:transparent}
:where(button):disabled{opacity:.45;cursor:not-allowed}
:where(button,a)[hidden]{display:none!important}
/* Primary: advance or save. Secondary: resume an existing piece of work. */
.ds-primary,.journey-primary,#explore-dialog #interest-question{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--ds-action-height);max-width:100%;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-action);border-radius:var(--ds-radius-control);background:var(--ds-action);color:var(--ds-on-action);font-size:var(--ds-type-ui);font-weight:var(--ds-weight-bold);line-height:var(--ds-line-control);text-decoration:none;white-space:normal;cursor:pointer}
.ds-primary:hover:not(:disabled),.journey-primary:hover:not(:disabled){background:var(--ds-action-hover);border-color:var(--ds-action-hover)}
.ds-secondary,#collective-work .work-secondary{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--ds-action-height);gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-border-control);border-radius:var(--ds-radius-control);background:var(--ds-secondary);color:var(--ds-text);font-size:var(--ds-type-ui);font-weight:var(--ds-weight-semibold);line-height:var(--ds-line-control);text-decoration:none;cursor:pointer}
.ds-secondary:hover:not(:disabled),#collective-work .work-secondary:hover:not(:disabled){background:var(--ds-secondary-hover);border-color:var(--ds-action);color:var(--ds-text);text-decoration:none}
.ds-quiet,.journey-close,.map-controls>button,.map-zoom-controls button,#risk-refresh,.record-pagination button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--ds-target);padding:var(--ds-space-2) var(--ds-space-3);border:1px solid var(--ds-border-control);border-radius:var(--ds-radius-control);background:var(--ds-surface);color:var(--ds-text);font-size:var(--ds-type-ui);line-height:var(--ds-line-control);cursor:pointer}
.ds-quiet:hover:not(:disabled),.journey-close:hover,.map-controls>button:hover,.map-zoom-controls button:hover,#risk-refresh:hover:not(:disabled),.record-pagination button:hover:not(:disabled){background:var(--ds-surface-raised)}
.ds-link,.risk-sources a,#collective-work .work-action:not(.work-secondary),#collective-work .work-source-link,.journey-link{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--ds-target);max-width:100%;padding:var(--ds-space-2);border:0;border-radius:var(--ds-radius-control);background:transparent;color:var(--ds-link);font-size:var(--ds-type-ui);line-height:var(--ds-line-control);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.ds-link:hover,.risk-sources a:hover,#collective-work .work-action:not(.work-secondary):hover,.journey-link:hover{background:var(--ds-surface-raised);color:var(--ds-text)}
/* Choice controls use aria-pressed as their single state source. */
.ds-chip,.classification-chip,#explore-dialog .classification-chip{box-sizing:border-box;min-height:var(--ds-target);padding:var(--ds-space-2) var(--ds-space-3);border:1px solid var(--ds-border-control);border-radius:var(--ds-radius-pill);background:var(--ds-surface);color:var(--ds-text);font:inherit;font-size:var(--ds-type-ui);line-height:var(--ds-line-control);cursor:pointer;white-space:normal}
.ds-chip[aria-pressed=true],.classification-chip[aria-pressed=true],#explore-dialog .classification-chip[aria-pressed=true],.explore-mobile-tabs button[aria-pressed=true]{background:var(--ds-action);color:var(--ds-on-action);border-color:var(--ds-action);font-weight:var(--ds-weight-bold)}
.type-filters button,.explore-mobile-tabs button{min-height:var(--ds-target);font-size:var(--ds-type-ui)}
.type-filters [aria-pressed=true]{background:var(--ds-secondary-hover);color:var(--ds-text)}
#clear-category{min-height:var(--ds-target);padding-inline:var(--ds-space-2);color:var(--ds-link)}
/* Panels, input fields, and feedback. */
.ds-panel,#collective-work .flow-form,#collective-work .case-row,#collective-work #case-workspace,#collective-work .work-card,#collective-work .inquiry-context,.detail-facts>div{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-panel);color:var(--ds-text)}
.ds-panel{padding:var(--ds-space-6)}
#collective-work .inquiry-context{background:var(--ds-surface-raised);border-left:3px solid var(--ds-action)}
.ds-field,.ds-field textarea{display:grid;gap:var(--ds-space-2)}
.ds-input,#collective-work .flow-form input,#collective-work .flow-form textarea,.discussion-body textarea{box-sizing:border-box;width:100%;min-width:0;min-height:var(--ds-action-height);padding:var(--ds-space-3);border:1px solid var(--ds-border-control);border-radius:var(--ds-radius-control);background:var(--ds-input);color:var(--ds-text);font:inherit;font-size:var(--ds-type-body);line-height:var(--ds-line-control)}
.ds-input::placeholder,#collective-work .flow-form input::placeholder,#collective-work .flow-form textarea::placeholder,.discussion-body textarea::placeholder{color:var(--ds-text-subtle);opacity:1}
.ds-input[aria-invalid=true]{border-color:var(--ds-error)}
.ds-muted,.journey-disclosure,.scope-note,.selection-hint,.risk-note,.overview-note,.record-note,.record-meta{color:var(--ds-text-muted)}
.ds-status{display:flex;gap:var(--ds-space-2);align-items:baseline;padding:var(--ds-space-3) var(--ds-space-4);border-left:3px solid currentColor;background:var(--ds-surface-raised);font-size:var(--ds-type-ui)}
.ds-status[data-state=error]{color:var(--ds-error)}.ds-status[data-state=loading]{color:var(--ds-text-muted)}.ds-status[data-state=success]{color:var(--ds-success)}.ds-status[data-state=empty]{color:var(--ds-text-muted)}
#risk-state[data-state=error],#inquiry-status[data-state=error]{color:var(--ds-error)}
#risk-state[data-state=loading]{color:var(--ds-text-muted)}
.state-badge{font-size:var(--ds-type-meta);line-height:var(--ds-line-control);border-radius:var(--ds-radius-pill)}
/* Modal layout remains responsive; close only via an explicit close button. */
.journey-dialog,.ds-dialog{padding:0;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border:1px solid var(--ds-border-control);border-radius:var(--ds-radius-dialog);background:var(--ds-surface);color:var(--ds-text);box-shadow:var(--ds-shadow)}
.journey-dialog::backdrop,.ds-dialog::backdrop{background:var(--ds-backdrop);backdrop-filter:blur(5px)}
.journey-dialog-head,.ds-dialog-head{padding:var(--ds-space-4) var(--ds-space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);border-bottom:1px solid var(--ds-border);background:var(--ds-surface-raised)}
.journey-dialog-head h2,.ds-dialog-head h2{margin:0;font-family:var(--ds-font-title);font-size:var(--ds-type-section);line-height:var(--ds-line-heading)}
#explore-dialog{width:min(var(--ds-dialog-width),calc(100vw - 40px))}
#explore-dialog .explorer{padding:var(--ds-space-4) var(--ds-space-6)}
.map-gesture-guide{border-color:var(--ds-border);color:var(--ds-text-muted);font-size:var(--ds-type-meta)}
.incident-dot{background:var(--ds-incident)}.hazard-dot{background:var(--ds-hazard)}
@media(max-width:760px){.journey-dialog-head,.ds-dialog-head{padding:var(--ds-space-3) var(--ds-space-4)}.journey-dialog-head h2,.ds-dialog-head h2{font-size:var(--ds-type-card)}#explore-dialog{width:calc(100vw - 16px)}#explore-dialog .explorer{padding:var(--ds-space-3) var(--ds-space-4)}#explore-dialog #interest-question{min-height:var(--ds-target);padding:var(--ds-space-2) var(--ds-space-3)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

#collective-work .work-header h1{font-size:clamp(var(--ds-type-title),2.8vw,var(--ds-type-display));line-height:var(--ds-line-heading)}
#explore-dialog .scope-note{font-size:var(--ds-type-meta)!important}
#explore-dialog .explorer-heading>span{font-size:var(--ds-type-meta)}

/* Scrollbars: shared vertical/horizontal treatment; explicit hidden-scroll layouts remain opt-outs. */
:where(*){scrollbar-width:thin;scrollbar-color:var(--ds-scrollbar-thumb) var(--ds-scrollbar-track)}
@supports selector(::-webkit-scrollbar){
 :where(*){scrollbar-width:auto;scrollbar-color:auto}
 ::-webkit-scrollbar{width:var(--ds-scrollbar-size);height:var(--ds-scrollbar-size)}
 ::-webkit-scrollbar-track{background:var(--ds-scrollbar-track);border-radius:var(--ds-scrollbar-radius)}
 ::-webkit-scrollbar-thumb{background:var(--ds-scrollbar-thumb);border:2px solid var(--ds-scrollbar-track);border-radius:var(--ds-scrollbar-radius);min-height:32px;min-width:32px}
 ::-webkit-scrollbar-thumb:hover{background:var(--ds-scrollbar-hover)}
 ::-webkit-scrollbar-thumb:active{background:var(--ds-action-hover)}
 ::-webkit-scrollbar-corner{background:var(--ds-scrollbar-track)}
}
@media(forced-colors:active){:where(*){scrollbar-color:auto}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:Canvas}::-webkit-scrollbar-thumb{background:ButtonText;border-color:Canvas}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:Highlight}}

/* 412 × 914 phone reference: useful map height, readable disclosures and inputs. */
@media(max-width:480px){
 #observatory #globe{height:34dvh;min-height:260px;max-height:340px}
 #observatory #selected-country{top:calc(34dvh - 60px);bottom:auto;max-width:calc(100% - 32px)}
 #risk-panel,#policy-panel{overflow-wrap:anywhere}
 #observatory .source-details > summary{min-height:44px;box-sizing:border-box;padding-block:var(--airisk-foundation-space-10px);font-size:var(--airisk-foundation-type-14px)}
 .journey-dialog,.ds-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
 .journey-dialog-head{gap:var(--airisk-foundation-space-12px)}.journey-dialog-head .journey-close{flex-shrink:0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:var(--airisk-foundation-type-16px)!important;max-width:100%}
}

/* Runtime measurements; visual treatments stay in component styles. */
.month-bar{height:var(--month-height)}
#risk-donut{background:conic-gradient(var(--ds-incident) 0 var(--incident-share,0%),var(--ds-hazard) var(--incident-share,0%) 100%)}
#incident-bar,#hazard-bar{width:var(--risk-share)}
.policy-status-bar span{width:var(--policy-share)}

/* Shared disclosures preserve native keyboard and expanded-state semantics. */
summary{box-sizing:border-box;min-height:var(--ds-target);padding-block:var(--ds-space-2);font-size:var(--ds-type-ui);line-height:var(--ds-line-body);cursor:pointer;overflow-wrap:anywhere}
summary::marker{content:'▶  ';color:var(--ds-action)}
details[open]>summary::marker{content:'▼  '}
/* Label/value rows: keep labels aligned and allow long evidence to wrap. */
.ds-facts{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:var(--ds-space-2) var(--ds-space-4);margin:var(--ds-space-4) 0;font-size:var(--ds-type-ui);line-height:var(--ds-line-body)}
.ds-facts dt{font-weight:var(--ds-weight-semibold);color:var(--ds-text-muted)}
.ds-facts dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--ds-text)}
@media(max-width:540px){.ds-facts{grid-template-columns:minmax(0,1fr);row-gap:var(--ds-space-1)}.ds-facts dd+dt{margin-top:var(--ds-space-3)}}

/* Shared in-page confirmations and accessible field validation. */
dialog.ds-confirm{width:560px;max-width:calc(100vw - var(--ds-space-8));max-height:calc(100dvh - var(--ds-space-8));padding:var(--ds-space-6);overflow:auto;overscroll-behavior:contain;font-family:var(--ds-font-body)}
.ds-confirm h2{margin:0;font-size:var(--ds-type-section);line-height:var(--ds-line-heading)}
.ds-confirm p{margin:var(--ds-space-4) 0 var(--ds-space-6);font-size:var(--ds-type-body);line-height:var(--ds-line-body);white-space:pre-line;overflow-wrap:anywhere}
.ds-confirm-actions{display:flex;justify-content:flex-end;align-items:stretch;gap:var(--ds-space-3);flex-wrap:wrap}
.ds-confirm-actions button{flex:1 1 0;min-width:0;min-height:var(--ds-action-height);margin:0}
.ds-field-error{display:block;color:var(--ds-error);font-size:var(--ds-type-ui);line-height:var(--ds-line-body);overflow-wrap:anywhere}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--ds-error)}
@media(max-width:540px){dialog.ds-confirm{padding:var(--ds-space-4)}.ds-confirm h2{font-size:var(--ds-type-card)}}
