
@font-face{font-family:SUIT;font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/SUIT-Variable.woff2') format('woff2')}

:root{
  color-scheme:light;
  --canvas:#f1f2f3;--surface:#fff;--surface-2:#f6f7f8;--surface-3:#e8e8e9;
  --ink:#16191c;--sub:#3d4349;--meta:#585f66;--rule:#e2e3e5;--rule-2:#cfd1d4;--rule-strong:#212529;
  --accent:#ffc700;--accent-edge:#f9dd2f;--accent-ink:#16191c;--accent-soft:#fff4c2;--danger:#b3261e;
  --glass:rgb(255 255 255 / .86);--glass-solid:#fff;--glass-edge:rgb(22 25 28 / .10);--blur:14px;
  --foot:#1b1e21;

  --t-gyose:#00797f;--t-hunbeop:#1f5fc4;--t-ingwon:#8e3fb3;--t-gwonryeok:#b8432a;--t-insik:#4a7a14;

  --d-hapdong:#2176d2;--d-tonghap:#ce6b16;--d-kmc:#147b51;--d-giseong:#173b7a;--d-gijang:#8653b0;--d-goshin:#4a6900;--d-hapshin:#bf3345;--d-joseon:#7a6347;

  --v-yes:#1e6b34;--v-no:#a3261e;--v-cond:#7a5600;--v-silent:#4a5157;--v-unknown:#626a71;
  --font:SUIT,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;

  --t12:12px;--t13:13px;--t14:14px;--t15:15px;--t16:16px;--t18:17px;--t20:18px;--t24:20px;--t30:24px;--t44:28px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:40px;--s16:56px;
  --width:1200px;--gutter:16px;--pad:16px;--r-ctl:4px;--r-pane:0px;--mast:52px;--tap:44px;
  --motion:160ms;--ease:cubic-bezier(.22,1,.36,1);
}
[data-theme=dark]{
  color-scheme:dark;
  --canvas:#121416;--surface:#1b1e21;--surface-2:#22262a;--surface-3:#2c3136;
  --ink:#eceef0;--sub:#c9ced3;--meta:#a2a9b0;--rule:#2c3136;--rule-2:#3e454c;--rule-strong:#eceef0;
  --accent-soft:rgb(255 199 0 / .16);--danger:#ff8a80;
  --glass:rgb(27 30 33 / .84);--glass-solid:#1b1e21;--glass-edge:rgb(255 255 255 / .09);
  --foot:#0b0c0d;
  --t-gyose:#5ccfd6;--t-hunbeop:#7aa7ff;--t-ingwon:#c79bf2;--t-gwonryeok:#ff9a7a;--t-insik:#a7d46f;
  --d-hapdong:#79b8ff;--d-tonghap:#ffa65c;--d-kmc:#5dcc95;--d-giseong:#668cd6;--d-gijang:#bd94d8;--d-goshin:#a2d66e;--d-hapshin:#f1747d;--d-joseon:#d2b98f;
  --v-yes:#7bd389;--v-no:#ff8a80;--v-cond:#e3b341;--v-silent:#c9ced3;--v-unknown:#a2a9b0;
}
[data-kit=index]{--t16:15px;--t18:16px;--s12:32px}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--mast) + 12px)}
html.locked{overflow:hidden}
body[data-topic=gyose]{--tc:var(--t-gyose)}body[data-topic=hunbeop]{--tc:var(--t-hunbeop)}body[data-topic=ingwon]{--tc:var(--t-ingwon)}body[data-topic=gwonryeok]{--tc:var(--t-gwonryeok)}body[data-topic=insik]{--tc:var(--t-insik)}

