.page-sub{margin:var(--sp-6) 0 0;max-width:100%;font-size:var(--text-sm);line-height:var(--sub-lh);color:var(--sub-fg);text-wrap:pretty}.page-sub b{color:var(--text-2);font-weight:var(--fw-semibold)}.page-sub--sm{font-size:var(--text-2xs)}button,input,optgroup,select,textarea{font:inherit}.btn{--_h:var(--ctl-h-md);--_px:var(--sp-16);--_fs:var(--text-sm);--_gap:var(--sp-6);--_icon:var(--btn-icon-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--_gap);height:var(--_h);padding:0 var(--_px);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--_fs);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .16s,background-image .16s,color .16s,border-color .16s,box-shadow .2s,filter .13s,transform var(--dur-press) var(--ease-spring),scale var(--dur-press) var(--ease-spring)}.btn>svg{display:block;flex:none;width:var(--_icon);height:var(--_icon)}.btn:active:not(:disabled){scale:var(--press-scale)}.btn--plate:active:not(:disabled){scale:1}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:default}.btn:disabled:active{scale:1}.btn--xs{--_h:var(--ctl-h-xs);--_px:0;--_fs:var(--btn-fs-sm);--_gap:var(--sp-4);--_icon:var(--btn-icon-md)}.btn--sm{--_h:var(--ctl-h-sm);--_px:var(--sp-12);--_fs:var(--btn-fs-sm);--_gap:var(--sp-6);--_icon:var(--btn-icon-sm)}.btn--lg{--_h:var(--ctl-h-lg);--_px:var(--sp-20);--_fs:var(--text-md);--_gap:var(--sp-8);--_icon:var(--btn-icon-lg)}.btn--icon,.btn--quiet{color:var(--text-2);background:var(--btn-quiet-bg);border-color:var(--btn-quiet-bd)}@media (hover:hover) and (pointer:fine){.btn--icon:not(.btn--primary):not(.btn--ghost):not(.btn--danger):not(.btn--tg):not(.btn--field):not(.btn--glass):not(.btn--soft):not(.btn--dashed):hover:not(:disabled),.btn--quiet:hover:not(:disabled){color:var(--text-1);background:var(--btn-quiet-bg-hover)}}.btn--icon.btn--field,.btn--icon.btn--ghost,.btn--icon.btn--glass{border-color:transparent;background:transparent}.btn--icon.btn--soft,.btn--icon.btn--soft:active:not(:disabled),.btn--icon.btn--soft:focus-visible,.btn--icon.btn--soft:hover:not(:disabled){border-color:transparent}.btn--icon.btn--ghost{--_ibd:var(--btn-ghost-bd-hover)}.btn--icon.btn--glass{--_ibd:var(--btn-glass-bd-hover)}.btn--icon.btn--field{--_ibd:var(--inp-bd-hover);box-shadow:none}.btn--icon.btn--field:not(.is-active):not(.is-open):active:not(:disabled),.btn--icon.btn--field:not(.is-active):not(.is-open):focus-visible,.btn--icon.btn--ghost:not(.is-active):not(.is-open):active:not(:disabled),.btn--icon.btn--ghost:not(.is-active):not(.is-open):focus-visible,.btn--icon.btn--glass:not(.is-active):not(.is-open):active:not(:disabled),.btn--icon.btn--glass:not(.is-active):not(.is-open):focus-visible{border-color:var(--_ibd);background:var(--btn-quiet-bg-hover)}@media (hover:hover) and (pointer:fine){.btn--icon.btn--field:not(.is-active):not(.is-open):hover:not(:disabled),.btn--icon.btn--ghost:not(.is-active):not(.is-open):hover:not(:disabled),.btn--icon.btn--glass:not(.is-active):not(.is-open):hover:not(:disabled){border-color:var(--_ibd);background:var(--btn-quiet-bg-hover)}}.btn--primary{color:var(--btn-primary-fg);background:var(--btn-primary-bg);border-color:var(--btn-primary-bd);box-shadow:var(--btn-primary-sh)}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);filter:var(--btn-primary-filter-hover)}}.btn--ghost{color:var(--text-2);background:var(--btn-ghost-bg);border-color:var(--btn-ghost-bd)}@media (hover:hover) and (pointer:fine){.btn--ghost:hover:not(:disabled){color:var(--text-1);background:var(--btn-ghost-bg-hover);border-color:var(--btn-ghost-bd-hover)}}.btn--danger{color:var(--btn-danger-fg);background:var(--btn-danger-bg);border-color:var(--btn-danger-bd)}@media (hover:hover) and (pointer:fine){.btn--danger:hover:not(:disabled){background:var(--btn-danger-bg-hover)}}.btn--icon.btn--danger{color:var(--text-2);background:var(--btn-quiet-bg);border-color:var(--btn-quiet-bd)}.btn--icon.btn--danger:active:not(:disabled),.btn--icon.btn--danger:focus-visible{color:var(--btn-danger-fg);background:var(--btn-danger-bg-hover);border-color:var(--btn-quiet-bd)}@media (hover:hover) and (pointer:fine){.btn--icon.btn--danger:hover:not(:disabled){color:var(--btn-danger-fg);background:var(--btn-danger-bg-hover);border-color:var(--btn-quiet-bd)}}.btn--danger:active:not(:disabled){scale:var(--press-scale-strong)}.btn--danger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--neg)}.btn--danger:disabled{color:var(--text-3);background:transparent;border-color:transparent;scale:1}.btn--glass{color:var(--text-2);background:var(--btn-glass-bg);border-color:var(--btn-glass-bd)}@media (hover:hover) and (pointer:fine){.btn--glass:hover:not(:disabled){color:var(--text-1);border-color:var(--btn-glass-bd-hover)}}.btn--soft{color:var(--btn-soft-fg);background:var(--btn-soft-bg);border-color:var(--btn-soft-bd)}@media (hover:hover) and (pointer:fine){.btn--soft:hover:not(:disabled){background:var(--btn-soft-bg-hover);border-color:var(--btn-soft-bd-hover)}}.btn--ghost.is-active,.btn--glass.is-active,.btn--quiet.is-active{color:var(--btn-soft-fg);background:var(--btn-soft-bg);border-color:var(--btn-soft-bd)}@media (hover:hover) and (pointer:fine){.btn--ghost.is-active:hover:not(:disabled),.btn--glass.is-active:hover:not(:disabled),.btn--quiet.is-active:hover:not(:disabled){color:var(--btn-soft-fg);background:var(--btn-soft-bg-hover)}}.btn--dashed{color:var(--btn-dashed-fg);background:var(--btn-dashed-bg);border-style:dashed;border-color:var(--btn-dashed-bd)}@media (hover:hover) and (pointer:fine){.btn--dashed:hover:not(:disabled){background:var(--btn-dashed-bg-hover);border-color:var(--btn-dashed-bd-hover)}}.btn--icon{width:var(--_h);padding:0;border-radius:var(--radius-sm)}.btn--field{color:var(--text-2);background:var(--inp-bg);border-color:var(--inp-bd);box-shadow:var(--inp-sh)}@media (hover:hover) and (pointer:fine){.btn--field:hover:not(:disabled){color:var(--text-1);border-color:var(--inp-bd-hover)}}.btn--tg{color:var(--btn-tg-fg);background:var(--btn-tg-bg);border-color:transparent}@media (hover:hover) and (pointer:fine){.btn--tg:hover:not(:disabled){filter:brightness(1.06)}}.btn--link{height:auto;padding:var(--sp-6) 0;margin:calc(-1 * var(--sp-6)) 0;border-color:transparent;background:none;color:var(--acc-text);font-weight:var(--fw-medium)}@media (hover:hover) and (pointer:fine){.btn--link:hover:not(:disabled){text-decoration:underline}}.btn--link.btn--muted{color:var(--text-3)}@media (hover:hover) and (pointer:fine){.btn--link.btn--muted:hover:not(:disabled){color:var(--text-2);text-decoration:none}}.btn--start{justify-content:flex-start;text-align:left}.btn--round{border-radius:var(--radius-circle)}.btn--pill{border-radius:var(--radius-pill)}.btn--block{width:100%}.btn--end{margin-left:auto}@media (prefers-reduced-motion:reduce){.btn{transition:background-color .16s,color .16s,border-color .16s}.btn:active:not(:disabled){scale:1}}.input{--_h:var(--ctl-h-md);--_fs:var(--inp-fs);box-sizing:border-box;width:100%;height:var(--_h);padding:0 var(--inp-px);color:var(--inp-fg);background:var(--inp-bg);border:1px solid var(--inp-bd);border-radius:var(--inp-radius);box-shadow:var(--inp-sh);font-family:var(--font-ui);font-size:var(--_fs);line-height:1;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input::placeholder{color:var(--text-3)}@media (hover:hover) and (pointer:fine){.input:hover:not(:disabled):not(:focus){border-color:var(--inp-bd-hover)}}.input:focus{border-color:var(--inp-bd-focus);box-shadow:var(--inp-ring-focus)}.input:disabled{color:var(--inp-disabled-fg);background:var(--inp-disabled-bg);cursor:not-allowed}.input.is-invalid,.input[aria-invalid=true]{border-color:var(--neg)}.input--sm{--_h:var(--ctl-h-sm)}.input--lg{--_h:var(--ctl-h-lg);--_fs:var(--inp-fs)}.input--code{--_fs:var(--text-2xl);text-align:center;letter-spacing:var(--code-track)}.input--area{height:auto;min-height:calc(var(--ctl-h-lg) + var(--sp-6));padding:var(--sp-12) var(--inp-px);line-height:1.45;resize:vertical}.input--sunken{background:var(--inp-bg-sunken)}.input--search{background:var(--inp-search-bg)}.input--date,.input--select{cursor:pointer}.input--bare::-webkit-inner-spin-button,.input--bare::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input--bare[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}[data-theme=dark] .input--date::-webkit-calendar-picker-indicator{filter:invert(.7)}.field{display:flex;flex-direction:column;gap:var(--sp-6)}.field__label{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-2);padding-left:var(--sp-2)}.field__hint{font-size:var(--text-2xs);color:var(--text-3)}.field__err{color:var(--neg)}.field__err,.field__ok{font-size:var(--text-xs)}.field__ok{color:var(--pos)}.input-icon{position:relative;display:flex;align-items:center}.input-icon>svg{position:absolute;left:var(--inp-px);color:var(--text-3);pointer-events:none}.input-icon>.input{padding-left:calc(var(--inp-px) * 2 + 15px)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--sp-20);background:var(--modal-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modal-fade .15s ease}.modal{--_w:var(--modal-w);position:relative;width:100%;max-width:var(--_w);max-height:86vh;display:flex;flex-direction:column;background:var(--modal-bg);border:1px solid var(--modal-bd);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);animation:modal-pop .18s var(--ease-out)}.modal--sm{--_w:420px}.modal--lg{--_w:640px}.modal--xl{--_w:780px}.modal-overlay--over{z-index:var(--z-modal-over)}.modal--pad{padding:var(--sp-20);gap:var(--sp-12)}.modal--pad .modal__foot{padding:0;margin-top:var(--sp-4)}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-12);padding:var(--sp-16) var(--sp-20) var(--sp-12)}.modal__title{margin:0;font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-1)}.modal__body{display:flex;flex-direction:column;gap:var(--sp-12);padding:var(--sp-4) var(--sp-20);overflow-y:auto}.modal__foot{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-16) var(--sp-20) var(--sp-16)}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.tabs{display:inline-flex;align-items:stretch;box-sizing:border-box;height:var(--ctl-h-md);gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--tabs-bd);border-radius:var(--radius-md);background:var(--tabs-bg)}.tabs--full{display:flex;width:100%}.tabs--full .tabs__item{flex:1 1;justify-content:center}.tabs__item{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-6);padding:0 var(--sp-12);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast),color var(--dur-fast)}.tabs__item>svg{width:14px;height:14px;flex:0 0 auto}@media (hover:hover) and (pointer:fine){.tabs__item:hover:not(.is-active){color:var(--text-1)}}.tabs__item.is-active{color:var(--accent-fg);background:var(--accent-fill);box-shadow:var(--accent-sh-raised)}.tabs__count{min-width:18px;height:18px;padding:0 var(--sp-4);display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--glass-highlight);color:inherit;font-size:var(--text-2xs);font-weight:var(--fw-bold)}.tabs__item.is-active .tabs__count{background:var(--tabs-count-active-bg)}.badge{display:inline-flex;align-items:center;gap:var(--sp-4);padding:var(--badge-py) var(--sp-8);border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-num);font-size:var(--text-2xs);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.badge--pos{color:var(--pos);background:var(--pos-soft)}.badge--neg{color:var(--neg);background:var(--neg-soft)}.badge--warn{color:var(--warn);background:var(--warn-soft)}.badge--accent{color:var(--tag);background:var(--tag-soft)}.badge--neutral{color:var(--badge-neutral-fg);background:var(--glass-highlight)}.badge--sm{padding:1px var(--sp-8);font-size:var(--text-2xs)}.badge--lg{padding:var(--sp-4) var(--sp-12);font-size:var(--text-sm)}.badge--outline{background:transparent;border-color:color-mix(in srgb,currentColor 35%,transparent)}.badge--fill{color:var(--accent-fg);background:var(--accent-fill)}.badge--caps{text-transform:uppercase;letter-spacing:var(--label-track);font-size:var(--text-2xs)}.badge--toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity var(--dur-fast)}@media (hover:hover) and (pointer:fine){.badge--toggle:hover{opacity:.75}}.select{--_h:var(--ctl-h-md);box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--sp-8);width:100%;min-height:var(--_h);padding:0 var(--sp-12);color:var(--inp-fg);background:var(--inp-bg);border:1px solid var(--inp-bd);border-radius:var(--inp-radius);box-shadow:var(--inp-sh);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}@media (hover:hover) and (pointer:fine){.select:hover:not(:disabled){border-color:var(--inp-bd-hover)}.select:disabled:hover{border-color:var(--inp-bd)}}.select:disabled{color:var(--inp-disabled-fg);background:var(--inp-disabled-bg);cursor:not-allowed}.select.is-open{border-color:var(--inp-bd-focus)}.select--sm{--_h:var(--ctl-h-sm)}.select--lg{--_h:var(--ctl-h-lg);font-size:var(--inp-fs)}.select__value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium)}.select__value.is-ph{color:var(--text-3);font-weight:var(--fw-regular)}.select__chev,.select__ico{flex:0 0 auto;color:var(--text-3)}.select__chev{transition:transform var(--dur-base) var(--ease-out)}.select.is-open .select__chev{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.select__chev{transition:none}}.field--suffixed{position:relative}.field--suffixed .input{padding-right:var(--sp-32)}.field__suffix{position:absolute;right:var(--inp-px);top:50%;transform:translateY(-50%);font-size:var(--text-sm);color:var(--text-3);pointer-events:none}.card{position:relative;background-color:var(--card-bg);background-image:var(--card-sheen);border:1px solid var(--card-bd);border-radius:var(--card-radius);box-shadow:var(--card-sh)}.card--pad{padding:var(--card-pad)}.card--inset{--card-radius:var(--radius-md);--card-sh:none}.card--dashed{border-style:dashed}.notice{padding:var(--sp-8) var(--sp-12);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.45;text-align:left}.notice--neg{color:var(--neg);background:var(--neg-soft);border-color:var(--neg-soft-bd)}.notice--pos{color:var(--pos);background:var(--pos-soft);border-color:var(--pos-soft-bd)}.notice--warn{color:var(--warn);background:var(--warn-soft);border-color:var(--warn-soft-bd)}.notice--accent{color:var(--text-1);background:var(--accent-soft);border-color:var(--accent-soft-bd)}.notice--lg{padding:var(--sp-12) var(--sp-16);font-size:var(--text-sm)}.accent-bar{flex-shrink:0;width:var(--accent-bar-w);height:var(--accent-bar-h);border-radius:var(--radius-hair);background:var(--accent-fill);box-shadow:var(--accent-sh)}.note{display:flex;align-items:flex-start;gap:var(--sp-6);margin:0;font-size:var(--text-xs);line-height:1.45}.note,.note svg{color:var(--text-3)}.note svg{flex-shrink:0;margin-top:1px}.note--sm{font-size:var(--text-2xs)}.empty{margin:0;padding:var(--sp-16) var(--sp-12);text-align:center;font-size:var(--text-xs);line-height:1.45;color:var(--text-3)}.empty--page{padding:var(--empty-pad);font-size:var(--text-sm)}.empty--tight{padding:var(--sp-10)}.empty--plot{display:grid;place-items:center;min-height:var(--plot-empty-h);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-3)}.loading{margin:0;padding:var(--sp-16) var(--sp-12);display:flex;align-items:center;justify-content:center;gap:var(--sp-8);text-align:center;font-size:var(--text-xs);line-height:1.45;color:var(--text-3)}.loading--page{padding:var(--empty-pad);font-size:var(--text-sm)}.loading:after{content:"";width:var(--dot-xs);height:var(--dot-xs);border-radius:var(--radius-circle);flex:0 0 auto;background:currentColor;box-shadow:calc(var(--dot-xs) * 2) 0 0 currentColor,calc(var(--dot-xs) * 4) 0 0 currentColor;margin-right:calc(var(--dot-xs) * 4);animation:loading-dots 1.1s var(--ease-out) infinite}@keyframes loading-dots{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading:after{animation:none;opacity:.65}}.drag-handle{flex:0 0 auto;display:grid;place-items:center;width:var(--tap-min);height:var(--tap-min);margin:calc((var(--tap-min) - var(--text-sm)) / -2) calc(var(--sp-6) / -1);color:var(--text-3);font-size:var(--text-sm);line-height:1;letter-spacing:-2px;border-radius:var(--radius-xs);cursor:-webkit-grab;cursor:grab;touch-action:none;transition:color .15s var(--ease-out),background .15s var(--ease-out)}@media (hover:hover) and (pointer:fine){.drag-handle:hover{color:var(--text-2);background:var(--glass-highlight)}}.drag-handle:active,.is-dragging .drag-handle{cursor:-webkit-grabbing;cursor:grabbing}.card.is-dragging{opacity:.45;border-color:var(--accent-fill)}.failed{margin:0;padding:var(--sp-16) var(--sp-12);flex-direction:column;gap:var(--sp-10);text-align:center;font-size:var(--text-xs);line-height:1.45;color:var(--text-2)}.failed,.failed__title{display:flex;align-items:center}.failed__title{gap:var(--sp-6);color:var(--neg);font-weight:600}.failed__title svg{flex-shrink:0}.failed--page{padding:var(--empty-pad);font-size:var(--text-sm)}.glass{position:relative;background-color:var(--card-bg);background-image:var(--card-sheen);border:1px solid var(--card-bd);border-radius:var(--card-radius);box-shadow:var(--card-sh);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur)}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,var(--glass-sheen),transparent 35%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.scroll-edges{background:linear-gradient(var(--scroll-bg,var(--modal-bg)) 30%,transparent) top /100% 14px no-repeat local,linear-gradient(transparent,var(--scroll-bg,var(--modal-bg)) 70%) bottom /100% 14px no-repeat local,radial-gradient(farthest-side at 50% 0,var(--scroll-shade),transparent) top /100% 7px no-repeat,radial-gradient(farthest-side at 50% 100%,var(--scroll-shade),transparent) bottom /100% 7px no-repeat}.table{width:100%;border-collapse:collapse;font-size:var(--tbl-cell-size);color:var(--text-1)}.table thead th{padding:var(--tbl-head-py) var(--tbl-head-px);text-align:left;white-space:nowrap;font-size:var(--tbl-head-size);font-weight:var(--tbl-head-weight);text-transform:uppercase;letter-spacing:var(--tbl-head-track);color:var(--tbl-head-color);border-bottom:1px solid var(--line)}.table tbody td{padding:var(--tbl-cell-py) var(--tbl-cell-px);border-bottom:1px solid var(--grid-line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table__panel{cursor:default}.table tbody tr{transition:background var(--dur-fast)}@media (hover:hover) and (pointer:fine){.table tbody tr:not(.table__panel):hover{background:var(--tbl-row-hover)}}@media (prefers-reduced-motion:reduce){.table tbody tr{transition:none}}.table--dense{--tbl-head-py:10px;--tbl-head-px:12px;--tbl-cell-py:10px;--tbl-cell-px:12px}.table--sticky thead th{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-thead);background:var(--tbl-head-bg)}.table td.is-r,.table th.is-r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td.is-l,.table th.is-l{text-align:left}.table--nowrap tbody td{white-space:nowrap}.table-wrap{overflow-x:auto}.bar{height:var(--bar-h);border-radius:var(--radius-pill);background:var(--line);overflow:hidden}.bar__fill{height:100%;width:100%;border-radius:inherit;background:var(--brand-1);transform:scaleX(var(--bar-value,0));transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}@media (prefers-reduced-motion:reduce){.bar__fill{transition:none}}.recharts-cartesian-axis-tick text{font-size:var(--text-2xs)}