:root{--paper:#faf8f5;--canvas:#f5f1eb;--ground:#ede7dd;--surface:var(--ground);--code-bg:#1e293b;--ink:#2c2e33;--ink-dim:#7a7670;--ink-faint:#adaba7;--ink-reverse:#faf8f5;--sage:#7d9b76;--sky:#8baec4;--amber:#c4943e;--ember:#b85c4a;--contour:#2c2e330f;--border-subtle:#2c2e3314;--border:#2c2e3324;--space-2xs:.125rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--font-display:"Instrument Serif", "EB Garamond", "Garamond", serif;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "DM Mono", "SF Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #2c2e330a;--shadow-md:0 4px 8px #2c2e330f;--transition-fast:.15s ease;--transition-normal:.25s ease;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body,"Inter", system-ui, sans-serif);line-height:1.5;font-weight:var(--weight-normal,400);color:var(--ink,#2c2e33);background-color:var(--paper,#faf8f5);min-height:100%}*{box-sizing:border-box}body{background:var(--paper,#faf8f5);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0}a{color:var(--sky,#8baec4);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display,"Instrument Serif", serif);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33)}:focus-visible{outline:2px solid var(--sky,#8baec4);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.rail{background:var(--paper,#faf8f5);border-right:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-sm,8px) 0;z-index:40;flex-direction:column;flex:0 0 64px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.rail::-webkit-scrollbar{display:none}.rail-nav{padding:0 var(--space-xs,4px);flex-direction:column;flex:1;gap:2px;display:flex}.rail-item{border-radius:var(--radius-sm,4px);width:48px;height:48px;color:var(--ink-dim,#7a7670);transition:color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);justify-content:center;align-items:center;margin:0 auto;text-decoration:none;display:flex;position:relative}.rail-item:hover{color:var(--ink,#2c2e33);background:var(--canvas,#f5f1eb)}.rail-item.is-active{color:var(--ink-reverse,#faf8f5);background:var(--sage,#7d9b76)}.rail-item.is-active:hover{background:color-mix(in srgb, var(--sage,#7d9b76) 88%, transparent)}.rail-item svg{fill:currentColor;width:22px;height:22px}.rail-item:after{content:attr(data-tooltip);border-radius:var(--radius-sm,4px);background:var(--ink,#2c2e33);color:var(--ink-reverse,#faf8f5);font-size:var(--text-xs,12px);font-weight:var(--weight-medium,500);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast,.15s ease);z-index:50;padding:4px 10px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.rail-item:hover:after{opacity:1}.rail-item.rail-tooltip-up:after{top:auto;bottom:0;transform:none}.rail-section-toggle{border-radius:var(--radius-sm,4px);width:48px;height:48px;color:var(--ink-faint,#adaba7);cursor:pointer;transition:color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);background:0 0;border:none;justify-content:center;align-items:center;margin:2px auto 0;display:flex;position:relative}.rail-section-toggle:hover{color:var(--ink,#2c2e33);background:var(--canvas,#f5f1eb)}.rail-section-toggle.is-expanded{color:var(--ink,#2c2e33)}.rail-section-toggle svg{fill:currentColor;width:20px;height:20px}.rail-section-toggle:after{content:attr(data-tooltip);border-radius:var(--radius-sm,4px);background:var(--ink,#2c2e33);color:var(--ink-reverse,#faf8f5);font-size:var(--text-xs,12px);font-weight:var(--weight-medium,500);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast,.15s ease);z-index:50;padding:4px 10px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.rail-section-toggle:hover:after{opacity:1}.rail-admin-items{transition:max-height var(--transition-normal,.25s ease);overflow:hidden}.rail-admin-items.is-expanded{max-height:300px}.rail-admin-items.is-collapsed{max-height:0}.rail-divider{height:1px;margin:var(--space-xs,4px) var(--space-md,16px);background:linear-gradient(to right, transparent, var(--border,#2c2e3324), transparent)}.rail-footer{padding:var(--space-xs,4px);flex-direction:column;align-items:center;gap:2px;display:flex}.rail-health{border-radius:var(--radius-sm,4px);width:48px;height:28px;font-size:10px;font-weight:var(--weight-semibold,600);cursor:default;justify-content:center;align-items:center;display:flex;position:relative}.rail-health:hover:after{content:attr(data-tooltip);border-radius:var(--radius-sm,4px);background:var(--ink,#2c2e33);color:var(--ink-reverse,#faf8f5);font-size:var(--text-xs,12px);white-space:nowrap;pointer-events:none;z-index:50;padding:4px 10px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.rail-health-dot{border-radius:50%;width:8px;height:8px}.rail-health-dot.ok{background:var(--sage,#7d9b76)}.rail-health-dot.error{background:var(--ember,#b85c4a)}.rail-health-dot.loading{background:var(--amber,#c4943e)}.rail-health-dot.unknown{background:var(--ink-faint,#adaba7)}@media (width<=1024px){.rail{border-right:none;border:1px solid var(--border,#2c2e3324);border-radius:var(--radius-md,8px);width:auto;height:auto;padding:var(--space-xs,4px) var(--space-sm,8px);z-index:100;flex-direction:row;position:fixed;top:auto;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #2c2e3314}.rail-nav{flex-direction:row;align-items:center;padding:0}.rail-item,.rail-section-toggle{margin:0}.rail-item:after,.rail-section-toggle:after{top:auto;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.rail-divider{width:1px;height:32px;margin:0 var(--space-xs,4px)}.rail-footer{flex-direction:row;align-items:center;gap:2px;padding:0}.rail-health:hover:after{top:auto;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.rail-item.rail-tooltip-up:after{top:auto;bottom:calc(100% + 6px);transform:translate(-50%)}}@media (width<=640px){.rail{border-bottom:none;border-left:none;border-right:none;border-top:1px solid var(--border,#2c2e3324);width:100%;padding:var(--space-xs,4px) 0;border-radius:0;justify-content:space-around;bottom:0;left:0;transform:none}.rail-nav{justify-content:space-around;width:100%}.rail-item{width:40px;height:40px}.rail-item:after{display:none}.rail-section-toggle{width:40px;height:40px}.rail-section-toggle:after,.rail-divider,.rail-footer,.rail-health{display:none}}.topbar{height:40px;min-height:40px;padding:0 var(--space-lg,24px);background:var(--paper,#faf8f5);border-bottom:1px solid var(--border-subtle,#2c2e3314);justify-content:space-between;align-items:center;gap:var(--space-md,16px);display:flex}.topbar-breadcrumb{align-items:center;gap:var(--space-sm,8px);font-size:var(--text-sm,14px);font-weight:var(--weight-medium,500);color:var(--ink,#2c2e33);flex:1;min-width:0;display:flex}.topbar-breadcrumb-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-end{align-items:center;gap:var(--space-sm,8px);flex-shrink:0;display:flex}.topbar-user{align-items:center;gap:var(--space-sm,8px);display:flex}.topbar-user-name{font-size:var(--text-xs,12px);font-weight:var(--weight-medium,500);color:var(--ink-dim,#7a7670);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.topbar-admin-badge{border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb);color:var(--ink-dim,#7a7670);font-size:10px;font-weight:var(--weight-semibold,600);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:2px 8px;line-height:1.4;display:inline-flex}.topbar-sign-out{border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);color:var(--ink-faint,#adaba7);font-size:var(--text-xs,12px);cursor:pointer;transition:color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);background:0 0;align-items:center;gap:4px;padding:4px 10px;line-height:1;display:inline-flex}.topbar-sign-out:hover{color:var(--ember,#b85c4a);background:#b85c4a0f;border-color:#b85c4a33}.topbar-sign-out svg{width:14px;height:14px}.topbar-token-expiry{color:var(--ink-faint,#adaba7);white-space:nowrap;font-size:10px}@media (width<=640px){.topbar{padding:0 var(--space-md,16px);height:36px;min-height:36px}.topbar-breadcrumb-label{font-size:var(--text-sm,14px)}.topbar-user-name,.topbar-token-expiry{display:none}}.app-shell{background:var(--paper,#faf8f5);min-height:100vh;color:var(--ink,#2c2e33);display:flex}.app-shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-shell-content{padding:var(--space-xl,32px);flex:1;overflow-y:auto}@media (width<=1024px){.app-shell-content{padding:var(--space-lg,24px);padding-bottom:80px}}@media (width<=640px){.app-shell-content{padding:var(--space-md,16px);padding-bottom:64px}}.field-hint{color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px);margin-top:var(--space-2xs,2px);display:block}.field-error{color:var(--ember,#b85c4a);font-size:var(--text-sm,14px);margin-top:var(--space-2xs,2px);display:block}.input-error{border-color:var(--ember,#b85c4a)!important}.button{border-radius:var(--radius-md,8px);border:1px solid var(--sage,#7d9b76);background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);font-weight:var(--weight-semibold,600);font-size:var(--text-sm,14px);cursor:pointer;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);justify-content:center;align-items:center;gap:8px;padding:10px 18px;line-height:1;display:inline-flex}.button:hover{background:color-mix(in srgb, var(--sage,#7d9b76) 88%, transparent)}.button:focus-visible{outline:2px solid var(--sage,#7d9b76);outline-offset:2px}.button.ghost{color:var(--ink,#2c2e33);border-color:var(--border,#2c2e3324);background:0 0}.button.ghost:hover{background:var(--canvas,#f5f1eb)}.button.secondary{background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33);border-color:var(--border,#2c2e3324)}.button.secondary:hover{background:var(--ground,#ede7dd)}.button:disabled{opacity:.5;cursor:not-allowed}.section{background:var(--canvas,#f5f1eb);border-radius:var(--radius-md,4px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-lg,24px);gap:var(--space-md,16px);flex-direction:column;display:flex}.section h3{font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.section p{color:var(--ink-dim,#7a7670);margin:0}.table-wrapper{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm,14px)}.table thead{background:var(--canvas,#f5f1eb)}.table th,.table td{border-bottom:1px solid var(--border-subtle,#2c2e3314);text-align:left;font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);padding:12px 16px}.table th{font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);text-transform:uppercase;font-size:var(--text-xs,12px);letter-spacing:.08em}.table tbody tr:hover{background:var(--ground,#ede7dd)}.table tbody tr:last-child td{border-bottom:none}.form-grid{gap:var(--space-md,16px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.form-grid .field{gap:var(--space-xs,4px);flex-direction:column;display:flex}.form-grid label{font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.08em}.form-grid input,.form-grid select,.form-grid textarea{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s ease);padding:10px 14px}.form-grid textarea{min-height:120px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--sage,#7d9b76);outline:none}.form-actions{gap:var(--space-sm,8px);margin-top:var(--space-sm,8px);display:flex}.status-badge{border-radius:var(--radius-full,9999px);font-weight:var(--weight-semibold,600);font-size:var(--text-xs,12px);border:1px solid var(--border-subtle,#2c2e3314);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.status-badge.ok{color:var(--sage,#7d9b76);background:#7d9b761f;border-color:#7d9b7640}.status-badge.error{color:var(--ember,#b85c4a);background:#b85c4a1f;border-color:#b85c4a40}.notice{border-radius:var(--radius-sm,4px);color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);background:#8baec414;border:1px solid #8baec440;padding:12px 16px}.notice code{background:var(--ground,#ede7dd);border-radius:var(--radius-sm,4px);font-size:var(--text-xs,12px);font-family:var(--font-mono,"JetBrains Mono", monospace);padding:2px 6px}.notice.notice-error{color:var(--ember,#b85c4a);background:#b85c4a14;border-color:#b85c4a59}.notice.notice-success{color:var(--sage,#7d9b76);background:#7d9b7614;border-color:#7d9b7659}.action-form-inline{gap:var(--space-md,16px);flex-direction:column;display:flex}.action-form-inline .form-grid,.action-form-inline .form-actions{margin-top:var(--space-xs,4px)}.entity-form-title{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.inspector-section{gap:var(--space-lg,24px);grid-template-columns:minmax(260px,320px) 1fr;align-items:stretch;display:grid}.inspector-controls{gap:var(--space-md,16px);flex-direction:column;display:flex}.inspector-controls h3{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.inspector-controls p{color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px);margin:0}.json-preview{background:var(--ink,#2c2e33);color:var(--ink-reverse,#faf8f5);border-radius:var(--radius-sm,4px);padding:var(--space-md,16px) var(--space-lg,24px);border:1px solid var(--border,#2c2e3324);font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);max-height:420px;overflow:auto}.config-panel{background:var(--canvas,#f5f1eb);border:1px solid var(--border-subtle,#2c2e3314);border-radius:var(--radius-sm,4px);padding:var(--space-lg,24px);gap:var(--space-md,16px);display:grid}.config-panel-header{justify-content:space-between;gap:var(--space-md,16px);align-items:flex-start;display:flex}.config-panel-header h2{font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.config-panel-header p{margin:var(--space-xs,4px) 0 0;color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px)}.config-panel-status{align-items:center;gap:var(--space-sm,8px);border-radius:var(--radius-full,9999px);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);border:1px solid var(--border-subtle,#2c2e3314);background:var(--ground,#ede7dd);padding:6px 14px;display:inline-flex}.config-panel-status .dot{background:var(--ink-faint,#adaba7);border-radius:50%;width:8px;height:8px}.config-panel-status.status-success{color:var(--sage,#7d9b76);background:#7d9b761f;border-color:#7d9b7640}.config-panel-status.status-success .dot{background:var(--sage,#7d9b76)}.config-panel-status.status-error{color:var(--ember,#b85c4a);background:#b85c4a1f;border-color:#b85c4a40}.config-panel-status.status-error .dot{background:var(--ember,#b85c4a)}.config-panel-status.status-loading .dot{background:var(--amber,#c4943e)}.config-panel-row{gap:var(--space-lg,24px);flex-wrap:wrap;display:flex}.config-field{flex-direction:column;flex:1;gap:6px;min-width:220px;display:flex}.config-field label{font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);font-size:var(--text-xs,12px)}.config-field input,.config-field select{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s ease);padding:10px 14px}.config-field input:focus,.config-field select:focus{border-color:var(--sage,#7d9b76);outline:none}.config-panel-actions{gap:var(--space-sm,8px);align-items:center;display:flex}.workspace-config{animation:fadeInDown var(--transition-normal,.25s) ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.inspector-section{grid-template-columns:1fr}}@media (width<=640px){.button{justify-content:center;width:100%}.form-grid{grid-template-columns:1fr}.config-panel-row{flex-direction:column}}.basecamp-page{gap:var(--space-lg,24px);flex-direction:column;max-width:960px;display:flex}.basecamp-header{gap:var(--space-xs,4px);flex-direction:column;display:flex}.basecamp-title{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-3xl,32px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0;line-height:1.2}.basecamp-subtitle{font-size:var(--text-base,16px);color:var(--ink-dim,#7a7670);margin:0}.basecamp-section-header{justify-content:space-between;align-items:center;gap:var(--space-md,16px);display:flex}.section+.section{position:relative}.section+.section:before{content:"";top:calc(-1 * var(--space-lg,24px) / 2);background:linear-gradient(to right, transparent, var(--border,#2c2e3324), transparent);height:1px;position:absolute;left:10%;right:10%}.basecamp-empty{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670);padding:var(--space-md,16px) 0}.basecamp-empty a{color:var(--sky,#8baec4);font-weight:var(--weight-semibold,600)}.basecamp-trip-grid{gap:var(--space-sm,8px);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.basecamp-trip-card{gap:var(--space-sm,8px);padding:var(--space-md,16px);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);text-decoration:none;display:flex}.basecamp-trip-card:hover{border-color:var(--border,#2c2e3324);background:var(--ground,#ede7dd);text-decoration:none}.basecamp-trip-card-icon{border-radius:var(--radius-sm,4px);width:36px;height:36px;color:var(--sage,#7d9b76);background:#7d9b761a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.basecamp-trip-card-body{gap:var(--space-2xs,2px);flex-direction:column;min-width:0;display:flex}.basecamp-trip-card-name{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.basecamp-trip-card-meta{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7)}.basecamp-view-all{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--sky,#8baec4);text-decoration:none}.basecamp-view-all:hover{text-decoration:underline}.basecamp-stats{gap:var(--space-md,16px);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.basecamp-stat{gap:var(--space-2xs,2px);flex-direction:column;display:flex}.basecamp-stat-value{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-2xl,24px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);line-height:1.2}.basecamp-stat-label{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7);text-transform:uppercase;letter-spacing:.06em}.basecamp-empty-activity{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670);margin:0}.basecamp-activity{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.basecamp-activity li{justify-content:space-between;align-items:center;gap:var(--space-md,16px);padding:var(--space-sm,8px) 0;border-bottom:1px solid var(--contour,#2c2e330f);display:flex}.basecamp-activity li:last-child{border-bottom:none}.basecamp-activity-text{font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.basecamp-activity-date{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7);flex-shrink:0}.basecamp-quick-links{gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.basecamp-chip{border-radius:var(--radius-full,9999px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);align-items:center;padding:6px 14px;text-decoration:none;display:inline-flex}.basecamp-chip:hover{border-color:var(--sage,#7d9b76);color:var(--sage,#7d9b76);background:#7d9b760f;text-decoration:none}@media (width<=640px){.basecamp-page{gap:var(--space-md,16px)}.basecamp-trip-grid{grid-template-columns:1fr}.basecamp-stats{gap:var(--space-sm,8px);grid-template-columns:1fr 1fr}.basecamp-section-header{flex-direction:column;align-items:flex-start}}.action-deck{background:var(--paper,#faf8f5);border-radius:var(--radius-md,8px);padding:var(--space-lg,24px);border:1px solid var(--border,#2c2e3324);gap:var(--space-lg,24px);flex-direction:column;display:flex}.action-deck-header{gap:var(--space-md,16px);flex-direction:column;display:flex}.action-deck-header h3{font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.action-deck-header p{margin:var(--space-xs,4px) 0 0;color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px)}.action-deck-tabs{gap:var(--space-sm,8px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.action-tab{gap:var(--space-sm,8px);padding:var(--space-md,16px);border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);cursor:pointer;transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);text-align:left;align-items:center;display:flex}.action-tab:hover{border-color:var(--sage,#7d9b76);background:var(--ground,#ede7dd)}.action-tab.is-active{background:var(--ground,#ede7dd);border-color:var(--sage,#7d9b76)}.action-tab-icon{border-radius:var(--radius-sm,4px);background:var(--border-subtle,#2c2e3314);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.action-tab-icon svg{width:18px;height:18px}.action-tab-copy{flex-direction:column;gap:2px;display:flex}.action-tab-copy strong{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33)}.action-tab-copy small{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.action-tab.tone-create .action-tab-icon{color:var(--sage,#7d9b76);background:#7d9b7626}.action-tab.tone-update .action-tab-icon{color:var(--sky,#8baec4);background:#8baec42e}.action-tab.tone-delete .action-tab-icon{color:var(--ember,#b85c4a);background:#b85c4a2e}.action-tab.tone-neutral .action-tab-icon{background:var(--border-subtle,#2c2e3314);color:var(--ink-dim,#7a7670)}.action-deck-body{background:var(--canvas,#f5f1eb);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-lg,24px)}@media (width<=720px){.action-deck{padding:var(--space-md,16px)}.action-deck-tabs{grid-template-columns:1fr}}.filter-bar{background:var(--paper,#faf8f5);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-md,16px);gap:var(--space-md,16px);flex-direction:column;display:flex}.filter-bar.tone-highlight{background:var(--canvas,#f5f1eb);border-color:var(--sage,#7d9b76)}.filter-bar-header{justify-content:space-between;gap:var(--space-md,16px);align-items:flex-start;display:flex}.filter-bar-header h3{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);font-family:var(--font-display,"Instrument Serif", serif);margin:0}.filter-bar-header p{margin:var(--space-xs,4px) 0 0;color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px)}.filter-bar-actions{gap:var(--space-sm,8px);display:flex}.filter-bar-grid{gap:var(--space-sm,8px);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.filter-chip{gap:var(--space-xs,4px);flex-direction:column;display:flex}.filter-chip label{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint,#adaba7);font-weight:var(--weight-semibold,600)}.filter-chip input,.filter-chip select{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);transition:border-color var(--transition-fast,.15s ease);padding:8px 12px}.filter-chip input:focus,.filter-chip select:focus{border-color:var(--sage,#7d9b76);outline:none}.filter-chip input::placeholder{color:var(--ink-faint,#adaba7)}.user-suggest-container{position:relative}.user-suggest-dropdown{background:var(--paper,#faf8f5);max-height:240px;color:var(--ink,#2c2e33);border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);z-index:20;padding:var(--space-xs,4px) 0;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.user-suggest-option{width:100%;color:inherit;text-align:left;padding:var(--space-sm,8px) var(--space-md,16px);gap:var(--space-2xs,2px);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.user-suggest-option:hover,.user-suggest-option:focus{background:#7d9b761a;outline:none}.user-suggest-option span{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600)}.user-suggest-option small{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}@media (width<=720px){.filter-bar{padding:var(--space-md,16px)}.filter-bar-actions{flex-direction:column;width:100%}.filter-bar-actions>*{width:100%}}.json-preview-card{background:var(--code-bg,#1e293b);color:var(--ink-reverse,#faf8f5);border:1px solid #94a3b859;border-radius:26px;flex-direction:column;gap:16px;padding:22px 24px;display:flex;box-shadow:0 18px 34px #0f172a47}.json-preview-card header{justify-content:space-between;align-items:center;display:flex}.json-preview-card h3{margin:0;font-size:18px;font-weight:600}.json-preview-status{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--ink-reverse,#faf8f5) 65%, transparent);font-size:12px}.json-preview-body{background:color-mix(in srgb, var(--code-bg,#1e293b) 35%, transparent);border:1px solid #94a3b847;border-radius:18px;max-height:360px;padding:18px;font-family:JetBrains Mono,Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;overflow:auto}.json-preview-body pre{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;margin:0}.json-preview-empty{color:color-mix(in srgb, var(--ink-reverse,#faf8f5) 65%, transparent)}.page-hero{background:var(--paper), radial-gradient(circle at 15% 15%, color-mix(in srgb, var(--sage) 12%, transparent), transparent 60%), radial-gradient(circle at 85% 85%, color-mix(in srgb, var(--amber) 10%, transparent), transparent 55%);color:var(--ink);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);isolation:isolate;border-radius:28px;flex-wrap:wrap;gap:24px;padding:32px;display:flex;position:relative;overflow:hidden}.page-hero>*{z-index:1;position:relative}.page-hero-copy{flex-direction:column;flex:320px;gap:14px;display:flex}.page-hero-badge{text-transform:uppercase;letter-spacing:.16em;background:color-mix(in srgb, var(--sage) 25%, var(--paper));border:1px solid var(--sage);color:color-mix(in srgb, var(--sage) 50%, var(--ink));border-radius:999px;align-self:flex-start;padding:6px 12px;font-size:12px;font-weight:600}.hero-chip{text-transform:uppercase;letter-spacing:.16em;background:color-mix(in srgb, var(--sage) 25%, var(--paper));border:1px solid var(--sage);color:color-mix(in srgb, var(--sage) 50%, var(--ink));border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}.page-hero h2{font-size:36px;font-weight:700;font-family:var(--font-display);letter-spacing:-.03em;margin:0}.page-hero p{max-width:560px;color:var(--ink);margin:0;font-size:16px}.page-hero-extra{color:var(--ink);flex-wrap:wrap;gap:10px;margin-top:8px;display:inline-flex}.page-hero-aside{flex-direction:column;flex:280px;align-items:flex-end;gap:20px;display:flex}.page-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.page-hero-metrics{gap:12px;width:min(360px,100%);display:grid}.page-hero-metric{background:var(--canvas);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.page-hero-metric .metric-label{text-transform:uppercase;letter-spacing:.16em;color:var(--ink);font-size:12px}.page-hero-metric .metric-value{letter-spacing:-.02em;font-size:26px;font-weight:700}.page-hero-metric .metric-hint{color:var(--ink);font-size:13px}.page-hero-metric.metric-positive{border-color:color-mix(in srgb, var(--sage) 40%, transparent);background:color-mix(in srgb, var(--sage) 12%, var(--canvas))}.page-hero-metric.metric-positive .metric-label,.page-hero-metric.metric-positive .metric-hint{color:color-mix(in srgb, var(--sage) 50%, var(--ink))}.page-hero-metric.metric-warning{border-color:color-mix(in srgb, var(--amber) 45%, transparent);background:color-mix(in srgb, var(--amber) 12%, var(--canvas))}.page-hero-metric.metric-warning .metric-label,.page-hero-metric.metric-warning .metric-hint{color:color-mix(in srgb, var(--amber) 50%, var(--ink))}.page-hero-metric.metric-critical{border-color:color-mix(in srgb, var(--ember) 45%, transparent);background:color-mix(in srgb, var(--ember) 12%, var(--canvas))}.page-hero-metric.metric-critical .metric-label{color:color-mix(in srgb, var(--ember) 60%, var(--ink))}.page-hero-metric.metric-critical .metric-hint{color:color-mix(in srgb, var(--ember) 50%, var(--ink))}@media (width<=740px){.page-hero{padding:26px}.page-hero h2{font-size:30px}.page-hero-aside{align-items:stretch}.page-hero-actions{justify-content:stretch}}.taxonomy-grid{gap:var(--space-lg,24px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.taxonomy-card{padding:var(--space-lg,24px);border-radius:var(--radius-md,8px);background:var(--canvas,#f5f1eb);border:1px solid var(--border-subtle,#2c2e3314);gap:var(--space-md,16px);flex-direction:column;display:flex}.taxonomy-card header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm,8px);display:flex}.taxonomy-header-content{flex-direction:column;flex:1;gap:6px;display:flex}.taxonomy-card header h3{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);align-items:center;gap:var(--space-sm,8px);margin:0;display:inline-flex}.taxonomy-header-icon{border-radius:var(--radius-full,9999px);background:var(--border-subtle,#2c2e3314);width:32px;height:32px;color:var(--ink,#2c2e33);justify-content:center;align-items:center;display:inline-flex}.taxonomy-header-icon svg{width:18px;height:18px}.taxonomy-card header span{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);display:block}.taxonomy-card header .taxonomy-actions{align-items:center;gap:var(--space-xs,4px);display:flex}.taxonomy-card header .button.icon{border-radius:var(--radius-sm,4px);justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:inline-flex}.taxonomy-list{gap:var(--space-sm,8px);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.taxonomy-item{padding:var(--space-sm,8px) var(--space-md,16px);border-radius:var(--radius-sm,4px);background:var(--surface,#ece7df);justify-content:flex-start;align-items:flex-start;gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.taxonomy-item-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.taxonomy-item strong{font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.taxonomy-item small{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.taxonomy-meta{gap:var(--space-sm,8px);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);flex-wrap:wrap;display:flex}.taxonomy-meta span{align-items:center;gap:var(--space-xs,4px);display:inline-flex}.taxonomy-item-actions{align-items:center;gap:var(--space-xs,4px);margin-left:auto;display:flex}.taxonomy-action-button{border:1px solid var(--border-subtle,#2c2e3314);color:var(--ink,#2c2e33);border-radius:var(--radius-sm,4px);cursor:pointer;width:32px;height:32px;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);background:0 0;justify-content:center;align-items:center;display:inline-flex}.taxonomy-action-button:disabled{opacity:.5;cursor:default}.taxonomy-action-button:not(:disabled):hover{background:var(--surface,#ece7df);border-color:var(--border,#2c2e3324)}.taxonomy-edit{color:var(--sky,#8baec4)}.taxonomy-edit:not(:disabled):hover{background:#8baec41f;border-color:#8baec44d}.taxonomy-remove{color:var(--ember,#b85c4a)}.taxonomy-remove:not(:disabled):hover{background:#b85c4a1f;border-color:#b85c4a4d}.taxonomy-edit-form{gap:var(--space-sm,8px);flex-direction:column;width:100%;display:flex}.taxonomy-edit-form input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);padding:var(--space-sm,8px) var(--space-sm,8px);background:var(--paper,#faf8f5);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s ease)}.taxonomy-edit-form input:focus{border-color:var(--sage,#7d9b76);outline:none}.taxonomy-icon-picker{gap:var(--space-sm,8px);flex-direction:column;display:flex}.taxonomy-icon-picker-label{font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);text-transform:uppercase;letter-spacing:.06em}.taxonomy-icon-options{gap:var(--space-xs,4px);flex-wrap:wrap;display:flex}.taxonomy-icon-option{border:1px solid var(--border,#2c2e3324);border-radius:var(--radius-sm,4px);align-items:center;gap:var(--space-xs,4px);background:var(--paper,#faf8f5);color:var(--ink,#2c2e33);cursor:pointer;transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);padding:6px 10px;display:inline-flex}.taxonomy-icon-option svg{width:18px;height:18px}.taxonomy-icon-option:hover{border-color:var(--sky,#8baec4);background:#8baec414}.taxonomy-icon-option.is-selected{border-color:var(--sky,#8baec4);background:#8baec426}.taxonomy-edit-actions{align-items:center;gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.taxonomy-composer{gap:var(--space-sm,8px);align-items:center;display:flex}.taxonomy-composer input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);padding:var(--space-sm,8px);background:var(--paper,#faf8f5);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s ease);flex:1}.taxonomy-composer input:focus{border-color:var(--sage,#7d9b76);outline:none}.taxonomy-composer .button{white-space:nowrap}.taxonomy-empty{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670);padding:var(--space-sm,8px) var(--space-md,16px);border-radius:var(--radius-sm,4px);background:var(--border-subtle,#2c2e3314)}.taxonomy-error{font-size:var(--text-xs,12px);color:var(--ember,#b85c4a);margin:0}.gear-card-c{gap:var(--space-xs,4px);padding:var(--space-sm,8px) var(--space-md,16px);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);flex-direction:column;display:flex;position:relative}.gear-card-c:hover{border-color:var(--border,#2c2e3324);background:var(--canvas,#f5f1eb)}.gear-card-c-main{align-items:center;gap:var(--space-sm,8px);min-width:0;display:flex}.gear-card-c-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gear-card-c-name{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gear-card-c-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);flex-shrink:0}.gear-card-c-category{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7);padding-left:calc(8px + var(--space-sm,8px))}.gear-card-c-actions{gap:var(--space-xs,4px);padding-top:var(--space-xs,4px);transition:opacity var(--transition-fast,.15s ease);display:flex}@media (hover:hover){.gear-card-c-actions{opacity:0}}.gear-card-c-actions.is-visible,.gear-card-c:focus-within .gear-card-c-actions{opacity:1}.gear-card-c-action{border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);cursor:pointer;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);background:0 0;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.gear-card-c-action:hover{background:var(--ground,#ede7dd);border-color:var(--border,#2c2e3324);color:var(--ink,#2c2e33)}.gear-card-c-action--danger:hover{color:var(--ember,#b85c4a);background:#b85c4a1a;border-color:#b85c4a40}.gear-list-view .gear-card-c{align-items:center;gap:var(--space-md,16px);padding:var(--space-xs,4px) var(--space-md,16px);flex-direction:row}.gear-list-view .gear-card-c-main{flex:1;min-width:0}.gear-list-view .gear-card-c-category{flex-shrink:0;width:140px;padding-left:0}.gear-list-view .gear-card-c-actions{opacity:1;flex-shrink:0;width:auto;padding-top:0}.gear-page{gap:var(--space-md,16px);flex-direction:column;display:flex}.gear-page-filter-sticky{top:calc(40px + var(--space-md,16px));z-index:20;position:sticky}.gear-page-view-toggles{background:var(--ground,#ede7dd);border-radius:var(--radius-sm,4px);gap:2px;padding:2px;display:flex}.gear-page-view-toggle{border-radius:var(--radius-sm,4px);width:32px;height:32px;color:var(--ink-dim,#7a7670);cursor:pointer;transition:background var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.gear-page-view-toggle:hover{color:var(--ink,#2c2e33)}.gear-page-view-toggle.is-active{background:var(--paper,#faf8f5);color:var(--ink,#2c2e33)}.gear-page-meta{align-items:center;min-height:24px;display:flex}.gear-page-count{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7)}.gear-page-empty{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670);padding:var(--space-xl,32px) 0;text-align:center}.gear-page-list{gap:var(--space-sm,8px);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.gear-page-list.gear-list-view{flex-direction:column;gap:2px;display:flex}.gear-page-overlay{z-index:100;background:#2c2e334d;justify-content:flex-end;display:flex;position:fixed;inset:0}.gear-page-sheet{background:var(--paper,#faf8f5);border-left:1px solid var(--border,#2c2e3324);width:360px;max-width:90vw;height:100%;padding:var(--space-lg,24px);gap:var(--space-md,16px);flex-direction:column;display:flex;overflow-y:auto}.gear-page-sheet-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md,16px);display:flex}.gear-page-sheet-header h3{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.gear-page-sheet-close{border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);width:32px;height:32px;color:var(--ink-dim,#7a7670);cursor:pointer;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);background:0 0;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.gear-page-sheet-close:hover{background:var(--canvas,#f5f1eb);border-color:var(--border,#2c2e3324)}.gear-page-sheet-details{gap:var(--space-md,16px);margin:0;display:grid}.gear-page-sheet-details dt{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint,#adaba7);font-weight:var(--weight-semibold,600);margin-bottom:var(--space-2xs,2px)}.gear-page-sheet-details dd{font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);font-weight:var(--weight-medium,500);margin:0}@media (width<=640px){.gear-page-list{grid-template-columns:1fr}.gear-page-sheet{width:100%;max-width:100%}}.admin-table{border-radius:var(--radius-none,0);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);overflow-x:auto}.admin-table table{border-collapse:separate;border-spacing:0;width:100%}.admin-table thead{background:var(--canvas,#f5f1eb)}.admin-table th{font-size:13px;font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border-subtle,#2c2e3314);white-space:nowrap;padding:8px 12px}.admin-th-sortable{cursor:pointer}.admin-th-sortable:hover{color:var(--ink,#2c2e33)}.admin-sort-indicator{margin-left:2px;font-size:11px}.admin-table td{color:var(--ink,#2c2e33);border-bottom:1px solid var(--border-subtle,#2c2e3314);padding:8px 12px;font-size:13px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--canvas,#f5f1eb)}.admin-table td:first-child{font-family:var(--font-mono,"JetBrains Mono", monospace);color:var(--ink-dim,#7a7670);font-size:12px}.admin-table-empty{text-align:center;color:var(--ink-faint,#adaba7);padding:24px 16px;font-size:13px}.admin-table-skeleton{background:var(--border-subtle,#2c2e3314);border-radius:2px;width:60%;height:12px;animation:1.4s ease-in-out infinite admin-pulse;display:inline-block}@keyframes admin-pulse{0%,to{opacity:1}50%{opacity:.4}}.admin-table-actions-head{text-align:center;width:80px}.admin-table-actions{gap:var(--space-xs,4px);justify-content:center;display:flex}.admin-table-action-btn{border-radius:var(--radius-sm,4px);cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--transition-fast,.15s), background var(--transition-fast,.15s);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.admin-table-actions .admin-table-action-btn{opacity:1}.admin-table-action-btn.edit{color:var(--sky,#8baec4)}.admin-table-action-btn.edit:hover{background:#8baec426}.admin-table-action-btn.delete{color:var(--ember,#b85c4a)}.admin-table-action-btn.delete:hover{background:#b85c4a1f}@media (hover:hover){tbody tr:hover .admin-table-action-btn{opacity:1}}.slideover-backdrop{z-index:100;background:#2c2e3300;transition:background .2s;position:fixed;inset:0}.slideover-backdrop.visible{background:#2c2e334d}.slideover-panel{z-index:101;background:var(--paper,#faf8f5);border-left:1px solid var(--border,#2c2e3324);box-shadow:var(--shadow-md,0 4px 8px #2c2e330f);flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.slideover-panel.open{transform:translate(0)}.slideover-header{padding:var(--space-lg,24px);border-bottom:1px solid var(--border-subtle,#2c2e3314);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.slideover-title{font-family:var(--font-display,"Instrument Serif", "EB Garamond", "Garamond", serif);font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.slideover-close{background:var(--ground,#ede7dd);border-radius:var(--radius-sm,4px);width:32px;height:32px;color:var(--ink-dim,#7a7670);cursor:pointer;transition:background var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.slideover-close:hover{background:var(--border,#2c2e3324);color:var(--ink,#2c2e33)}.slideover-body{padding:var(--space-lg,24px);flex:1;overflow-y:auto}@media (width<=768px){.slideover-panel{border-radius:var(--radius-lg,12px) var(--radius-lg,12px) 0 0;border-left:none;width:100%}.slideover-header{padding:var(--space-md,16px) var(--space-lg,24px)}.slideover-body{padding:var(--space-md,16px) var(--space-lg,24px) var(--space-xl,32px)}.slideover-close{width:40px;height:40px;font-size:22px}}.loadout-list-page{gap:var(--space-lg,24px);flex-direction:column;display:flex}.loadout-list-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md,16px);flex-wrap:wrap;display:flex}.loadout-list-title{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-2xl,24px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.loadout-list-subtitle{margin:var(--space-xs,4px) 0 0;color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px)}.loadout-list-empty{padding:var(--space-xl,32px);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--canvas,#f5f1eb);color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px);text-align:center}.loadout-card-grid{gap:var(--space-md,16px);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.loadout-card{gap:var(--space-sm,8px);padding:var(--space-lg,24px);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);cursor:pointer;transition:border-color var(--transition-fast,.15s ease), background var(--transition-fast,.15s ease);flex-direction:column;display:flex}.loadout-card:hover{border-color:var(--border,#2c2e3324);background:var(--canvas,#f5f1eb)}.loadout-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-sm,8px);display:flex}.loadout-card-name{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;overflow:hidden}.loadout-card-desc{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.loadout-card-meta{gap:var(--space-md,16px);flex-wrap:wrap;display:flex}.loadout-card-stat{flex-direction:column;gap:2px;display:flex}.loadout-card-stat-label{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint,#adaba7);font-weight:var(--weight-semibold,600)}.loadout-card-stat-value{font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.loadout-card-stat-value code{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.loadout-card-actions{gap:var(--space-xs,4px);padding-top:var(--space-xs,4px);border-top:1px solid var(--border-subtle,#2c2e3314);display:flex}.loadout-card-actions .button{font-size:var(--text-xs,12px);padding:6px 12px}.loadout-card-delete:hover{color:var(--ember,#b85c4a);background:#b85c4a1a;border-color:#b85c4a40}@media (width<=640px){.loadout-card-grid{grid-template-columns:1fr}.loadout-list-header{flex-direction:column}}.catalog-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.catalog-panel-search{padding:var(--space-sm,8px) var(--space-md,16px);border-bottom:1px solid var(--border-subtle,#2c2e3314)}.catalog-panel-search input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);width:100%;color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);transition:border-color var(--transition-fast,.15s ease);padding:8px 12px}.catalog-panel-search input:focus{border-color:var(--sage,#7d9b76);outline:none}.catalog-panel-search input::placeholder{color:var(--ink-faint,#adaba7)}.catalog-panel-tabs{border-bottom:1px solid var(--border-subtle,#2c2e3314);padding:0 var(--space-md,16px);gap:0;display:flex}.catalog-panel-tab{color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:color var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 12px}.catalog-panel-tab:hover{color:var(--ink,#2c2e33)}.catalog-panel-tab.active{color:var(--ink,#2c2e33);border-bottom-color:var(--sage,#7d9b76)}.catalog-panel-grid{padding:var(--space-sm,8px) var(--space-md,16px);gap:var(--space-xs,4px);flex-direction:column;flex:1;display:flex;overflow-y:auto}.catalog-panel-empty{padding:var(--space-xl,32px) var(--space-md,16px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px)}.catalog-panel-grid .gear-card-c{padding:var(--space-xs,4px) var(--space-sm,8px);cursor:grab;border:1px solid #0000}.catalog-panel-grid .gear-card-c:hover{border-color:var(--border,#2c2e3324);cursor:grab}.catalog-panel-grid .gear-card-c:active{cursor:grabbing}.catalog-panel-grid .gear-card-c-actions{opacity:1;padding-top:2px}.catalog-panel-grid .gear-card-c-category{display:none}.catalog-panel-loading{padding:var(--space-lg,24px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px)}.weight-chart{gap:var(--space-xs,4px);margin-bottom:var(--space-md,16px);flex-direction:column;display:flex}.weight-chart-bar{border-radius:var(--radius-sm,4px);background:var(--ground,#ede7dd);height:12px;display:flex;overflow:hidden}.weight-chart-segment{height:100%;transition:width var(--transition-normal,.25s ease);min-width:0}.weight-chart-segment:first-child{border-radius:var(--radius-sm,4px) 0 0 var(--radius-sm,4px)}.weight-chart-segment:last-child{border-radius:0 var(--radius-sm,4px) var(--radius-sm,4px) 0}.weight-chart-legend{gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.weight-chart-legend-item{align-items:center;gap:var(--space-xs,4px);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);display:flex}.weight-chart-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.weight-chart-total{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7);text-align:right}.tree-node{position:relative}.tree-node-row{align-items:center;gap:var(--space-xs,4px);padding:6px var(--space-md,16px);padding-left:calc(var(--space-md,16px) + var(--node-depth,0) * 20px);cursor:pointer;transition:background var(--transition-fast,.15s ease);border-left:2px solid #0000;display:flex;position:relative}.tree-node-row:hover{background:var(--canvas,#f5f1eb)}.tree-node-row.selected{border-left-color:var(--sage,#7d9b76);background:#7d9b761a}.tree-node-row.dragging{opacity:.4}.tree-node-indent-guide{width:var(--space-md,16px);border-right:1px solid var(--contour,#2c2e330f);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.tree-node-grip{width:16px;height:16px;color:var(--ink-faint,#adaba7);cursor:grab;opacity:0;transition:opacity var(--transition-fast,.15s ease);letter-spacing:1px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex}.tree-node-row:hover .tree-node-grip{opacity:1}.tree-node-grip:active{cursor:grabbing}.tree-node-expand{width:18px;height:18px;color:var(--ink-faint,#adaba7);cursor:pointer;transition:transform var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.tree-node-expand:hover{color:var(--ink,#2c2e33)}.tree-node-expand.expanded{transform:rotate(90deg)}.tree-node-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tree-node-name{min-width:0;font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tree-node-name.packed{color:var(--ink-faint,#adaba7);text-decoration:line-through}.tree-node-qty{border-radius:var(--radius-sm,4px);background:var(--ground,#ede7dd);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);font-family:var(--font-mono,"JetBrains Mono", monospace);flex-shrink:0;padding:1px 6px}.tree-node-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);text-align:right;flex-shrink:0;min-width:48px}.tree-node-weight.aggregate{color:var(--ink-faint,#adaba7);font-size:11px}.tree-node-used{width:12px;height:12px;transition:all var(--transition-fast,.15s ease);cursor:default;border:1.5px solid;border-radius:50%;flex-shrink:0}.tree-node-used.idle{border-color:var(--ink-faint,#adaba7);opacity:.25;background:0 0}.tree-node-used.used{border-color:var(--sage,#7d9b76);background:var(--sage,#7d9b76);opacity:1}.tree-node-used.not-used{border-color:var(--ink-dim,#7a7670);opacity:.5;background:0 0}.tree-node-check{border-radius:var(--radius-sm,4px);border:1.5px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);cursor:pointer;width:16px;height:16px;transition:all var(--transition-fast,.15s ease);appearance:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tree-node-check:checked{background:var(--sage,#7d9b76);border-color:var(--sage,#7d9b76)}.tree-node-check:checked:after{content:"";border-left:2px solid var(--ink-reverse,#faf8f5);border-bottom:2px solid var(--ink-reverse,#faf8f5);width:8px;height:4px;transform:rotate(-45deg)translateY(-1px)}.tree-node-check:hover{border-color:var(--sage,#7d9b76)}.tree-node-actions{gap:var(--space-2xs,2px);opacity:0;transition:opacity var(--transition-fast,.15s ease);display:flex}.tree-node-row:hover .tree-node-actions{opacity:1}.tree-node-action-btn{color:var(--ink-faint,#adaba7);font-size:var(--text-xs,12px);cursor:pointer;border-radius:var(--radius-sm,4px);transition:background var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);background:0 0;border:none;padding:2px 6px}.tree-node-action-btn:hover{background:var(--ground,#ede7dd);color:var(--ink,#2c2e33)}.tree-node-action-btn.danger:hover{color:var(--ember,#b85c4a);background:#b85c4a1a}.tree-node-drop-before,.tree-node-drop-after{z-index:5;pointer-events:none;height:4px;position:absolute;left:0;right:0}.tree-node-drop-before{top:-2px}.tree-node-drop-after{bottom:-2px}.tree-node-drop-before.active:after,.tree-node-drop-after.active:after{content:"";left:var(--space-md,16px);background:var(--sage,#7d9b76);border-radius:1px;height:2px;position:absolute;right:0}.tree-node-drop-inside{border-radius:var(--radius-sm,4px);pointer-events:none;position:absolute;inset:0}.tree-node-drop-inside.active{outline:2px dashed var(--sage,#7d9b76);outline-offset:-2px}.tree-node-children{margin:0;padding:0;list-style:none}.pack-mode .tree-node-check{width:20px;height:20px}.pack-mode .tree-node-row{padding-top:10px;padding-bottom:10px}.pack-mode .tree-node-grip,.review-mode .tree-node-grip,.review-mode .tree-node-actions{display:none}.pack-tree{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.pack-tree-toolbar{align-items:center;gap:var(--space-md,16px);padding:var(--space-sm,8px) var(--space-lg,24px);border-bottom:1px solid var(--border-subtle,#2c2e3314);flex-wrap:wrap;min-height:48px;display:flex}.pack-tree-toolbar h2{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);flex-shrink:0;margin:0}.pack-tree-mode-group{border:1px solid var(--border,#2c2e3324);border-radius:var(--radius-sm,4px);gap:0;display:flex;overflow:hidden}.pack-tree-mode-btn{background:var(--paper,#faf8f5);color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:background var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);text-transform:uppercase;letter-spacing:.04em;border:none;padding:4px 12px}.pack-tree-mode-btn:hover{background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33)}.pack-tree-mode-btn.active{background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5)}.pack-tree-mode-btn+.pack-tree-mode-btn{border-left:1px solid var(--border,#2c2e3324)}.pack-tree-weights{gap:var(--space-md,16px);flex-shrink:0;margin-left:auto;display:flex}.pack-tree-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.pack-tree-weight-label{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7);font-family:var(--font-body,"Inter", sans-serif);margin-right:4px}.pack-tree-weight.total{color:var(--sage,#7d9b76)}.pack-tree-weight.base{color:var(--ink-dim,#7a7670)}.pack-tree-actions{gap:var(--space-xs,4px);display:flex}.pack-tree-action-btn{border:1px solid var(--border-subtle,#2c2e3314);border-radius:var(--radius-sm,4px);color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);cursor:pointer;transition:background var(--transition-fast,.15s ease), color var(--transition-fast,.15s ease);background:0 0;padding:4px 8px}.pack-tree-action-btn:hover{background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33)}.pack-tree-content{padding:var(--space-sm,8px) 0;flex:1;position:relative;overflow-y:auto}.pack-tree-content.contour-panel:before{opacity:.3}.pack-tree-list{margin:0;padding:0;list-style:none}.pack-tree-empty{justify-content:center;align-items:center;gap:var(--space-sm,8px);padding:var(--space-2xl,48px) var(--space-lg,24px);text-align:center;color:var(--ink-dim,#7a7670);flex-direction:column;display:flex}.pack-tree-empty p{font-size:var(--text-sm,14px);margin:0}.pack-tree-loading{padding:var(--space-lg,24px);text-align:center;color:var(--ink-faint,#adaba7)}.pack-tree-drag-over{outline:2px dashed var(--sage,#7d9b76);outline-offset:-2px;border-radius:var(--radius-sm,4px)}.contour-bg{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22160%22 height=%22160%22 viewBox=%220 0 160 160%22%3E%3Cpath d=%22M0 80 Q40 60 80 80 T160 80%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.06)%22 stroke-width=%220.8%22/%3E%3Cpath d=%22M0 55 Q40 35 80 55 T160 55%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.05)%22 stroke-width=%220.6%22/%3E%3Cpath d=%22M0 105 Q40 125 80 105 T160 105%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.05)%22 stroke-width=%220.6%22/%3E%3Cpath d=%22M0 30 Q40 10 80 30 T160 30%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.04)%22 stroke-width=%220.4%22/%3E%3Cpath d=%22M0 130 Q40 150 80 130 T160 130%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.04)%22 stroke-width=%220.4%22/%3E%3C/svg%3E");background-size:160px 160px}.contour-divider{background:linear-gradient(to right, transparent, var(--border,#2c2e3324), transparent);height:1px}.contour-divider-v{background:linear-gradient(to bottom, transparent, var(--border,#2c2e3324), transparent);width:1px}.contour-panel{position:relative}.contour-panel:before{content:"";opacity:.5;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22160%22 height=%22160%22 viewBox=%220 0 160 160%22%3E%3Cpath d=%22M0 80 Q40 60 80 80 T160 80%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.04)%22 stroke-width=%220.6%22/%3E%3Cpath d=%22M0 55 Q40 35 80 55 T160 55%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.03)%22 stroke-width=%220.4%22/%3E%3Cpath d=%22M0 105 Q40 125 80 105 T160 105%22 fill=%22none%22 stroke=%22rgba(44,46,51,0.03)%22 stroke-width=%220.4%22/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.contour-panel>*{z-index:1;position:relative}.inspector-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.inspector-panel-header{padding:var(--space-md,16px);border-bottom:1px solid var(--border-subtle,#2c2e3314)}.inspector-panel-header h3{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-base,16px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.inspector-panel-empty{padding:var(--space-xl,32px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px);flex:1;justify-content:center;align-items:center;display:flex}.inspector-panel-tabs{border-bottom:1px solid var(--border-subtle,#2c2e3314);padding:0 var(--space-md,16px);display:flex}.inspector-panel-tab{color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:color var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px}.inspector-panel-tab:hover{color:var(--ink,#2c2e33)}.inspector-panel-tab.active{color:var(--ink,#2c2e33);border-bottom-color:var(--sage,#7d9b76)}.inspector-panel-body{padding:var(--space-md,16px);flex:1;overflow-y:auto}.inspector-field{gap:var(--space-2xs,2px);margin-bottom:var(--space-md,16px);flex-direction:column;display:flex}.inspector-field-label{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint,#adaba7);font-weight:var(--weight-semibold,600)}.inspector-field-value{font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.inspector-qty{align-items:center;gap:var(--space-sm,8px);display:flex}.inspector-qty-input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);width:60px;color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);font-family:var(--font-mono,"JetBrains Mono", monospace);text-align:center;padding:4px 8px}.inspector-qty-input:focus{border-color:var(--sage,#7d9b76);outline:none}.inspector-toggle{align-items:center;gap:var(--space-sm,8px);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);display:flex}.inspector-toggle input[type=checkbox]{border-radius:var(--radius-sm,4px);border:1.5px solid var(--border,#2c2e3324);width:16px;height:16px}.inspector-notes{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);width:100%;min-height:80px;color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);padding:8px 12px}.inspector-notes:focus{border-color:var(--sage,#7d9b76);outline:none}.inspector-weight-row{border-bottom:1px solid var(--border-subtle,#2c2e3314);font-size:var(--text-sm,14px);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.inspector-weight-row:last-child{border-bottom:none}.inspector-weight-label{color:var(--ink-dim,#7a7670)}.inspector-weight-value{font-family:var(--font-mono,"JetBrains Mono", monospace);color:var(--ink,#2c2e33)}.inspector-weight-total{font-weight:var(--weight-semibold,600);color:var(--sage,#7d9b76)}.inspector-remove{margin-top:var(--space-lg,24px);border-radius:var(--radius-sm,4px);color:var(--ember,#b85c4a);font-size:var(--text-sm,14px);cursor:pointer;transition:background var(--transition-fast,.15s ease);background:0 0;border:1px solid #b85c4a4d;width:100%;padding:8px 16px}.inspector-remove:hover{background:#b85c4a14}.workspace{background:var(--paper,#faf8f5);gap:0;height:100%;min-height:0;display:flex;position:relative}.workspace-catalog{border-right:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);flex-direction:column;flex-shrink:0;width:320px;min-width:0;display:flex;overflow:hidden}.workspace-tree{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.workspace-inspector{border-left:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);flex-direction:column;flex-shrink:0;width:300px;min-width:0;display:flex;overflow:hidden}.workspace-tree.review-mode{max-width:720px;margin:0 auto}.workspace-empty{justify-content:center;align-items:center;gap:var(--space-md,16px);padding:var(--space-2xl,48px);text-align:center;color:var(--ink-dim,#7a7670);flex-direction:column;display:flex}.workspace-empty h2{font-size:var(--text-xl,20px);color:var(--ink,#2c2e33);margin:0}.workspace-empty p{font-size:var(--text-sm,14px);max-width:360px;margin:0}@media (width<=1024px){.workspace-catalog{width:280px}.workspace-inspector{width:260px}}@media (width<=860px){.workspace{flex-direction:column}.workspace-catalog,.workspace-inspector{border-left:none;border-right:none;border-bottom:1px solid var(--border-subtle,#2c2e3314);width:100%;max-height:50vh}}.loadout-detail-page{height:100%;min-height:0;margin:calc(-1 * var(--space-xl,32px));flex-direction:column;display:flex}@media (width<=1024px){.loadout-detail-page{margin:calc(-1 * var(--space-lg,24px))}}@media (width<=640px){.loadout-detail-page{margin:calc(-1 * var(--space-md,16px))}}.loadout-form-page{gap:var(--space-lg,24px);flex-direction:column;max-width:680px;display:flex}.loadout-form{gap:var(--space-lg,24px);flex-direction:column;display:flex}.loadout-form .field{gap:var(--space-sm,8px);flex-direction:column;display:flex}.loadout-form .field label{color:var(--ink,#2c2e33);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:600}.loadout-form input[type=text],.loadout-form textarea{padding:var(--space-md,16px);border-radius:var(--radius-lg,12px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);font-size:15px;transition:border-color .18s,box-shadow .18s}.loadout-form input[type=text]:focus,.loadout-form textarea:focus{border-color:var(--sky,#8baec4);box-shadow:0 0 0 4px color-mix(in srgb, var(--sky,#8baec4) 18%, transparent);outline:none}.loadout-form textarea{resize:vertical;min-height:80px}.loadout-form-checkbox{align-items:center;gap:var(--space-sm,8px);cursor:pointer;color:var(--ink,#2c2e33);padding:var(--space-sm,8px) 0;font-size:14px;display:flex}.loadout-form-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--sage,#7d9b76)}@media (width<=640px){.loadout-form-page{max-width:100%}}.progress-bar{gap:var(--space-xs,4px);padding:var(--space-md,16px) var(--space-lg,24px);background:var(--paper,#faf8f5);border-bottom:1px solid var(--border-subtle,#2c2e3314);flex-direction:column;display:flex}.progress-bar-bars{gap:var(--space-sm,8px);display:flex}.progress-bar-track{border-radius:var(--radius-full,9999px);background:var(--ground,#ede7dd);flex:1;height:8px;overflow:hidden}.progress-bar-track.weight{height:4px}.progress-bar-fill{border-radius:var(--radius-full,9999px);background:var(--sage,#7d9b76);height:100%;transition:width var(--transition-normal,.25s) ease}.progress-bar-fill.weight{background:var(--sky,#8baec4)}.progress-bar-labels{justify-content:space-between;align-items:center;display:flex}.progress-bar-label{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);font-weight:var(--weight-medium,500)}.progress-bar-label.weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:11px}@media (width<=640px){.progress-bar{padding:var(--space-sm,8px) var(--space-md,16px)}}.checklist-item-row{align-items:center;gap:var(--space-sm,8px);padding:10px var(--space-lg,24px);cursor:pointer;border-bottom:1px solid var(--border-subtle,#2c2e330f);min-height:44px;transition:background var(--transition-fast,.15s) ease;-webkit-tap-highlight-color:transparent;display:flex}.checklist-item-row:hover{background:var(--canvas,#f5f1eb)}.checklist-item-row:active{background:var(--ground,#ede7dd)}.checklist-item-row.is-packed{opacity:.6}.checklist-item-row.depth-1{padding-left:calc(var(--space-lg,24px) + 16px)}.checklist-item-row.depth-2{padding-left:calc(var(--space-lg,24px) + 32px)}.checklist-item-row.depth-3{padding-left:calc(var(--space-lg,24px) + 48px)}.checklist-item-row.depth-4{padding-left:calc(var(--space-lg,24px) + 64px)}.checklist-item-checkbox{border-radius:var(--radius-sm,4px);border:2px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);width:22px;height:22px;transition:all var(--transition-fast,.15s) ease;color:var(--ink-reverse,#faf8f5);flex:0 0 22px;justify-content:center;align-items:center;display:flex}.checklist-item-checkbox.is-checked{background:var(--sage,#7d9b76);border-color:var(--sage,#7d9b76)}.checklist-item-name{min-width:0;font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);font-weight:var(--weight-medium,500);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.is-packed .checklist-item-name{color:var(--ink-dim,#7a7670);text-decoration:line-through}.checklist-item-qty{color:var(--ink-faint,#adaba7);font-size:11px;font-family:var(--font-mono,"JetBrains Mono", monospace);background:var(--ground,#ede7dd);border-radius:var(--radius-sm,4px);flex:none;padding:1px 6px}.checklist-item-spacer{flex:0 0 8px}.checklist-item-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);text-align:right;flex:none;min-width:48px}.checklist-item-used-dot{background:var(--ink-faint,#adaba7);opacity:.25;cursor:help;width:12px;height:12px;transition:opacity var(--transition-fast,.15s) ease;border-radius:50%;flex:0 0 12px}.checklist-item-row:hover .checklist-item-used-dot{opacity:.5}@media (width<=640px){.checklist-item-row{padding:12px var(--space-md,16px)}}.container-accordion{border-bottom:1px solid var(--border-subtle,#2c2e3314)}.container-accordion-header{align-items:center;gap:var(--space-sm,8px);width:100%;padding:12px var(--space-lg,24px);background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33);cursor:pointer;font:inherit;text-align:left;transition:background var(--transition-fast,.15s) ease;-webkit-tap-highlight-color:transparent;border:none;display:flex}.container-accordion-header:hover{background:var(--ground,#ede7dd)}.container-accordion-chevron{color:var(--ink-faint,#adaba7);transition:transform var(--transition-fast,.15s) ease;flex:0 0 14px;align-items:center;display:flex}.container-accordion-name{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);text-transform:uppercase;letter-spacing:.06em;flex:1}.container-accordion-meta{gap:var(--space-sm,8px);align-items:center;display:flex}.container-accordion-count{font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7)}.container-accordion-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);text-align:right;min-width:48px}.container-accordion-actions{padding:0 var(--space-lg,24px) 4px;border-bottom:1px solid var(--border-subtle,#2c2e330f);gap:0;display:flex}.container-accordion-action-btn{color:var(--ink-faint,#adaba7);font-size:11px;font-weight:var(--weight-medium,500);cursor:pointer;border-radius:var(--radius-sm,4px);transition:all var(--transition-fast,.15s) ease;background:0 0;border:none;padding:4px 8px}.container-accordion-action-btn:hover{color:var(--sage,#7d9b76);background:#7d9b7614}.container-accordion-content{transition:max-height var(--transition-normal,.25s) ease;max-height:2000px;overflow:hidden}.container-accordion-content.is-collapsed{max-height:0}@media (width<=640px){.container-accordion-header{padding:12px var(--space-md,16px)}.container-accordion-actions{padding:0 var(--space-md,16px) 4px}}.add-gear-sheet-overlay{z-index:200;animation:addGearFadeIn var(--transition-normal,.25s) ease;background:#2c2e334d;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes addGearFadeIn{0%{opacity:0}to{opacity:1}}.add-gear-sheet{background:var(--paper,#faf8f5);border-radius:var(--radius-lg,12px) var(--radius-lg,12px) 0 0;border-top:1px solid var(--border,#2c2e3324);width:100%;max-height:60vh;animation:addGearSlideUp var(--transition-normal,.25s) ease;flex-direction:column;display:flex}@keyframes addGearSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-gear-sheet-handle{border-radius:var(--radius-full,9999px);background:var(--ground,#ede7dd);width:36px;height:4px;margin:var(--space-sm,8px) auto 0;flex:none}.add-gear-sheet-header{padding:var(--space-md,16px) var(--space-lg,24px) var(--space-sm,8px);flex:none;justify-content:space-between;align-items:center;display:flex}.add-gear-sheet-title{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);font-family:var(--font-display,"Instrument Serif", serif);margin:0}.add-gear-sheet-close{width:32px;height:32px;color:var(--ink-dim,#7a7670);cursor:pointer;border-radius:var(--radius-sm,4px);transition:all var(--transition-fast,.15s) ease;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.add-gear-sheet-close:hover{background:var(--ground,#ede7dd);color:var(--ink,#2c2e33)}.add-gear-sheet-search{align-items:center;gap:var(--space-sm,8px);padding:var(--space-sm,8px) var(--space-lg,24px);flex:none;display:flex}.add-gear-sheet-search-icon{color:var(--ink-faint,#adaba7);flex:0 0 16px}.add-gear-sheet-search-input{background:var(--canvas,#f5f1eb);border-radius:var(--radius-sm,4px);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:background var(--transition-fast,.15s) ease;border:none;outline:none;flex:1;padding:10px 14px}.add-gear-sheet-search-input:focus{background:var(--ground,#ede7dd)}.add-gear-sheet-search-input::placeholder{color:var(--ink-faint,#adaba7)}.add-gear-sheet-list{padding:var(--space-xs,4px) 0 var(--space-lg,24px);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.add-gear-sheet-empty{padding:var(--space-xl,32px) var(--space-lg,24px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px)}.add-gear-sheet-item{align-items:center;gap:var(--space-sm,8px);width:100%;padding:12px var(--space-lg,24px);cursor:pointer;text-align:left;color:var(--ink,#2c2e33);transition:background var(--transition-fast,.15s) ease;-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:flex}.add-gear-sheet-item:hover{background:var(--canvas,#f5f1eb)}.add-gear-sheet-item:active{background:var(--ground,#ede7dd)}.add-gear-sheet-item-name{font-size:var(--text-sm,14px);font-weight:var(--weight-medium,500);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.add-gear-sheet-item-category{color:var(--ink-faint,#adaba7);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:11px;display:none;overflow:hidden}@media (width>=480px){.add-gear-sheet-item-category{display:inline}}.add-gear-sheet-item-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);text-align:right;flex:none;min-width:48px}.mobile-checklist{background:var(--paper,#faf8f5);height:100%;min-height:0;margin:calc(-1 * var(--space-xl,32px));flex-direction:column;display:flex;position:relative}.mobile-checklist-topbar{align-items:center;gap:var(--space-sm,8px);padding:var(--space-sm,8px) var(--space-md,16px);border-bottom:1px solid var(--border-subtle,#2c2e3314);min-height:40px;display:flex}.mobile-checklist-back{border-radius:var(--radius-sm,4px);width:32px;height:32px;color:var(--ink-dim,#7a7670);transition:all var(--transition-fast,.15s) ease;justify-content:center;align-items:center;text-decoration:none;display:flex}.mobile-checklist-back:hover{background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33)}.mobile-checklist-title{font-size:var(--text-base,16px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);font-family:var(--font-display,"Instrument Serif", serif);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.mobile-checklist-topbar-spacer{flex:0 0 32px;width:32px}.mobile-checklist-groups{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.mobile-checklist-status{padding:var(--space-xl,32px) var(--space-lg,24px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px)}.mobile-checklist-status.error{color:var(--ember,#b85c4a)}.mobile-checklist-empty{padding:var(--space-2xl,48px) var(--space-lg,24px);text-align:center}.mobile-checklist-empty p{color:var(--ink-dim,#7a7670);font-size:var(--text-sm,14px);margin:0}.mobile-checklist-empty p.mobile-checklist-empty-hint{margin-top:var(--space-sm,8px);color:var(--ink-faint,#adaba7);font-size:var(--text-xs,12px)}.mobile-checklist-bottom{align-items:center;gap:var(--space-sm,8px);padding:var(--space-sm,8px) var(--space-md,16px);border-top:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);display:flex;position:sticky;bottom:0}.mobile-checklist-bottom-stats{gap:var(--space-md,16px);flex:1;align-items:center;display:flex}.mobile-checklist-bottom-total{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink,#2c2e33);font-weight:var(--weight-semibold,600)}.mobile-checklist-bottom-base{font-family:var(--font-mono,"JetBrains Mono", monospace);font-size:var(--text-xs,12px);color:var(--ink-faint,#adaba7)}.mobile-checklist-add-btn{align-items:center;gap:var(--space-xs,4px);border-radius:var(--radius-md,8px);border:1px solid var(--sage,#7d9b76);background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:background var(--transition-fast,.15s) ease;white-space:nowrap;padding:10px 18px;line-height:1;display:inline-flex}.mobile-checklist-add-btn:hover{background:color-mix(in srgb, var(--sage,#7d9b76) 88%, transparent)}@media (width<=640px){.mobile-checklist{margin:calc(-1 * var(--space-md,16px))}.mobile-checklist-add-btn{padding:10px 14px}.mobile-checklist-add-btn span{display:none}}.checklist-quick-edit-overlay{z-index:200;background:#2c2e334d;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checklist-quick-edit{background:var(--paper,#faf8f5);border-radius:var(--radius-lg,12px);border:1px solid var(--border,#2c2e3324);padding:var(--space-lg,24px);gap:var(--space-md,16px);flex-direction:column;width:280px;max-width:90vw;animation:.15s scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.checklist-quick-edit-title{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.checklist-quick-edit-field{gap:var(--space-xs,4px);flex-direction:column;display:flex}.checklist-quick-edit-field label{font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);text-transform:uppercase;letter-spacing:.06em}.checklist-quick-edit-qty-row{align-items:center;gap:var(--space-sm,8px);display:flex}.checklist-quick-edit-qty-btn{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);width:36px;height:36px;color:var(--ink,#2c2e33);font-size:var(--text-lg,18px);cursor:pointer;transition:all var(--transition-fast,.15s) ease;justify-content:center;align-items:center;display:flex}.checklist-quick-edit-qty-btn:hover{background:var(--ground,#ede7dd)}.checklist-quick-edit-qty-btn:disabled{opacity:.3;cursor:not-allowed}.checklist-quick-edit-qty-value{font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);text-align:center;min-width:32px}.checklist-quick-edit-input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s) ease;outline:none;padding:10px 14px}.checklist-quick-edit-input:focus{border-color:var(--sage,#7d9b76)}.checklist-quick-edit-input::placeholder{color:var(--ink-faint,#adaba7)}.checklist-quick-edit-actions{gap:var(--space-sm,8px);margin-top:var(--space-xs,4px);justify-content:flex-end;display:flex}.checklist-quick-edit-btn{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);font-size:var(--text-sm,14px);font-weight:var(--weight-medium,500);cursor:pointer;transition:all var(--transition-fast,.15s) ease;padding:8px 16px}.checklist-quick-edit-btn.primary{background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);border-color:var(--sage,#7d9b76)}.checklist-quick-edit-btn.danger{color:var(--ember,#b85c4a);background:0 0;border-color:#b85c4a40}.checklist-quick-edit-btn.danger:hover{background:#b85c4a14}.public-loadout-page{justify-content:center;min-height:100vh;padding:48px 20px;display:flex}.public-loadout-card{background:var(--paper,#faf8f5);border:1px solid var(--border,#2c2e3324);border-radius:28px;flex-direction:column;align-self:flex-start;gap:28px;width:min(720px,100%);padding:36px 32px;display:flex}.public-loadout-header{flex-direction:column;gap:8px;display:flex}.public-loadout-header h1{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-3xl,32px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);letter-spacing:-.02em;margin:0}.public-loadout-description{color:var(--ink-dim,#7a7670);margin:0;font-size:15px;line-height:1.5}.public-loadout-meta{border-top:1px solid var(--border-subtle,#2c2e3314);border-bottom:1px solid var(--border-subtle,#2c2e3314);flex-wrap:wrap;gap:28px;padding:16px 0;display:flex}.public-loadout-meta-item{flex-direction:column;gap:4px;display:flex}.public-loadout-meta-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint,#adaba7);font-size:11px;font-weight:600}.public-loadout-meta-value{color:var(--ink,#2c2e33);font-size:16px;font-weight:600}.public-loadout-section h2{color:var(--ink,#2c2e33);margin:0 0 16px;font-size:20px;font-weight:600}.public-loadout-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);background:var(--paper,#faf8f5);width:100%;overflow:hidden}.public-loadout-table th,.public-loadout-table td{border-bottom:1px solid var(--border-subtle,#2c2e3314);text-align:left;color:var(--ink,#2c2e33);padding:12px 16px;font-size:14px}.public-loadout-table th{color:var(--ink,#2c2e33);text-transform:uppercase;letter-spacing:.12em;background:var(--canvas,#f5f1eb);font-size:12px;font-weight:600}.public-loadout-table tbody tr:last-child td{border-bottom:none}.public-loadout-table tbody tr:hover{background:var(--canvas,#f5f1eb)}.public-loadout-no-notes{color:var(--ink-faint,#adaba7)}.public-loadout-status{border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb);border:1px solid var(--border-subtle,#2c2e3314);color:var(--ink,#2c2e33);padding:14px 18px;font-size:14px;font-weight:500}.public-loadout-status-error{color:var(--ember,#b85c4a);background:#b85c4a14;border-color:#b85c4a59}.public-loadout-empty{border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb);color:var(--ink-dim,#7a7670);text-align:center;padding:18px;font-size:14px}@media (width<=640px){.public-loadout-page{padding:24px 12px}.public-loadout-card{border-radius:22px;padding:24px 18px}.public-loadout-header h1{font-size:22px}.public-loadout-meta{flex-direction:column;gap:16px}}.packing-canvas{margin-top:var(--space-lg,24px)}.packing-canvas-title{margin:0 0 var(--space-md,16px);font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33)}.packing-canvas-empty{padding:var(--space-xl,32px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px);background:var(--canvas,#f5f1eb);border-radius:var(--radius-md,8px);border:1px dashed var(--border,#2c2e3324)}.packing-canvas-grid{gap:var(--space-md,16px);flex-direction:column;display:flex}.packing-canvas-container{background:var(--paper,#faf8f5);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-md,16px);transition:border-color var(--transition-fast,.15s), box-shadow var(--transition-fast,.15s)}.packing-canvas-container.drag-over{border-color:var(--sage,#7d9b76);border-style:dashed;box-shadow:0 0 0 2px #7d9b7626}.packing-canvas-container-header{margin-bottom:var(--space-sm,8px);justify-content:space-between;align-items:center;display:flex}.packing-canvas-container-name{font-weight:var(--weight-semibold,600);font-size:var(--text-sm,14px);color:var(--ink,#2c2e33)}.packing-canvas-container-actions{gap:var(--space-xs,4px);display:flex}.packing-canvas-pin{border-radius:var(--radius-sm,4px);cursor:pointer;width:28px;height:28px;color:var(--ink-faint,#adaba7);opacity:.4;transition:opacity var(--transition-fast,.15s), color var(--transition-fast,.15s);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.packing-canvas-pin:hover,.packing-canvas-pin.pinned{opacity:1}.packing-canvas-pin.pinned{color:var(--amber,#c4943e)}.packing-canvas-meter{background:var(--canvas,#f5f1eb);height:6px;margin-bottom:var(--space-sm,8px);border-radius:3px;position:relative;overflow:hidden}.packing-canvas-meter-fill{background:var(--sage,#7d9b76);border-radius:3px;height:100%;transition:width .3s}.packing-canvas-meter-fill.warn{background:var(--amber,#c4943e)}.packing-canvas-meter-fill.danger{background:var(--ember,#b85c4a)}.packing-canvas-meter-label{color:var(--ink-dim,#7a7670);font-size:10px;font-family:var(--font-mono,"JetBrains Mono", monospace);position:absolute;top:-14px;right:4px}.packing-canvas-limit{align-items:center;gap:var(--space-sm,8px);margin-bottom:var(--space-sm,8px);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);display:flex}.packing-canvas-limit label{white-space:nowrap}.packing-canvas-limit-input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);width:80px;color:var(--ink,#2c2e33);font-size:var(--text-xs,12px);font-family:var(--font-mono,"JetBrains Mono", monospace);padding:4px 8px}.packing-canvas-limit-input:focus{border-color:var(--sage,#7d9b76);outline:none}.packing-canvas-limit-save{border-radius:var(--radius-sm,4px);background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);font-size:var(--text-xs,12px);cursor:pointer;transition:opacity var(--transition-fast,.15s);border:none;padding:4px 8px}.packing-canvas-limit-save:disabled{opacity:.5;cursor:not-allowed}.packing-canvas-limit-save:hover:not(:disabled){opacity:.9}.packing-canvas-items{flex-direction:column;gap:2px;display:flex}.packing-canvas-item{align-items:center;gap:var(--space-sm,8px);border-radius:var(--radius-sm,4px);font-size:var(--text-xs,12px);padding:4px 8px;display:flex}.packing-canvas-item:nth-child(odd){background:var(--canvas,#f5f1eb)}.packing-canvas-item-name{color:var(--ink,#2c2e33);flex:1}.packing-canvas-item-weight{font-family:var(--font-mono,"JetBrains Mono", monospace);color:var(--ink-dim,#7a7670)}.packing-canvas-item-remove{border-radius:var(--radius-sm,4px);width:22px;height:22px;color:var(--ink-faint,#adaba7);cursor:pointer;transition:background var(--transition-fast,.15s), color var(--transition-fast,.15s);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.packing-canvas-item-remove:hover{color:var(--ember,#b85c4a);background:#b85c4a1a}.packing-canvas-container-empty{padding:var(--space-md,16px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-xs,12px);border:1px dashed var(--border,#2c2e3324);border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb)}@media (width<=640px){.packing-canvas-container{padding:var(--space-sm,8px)}.packing-canvas-limit{flex-wrap:wrap}}.packing-overview{gap:var(--space-md,16px);margin-bottom:var(--space-lg,24px);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.packing-overview-card{background:var(--paper,#faf8f5);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-lg,24px);gap:var(--space-2xs,2px);flex-direction:column;display:flex}.packing-overview-value{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-2xl,24px);color:var(--ink,#2c2e33);line-height:1.2}.packing-overview-label{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--weight-semibold,600);color:var(--ink-faint,#adaba7)}.packing-overview-hint,.packing-overview-extra{font-size:var(--text-sm,14px);color:var(--ink-dim,#7a7670)}.packing-overview-card.tone-positive .packing-overview-value{color:var(--sage,#7d9b76)}.packing-overview-card.tone-warning .packing-overview-value{color:var(--amber,#c4943e)}.packing-overview-card.tone-critical .packing-overview-value{color:var(--ember,#b85c4a)}@media (width<=640px){.packing-overview{grid-template-columns:repeat(2,1fr)}}.staging-shelf{background:var(--paper,#faf8f5);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#2c2e3314);padding:var(--space-lg,24px)}.staging-shelf-header{justify-content:space-between;align-items:center;gap:var(--space-md,16px);margin-bottom:var(--space-md,16px);display:flex}.staging-shelf-title{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-lg,18px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.staging-shelf-input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);width:200px;padding:8px 12px}.staging-shelf-input:focus{border-color:var(--sage,#7d9b76);outline:none}.staging-shelf-input::placeholder{color:var(--ink-faint,#adaba7)}.staging-shelf-loading,.staging-shelf-empty{padding:var(--space-xl,32px);text-align:center;color:var(--ink-faint,#adaba7);font-size:var(--text-sm,14px)}.staging-shelf-list{gap:var(--space-xs,4px);flex-direction:column;display:flex}.staging-shelf-item{padding:var(--space-sm,8px) var(--space-md,16px);border-radius:var(--radius-sm,4px);border:1px solid var(--border-subtle,#2c2e3314);transition:background var(--transition-fast,.15s);justify-content:space-between;align-items:center;display:flex}.staging-shelf-item:hover{background:var(--canvas,#f5f1eb)}.staging-shelf-item-info{gap:var(--space-md,16px);align-items:baseline;display:flex}.staging-shelf-item-name{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staging-shelf-item-meta{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.staging-shelf-item-remove{border-radius:var(--radius-sm,4px);width:24px;height:24px;color:var(--ink-faint,#adaba7);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.staging-shelf-item-remove:hover{color:var(--ember,#b85c4a);background:#b85c4a1a}.staging-shelf-search{align-items:center;gap:var(--space-sm,8px);display:flex}.staging-shelf-clear{background:var(--canvas,#f5f1eb);color:var(--ink-dim,#7a7670);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:background var(--transition-fast,.15s), color var(--transition-fast,.15s);border:none;border-radius:999px;flex:none;padding:6px 12px}.staging-shelf-clear:hover{background:var(--surface,#ece7df);color:var(--ink,#2c2e33)}.staging-shelf-meta{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);margin-bottom:var(--space-sm,8px)}.staging-shelf-children{gap:var(--space-md,16px);flex-direction:column;display:flex}.user-gear-results{margin-top:var(--space-lg,24px);gap:var(--text-lg,18px);flex-direction:column;display:flex}.user-gear-results-header{flex-direction:column;gap:6px;display:flex}.user-gear-results-header h2{font-size:var(--text-lg,18px);color:var(--ink,#2c2e33);margin:0}.user-gear-results-header span{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.user-gear-list{gap:var(--text-lg,18px);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));justify-content:center;justify-items:center;margin:0;padding:0;list-style:none;display:grid}.user-gear-root-drop-area{flex-direction:column;gap:12px;display:flex}.user-gear-list.is-nested{margin-left:var(--text-lg,18px);grid-template-columns:minmax(0,1fr);justify-items:stretch}.user-gear-list.is-nested .gear-card{width:100%;max-width:100%;margin:0}.user-gear-list.is-nested .gear-card.has-nested-container{width:100%;max-width:100%}.user-gear-group{margin-top:var(--text-lg,18px);flex-direction:column;gap:12px;display:flex}.user-gear-group-intro{flex-direction:column;gap:4px;display:flex}.user-gear-group-intro p{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);margin:0}.user-gear-group:first-of-type{margin-top:0}.user-gear-group-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.user-gear-subheading{font-size:var(--text-base,16px);color:var(--ink,#2c2e33);margin:0;font-weight:700}.user-gear-card{cursor:grab;transition:transform var(--transition-fast,.15s) ease;position:relative}.user-gear-unlink-zone{border-radius:var(--radius-md,8px);border:2px dashed var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);color:var(--ink-dim,#7a7670);text-align:center;min-height:72px;padding:12px var(--text-lg,18px);font-size:var(--text-xs,12px);transition:border-color var(--transition-fast,.15s) ease, background var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, box-shadow var(--transition-fast,.15s) ease;grid-column:1/-1;justify-content:center;align-items:center;font-weight:600;display:flex}.user-gear-unlink-zone.is-active{border-color:var(--sage,#7d9b76);background:var(--surface,#ece7df);color:var(--ink,#2c2e33);box-shadow:0 0 0 4px #7d9b7633}.user-gear-unlink-zone.is-busy{border-style:solid;border-color:var(--sky,#6b8c9e);color:var(--ink,#2c2e33);background:#6b8c9e26}.user-gear-card.is-nested .gear-card-topbar{padding:12px var(--space-md,16px)}.user-gear-card.is-nested .gear-card-body{padding:var(--space-md,16px) var(--text-lg,18px) 20px}.user-gear-card:active{cursor:grabbing}.gear-card.is-container .gear-card-topbar{background:linear-gradient(135deg,#7d9b7626,#6b8c9e26);border-bottom-color:#6b8c9e4d}.gear-card.is-container .gear-card-glyph{color:var(--sky,#6b8c9e);background:#6b8c9e2e}.gear-card.is-container{border-color:#6b8c9e4d;box-shadow:0 20px 38px #2c2e3314}.gear-card.is-container.is-active{border-color:#6b8c9e80;transform:translateY(-3px);box-shadow:0 24px 48px #2c2e331f}.user-gear-card.is-container.is-active .gear-card-body{background:linear-gradient(180deg, var(--paper,#faf8f5), var(--canvas,#f5f1eb)), radial-gradient(circle at top, #6b8c9e14, transparent 60%)}.user-gear-card.is-pack-success{animation:1s userGearPackPulse}@media (width<=400px){.user-gear-list{grid-template-columns:minmax(0,1fr)}}.user-gear-card.is-busy{opacity:.7;pointer-events:none;cursor:progress}.user-gear-container-slot{border-radius:var(--radius-md,8px);font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670);transition:border-color var(--transition-fast,.15s) ease, background var(--transition-fast,.15s) ease;text-align:center;background:#7d9b7614;border:1px dashed #7d9b7659;justify-content:center;align-items:center;min-height:48px;padding:8px 12px;display:flex;position:relative}.gear-card-metric-stack{flex-direction:column;gap:8px;display:flex}.user-gear-load-meter-inline{margin-top:-2px}.user-gear-load-meter{background:#2c2e3314;border-radius:999px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #2c2e330f}.user-gear-load-meter.is-unset{background:repeating-linear-gradient(135deg, #2c2e3314, #2c2e3314 8px, var(--canvas,#f5f1eb) 8px, var(--canvas,#f5f1eb) 16px)}.user-gear-load-meter.is-over{box-shadow:inset 0 0 0 1px #b85c4a59}.user-gear-load-meter-fill{border-radius:inherit;height:100%;transition:width var(--transition-fast,.15s) ease, background var(--transition-fast,.15s) ease;display:block}.user-gear-details-settings{border-top:1px solid var(--border-subtle,#2c2e3314);margin-top:12px;padding-top:12px}.user-gear-load-controls{flex-direction:column;gap:6px;display:flex}.user-gear-load-controls label{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim,#7a7670);font-weight:700}.user-gear-load-controls-row{flex-wrap:wrap;gap:8px;display:flex}.user-gear-load-controls-row input{border:1px solid var(--border,#2c2e3324);border-radius:var(--radius-sm,4px);min-width:0;font:inherit;color:var(--ink,#2c2e33);background:var(--paper,#faf8f5);flex:130px;padding:8px 10px}.user-gear-load-controls-row input:focus-visible{border-color:#7d9b7699;outline:2px solid #7d9b7659}.user-gear-load-action{border-radius:var(--radius-sm,4px);background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);font-size:var(--text-xs,12px);cursor:pointer;transition:transform var(--transition-fast,.15s) ease, opacity var(--transition-fast,.15s) ease, background var(--transition-fast,.15s) ease;border:none;flex:none;padding:8px 12px;font-weight:700}.user-gear-load-action:hover:not(:disabled){background:var(--sky,#6b8c9e);transform:translateY(-1px)}.user-gear-load-action:disabled{cursor:not-allowed;opacity:.55}.user-gear-load-action.is-ghost{background:var(--paper,#faf8f5);color:var(--ink-dim,#7a7670);border:1px solid var(--border,#2c2e3324)}.user-gear-load-action.is-ghost:hover:not(:disabled){background:var(--canvas,#f5f1eb)}.user-gear-load-help{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.user-gear-load-help.is-error{color:var(--ember,#b85c4a)}.user-gear-card.is-nested .user-gear-container-slot{min-height:42px;font-size:var(--text-xs,12px);padding:8px 10px}.user-gear-card.is-nested .user-gear-details-settings,.user-gear-card.is-nested .user-gear-load-help{font-size:var(--text-xs,12px)}.user-gear-container-slot.is-active{border-color:var(--sage,#7d9b76);background:#7d9b761f;box-shadow:0 0 0 4px #7d9b7626}.user-gear-container-slot.is-busy{border-style:solid;border-color:var(--sky,#6b8c9e);color:var(--ink,#2c2e33);background:#6b8c9e1a}.user-gear-container-contents{border-radius:var(--radius-md,8px);background:var(--paper,#faf8f5);border:1px solid var(--border-subtle,#2c2e3314);box-shadow:inset 0 1px 0 var(--paper,#faf8f5);flex-direction:column;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.user-gear-card.is-nested .user-gear-container-contents{gap:6px;padding:8px 10px}.user-gear-container-contents-header{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim,#7a7670);justify-content:space-between;align-items:center;font-weight:600;display:flex}.user-gear-container-contents-total{font-size:var(--text-xs,12px);color:var(--ink,#2c2e33);font-weight:700}.user-gear-container-gear-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.user-gear-container-gear-list li{font-size:var(--text-xs,12px);color:var(--ink,#2c2e33);border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb);box-shadow:inset 0 1px 0 var(--border-subtle,#2c2e3314);justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.user-gear-container-gear-list li.is-recently-packed{background:linear-gradient(135deg,#7d9b761f,#7d9b760f);animation:1.1s userGearPackedItemPulse;box-shadow:inset 0 0 0 1px #7d9b763d,0 10px 18px #7d9b761f}.user-gear-container-item-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.user-gear-container-item-count{color:var(--ink-dim,#7a7670);font-weight:700;font-size:var(--text-xs,12px);margin-right:4px}.user-gear-container-remove{width:28px;height:28px;color:var(--ink-dim,#7a7670);cursor:pointer;transition:background var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease;background:#6b8c9e26;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.user-gear-container-remove svg{width:16px;height:16px}.user-gear-container-remove:hover:not(:disabled){color:var(--ink,#2c2e33);background:#6b8c9e40;transform:translateY(-1px)}.user-gear-container-remove:disabled{cursor:not-allowed;opacity:.45;background:var(--surface,#ece7df);color:var(--ink-faint,#adaba7)}.user-gear-container-remove:focus-visible{outline-offset:2px;outline:2px solid #7d9b76b3}.user-gear-card-footer{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:12px;display:flex}.user-gear-card.is-nested .user-gear-card-footer{margin-top:8px}.user-gear-card-action{border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);color:var(--ink,#2c2e33);font-size:var(--text-xs,12px);cursor:pointer;transition:background var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, border-color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.user-gear-card-action svg{width:14px;height:14px}.user-gear-card-action:hover:not(:disabled){color:var(--sage,#7d9b76);background:#7d9b761a;border-color:#7d9b7659;transform:translateY(-1px)}.user-gear-card-action.is-active{color:var(--sage,#7d9b76);background:#7d9b761f;border-color:#7d9b7659}.user-gear-card-action:disabled{cursor:not-allowed;opacity:.6;background:var(--surface,#ece7df);border-color:var(--border-subtle,#2c2e3314)}.user-gear-card-action.is-danger{color:var(--ember,#b85c4a);background:#b85c4a1a;border-color:#b85c4a59;margin-left:auto}.user-gear-card-action.is-danger:hover:not(:disabled){color:var(--ember,#b85c4a);background:#b85c4a29;border-color:#b85c4a66}.user-gear-card-action.is-danger:disabled{color:#b85c4a80;background:#b85c4a14;border-color:#b85c4a33}.user-gear-card-remove{width:28px;height:28px;color:var(--ink-dim,#7a7670);cursor:pointer;transition:background var(--transition-fast,.15s) ease, color var(--transition-fast,.15s) ease, transform var(--transition-fast,.15s) ease;background:#6b8c9e1f;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.user-gear-card-remove svg{width:16px;height:16px}.user-gear-card-remove:hover:not(:disabled){color:var(--ink,#2c2e33);background:#6b8c9e40;transform:translateY(-1px)}.user-gear-card-remove:disabled{cursor:not-allowed;opacity:.45;background:var(--surface,#ece7df);color:var(--ink-faint,#adaba7)}.user-gear-card-remove:focus-visible{outline-offset:2px;outline:2px solid #7d9b76b3}.user-gear-container-nested{flex-direction:column;gap:10px;margin-top:10px;display:flex}.user-gear-card.is-nested .user-gear-container-nested{gap:8px;margin-top:8px}.user-gear-card.is-nested{box-shadow:0 10px 24px #2c2e330d}.user-gear-card.has-nested-container{width:min(100%,382px);max-width:382px}.user-gear-card.has-nested-container .gear-card-body{gap:var(--space-md,16px);padding-bottom:28px}.user-gear-card.has-nested-container .user-gear-container-slot{min-height:56px}.user-gear-container-contents.has-nested-container{padding:14px 14px var(--space-md,16px);border-radius:var(--radius-md,8px);background:linear-gradient(180deg, var(--paper,#faf8f5), var(--canvas,#f5f1eb)), linear-gradient(135deg, #6b8c9e0f, transparent 60%)}.user-gear-container-nested>small{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim,#7a7670);font-weight:600}.user-gear-container-contents.has-nested-container .user-gear-container-nested{border-radius:var(--radius-md,8px);background:var(--paper,#faf8f5);box-shadow:inset 0 1px 0 var(--paper,#faf8f5);border:1px solid #6b8c9e26;margin-top:12px;padding:12px}.user-gear-container-contents.has-nested-container .user-gear-list.is-nested{margin-left:0}.user-gear-container-contents.has-nested-container .user-gear-card.is-nested{box-shadow:0 14px 26px #2c2e330f}.user-gear-card.has-cycle{cursor:default;background:#b85c4a14;border-color:#b85c4a66;box-shadow:inset 0 1px #b85c4a26}.user-gear-card.has-cycle strong,.user-gear-card.has-cycle .user-gear-card-hint{color:var(--ember,#b85c4a)}.user-gear-empty{padding:var(--text-lg,18px);border-radius:var(--radius-md,8px);color:var(--ink-dim,#7a7670);text-align:center;background:#2c2e330d;font-size:14px}@keyframes userGearPackPulse{0%{transform:translateY(-3px)scale(1);box-shadow:0 0 #7d9b7633,0 24px 48px #2c2e3314}45%{transform:translateY(-5px)scale(1.01);box-shadow:0 0 0 10px #7d9b7600,0 28px 54px #7d9b7626}to{transform:translateY(0)scale(1);box-shadow:0 20px 38px #2c2e3314}}@keyframes userGearPackedItemPulse{0%{background:#7d9b7614;transform:translate(0)}40%{background:#7d9b7629;transform:translate(4px)}to{background:linear-gradient(135deg,#7d9b761f,#7d9b760f);transform:translate(0)}}.gear-card{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);transition:border-color var(--transition-fast,.15s ease);box-sizing:border-box;flex-direction:column;width:min(100%,350px);max-width:350px;margin:0 auto;display:flex;position:relative;overflow:hidden}.gear-card:hover,.gear-card:focus-within{border-color:var(--sage,#7d9b76)}.gear-card-topbar{background:var(--canvas,#f5f1eb);border-bottom:1px solid var(--border-subtle,#2c2e3314);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.gear-card-topline{flex-direction:column;gap:6px;min-width:0;display:flex}.gear-card-heading{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.gear-card-glyph{border-radius:var(--radius-sm,4px);width:40px;height:40px;color:var(--sage,#7d9b76);background:#7d9b761a;justify-content:center;align-self:flex-start;align-items:center;display:inline-flex}.gear-card-glyph svg{width:22px;height:22px}.gear-card-top-actions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.gear-card-chip{border-radius:var(--radius-full,9999px);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);color:var(--sage,#7d9b76);white-space:nowrap;background:#7d9b7614;border:1px solid #7d9b762e;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.gear-card-chip.is-accent{color:var(--ink-dim,#7a7670);background:var(--canvas,#f5f1eb);border-color:var(--border-subtle,#2c2e3314)}.gear-card-info{border-radius:var(--radius-full,9999px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);width:34px;height:34px;color:var(--ink,#2c2e33);cursor:help;justify-content:center;align-items:center;display:inline-flex}.gear-card-info svg{width:16px;height:16px}.gear-card-top-actions .gear-card-remove{border-radius:var(--radius-full,9999px);width:34px;height:34px;color:var(--ember,#b85c4a);cursor:pointer;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);background:#b85c4a1a;border:1px solid #b85c4a40;justify-content:center;align-items:center;padding:0;display:inline-flex}.gear-card-top-actions .gear-card-remove:disabled{opacity:.55;cursor:not-allowed}.gear-card-top-actions .gear-card-remove:not(:disabled):hover{background:#b85c4a2e;border-color:#b85c4a59}.gear-card-remove-inline{border-radius:var(--radius-full,9999px);font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ember,#b85c4a);cursor:pointer;transition:background var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease);background:#b85c4a1a;border:1px solid #b85c4a4d;align-items:center;gap:8px;padding:8px 18px;display:inline-flex}.gear-card-remove-inline svg{width:16px;height:16px}.gear-card-remove-inline:disabled{opacity:.55;cursor:not-allowed}.gear-card-remove-inline:not(:disabled):hover{background:#b85c4a2e;border-color:#b85c4a73}.gear-card-body{flex-direction:column;gap:14px;padding:18px 20px 22px;display:flex}.gear-card-title{font-size:var(--text-xl,20px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.gear-card-pill{border-radius:var(--radius-full,9999px);font-size:var(--text-sm,14px);color:var(--sky,#8baec4);background:#8baec414;border:1px dashed #8baec440;align-items:center;width:fit-content;padding:6px 14px;font-style:italic;display:inline-flex}.gear-card-metric{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33)}.gear-card-helper{font-size:var(--text-xs,12px);color:var(--ink-dim,#7a7670)}.gear-card-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gear-card-toggle{border-radius:var(--radius-full,9999px);border:1px solid var(--border,#2c2e3324);background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33);font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);cursor:pointer;transition:background var(--transition-fast,.15s ease);align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.gear-card-toggle:hover{background:var(--ground,#ede7dd)}.gear-card-toggle.is-active{border-color:var(--sage,#7d9b76);color:var(--sage,#7d9b76);background:#7d9b761a}.gear-card-toggle-icon{border-radius:var(--radius-full,9999px);background:var(--paper,#faf8f5);width:20px;height:20px;color:var(--ink,#2c2e33);font-weight:var(--weight-bold,700);justify-content:center;align-items:center;line-height:1;display:inline-flex}.gear-card-details{border:1px solid var(--border,#2c2e3324);border-radius:var(--radius-sm,4px);background:var(--canvas,#f5f1eb);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 14px;padding:14px 16px;display:grid}.gear-card-details dt{font-size:var(--text-xs,12px);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);margin:0}.gear-card-details dd{font-size:var(--text-sm,14px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33);margin:0}.gear-card-messages{flex-direction:column;gap:8px;display:flex}.gear-card-feedback{border-radius:var(--radius-sm,4px);font-size:var(--text-xs,12px);font-weight:var(--weight-semibold,600);padding:10px 12px}.gear-card-feedback.success{color:var(--sage,#7d9b76);background:#7d9b761f}.gear-card-feedback.error{color:var(--ember,#b85c4a);background:#b85c4a1f}.gear-card-feedback.notice{color:var(--sky,#8baec4);background:#8baec41f}.gear-card-assist{font-size:var(--text-xs,12px);color:var(--sky,#8baec4)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:60px 20px;display:flex}.login-card{border-radius:var(--radius-lg,12px);background:var(--paper,#faf8f5);border:1px solid var(--border,#2c2e3324);flex-direction:column;gap:24px;width:min(520px,100%);padding:40px 36px;display:flex}.login-brand{flex-direction:column;gap:10px;display:flex}.login-logo{font-family:var(--font-display,"Instrument Serif", serif);font-size:var(--text-3xl,32px);font-weight:var(--weight-semibold,600);color:var(--ink,#2c2e33)}.login-brand p{color:var(--ink-dim,#7a7670);margin:0;font-size:15px}.login-alert{border-radius:var(--radius-sm,4px);color:var(--ember,#b85c4a);background:#b85c4a1f;border:1px solid #b85c4a73;padding:12px 16px;font-weight:500}.login-section{flex-direction:column;gap:14px;display:flex}.login-section h2{font-size:var(--text-sm,14px);letter-spacing:.04em;text-transform:uppercase;font-weight:var(--weight-semibold,600);color:var(--ink-dim,#7a7670);margin:0}.login-hint{color:var(--ink-faint,#adaba7);margin:0;font-size:13px}.login-google{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:64px;display:flex}.google-button-slot{justify-content:center;align-items:center;min-height:40px;display:flex}.login-status{color:var(--ink-dim,#7a7670);margin:0;font-size:13px}.login-divider{color:var(--ink-faint,#adaba7);text-transform:uppercase;letter-spacing:.24em;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-subtle,#2c2e3314);flex:1;height:1px}.login-manual{flex-direction:column;gap:12px;display:flex}.login-manual label{color:var(--ink,#2c2e33);font-size:14px;font-weight:500}.login-manual textarea{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);min-height:120px;color:var(--ink,#2c2e33);transition:border-color var(--transition-fast,.15s) ease;padding:14px 18px}.login-manual textarea:focus-visible{border-color:var(--sky,#8baec4);outline:none}.login-primary-button,.login-secondary-button{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);font-weight:var(--weight-semibold,600);cursor:pointer;transition:background var(--transition-fast,.15s) ease;padding:12px 20px}.login-primary-button{background:var(--sage,#7d9b76);color:var(--ink-reverse,#faf8f5);border-color:var(--sage,#7d9b76)}.login-primary-button:hover{background:color-mix(in srgb, var(--sage,#7d9b76) 88%, transparent)}.login-primary-button:focus-visible{outline:2px solid var(--sage,#7d9b76);outline-offset:2px}.login-primary-button:disabled{cursor:progress;opacity:.8}.login-secondary-button{background:var(--canvas,#f5f1eb);color:var(--ink,#2c2e33);border-color:var(--border,#2c2e3324);align-self:flex-start}.login-secondary-button:hover{background:var(--ground,#ede7dd)}.login-secondary-button:focus-visible{outline:2px solid var(--ink-faint,#adaba7);outline-offset:2px}.login-settings-grid{gap:14px;display:grid}.login-settings-grid label{color:var(--ink,#2c2e33);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.login-settings-grid input{border-radius:var(--radius-sm,4px);border:1px solid var(--border,#2c2e3324);background:var(--paper,#faf8f5);transition:border-color var(--transition-fast,.15s) ease;padding:12px 16px}.login-settings-grid input:focus-visible{border-color:var(--sky,#8baec4);outline:none}@media (width<=600px){.login-page{padding:40px 16px}.login-card{border-radius:26px;padding:32px 24px}.login-logo{font-size:24px}}
