:root{--green-50:#f0f7e8;--green-100:#dff0d0;--green-200:#b8dc9c;--green-300:#7dc586;--green-400:#52d46a;--green-500:#4a9a52;--green-600:#3a7a42;--green-700:#2d5a32;--green-800:#1a3020;--green-900:#0c1810;--cream-50:#fffbf2;--cream-100:#faf6ea;--cream-200:#f2ede0;--cream-300:#ece5d3;--cream-400:#d5cfc0;--cream-500:#a89e87;--slate-50:#e8e3d4;--slate-200:#c8c3b5;--slate-400:#8aaa90;--slate-600:#556760;--slate-800:#2e3e32;--slate-900:#0e2016;--info-500:#4a9ad4;--info-700:#2e6d9d;--warning-500:#d4a44a;--warning-700:#a07b2e;--danger-500:#d4524a;--danger-700:#9d3630;--success-500:#4aa86a;--success-700:#2e7a45;--font-serif:"Fraunces", Georgia, serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:13px;--fs-base:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:38px;--fs-4xl:48px;--fs-5xl:64px;--lh-tight:1.15;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.7;--sp-0:0;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-none:0;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-pill:999px;--radius:var(--r-xs);--bw-hair:1px;--bw-base:1.5px;--bw-bold:2px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001f;--shadow-lg:0 12px 40px #0000002e;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--d-fast:.12s;--d-base:.18s;--d-slow:.28s;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-overlay:800;--z-modal:900;--z-toast:1000;--z-tooltip:1100}:root,[data-theme=dark]{--bg:var(--green-900);--bg-2:#122017;--bg-panel:var(--green-800);--bg-elev:#1f3826;--bg-input:#122017;--bg-hover:#52d46a14;--line:#1f3d28;--line-hi:#2e5338;--line-focus:var(--green-400);--ink:var(--slate-50);--ink-2:var(--slate-200);--ink-muted:var(--slate-400);--ink-dim:var(--slate-600);--ink-inverse:var(--slate-900);--brand:var(--green-400);--brand-hover:#6bdd80;--brand-active:#3fb556;--brand-deep:var(--green-600);--grid-line:#8aaa900f;--scrim:#0c1810cc}[data-theme=light]{--bg:var(--cream-200);--bg-2:var(--cream-300);--bg-panel:var(--cream-100);--bg-elev:var(--cream-50);--bg-input:var(--cream-50);--bg-hover:#3a7a420f;--line:var(--cream-400);--line-hi:var(--cream-500);--line-focus:var(--green-600);--ink:var(--slate-900);--ink-2:var(--slate-800);--ink-muted:var(--slate-600);--ink-dim:var(--cream-500);--ink-inverse:var(--cream-50);--brand:var(--green-600);--brand-hover:var(--green-500);--brand-active:var(--green-700);--brand-deep:var(--green-700);--grid-line:#3a7a4214;--scrim:#0e201680}:root{--brand-indicamus-primary:#005b99;--brand-indicamus-ink:#0d1620;--brand-indicamus-line:#d8dee5;--brand-indicamus-ink-soft:#62707f;--brand-indicamus-fold-mark:#c4cdd8;--brand-indicamus-bv-box-bg:#e3eef8;--brand-indicamus-legal-sep:#e5e8ec;--brand-indicamus-paper:#fff;--brand-indicamus-tint-bg:#f4f8fc;--brand-indicamus-on-primary:#fff}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);min-height:36px;font-family:var(--font-sans);font-size:var(--fs-sm);letter-spacing:.01em;border:var(--bw-hair) solid transparent;border-radius:var(--r-xs);color:var(--ink);cursor:pointer;white-space:nowrap;transition:all var(--d-fast) var(--ease-out);-webkit-user-select:none;user-select:none;background:0 0;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--brand);color:var(--ink-inverse);border-color:var(--brand);font-weight:600}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--ink-inverse)}.btn-primary:active{background:var(--brand-active);border-color:var(--brand-active)}.btn-secondary,.btn-default{color:var(--ink);border-color:var(--line-hi);background:0 0}.btn-secondary:hover{border-color:var(--brand);color:var(--brand);background:var(--bg-hover)}.btn-ghost{color:var(--ink-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--brand);background:var(--bg-hover)}.btn-danger{background:var(--danger-500);color:#fff;border-color:var(--danger-500);font-weight:600}.btn-danger:hover{background:var(--danger-700);border-color:var(--danger-700);color:#fff}.btn-link{color:var(--brand);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.btn-link:hover{color:var(--brand-hover);text-decoration:underline}.btn-sm{min-height:28px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}.btn-lg{min-height:48px;padding:var(--sp-3) var(--sp-6);font-size:var(--fs-base)}.btn-icon{padding:var(--sp-2);width:36px;min-width:36px;height:36px}.btn-icon.btn-sm{width:28px;min-width:28px;height:28px;padding:var(--sp-1)}.btn-group{align-items:stretch;display:inline-flex}.btn-group .btn{border-radius:0;margin-right:-1px;position:relative}.btn-group .btn:hover{z-index:1}.btn-group .btn:first-child{border-top-left-radius:var(--r-xs);border-bottom-left-radius:var(--r-xs)}.btn-group .btn:last-child{border-top-right-radius:var(--r-xs);border-bottom-right-radius:var(--r-xs);margin-right:0}.form-group{margin-bottom:var(--sp-5)}.form-label{font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--sp-2);font-weight:600;display:block}.form-label .required{color:var(--danger-500)}.form-help{font-size:var(--fs-xs);color:var(--ink-dim);margin-top:var(--sp-1);line-height:var(--lh-snug)}.form-error{font-size:var(--fs-xs);color:var(--danger-500);margin-top:var(--sp-1);font-family:var(--font-mono)}.form-control,.form-input{width:100%;padding:var(--sp-2) var(--sp-3);min-height:36px;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--ink);background:var(--bg-input);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);transition:border-color var(--d-fast) var(--ease-out), background var(--d-fast) var(--ease-out);font-feature-settings:"tnum";line-height:1.5;display:block}.form-control:hover{border-color:var(--ink-muted)}.form-control:focus{border-color:var(--brand);background:var(--bg-elev);outline:none}.form-control.is-invalid,.form-control[aria-invalid=true]{border-color:var(--danger-500)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #d4524a1f}.form-control::placeholder{color:var(--ink-dim)}.form-control:disabled{opacity:.55;cursor:not-allowed;background:var(--bg-panel)}textarea.form-control{resize:vertical;min-height:88px;line-height:var(--lh-normal)}select.form-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%238AAA90' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center;padding-right:var(--sp-8)}.form-check{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);cursor:pointer;padding:var(--sp-1) 0;display:flex}.form-check input[type=checkbox],.form-check input[type=radio],input.form-check-input{-webkit-appearance:none;appearance:none;border:var(--bw-base) solid var(--line-hi);background:var(--bg-input);cursor:pointer;width:16px;height:16px;min-height:0;transition:all var(--d-fast) var(--ease-out);flex-shrink:0;margin:2px 0 0;padding:0;position:relative}.form-check input[type=checkbox]{border-radius:var(--r-xs)}.form-check input[type=radio]{border-radius:50%}.form-check input:hover{border-color:var(--brand)}.form-check input:checked{background:var(--brand);border-color:var(--brand)}.form-check input[type=checkbox]:checked:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%230C1810' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6L5 8.5L9.5 3.5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;position:absolute;top:0;bottom:0;left:0;right:0}.form-check input[type=radio]:checked:after{content:"";background:var(--ink-inverse);border-radius:50%;position:absolute;top:3px;bottom:3px;left:3px;right:3px}.form-check-label{line-height:var(--lh-snug);color:var(--ink-2)}.form-toggle{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.form-toggle input{opacity:0;width:0;height:0}.form-toggle .toggle-track{background:var(--line-hi);border-radius:var(--r-pill);transition:background var(--d-base) var(--ease-out);cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0}.form-toggle .toggle-track:before{content:"";background:var(--bg-elev);width:14px;height:14px;transition:transform var(--d-base) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.form-toggle input:checked+.toggle-track{background:var(--brand)}.form-toggle input:checked+.toggle-track:before{transform:translate(16px)}.input-group{align-items:stretch;width:100%;display:flex}.input-group .form-control{border-radius:0}.input-group .form-control:first-child{border-top-left-radius:var(--r-xs);border-bottom-left-radius:var(--r-xs)}.input-group .form-control:last-child{border-top-right-radius:var(--r-xs);border-bottom-right-radius:var(--r-xs)}.input-group-addon{padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-muted);background:var(--bg-panel);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);align-items:center;display:inline-flex}.input-group-addon+.form-control,.form-control+.input-group-addon{border-left:0}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);background:0 0}.table th,.table td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);vertical-align:middle;line-height:var(--lh-snug)}.table th{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);background:var(--bg-panel);border-bottom:var(--bw-base) solid var(--line-hi);-webkit-user-select:none;user-select:none;font-weight:600}.table th.sortable{cursor:pointer;transition:color var(--d-fast) var(--ease-out)}.table th.sortable:hover{color:var(--brand)}.table th.sortable:after{content:"↕";margin-left:var(--sp-1);opacity:.4;font-size:.9em}.table th.sortable.asc:after{content:"↑";opacity:1;color:var(--brand)}.table th.sortable.desc:after{content:"↓";opacity:1;color:var(--brand)}.table tbody tr{transition:background var(--d-fast) var(--ease-out)}.table-hover tbody tr:hover{background:var(--bg-hover)}.table-striped tbody tr:nth-child(odd){background:var(--bg-panel)}.table-striped.table-hover tbody tr:hover{background:var(--bg-hover)}.table-compact th,.table-compact td{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}.table-wrap{background:var(--bg-elev);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);overflow:auto}.table .num,.table .text-right{text-align:right;font-variant-numeric:tabular-nums}.card{background:var(--bg-panel);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);transition:border-color var(--d-fast) var(--ease-out)}.card-hover:hover,a.card:hover{border-color:var(--brand);text-decoration:none}.card-header{padding:var(--sp-4) var(--sp-5);border-bottom:var(--bw-hair) solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.card-title{font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:500;line-height:var(--lh-tight);color:var(--ink);margin:0}.card-subtitle{font-size:var(--fs-xs);color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:var(--sp-1)}.card-body{padding:var(--sp-5)}.card-body>:not(:last-child){margin-bottom:var(--sp-3)}.card-footer{padding:var(--sp-3) var(--sp-5);border-top:var(--bw-hair) solid var(--line);justify-content:flex-end;gap:var(--sp-2);background:var(--bg-2);display:flex}.card-meta{padding-top:calc(var(--sp-5) + 12px);position:relative}.card-meta[data-label]:before{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.2em;color:var(--brand);border:var(--bw-hair) solid var(--brand);background:var(--bg);text-transform:uppercase;padding:4px 10px;font-size:10px;font-weight:600;position:absolute;top:-1px;left:-1px}.alert{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:var(--bw-hair) solid var(--line-hi);background:var(--bg-panel);border-radius:var(--r-xs);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--ink-2);border-left-width:3px;display:flex}.alert strong{color:var(--ink);font-weight:500}.alert-info{border-left-color:var(--info-500)}.alert-success{border-left-color:var(--brand)}.alert-warning{border-left-color:var(--warning-500)}.alert-danger,.alert-error{border-left-color:var(--danger-500)}.badge,.tag{align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;border:var(--bw-hair) solid var(--line-hi);color:var(--ink-muted);border-radius:var(--r-xs);white-space:nowrap;padding:3px 9px;font-weight:600;line-height:1.3;display:inline-flex}.badge-primary,.tag-primary{color:var(--brand);border-color:var(--brand)}.badge-solid{background:var(--brand);color:var(--ink-inverse);border-color:var(--brand)}.badge-info{color:var(--info-500);border-color:var(--info-500)}.badge-warning{color:var(--warning-500);border-color:var(--warning-500)}.badge-danger{color:var(--danger-500);border-color:var(--danger-500)}.badge-pill{border-radius:var(--r-pill);padding:3px 11px}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.dwe-tag{background:#ffffff0a}.dwe-tag.dwe-tag--toned{background:0 0}.dwe-tag.badge-solid{background:var(--brand)}@media (prefers-color-scheme:light){.dwe-tag{background:#00000008}}.dwe-inline-edit{align-items:center;gap:var(--sp-1);display:inline-flex}.dwe-inline-edit__input{font:inherit;color:inherit;background:0 0;border:none;border-bottom:1px solid #0000;outline:none;min-width:8ch;padding:2px 4px;transition:border-color .15s}.dwe-inline-edit__input:read-only{cursor:default}.dwe-inline-edit--subtle .dwe-inline-edit__input{border-bottom-color:#ffffff26}.dwe-inline-edit--subtle .dwe-inline-edit__input:focus{border-bottom-color:var(--brand)}.dwe-inline-edit--hover-only .dwe-inline-edit__input:hover{border-bottom-color:var(--ink-dim)}.dwe-inline-edit--hover-only .dwe-inline-edit__input:focus{border-bottom-color:var(--brand)}.dwe-inline-edit--persistent .dwe-inline-edit__input{border-bottom-color:var(--ink-dim)}.dwe-inline-edit--persistent .dwe-inline-edit__input:focus{border-bottom-color:var(--brand)}.dwe-inline-edit__icon{opacity:.4;align-items:center;transition:opacity .15s;display:inline-flex}.dwe-inline-edit:hover .dwe-inline-edit__icon,.dwe-inline-edit:focus-within .dwe-inline-edit__icon{opacity:1}.dwe-inline-edit__input--sm{padding:1px 3px;font-size:.875rem}.dwe-inline-edit__input--md{font-size:1rem}.dwe-inline-edit__input--lg{padding:4px 6px;font-size:1.25rem}@media (prefers-color-scheme:light){.dwe-inline-edit--subtle .dwe-inline-edit__input{border-bottom-color:#00000026}}.empty-state[data-component=empty-state],.empty-state[data-component=empty-section-pickers]{display:flex}.empty-state--section{min-height:200px;padding:var(--sp-6) var(--sp-4);gap:var(--sp-2)}.empty-state--section .empty-art{width:140px;height:80px;margin-bottom:var(--sp-1)}.empty-state--section .empty-title{font-size:18px}.empty-state--section .empty-text{max-width:42ch}.empty-state--section .empty-tips{margin-top:var(--sp-3);padding-top:var(--sp-2);max-width:420px}.nav-tabs{border-bottom:var(--bw-hair) solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:flex}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-sm);color:var(--ink-muted);border:var(--bw-hair) solid transparent;border-bottom:var(--bw-bold) solid transparent;cursor:pointer;transition:all var(--d-fast) var(--ease-out);background:0 0;display:block}.nav-tabs .nav-link:hover{color:var(--ink)}.nav-tabs .nav-link.active{color:var(--brand);border-bottom-color:var(--brand);background:0 0}.nav-pills{gap:var(--sp-1);padding:0;list-style:none;display:flex}.nav-pills .nav-link{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm);color:var(--ink-muted);border-radius:var(--r-xs);transition:all var(--d-fast) var(--ease-out);display:block}.nav-pills .nav-link:hover{color:var(--ink);background:var(--bg-hover)}.nav-pills .nav-link.active{color:var(--ink-inverse);background:var(--brand)}.breadcrumb{gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item a{color:var(--ink-muted)}.breadcrumb-item a:hover{color:var(--brand);text-decoration:none}.breadcrumb-item+.breadcrumb-item:before{content:"·";padding:0 var(--sp-2);color:var(--ink-dim)}.breadcrumb-item.active{color:var(--ink)}.sidebar{background:var(--bg-panel);border-right:var(--bw-hair) solid var(--line);padding:var(--sp-4)}.sidebar-section{margin-bottom:var(--sp-6)}.sidebar-section-title{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);padding:0 var(--sp-2);margin-bottom:var(--sp-2)}.sidebar-nav{padding:0;list-style:none}.sidebar-nav a{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-xs);transition:all var(--d-fast) var(--ease-out);border-left:2px solid #0000;text-decoration:none;display:flex}.sidebar-nav a:hover{color:var(--ink);background:var(--bg-hover);text-decoration:none}.sidebar-nav a.active{color:var(--brand);background:var(--bg-hover);border-left-color:var(--brand)}.modal-backdrop{background:var(--scrim);z-index:var(--z-overlay);padding:var(--sp-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--bg-elev);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);box-shadow:var(--shadow-lg);width:100%;max-width:540px;z-index:var(--z-modal);max-height:calc(100vh - var(--sp-8));flex-direction:column;display:flex}.modal-lg{max-width:800px}.modal-sm{max-width:380px}.modal-header{padding:var(--sp-4) var(--sp-5);border-bottom:var(--bw-hair) solid var(--line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.modal-title{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--ink);margin:0;font-weight:500}.modal-close{color:var(--ink-muted);font-size:var(--fs-xl);cursor:pointer;padding:var(--sp-1);transition:color var(--d-fast) var(--ease-out);background:0 0;border:none;line-height:1}.modal-close:hover{color:var(--ink)}.modal-body{padding:var(--sp-5);line-height:var(--lh-relaxed);color:var(--ink-2);overflow-y:auto}.modal-footer{padding:var(--sp-3) var(--sp-5);border-top:var(--bw-hair) solid var(--line);background:var(--bg-2);justify-content:flex-end;gap:var(--sp-2);display:flex}.dropdown{display:inline-block;position:relative}.dropdown-menu{background:var(--bg-elev);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);min-width:200px;box-shadow:var(--shadow-md);padding:var(--sp-1);z-index:var(--z-dropdown);display:none;position:absolute;top:calc(100% + 4px);left:0}.dropdown.open .dropdown-menu,.dropdown.show .dropdown-menu{display:block}.dropdown-menu.dropdown-menu-right{left:auto;right:0}.dropdown-item{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-xs);cursor:pointer;transition:all var(--d-fast) var(--ease-out);white-space:nowrap;text-decoration:none;display:flex}.dropdown-item:hover{background:var(--bg-hover);color:var(--ink);text-decoration:none}.dropdown-item.active{color:var(--brand);background:var(--bg-hover)}.dropdown-divider{background:var(--line);height:1px;margin:var(--sp-1) 0}.dropdown-header{padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.tooltip-wrap{display:inline-block;position:relative}.tooltip-wrap .tooltip{background:var(--ink);color:var(--ink-inverse);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.05em;border-radius:var(--r-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--d-fast) var(--ease-out);z-index:var(--z-tooltip);padding:5px 9px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip{opacity:1}.progress{background:var(--bg-panel);border-radius:var(--r-pill);width:100%;height:6px;overflow:hidden}.progress-bar{background:var(--brand);height:100%;transition:width var(--d-slow) var(--ease-out)}.spinner{border:2px solid var(--line-hi);border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:32px;height:32px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--bg-panel) 25%, var(--bg-elev) 50%, var(--bg-panel) 75%);border-radius:var(--r-xs);background-size:200% 100%;min-height:16px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.container{width:100%;max-width:1280px;padding:0 var(--sp-5);margin:0 auto}.container-narrow{max-width:720px}.container-wide{max-width:1600px}.stack-1>*+*{margin-top:var(--sp-1)}.stack-2>*+*{margin-top:var(--sp-2)}.stack-3>*+*{margin-top:var(--sp-3)}.stack-4>*+*{margin-top:var(--sp-4)}.stack-6>*+*{margin-top:var(--sp-6)}.stack-8>*+*{margin-top:var(--sp-8)}.row{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.row-start{align-items:flex-start}.row-end{align-items:flex-end}.row-between{justify-content:space-between}.grid-2{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.hidden{display:none!important}.visible{display:block!important}.text-center{text-align:center}.text-right{text-align:right}.text-mono{font-family:var(--font-mono);letter-spacing:.05em}.text-caps{text-transform:uppercase;letter-spacing:.18em;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600}.text-muted{color:var(--ink-muted)}.text-dim{color:var(--ink-dim)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.bg-panel{background:var(--bg-panel)}.bg-elev{background:var(--bg-elev)}.border{border:var(--bw-hair) solid var(--line)}.border-top{border-top:var(--bw-hair) solid var(--line)}.rounded{border-radius:var(--r-xs)}@media print{body{color:#000;background:#fff}.no-print{display:none!important}}