body[data-topic]{background:radial-gradient(1100px 460px at 12% -120px,color-mix(in srgb,var(--tc) 40%,transparent),transparent 72%) no-repeat,radial-gradient(800px 380px at 92% -80px,color-mix(in srgb,var(--tc) 24%,transparent),transparent 70%) no-repeat,var(--canvas)}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 var(--t16)/1.6 var(--font);letter-spacing:-.4px;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0}
h1,h2,h3,h4{line-height:1.3;letter-spacing:-.7px}
h1{font-weight:800}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;touch-action:manipulation}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 2px var(--ink)}
::selection{background:var(--accent);color:var(--accent-ink)}
img{display:block;max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}
.num,td,.tab{font-variant-numeric:tabular-nums}
.wrap{width:min(var(--width),100% - var(--gutter)*2);margin-inline:auto}
.skip{position:absolute;left:var(--s4);top:0;z-index:70;transform:translateY(-120%);background:var(--accent);color:var(--accent-ink);padding:var(--s2) var(--s4)}
.skip:focus{transform:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.glass{background:var(--glass-solid);border:1px solid var(--glass-edge)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(1.2);backdrop-filter:blur(var(--blur)) saturate(1.2)}
}
@media (prefers-reduced-transparency:reduce){.glass{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}

.mast{position:sticky;top:0;z-index:40;border-width:0 0 1px;border-radius:0;padding-top:env(safe-area-inset-top)}
.mast-in{display:flex;align-items:center;gap:var(--s2);min-height:var(--mast)}
.brand{display:flex;align-items:center;gap:var(--s2);text-decoration:none;flex:none;min-height:var(--tap)}
.brand img{width:84px}
.brand b{font-size:var(--t14);font-weight:760;padding-left:var(--s2);border-left:1px solid var(--rule-2);white-space:nowrap}
.mast-deploy{margin-left:auto;align-self:center;font-size:var(--t12);color:var(--meta);white-space:nowrap;font-variant-numeric:tabular-nums}
.mast-deploy+.mast-acts{margin-left:var(--s2)}
.mast-acts{display:flex;gap:var(--s2);margin-left:auto}
.mast-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);min-width:var(--tap);padding:0 var(--s3);border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:transparent;color:var(--ink);font-size:var(--t14);font-weight:650;white-space:nowrap;text-decoration:none}
.theme-btn{padding:0}
.theme-btn .i-sun,[data-theme=dark] .theme-btn .i-moon{display:none}
[data-theme=dark] .theme-btn .i-sun{display:inline}
.mast-btn:hover,.mast-btn[aria-expanded=true]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}
.crumb{font-size:var(--t13);color:var(--meta);padding-top:var(--s2);overflow-x:auto;scrollbar-width:none}
.crumb::-webkit-scrollbar{display:none}
.crumb ol{display:flex;align-items:center;gap:var(--s1) var(--s2);white-space:nowrap}
.crumb li+li::before{content:'|';margin-right:var(--s2);color:var(--rule-2)}
.crumb a{text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.crumb a:hover{text-decoration:underline}

.foot{margin-top:var(--s16);background:var(--foot);color:#d5dbe0;font-size:var(--t14);padding-bottom:env(safe-area-inset-bottom)}
.foot a{color:#fff}
.foot-main{display:grid;gap:var(--s3);padding-block:var(--s8) var(--s6)}
.foot-main strong{font-size:var(--t18);color:#fff}
.foot-main .foot-desc{color:#c3cad0;max-width:34em}
.foot-main dl{display:grid;gap:var(--s1);margin:0}
.foot-main dl div{display:flex;gap:var(--s3)}
.foot-main dt{color:#b6bec5;min-width:7em}
.foot-main dd{margin:0}
.foot-main p a{display:inline-flex;align-items:center;min-height:var(--tap)}
.foot-base{display:grid;gap:var(--s2);border-top:1px solid #39424a;padding-block:var(--s4) var(--s6);color:#b6bec5;font-size:var(--t13)}

.eyebrow{font-size:var(--t13);font-weight:700;color:var(--meta)}
.eyebrow i,.tag i{display:none}
.lead{font-size:var(--t16);color:var(--sub);max-width:40em}
.cap{font-size:var(--t13);color:var(--meta)}
.src{font-size:var(--t13);color:var(--meta);margin-top:var(--s2)}
.src::before{content:'출처 ';font-weight:700;color:var(--sub)}

.page-head,.home-head{padding-block:var(--s4) var(--s5)}
.page-head h1,.home-head h1{font-size:var(--t30);margin:0 0 var(--s2)}
.sec,.home-section{padding-top:var(--s12)}
.sec-head,.home-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s1) var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--rule-strong);margin-bottom:var(--s4)}
.sec-head h2,.home-section-head h2{font-size:var(--t24);font-weight:700}
.sec-head p,.sec-head .aside,.sec-head>span,.home-section-head>span{font-size:var(--t13);color:var(--meta)}
.more{display:inline-flex;align-items:center;min-height:var(--tap);font-size:var(--t14);font-weight:650}

.panel,.home-article{--pad:16px;background:var(--surface);border-radius:var(--r-pane);padding:var(--pad);min-width:0}
.wrap>.panel,.wrap>section>.panel,.wrap>section>.flow-pane{margin-inline:calc(var(--gutter) * -1)}
.panel+.panel{margin-top:var(--s3)}
:is(.grid-2,.grid-3,.case-cards,.survey-grid,.hub-topics,[style*=grid],#series)>.panel+.panel{margin-top:0}
.panel h2,.panel h3{font-size:var(--t18);margin-bottom:var(--s2)}
.grid-2,.grid-3{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3)}
.tag{display:inline-flex;align-items:center;font-size:var(--t12);font-weight:700;color:var(--sub);white-space:nowrap;background:var(--surface-3);padding:1px 6px}
.note-box{padding:var(--s3) var(--s4);color:var(--sub);font-size:var(--t14);background:var(--surface-2)}
.note-box.warn{background:var(--accent-soft);color:var(--ink)}
.empty-state{background:var(--surface);border-radius:var(--r-pane);padding:var(--s6) var(--s4);text-align:center}
.empty-state p+p{margin-top:var(--s2)}

.fold,.home-sources,.survey-method{margin-top:var(--s3);border-top:1px solid var(--rule);font-size:var(--t13);color:var(--meta)}
.fold-body,.home-sources>ul,.home-sources>ol{display:grid;gap:var(--s2);padding-bottom:var(--s3)}
.fold-body>*{margin:0!important;font-size:inherit;max-width:60em}
.fold-body .note-box{font-size:var(--t13)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--tap);max-width:100%;padding:var(--s2) var(--s4);border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);font-size:var(--t14);font-weight:650;text-decoration:none;white-space:nowrap;color:var(--ink)}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--accent);border-color:var(--accent-edge);color:var(--accent-ink)}
.btn.primary:hover{background:var(--ink);border-color:var(--ink);color:var(--canvas)}
@media (hover:none){.btn.primary:hover{background:var(--accent);border-color:var(--accent-edge);color:var(--accent-ink)}}
.btn.small{padding:var(--s1) var(--s3);font-size:var(--t13)}
.btn[disabled]{opacity:.45;cursor:not-allowed}

