@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Variable.woff2)format("woff2");font-weight:200 700;font-style:normal;font-display:swap}:root{--color-bg:#121317;--color-surface:#1b1d24;--color-text:#e9e9ec;--color-text-muted:#9a9aa4;--color-border:#2c2e38;--color-accent:#48ba5f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--font-sans:"General Sans", sans-serif;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:28px;--text-2xl:40px;--radius:10px}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;min-height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}.page-center{text-align:center;min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.app-title{font-size:var(--text-2xl);letter-spacing:-.5px;font-weight:700}.app-logo{width:min(360px,72vw);height:auto}.app-subtitle{font-size:var(--text-base);color:var(--color-text-muted);max-width:440px}.auth-page{min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-4);width:100%;max-width:360px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex}.auth-title{font-size:var(--text-xl);text-align:center;letter-spacing:-.5px;font-weight:700}.auth-logo{align-self:center;width:min(200px,60vw);height:auto}.app-logo,.auth-logo{overflow:visible}.logo-dot{animation:3.6s ease-in-out infinite logo-dot-hop}@keyframes logo-dot-hop{0%,70%{animation-timing-function:ease-out;transform:translateY(0)}80%{animation-timing-function:ease-in;transform:translateY(-16px)}88%{animation-timing-function:ease-out;transform:translateY(0)}92%{animation-timing-function:ease-in;transform:translateY(-5px)}96%,to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.logo-dot{animation:none}}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.auth-label{font-size:var(--text-sm);color:var(--color-text-muted)}.auth-input{font-size:var(--text-base);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:8px;padding:10px 12px}.auth-input.auth-code{text-align:center;font-size:var(--text-lg);letter-spacing:6px}.auth-button{font-size:var(--text-base);color:var(--color-bg);background:var(--color-accent);cursor:pointer;border:none;border-radius:8px;padding:10px 12px;font-weight:600}.auth-button:disabled{opacity:.6;cursor:default}.auth-error{font-size:var(--text-sm);color:#ff7a7a}.auth-hint{color:var(--color-text-muted);text-align:center;font-size:13px}.auth-message{font-size:var(--text-base);color:var(--color-text);text-align:center;line-height:1.5}.signed-in{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.signed-in-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.link-button{font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-nav{align-items:center;gap:var(--space-6);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.app-nav-brand{align-items:center;display:inline-flex}.app-nav-logo{width:120px;height:auto}.app-nav-links{gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.app-nav-link{padding:var(--space-1) var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);border-radius:8px}.app-nav-link:hover{color:var(--color-text)}.app-nav-link.is-active{color:var(--color-text);background:var(--color-bg)}.app-nav-user{align-items:center;gap:var(--space-3);display:flex}.app-nav-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.app-main{width:100%;max-width:960px;padding:var(--space-8) var(--space-6);flex:1;margin:0 auto}.page{gap:var(--space-6);flex-direction:column;display:flex}.page-head{gap:var(--space-2);flex-direction:column;display:flex}.page-title{font-size:var(--text-xl);letter-spacing:-.5px;font-weight:700}.detail-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-direction:row}.detail-head-main{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.btn .btn.header-action{color:#fff;flex:none}.modal-overlay{z-index:100;padding:var(--space-4);background:#08090b99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;box-shadow:0 16px 48px #00000080}.modal-title{font-size:var(--text-lg);font-weight:700}.modal-body{font-size:var(--text-sm);color:var(--color-text-muted)}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);display:flex}.page-subtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.empty{color:var(--color-text-muted);font-size:var(--text-sm)}.spot-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.spot-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.spot-item{flex-direction:column;gap:2px;display:flex}.spot-metal{font-size:var(--text-sm);color:var(--color-text-muted)}.spot-price{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-card{gap:var(--space-1);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex}.stat-card:hover{border-color:var(--color-text-muted)}.stat-value{font-size:var(--text-2xl);font-weight:700}.stat-label{font-size:var(--text-sm);color:var(--color-text-muted)}.group{gap:var(--space-3);flex-direction:column;display:flex}.group-title{font-size:var(--text-base);color:var(--color-text-muted);font-weight:600}.list{border:1px solid var(--color-border);border-radius:var(--radius);list-style:none;overflow:hidden}.list-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.list-row:first-child{border-top:none}.list-main{flex-direction:column;flex:1;gap:2px;display:flex}.list-name{font-size:var(--text-base);color:var(--color-accent)}.list-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.list-note{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.badge{border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.badge-owned{color:#7ee0a0;border-color:#2f5a3f}.badge-missing{color:var(--color-text-muted)}.badge-wish{color:#e0c97e;border-color:#5a4f2f}.badge-varieties{color:var(--color-text-muted)}.list-value{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.prime{border-top:1px solid var(--color-border)}.prime:first-child,.prime>.list-row{border-top:none}.prime-toggle,.prime-link{cursor:pointer}.prime-toggle{-webkit-user-select:none;user-select:none}.prime-toggle:hover,.prime-link:hover{background:var(--color-surface)}.prime-toggle .list-name{color:var(--color-text)}.fold-toggle{width:22px;height:22px;color:var(--color-text-muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.prime-toggle:hover .fold-toggle{color:var(--color-text)}.fold-toggle svg{transition:transform .12s}.fold-toggle.is-open svg{transform:rotate(90deg)}.fold-spacer{flex:none;width:22px}.variety-list{background:var(--color-bg);list-style:none}.variety-row{padding-left:var(--space-6)}.variety-row .list-name{font-size:var(--text-sm)}.crumbs{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.crumb-link:hover{color:var(--color-text)}.detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.panel{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.coin-image-panel{justify-content:center;align-items:center}.coin-image{object-fit:contain;border-radius:var(--radius);max-width:100%;max-height:320px;padding:var(--space-3);background:#f4f4f5}.has-photo{color:var(--color-text-muted);align-items:center;display:inline-flex}.panel-note{font-size:var(--text-sm);color:var(--color-text-muted)}.kv-cols{gap:0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.detail-extra{margin-top:var(--space-4)}.detail-extra-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.detail-extra-toggle::-webkit-details-marker{display:none}.detail-extra-toggle:before{content:"▸";margin-right:var(--space-2);color:var(--color-text-muted);font-size:.8em;display:inline-block}.detail-extra[open] .detail-extra-toggle:before{content:"▾"}.detail-extra .kv-cols{margin-top:var(--space-4)}.panel-title{font-size:var(--text-base);font-weight:600}.kv{gap:var(--space-2);flex-direction:column;display:flex}.kv-row{justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);display:flex}.kv-key{color:var(--color-text-muted)}.kv-val{text-align:right}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);white-space:nowrap}.table th{color:var(--color-text-muted);font-weight:600}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.cell-link{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border)}.cell-link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.search-form{gap:var(--space-2);flex:1;min-width:240px;display:flex}.input{min-width:0;font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;flex:1;padding:8px 12px}.btn{font-size:var(--text-sm);color:var(--color-bg);background:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 14px;font-weight:600}.btn-ghost{color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.btn-ghost:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger{color:#fff;background:#b3392f;border-color:#b3392f}.btn-danger:hover{background:#c4453a;border-color:#c4453a}.btn-danger-outline{color:#e79a9a;background:0 0;border-color:#5a2f2f}.btn-danger-outline:hover{color:#fff;background:#b3392f;border-color:#b3392f}.result-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.browse-children{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.browse-child{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;gap:2px;display:flex}.browse-child:hover{border-color:var(--color-text-muted)}.child-name{font-size:var(--text-base);color:var(--color-accent)}.child-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.pager{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pager-info{font-size:var(--text-sm);color:var(--color-text-muted)}.pager-links{gap:var(--space-2);display:flex}.import-step{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.import-batch{gap:var(--space-6);flex-direction:column;display:flex}.import-step+.import-step{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.import-step-head{align-items:flex-start;gap:var(--space-3);display:flex}.step-num{border:1px solid var(--color-border);width:26px;height:26px;font-size:var(--text-sm);color:var(--color-text-muted);border-radius:999px;flex:none;place-items:center;display:grid}.import-step-title{font-size:var(--text-base);font-weight:600}.import-step-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.warn-text{color:#e0c97e}.import-counts{gap:var(--space-6);flex-wrap:wrap;display:flex}.import-count{flex-direction:column;display:flex}.import-count-val{font-size:var(--text-lg);font-weight:600}.import-count-val.accent{color:#e0c97e}.import-count-label{color:var(--color-text-muted);font-size:12px}.apply-confirm{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.apply-confirm-q{font-size:var(--text-sm)}.apply-done{font-size:var(--text-sm);color:#7ee0a0}.apply-none{font-size:var(--text-sm);color:var(--color-text-muted)}.map-list{gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.map-row{gap:var(--space-4);flex-direction:column;display:flex}.map-row-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.map-type{font-weight:600}.map-form{gap:var(--space-4);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.map-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.map-label{color:var(--color-text-muted);font-size:12px}.map-actions{align-items:center;gap:var(--space-3);display:flex}.map-confirm{align-items:center;gap:var(--space-2);font-size:var(--text-sm);white-space:nowrap;display:inline-flex}@media (max-width:720px){.map-form{grid-template-columns:1fr}}.picker{position:relative}.picker-trigger{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;padding:10px 12px;display:flex}.picker-trigger.is-empty .picker-value{color:var(--color-text-muted)}.picker-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-caret{color:var(--color-text-muted);flex:none;font-size:12px}.picker-backdrop{z-index:20;position:fixed;inset:0}.picker-panel{z-index:21;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 12px 32px #0006}.picker-search{width:100%;margin-bottom:var(--space-2)}.picker-list{max-height:280px;list-style:none;overflow-y:auto}.picker-option{text-align:left;width:100%;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px}.picker-option:hover{background:var(--color-bg)}.picker-option.is-selected{color:#7ee0a0}.picker-clear{color:var(--color-text-muted)}.picker-empty{font-size:var(--text-sm);color:var(--color-text-muted);padding:8px 10px}.form{gap:var(--space-6);flex-direction:column;display:flex}.form-group{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4) var(--space-6) var(--space-6)}.form-legend{padding:0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.form-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.form-grid-tight{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.form-label{font-size:var(--text-sm);color:var(--color-text-muted)}.form-hint{color:var(--color-text-muted);font-size:12px}.form-textarea{resize:vertical;width:100%;min-height:72px;font:inherit}.input-with-action{gap:var(--space-2);flex-wrap:wrap;align-items:stretch;display:flex}.input-with-action .input-affix{flex:12rem;min-width:0}.input-with-action .btn{white-space:nowrap;flex:none}.input-affix{display:flex;position:relative}.input-affix .input{width:100%}.input.has-affix{padding-right:2.75rem}.copy-btn-inset{aspect-ratio:1;width:auto;height:auto;color:var(--color-text);background:#fff3;border:none;border-radius:7px;transition:background-color .12s,color .12s;position:absolute;top:4px;bottom:4px;right:4px}.copy-btn-inset:hover:not(:disabled),.copy-btn-inset:active:not(:disabled){background:var(--color-accent);color:#fff}.form-notice{color:var(--color-text-muted);font-size:12px}.copy-btn{width:2.25rem;color:var(--color-text-muted);background:var(--color-surface-2,transparent);border:1px solid var(--color-border);border-radius:var(--radius-sm,6px);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s;display:inline-flex}.copy-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong,var(--color-border))}.copy-btn:disabled{opacity:.4;cursor:default}.catalog-link-current{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:10px 12px;display:flex}.catalog-link-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.catalog-link-flag{color:var(--color-accent);font-size:var(--text-sm)}.catalog-link-panel{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.catalog-link-search{gap:var(--space-2);display:flex}.catalog-link-results{max-height:320px;margin-top:var(--space-2);list-style:none;overflow-y:auto}.catalog-opt{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.catalog-opt:hover{background:var(--color-bg)}.catalog-opt.is-selected{outline:1px solid var(--color-accent)}.form-field-spaced{margin-top:var(--space-4)}.form-sublegend{margin-top:var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.form-check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;padding:9px 0;display:flex}.form-check input{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.form-actions{align-items:center;gap:var(--space-3);display:flex}.form-danger{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius);border:1px solid #5a2f2f;display:flex}.form-danger-text{flex-direction:column;gap:2px;display:flex}.form-danger-title{font-size:var(--text-sm);font-weight:600}.money-input{position:relative}.money-prefix{color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.money-field{width:100%;padding-left:22px}.datepicker-panel{width:286px;left:0;right:auto}.dp-head{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.dp-nav{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;font-size:16px}.dp-nav:hover{background:var(--color-bg);color:var(--color-text)}.dp-title{text-align:center;font-size:var(--text-sm);flex:1;font-weight:600}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-wd{text-align:center;color:var(--color-text-muted);padding:4px 0;font-size:11px}.dp-cell{aspect-ratio:1;color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:flex}.dp-cell:hover{background:var(--color-bg)}.dp-cell.is-empty{cursor:default}.dp-cell.is-selected{background:var(--color-accent);color:var(--color-bg);font-weight:600}.dp-foot{margin-top:var(--space-2);justify-content:flex-end;display:flex}.dp-clear{color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:4px 8px}.dp-clear:hover{color:var(--color-text)}.review-views{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:999px;display:inline-flex}.review-view-btn{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);border-radius:999px;padding:6px 14px;display:inline-flex}.review-view-btn:hover{color:var(--color-text)}.review-view-btn.is-active{background:var(--color-surface);color:var(--color-text)}.review-view-count{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;padding:0 6px;font-size:11px}.applied-note{font-size:var(--text-sm);color:#7ee0a0}.review-layout{gap:var(--space-6);grid-template-columns:240px 1fr;align-items:start;display:grid}.review-rail{top:var(--space-4);max-height:calc(100vh - 120px);position:sticky;overflow-y:auto}.review-queue{flex-direction:column;gap:2px;list-style:none;display:flex}.review-queue-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);border-radius:6px;padding:6px 8px;display:flex}.review-queue-item:hover{background:var(--color-surface)}.review-queue-item.is-current{background:var(--color-surface);color:var(--color-text)}.q-dot{background:var(--color-border);border-radius:999px;flex:none;width:8px;height:8px}.q-pending{background:#e0c97e}.q-resolved{background:#7ee0a0}.q-confident{background:#7ea0e0}.q-applied{background:#7ee0a0;box-shadow:0 0 0 2px #7ee0a040}.q-skipped{background:var(--color-text-muted)}.q-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.review-nav{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-pos{font-size:var(--text-sm);color:var(--color-text-muted)}.review-nav-links{gap:var(--space-2);display:flex}.review-cols{gap:var(--space-4);grid-template-columns:1fr 1.3fr;align-items:start;display:grid}.review-coin-label{font-weight:600}.review-coin-node{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.review-coin-actions{margin-top:var(--space-4)}.cand-list{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;list-style:none;display:flex}.cand-row{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;padding:10px 12px;display:flex}.cand-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cand-section{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-2);font-size:12px}.cand-row.is-chosen{background:#7ee0a00f;border-color:#2f5a3f}.cand-row.is-proposed{background:#e0c97e0f;border-color:#5a4f2f}.cand-main{flex-direction:column;gap:2px;min-width:0;display:flex}.cand-name{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cand-sub{font-size:var(--text-sm);color:var(--color-text-muted)}.cand-tag{border:1px solid var(--color-border);border-radius:999px;padding:1px 6px;font-size:11px}.tag-chosen{color:#7ee0a0;border-color:#2f5a3f}.tag-proposed{color:#e0c97e;border-color:#5a4f2f}.cand-btn{flex:none}.cand-search{margin-bottom:var(--space-3)}.raw-fields,.cand-details{border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-1)}.raw-fields{margin-top:var(--space-4)}.drawer-toggle{cursor:pointer;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:12px;list-style:none}.drawer-toggle::-webkit-details-marker{display:none}.drawer-toggle:before{content:"▸ ";font-size:10px}details[open]>.drawer-toggle:before{content:"▾ "}.drawer-toggle:hover{color:var(--color-text)}.kv-compact{margin-top:var(--space-2)}.kv-compact .kv-row{font-size:var(--text-sm);padding:3px 0}@media (max-width:860px){.review-layout{grid-template-columns:1fr}.review-rail{max-height:200px;position:static}.review-cols{grid-template-columns:1fr}}.list-trail{flex:none;align-items:center;display:flex}.verify-chip{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-family:inherit;font-size:12px;display:inline-flex}.verify-chip:hover{color:var(--color-text)}.verify-chip.is-verified{color:#7ee0a0;border-color:#2f5a3f}.verify-chip.is-static{cursor:default}.verify-check{font-size:11px}.verify-confirm{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:inline-flex}.verify-confirm-q{color:var(--color-text-muted)}.verify-yes,.verify-no{border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:12px}.verify-yes{color:#7ee0a0;border-color:#2f5a3f}.verify-no{color:var(--color-text-muted)}.cell-coin{align-items:center;gap:var(--space-3);display:inline-flex}.cell-thumb{object-fit:cover;background:0 0;border-radius:6px;flex:none;width:36px;height:36px}.cell-thumb-empty{background:var(--color-bg);border:1px solid var(--color-border)}.cell-photo-icon{color:var(--color-accent);flex:none;align-items:center;display:inline-flex}.coin-photos-panel{align-items:stretch}.coin-photos{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.coin-photo{gap:var(--space-1);flex-direction:column;display:flex}.coin-photo-btn{cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative}.coin-photo-btn:disabled{cursor:default}.coin-photo-btn img{width:100%;height:auto;display:block}.coin-photo-zoom{right:var(--space-2);bottom:var(--space-2);color:var(--color-text);background:#121317b8;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600;position:absolute}.coin-photo-cap{font-size:var(--text-sm);color:var(--color-text-muted)}.coin-photo-launch{align-self:flex-start}.photo-manager{gap:var(--space-4);flex-direction:column;display:flex}.photo-dropzone{gap:var(--space-1);width:100%;padding:var(--space-6);text-align:center;color:var(--color-text);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius);cursor:pointer;flex-direction:column;display:flex}.photo-dropzone:hover,.photo-dropzone.is-dragging{border-color:var(--color-accent)}.photo-dropzone.is-dragging{background:#48ba5f0f}.photo-dropzone-main{font-weight:600}.photo-dropzone-sub{color:var(--color-text-muted);font-size:12px}.form-error{font-size:var(--text-sm);color:#f1a3a3}.photo-staged{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.photo-stage-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex-direction:column;display:flex;position:relative}.photo-stage-img{aspect-ratio:1;object-fit:cover;background:0 0;border-radius:6px;width:100%}.photo-stage-status{font-size:var(--text-sm);color:var(--color-text-muted)}.photo-stage-status.is-error{color:#f1a3a3}.photo-stage-q{font-size:var(--text-sm);font-weight:600}.photo-kind-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.photo-kind-chip{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.photo-kind-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.photo-stage-cancel{top:var(--space-2);right:var(--space-2);width:22px;height:22px;color:var(--color-text);cursor:pointer;background:#121317b8;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute}.photo-stage-cancel:hover{background:#121317eb}.photo-thumbs{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.photo-thumb{gap:var(--space-1);flex-direction:column;display:flex;position:relative}.photo-thumb img{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius);background:0 0;width:100%}.photo-thumb-cap{color:var(--color-text-muted);flex-direction:column;font-size:12px;display:flex}.photo-tag{color:var(--color-text-muted)}.photo-tag.is-full{color:var(--color-accent)}.photo-thumb-del{top:var(--space-1);right:var(--space-1);width:22px;height:22px;color:var(--color-text);cursor:pointer;background:#121317b8;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute}.photo-thumb-del:hover{background:#121317eb}.viewer-overlay{z-index:100;background:#08090bf5;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.viewer-title{font-weight:600}.viewer-tools{align-items:center;gap:var(--space-2);display:flex}.viewer-tools .btn-ghost.is-active{color:var(--color-text);border-color:var(--color-text-muted)}.viewer-stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.viewer-img{transform-origin:0 0;position:absolute;top:0;left:0}.viewer-msg,.viewer-loading{color:var(--color-text-muted);font-size:var(--text-sm);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.searchbar{align-items:center;gap:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);cursor:text;border-radius:8px;flex-wrap:wrap;flex:1;min-width:0;padding:6px 10px;display:flex;position:relative}.searchbar:focus-within{border-color:var(--color-accent)}.searchbar-chip{background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:12px;display:inline-flex}.chip-key{color:var(--color-text-muted)}.chip-val{color:var(--color-text);font-weight:600}.chip-x{width:16px;height:16px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.chip-x:hover{color:var(--color-text);background:var(--color-bg)}.searchbar-active{font-size:var(--text-sm);color:var(--color-accent);font-weight:600}.searchbar-input{min-width:140px;font:inherit;font-size:var(--text-sm);color:var(--color-text);background:0 0;border:0;outline:none;flex:1;padding:2px 0}.searchbar-menu{z-index:30;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-height:280px;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.searchbar-menu-hint{color:var(--color-text-muted);padding:6px 8px;font-size:12px}.searchbar-opt{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;width:100%;font:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;display:flex}.searchbar-opt.is-hi{background:var(--color-bg)}.opt-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:10px}.admin-tools{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.admin-tool{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .12s;display:flex}.admin-tool:hover{border-color:var(--color-accent)}.admin-tool-title{font-size:var(--text-lg)}.admin-tool-blurb{font-size:var(--text-sm);color:var(--color-text-muted)}.doc-card{padding:var(--space-4) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-4)}.doc-card p{margin:0 0 var(--space-3);line-height:1.55}.doc-card p:last-child{margin-bottom:0}.doc-h{font-size:var(--text-lg);margin:0 0 var(--space-3)}.doc-format{font-size:var(--text-base)}.doc-card code{background:var(--color-bg);border:1px solid var(--color-border);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.doc-list{padding-left:var(--space-6);gap:var(--space-2);flex-direction:column;margin:0;line-height:1.5;display:flex}.doc-note{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}.slug-editor{gap:var(--space-6);flex-direction:column;display:flex}.slug-toolbar{z-index:2;gap:var(--space-3);padding:var(--space-3) 0;background:var(--color-bg);align-items:center;display:flex;position:sticky;top:0}.slug-toolbar .input{flex:auto}.slug-toolbar-actions{align-items:center;gap:var(--space-3);display:flex}.slug-group{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.slug-group-head{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);color:inherit;cursor:pointer;font:inherit;text-align:left;border:none;justify-content:space-between;align-items:center;display:flex}.slug-group-title{align-items:center;gap:var(--space-2);font-size:var(--text-lg);display:flex}.slug-group-count{font-size:var(--text-sm);color:var(--color-text-muted)}.slug-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;padding:1px 8px;font-size:11px}.slug-group-toggle{font-size:var(--text-sm);color:var(--color-accent)}.slug-group-blurb{padding:0 var(--space-4) var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface);margin:0;line-height:1.5}.slug-table{border-top:1px solid var(--color-border)}.slug-row{gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.5fr);align-items:center;display:grid}.slug-row:last-child{border-bottom:none}.slug-row-head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:12px}.slug-row.is-overridden{background:color-mix(in srgb, var(--color-accent) 7%, transparent)}.slug-key{flex-direction:column;min-width:0;display:flex}.slug-key-name{word-break:break-word}.slug-key-note{color:var(--color-text-muted);font-size:12px}.slug-default{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:var(--color-text-muted);word-break:break-word}.slug-override .input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.target-btn{width:1.9rem;height:1.9rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s,transform .12s;display:inline-flex}.target-btn:hover{color:var(--color-text);transform:scale(1.08)}.target-btn.is-on,.target-btn.is-on:hover{color:var(--color-accent)}.modal-actions-spacer{flex:auto}.btn-danger-text{color:#f1a3a3}.segmented{border:1px solid var(--color-border);border-radius:8px;display:inline-flex;overflow:hidden}.seg{font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-bg);border:none;border-right:1px solid var(--color-border);cursor:pointer;padding:6px 12px}.seg:last-child{border-right:none}.seg.is-on{color:var(--color-bg);background:var(--color-accent)}.bulk-preview{margin:var(--space-3) 0 0;font-size:var(--text-sm)}.bulk-preview-detail{color:var(--color-text-muted)}.wishlist-form .form-check{margin-bottom:var(--space-2)}.catalog-toolbar{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.wl-filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.wl-filter-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.wl-filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);flex:none;width:4rem;font-size:12px}.chip{font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:3px 12px}.chip:hover{color:var(--color-text)}.chip.is-on{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.wl-row .badges{align-items:center;gap:var(--space-2);display:flex}.row-target{align-items:center;display:inline-flex}.km-display,.km-edit{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.km-empty{color:var(--color-text-muted)}.km-edit-link{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.km-edit-link:hover{text-decoration:underline}.km-input{width:9rem;padding:4px 8px}.km-btn{font-size:var(--text-sm);padding:4px 10px}