.ctl{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s2);margin:var(--s2) calc(var(--pad,16px) * -1);padding:2px var(--pad,16px);overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--pad,16px);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.ctl::-webkit-scrollbar{display:none}
.ctl>span:not(.lab){display:contents}
.ctl:has(select,input:not([type=checkbox])){flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}
.ctl:has(select,input:not([type=checkbox]))>span:not(.lab){display:flex;flex-wrap:wrap;gap:var(--s2)}
.ctl .lab{flex:none;font-size:var(--t13);color:var(--meta);font-weight:650;margin-right:var(--s1)}
main{--pad:var(--gutter)}
.chip{flex:none;min-height:var(--tap);max-width:100%;padding:0 var(--s3);border:0;border-radius:0;background:var(--surface-3);font-size:var(--t14);font-weight:600;color:var(--sub);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}
.chip:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--canvas)}
.chip .n{opacity:.75;font-variant-numeric:tabular-nums}
.chip i{display:inline-block;width:14px;height:3px;background:var(--tc,var(--meta));flex:none}
.chip[aria-pressed=true] i{box-shadow:0 0 0 1px var(--canvas)}
.chip img{width:18px;height:18px;object-fit:contain;border-radius:3px;background:#fff;padding:1px}
.chip.off{opacity:.55;text-decoration:line-through}
.chip input{width:18px;height:18px;margin:0}
select.sel,input.sel{min-height:var(--tap);max-width:100%;min-width:0;border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);padding:0 var(--s2);font-size:16px;color:var(--ink)}
input.sel[type=search]{flex:1 1 12em}
.field{display:flex;gap:var(--s1);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--surface);padding:3px}
.field input{flex:1;min-width:0;min-height:42px;border:0;background:none;padding:0 var(--s3);font-size:16px}
.field input:focus{outline:none}
.field:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.field .btn{min-height:42px}

.den{display:inline-flex;align-items:center;gap:var(--s2);font-weight:700;white-space:nowrap}
.den img{width:24px;height:24px;object-fit:contain;border-radius:4px;background:#fff;padding:1px;flex:none}
.den.lg img{width:32px;height:32px}

[data-theme=dark] .den img{background:#d6dadf;filter:brightness(.93) saturate(.9)}

.st{display:inline-flex;align-items:center;gap:6px;font-size:var(--t13);font-weight:650;white-space:nowrap;color:var(--sub)}
.st i{width:10px;height:10px;border:1.5px solid currentColor;flex:none}
.st[data-st=open] i{background:currentColor}
.st[data-st=meta] i{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.st[data-st=wip] i{background:repeating-linear-gradient(45deg,currentColor 0 1.5px,transparent 1.5px 4px)}
.st[data-st=held] i{border-style:dashed;background:none}

.tbl-wrap{overflow:auto;margin-top:var(--s3);border-top:1px solid var(--rule-strong);max-height:70vh;background:var(--surface);overscroll-behavior-x:contain}
.tbl-wrap:focus-visible{outline:2px solid var(--accent)}
.tbl{font-size:var(--t13)}
.tbl th,.tbl td{padding:8px var(--s3);border-bottom:1px solid var(--rule);text-align:right;white-space:nowrap}
.tbl th:first-child,.tbl td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}
.tbl.wrap-cells th,.tbl.wrap-cells td{white-space:normal;text-align:left;min-width:9em}
.tbl.wrap-cells th:first-child,.tbl.wrap-cells td:first-child{min-width:7em;max-width:40vw}
.tbl thead th{position:sticky;top:0;background:var(--surface-2);font-weight:700;color:var(--ink);z-index:2}
.tbl thead th:first-child{z-index:3;background:var(--surface-2)}
.tbl caption{text-align:left;padding:var(--s2) 0;font-size:var(--t13);color:var(--meta);caption-side:top}
.tbl tbody tr:hover>*{background:var(--surface-2)}

@media (max-width:599px){
  .tbl-wrap:has(.stack){max-height:none;overflow:visible;border-top:1px solid var(--rule-strong)}
  .tbl.stack,.tbl.stack tbody,.tbl.stack tr,.tbl.stack th,.tbl.stack td{display:block;width:auto}
  .tbl.stack thead{display:none}
  .tbl.stack caption{display:block}
  .tbl.stack tr{padding:var(--s3) 0;border-bottom:1px solid var(--rule-2)}
  .tbl.stack th,.tbl.stack td{border:0;padding:2px 0;text-align:left;white-space:normal;position:static;min-width:0;max-width:none;background:none}
  .tbl.stack th{font-size:var(--t15);font-weight:700;margin-bottom:var(--s1)}
  .tbl.stack td{font-size:var(--t14)}
  .tbl.stack td[data-l]::before{content:attr(data-l);display:block;font-size:var(--t12);font-weight:650;color:var(--meta);margin-top:var(--s1)}
  .tbl.stack td:empty{display:none}
  .tbl.stack tbody tr:hover>*{background:none}
}

.clip>:nth-child(n+9){display:none!important}
.clip5>:nth-child(n+6){display:none!important}
.more-btn{margin-top:var(--s2);width:100%}
details.more-table{margin-top:var(--s2)}

main details>summary{cursor:pointer;display:flex;align-items:center;gap:var(--s2);min-height:var(--tap);font-size:var(--t13);font-weight:650;color:var(--sub);list-style:none}
main details>summary::-webkit-details-marker{display:none}
main details>summary::before{content:'';width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform var(--motion);flex:none}
main details[open]>summary::before{transform:rotate(45deg)}
main details>summary:hover{color:var(--ink)}
.changes summary::before,.tour-card>summary::before{content:none}

.notes li{position:relative;padding:var(--s2) 0 var(--s2) var(--s5);border-bottom:1px solid var(--rule);font-size:var(--t14);color:var(--sub)}
.notes li::before{content:'';position:absolute;left:2px;top:18px;width:8px;height:2px;background:var(--meta)}
.cite{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;background:var(--surface);padding:var(--s4);border-radius:var(--r-pane)}
.cite p{flex:1 1 24em;font-size:var(--t14)}
.related{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s2)}
.related a{display:block;background:var(--surface);border-radius:var(--r-pane);padding:var(--s4);text-decoration:none}
.related a:hover h3{text-decoration:underline}
.related h3{font-size:var(--t15);margin-top:var(--s1)}
.related p{font-size:var(--t13);color:var(--meta);margin-top:var(--s1)}
.quote{background:var(--surface-2);padding:var(--s3) var(--s4);font-size:var(--t15);white-space:pre-wrap}

dialog.dlg{border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);padding:0;width:calc(100vw - 16px);max-width:720px;max-height:calc(100dvh - 16px)}
dialog.dlg[open]{display:flex;flex-direction:column}
dialog.dlg::backdrop{background:rgb(0 0 0 / .55)}
.dlg-head{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2);padding:var(--s4);border-bottom:1px solid var(--rule);flex:none}
.dlg-head h2{font-size:var(--t18)}
.dlg-acts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.dlg-body{padding:var(--s4);overflow:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}
.dlg-body>*+*{margin-top:var(--s2)}
.dlg-foot{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:space-between;align-items:center;padding:var(--s3) var(--s4);border-top:1px solid var(--rule);flex:none}
dialog.viewer{max-width:1100px;height:calc(100dvh - 16px)}
dialog.viewer .dlg-body{padding:0}
dialog.viewer iframe,dialog.viewer img{display:block;width:100%;height:100%;border:0;background:#525659;object-fit:contain}
@media (prefers-reduced-motion:no-preference){dialog.dlg[open]{animation:dlg-in var(--motion) var(--ease)}dialog.dlg[open]::backdrop{animation:fade-in var(--motion) var(--ease)}}
@keyframes dlg-in{from{opacity:.6;transform:scale(.985)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.viewer-meta{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);font-size:var(--t13);color:var(--meta)}
.viewer-meta b{color:var(--sub)}
.internal{display:inline-flex;align-items:center;font-size:var(--t12);font-weight:800;color:var(--accent-ink);background:var(--accent);padding:1px 8px;width:fit-content}

.ev{display:inline-flex;align-items:center;gap:6px;font-size:var(--t12);font-weight:650;color:var(--sub);white-space:nowrap}
.ev i{width:10px;height:10px;border-radius:50%;border:2px solid currentColor;flex:none}
.ev[data-ev=open] i{background:currentColor}
.ev[data-ev=held] i{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.ev[data-ev=later] i{border-style:dotted}
.ev[data-ev=press] i{border-radius:0;width:9px;height:9px}

.chart{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.chart text{font-family:var(--font);font-size:12px;fill:var(--meta)}
.chart .grid{stroke:var(--rule)}
.chart .grid-decade{stroke:var(--rule);stroke-opacity:.55}
.chart .axis{stroke:var(--rule-strong);stroke-opacity:.7}
.chart .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .ln.dim{stroke-opacity:.18}
.chart .ln-gap{fill:none;stroke-width:1.5;stroke-opacity:.45;stroke-linecap:round}
.chart .ln.hl{stroke-width:3}
.chart .pt{stroke-width:1.5}
.chart .pt.hollow{fill:var(--surface)!important}

.chart .chart-event{pointer-events:none}
.chart .chart-event circle{stroke-width:1.2}
.chart .chart-event path{fill:none;stroke-width:1.3;stroke-linecap:round}
.chart .bar{fill:var(--sub)}
.chart .bar.hl{fill:var(--ink)}
.chart .val{fill:var(--ink);font-weight:650;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.chart .end{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
.chart .lab{fill:var(--ink);font-weight:650}
.chart .thr{stroke:var(--ink);stroke-dasharray:4 3;stroke-width:1.2}
.chart .band{fill:var(--surface-2)}
.chart .scale-note{font-weight:650;fill:var(--sub)}
.chart .axis-hit{cursor:pointer}
.chart .end{font-weight:700;font-size:12px}
.chart .peak{fill:none;stroke-width:1.5}
.chart:focus{outline:none}
.chart:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.readout{padding:var(--s2) 0;font-size:var(--t13);min-width:0;border-top:1px solid var(--rule-strong)}
.readout h4{font-size:var(--t14);margin-bottom:var(--s1);display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3)}
.readout table{font-size:var(--t13)}
.readout tbody{display:block}
.readout tr{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);border-bottom:1px solid var(--rule);min-width:0}
.readout td{padding:3px 0;border:0;min-width:0}
.readout td+td{text-align:right}
.readout .den{gap:4px}
.readout .den img{width:18px;height:18px}
.legend,.home-legend{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font-size:var(--t13);color:var(--sub);margin-top:var(--s2)}
.legend svg{vertical-align:-2px;margin-right:4px}
.multi{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4)}
.multi figure{border-top:1px solid var(--rule-2);padding-top:var(--s2)}
.multi figcaption{font-size:var(--t14);font-weight:700}
.tip{position:fixed;z-index:50;pointer-events:none;max-width:min(320px,calc(100vw - 16px));border-radius:var(--r-ctl);padding:var(--s2) var(--s3);font-size:var(--t13);line-height:1.5;color:var(--ink)}
.tip b{display:block;font-size:var(--t14)}

.hscroll{overflow-x:auto;overscroll-behavior-x:contain}
.swipe-hint{display:flex;align-items:center;gap:var(--s2);font-size:var(--t12);color:var(--meta);margin-top:var(--s1)}

@media (min-width:600px){
  :root{--gutter:24px;--r-pane:10px;--t18:18px;--t20:19px;--t24:22px;--t30:28px;--t44:34px;--s12:48px;--s16:64px}
  .wrap>.panel,.wrap>section>.panel,.wrap>section>.flow-pane{margin-inline:0}
  .panel{--pad:20px}
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
  .related{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s4)}
  .multi{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
  .foot-base{display:flex;flex-wrap:wrap;justify-content:space-between}
  dialog.dlg{width:calc(100vw - 48px);max-height:calc(100dvh - 48px)}
  dialog.viewer{height:calc(100dvh - 24px)}
  .dlg-head{flex-direction:row;align-items:flex-start;justify-content:space-between}
  .dlg-acts{flex-wrap:nowrap;flex-shrink:0}
}
@media (min-width:1024px){
  :root{--gutter:30px;--mast:64px;--t20:20px;--t24:24px;--t30:30px;--t44:40px}
  .brand img{width:104px}
  .brand b{font-size:var(--t16);padding-left:var(--s3)}
  .mast-in{gap:var(--s3) var(--s5)}
  .page-head,.home-head{padding-block:var(--s6)}
  .grid-2{gap:var(--s6)}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .panel{--pad:24px}
  .ctl{flex-wrap:wrap;overflow:visible;margin:var(--s3) 0;padding:0;-webkit-mask-image:none;mask-image:none}
  .ctl>span:not(.lab){display:flex;flex-wrap:wrap;gap:var(--s2)}
  .readout{position:sticky;top:calc(var(--mast) + 12px)}
  .readout tbody{display:table-row-group}
  .readout tr{display:table-row}
  .readout td{border-bottom:1px solid var(--rule)}
  .readout td+td{padding-left:var(--s3)}
  .readout .den img{width:22px;height:22px}
}

@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .btn.small{min-height:34px}
  .chip{font-size:var(--t13)}
  input.sel,select.sel{font-size:var(--t14)}
  main details>summary{min-height:34px}
  .crumb a{min-height:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.mast,.foot{position:static}.mast-acts{display:none}}

.crumb,.ctl .lab{display:none}
@media (min-width:1024px){.crumb{display:block}.ctl .lab{display:inline}}

@media (max-width:1023px){
  .case-row .no,.case-row .res p.cap,.events .cap,.series-notes,.ctl-more{display:none}
}

@media (max-width:1023px){.wide-only{display:none!important}}
@media (max-width:1023px){.readout tr:has(.none){display:none}}
@media (min-width:1024px){.keys>summary{display:none}}
@media (max-width:1023px){.intro-src{display:none}}

.mast-btn.support{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:750}
.mast-btn.support:hover{background:var(--accent-edge);border-color:var(--accent-edge);color:var(--accent-ink)}
main{overflow-x:clip}

.brand img{position:relative;top:2px}

[data-theme=dark] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 37px 61px,rgba(255,255,255,.32),transparent),
    radial-gradient(1px 1px at 151px 23px,rgba(255,255,255,.22),transparent),
    radial-gradient(1px 1px at 89px 173px,rgba(220,230,255,.26),transparent),
    radial-gradient(1.4px 1.4px at 263px 211px,rgba(255,255,255,.3),transparent),
    radial-gradient(1px 1px at 331px 97px,rgba(255,240,220,.18),transparent),
    radial-gradient(1.6px 1.6px at 419px 331px,rgba(255,255,255,.22),transparent);
  background-size:211px 197px,307px 283px,389px 409px,467px 433px,523px 491px,613px 587px}
@media (prefers-reduced-transparency:reduce){[data-theme=dark] body::before{display:none}}

@media (max-width:719px){.mast-acts{gap:var(--s1)}.mast-acts .mast-btn{padding:0 var(--s2)}.mast-acts .theme-btn{padding:0;min-width:36px}}

@media (max-width:420px){.mast-in{gap:var(--s1)}.brand{gap:6px}.brand img{width:72px}.brand b{font-size:var(--t13);padding-left:6px}.mast-acts .mast-btn{padding:0 6px;font-size:var(--t13)}.mast-acts .theme-btn{min-width:34px}}
@media (max-width:1023px){.mast-in{flex-wrap:wrap;padding-block:var(--s1)}}

.intro-on .changes{display:none}
.changes-updated{font-size:var(--t12);font-weight:400;color:var(--meta);text-align:right;white-space:nowrap}
.changes{position:relative;font-size:var(--t13)}
.changes summary{cursor:pointer;padding:0 var(--s2);border:1px solid var(--rule-2);border-radius:var(--r-ctl);background:var(--surface);font-size:var(--t13);font-weight:700;list-style:none;min-height:var(--tap);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;color:var(--ink);white-space:nowrap}
.changes-label{text-decoration:underline;text-underline-offset:.2em}
.changes summary:hover .changes-label{color:var(--sub)}
.changes-new{display:inline-block;width:var(--s2);height:var(--s2);margin-inline-start:var(--s1);border-radius:50%;background:var(--danger);vertical-align:middle}
.changes summary::-webkit-details-marker{display:none}
.changes-in{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:min(380px,calc(100vw - 32px));max-height:70vh;overflow:auto;padding:12px 14px 14px;background:var(--surface);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--r-pane);z-index:80}
.changes-in h3{font-size:var(--t14);margin:12px 0 4px}.changes-in h3 small{font-weight:400;color:var(--meta)}
.changes-in ul{margin:0;padding:0;list-style:none}.changes-in li{padding:3px 0;line-height:1.5}
.changes-in b{font-size:var(--t12);padding:1px 5px;border-radius:var(--r-ctl);margin-right:4px}
.st-ok{background:var(--rule)}.st-run{background:var(--accent-soft)}.st-plan{border:1px solid var(--rule-2)}
.changes-dep{margin:0 0 var(--s2);color:var(--meta);font-size:var(--t12)}
.changes-x{margin-top:var(--s3)}

@media (max-width:1023px),(max-height:650px){.changes-in{position:fixed;top:auto;bottom:var(--gutter);right:var(--gutter);width:min(360px,calc(100% - var(--gutter) * 2));max-width:none;max-height:min(70dvh,calc(100dvh - var(--gutter) * 2))}}

.to-top{position:fixed;right:calc(var(--s4) + env(safe-area-inset-right));bottom:calc(var(--s4) + env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:var(--tap);height:var(--tap);border:1px solid var(--rule-2);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 2px 10px rgb(0 0 0 / .18);cursor:pointer}
.to-top[hidden],html.intro-on .to-top{display:none}
.to-top:hover{background:var(--ink);color:var(--canvas);border-color:var(--ink)}
@media print{.to-top{display:none}}

.mast-acts .mast-btn{min-height:28px;position:relative;font-size:var(--t13);border-radius:4px}
.mast-acts .theme-btn{min-width:28px}
.mast-acts .theme-btn svg{width:16px;height:16px}
.mast-acts .mast-btn::after{content:'';position:absolute;inset:-8px 0}
@media (max-width:420px){.mast-acts .mast-btn{min-height:26px}.mast-acts .theme-btn{min-width:26px}}

.site-updated{font-variant-numeric:tabular-nums}
