:root{color-scheme:light;--ink:#26272d;--ink-soft:#4a4e59;--muted:#6d6a63;--line:#e3dac7;--line-strong:#cfc3aa;--line-soft:#f0e9da;--paper:#fffefa;--bg:#f7f3ea;--surface-2:#faf6ec;--surface-3:#f1ebdd;--canvas:#e9eaec;--canvas-dot:#d3d5da;--board:#f2f3f4;--board-paper:#f7f8f9;--field:#ffffff;--track:#e7e1d4;--track-amber:#f4e8d3;--accent:#c84f31;--accent-soft:#fdeee9;--on-accent:#ffffff;--jade:#147567;--jade-soft:#e2f0ec;--amber:#875a12;--amber-soft:#fff4db;--cobalt:#3568b8;--cobalt-soft:#e8effa;--danger:#b23a2c;--danger-soft:#fdeeeb;--overlay:rgba(30,27,22,0.45);--px:rgba(35,38,46,0.85);--radius-lg:18px;--radius-md:12px;--radius-xs:6px;--radius-sm:8px;--shadow-sm:0 1px 2px rgba(35,38,46,0.05),0 4px 12px -8px rgba(35,38,46,0.16);--shadow-md:0 2px 4px rgba(35,38,46,0.05),0 14px 30px -18px rgba(35,38,46,0.28);--shadow-pixel:3px 3px 0 var(--px);--shadow-pixel-lg:6px 6px 0 var(--px);--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono","JetBrains Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--ink:#ece8df;--ink-soft:#c6c1b5;--muted:#b4ada0;--line:#3a3d47;--line-strong:#4a4e59;--line-soft:#2e313a;--paper:#22242b;--bg:#191b20;--surface-2:#26282f;--surface-3:#2e3038;--canvas:#2b2d33;--canvas-dot:#3a3d45;--board:#232529;--field:#1b1d23;--track:#34363e;--track-amber:#3d3323;--accent:#e47a5f;--accent-soft:rgba(228,122,95,0.16);--on-accent:#26272d;--jade:#63b8aa;--jade-soft:rgba(63,163,150,0.16);--amber:#e0a63f;--amber-soft:rgba(224,166,63,0.15);--cobalt:#6f9be0;--cobalt-soft:rgba(111,155,224,0.16);--danger:#e0604f;--danger-soft:rgba(224,96,79,0.16);--overlay:rgba(0,0,0,0.6);--px:rgba(0,0,0,0.55);--shadow-sm:0 1px 2px rgba(0,0,0,0.3),0 4px 12px -8px rgba(0,0,0,0.5);--shadow-md:0 2px 4px rgba(0,0,0,0.3),0 14px 30px -18px rgba(0,0,0,0.6)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);background:radial-gradient(circle at 12% -8%,color-mix(in srgb,var(--accent) 8%,transparent) 0,transparent 46%),radial-gradient(circle at 92% 0,color-mix(in srgb,var(--jade) 8%,transparent) 0,transparent 40%),var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.012em;line-height:1.25}h1{font-size:clamp(24px,3.4vw,34px)}h1,h2{font-weight:700}h2{font-size:20px}::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}:focus-visible{outline:2.5px solid var(--cobalt);outline-offset:2px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 17px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-pixel);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .12s ease,box-shadow .12s ease}.button:hover,button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#fff);box-shadow:4px 4px 0 var(--px);transform:translate(-1px,-1px)}button:active:not(:disabled){box-shadow:1px 1px 0 var(--px);transform:translate(2px,2px)}button:disabled{opacity:.45;cursor:not-allowed}.ghost,.ghost.button,button.ghost{background:var(--paper);color:var(--ink);border-color:var(--ink)}.ghost:hover:not(:disabled),button.ghost:hover:not(:disabled){background:var(--surface-2)}.danger-button{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,transparent);box-shadow:none;padding:9px 13px;font-size:13px}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,var(--paper));box-shadow:none;transform:none}.eyebrow{display:block;margin:0 0 6px;color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.back-link{display:inline-block;margin-bottom:14px;color:var(--muted);font-size:13px;transition:color .16s ease}.back-link:hover{color:var(--accent)}.muted{color:var(--muted)}.error,.error-text{color:var(--danger)}.error{padding:11px 13px;border:1.5px solid color-mix(in srgb,var(--danger) 32%,transparent);border-radius:var(--radius-sm);background:var(--danger-soft);font-size:13px}.empty{padding:44px 20px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);color:var(--muted);text-align:center}.dashboard{max-width:1140px;margin:0 auto;padding:30px 24px 64px}.bead-dashboard{max-width:1320px}.header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.header-actions form{margin:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;gap:16px;margin:-30px -24px 0;padding:calc(30px + env(safe-area-inset-top, 0px)) 24px 18px;border-bottom:1.5px solid var(--line);background:var(--bg)}.topbar,.topbar-actions{display:flex;align-items:center;flex-wrap:wrap}.topbar-actions{gap:12px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.01em}.brand-name{font-size:15px}.brand-mark{display:block;width:44px;height:44px;border-radius:50%;box-shadow:2px 2px 0 var(--px)}.brand-logo-full{display:block;width:132px;height:132px}.brand-large{margin-bottom:18px}.auth-card .brand-large{display:flex;justify-content:center;width:100%}.brand-large .brand-name{font-size:17px}.brand-large .brand-mark{width:44px;height:44px}.avatar-menu{position:relative;display:inline-flex}.topbar .avatar-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1.5px solid var(--line);border-radius:50%;background:var(--surface-3);overflow:hidden;cursor:pointer}.topbar .avatar-button img{display:block;width:34px;height:34px;border-radius:50%;object-fit:cover}.topbar .avatar-button:hover{border-color:var(--ink)}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;grid-gap:2px;gap:2px;width:150px;padding:6px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-pixel)}.avatar-menu-head{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;padding:6px 2px 8px 28px;margin-bottom:2px;border-bottom:1.5px solid var(--line-soft)}.avatar-menu-head b{min-width:0;overflow:hidden;color:var(--ink);font-size:13px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.topbar .avatar-menu-edit{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted);box-shadow:none;cursor:pointer}.topbar .avatar-menu-head button.avatar-menu-edit{min-width:24px;min-height:24px}.topbar .avatar-menu-edit:before{content:"";position:absolute;inset:-10px}.topbar .avatar-menu-edit svg{width:14px;height:14px}.topbar .avatar-menu-edit:hover:not(:disabled){background:var(--surface-3);color:var(--ink);box-shadow:none;transform:none}.topbar .avatar-menu-edit:active:not(:disabled){box-shadow:none;transform:none}.avatar-dropdown form{margin:0;padding-top:2px;border-top:1.5px solid var(--line-soft)}.topbar .avatar-menu-item{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:8px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);box-shadow:none;font-size:13.5px;font-weight:600;letter-spacing:.02em;text-align:center;text-decoration:none;cursor:pointer;transition:background .16s ease,color .16s ease}.topbar .avatar-menu-item:hover{background:var(--surface-3);box-shadow:none;transform:none}.topbar .avatar-menu-item:active{box-shadow:none;transform:none}.topbar .avatar-menu-logout{color:var(--danger)}.topbar .avatar-menu-logout:hover{background:var(--danger-soft)}.avatar-editor{display:grid;grid-gap:12px;gap:12px}.avatar-editor-preview{display:block;width:96px;height:96px;margin:0 auto;border:1.5px solid var(--line);border-radius:50%;background:var(--surface-3);overflow:hidden}.avatar-editor-preview img{display:block;width:100%;height:100%;object-fit:cover}.avatar-editor input[type=file]{width:100%}.avatar-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.nickname-editor{display:grid;grid-gap:12px;gap:12px}.nickname-editor label{display:grid;grid-gap:6px;gap:6px;color:var(--ink-soft);font-size:13px;font-weight:600}.nickname-editor input{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-size:16px}.nickname-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.topbar .button,.topbar button{padding:7px 13px;font-size:13px;font-weight:600}.page-heading{margin:30px 0 4px}.page-heading h1{margin:0 0 6px}.page-heading p{margin:0;font-size:14px}.page-heading-tight{margin-top:24px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:32px 0 6px;padding:30px 32px;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 0) 0 0 /18px 18px,radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--accent) 14%,transparent) 0,transparent 52%),var(--paper);box-shadow:var(--shadow-pixel-lg)}.home-hero-copy h1{margin:0 0 8px;font-size:clamp(26px,4vw,38px)}.home-hero-copy p{max-width:44ch;margin:0;color:var(--ink-soft);font-size:14px;text-wrap:pretty}.button-lg{padding:13px 24px;font-size:15px;box-shadow:5px 5px 0 var(--px)}.button-lg:hover:not(:disabled){box-shadow:6px 6px 0 var(--px)}.button-block{display:flex;width:100%;margin-top:6px;padding:13px}.landing-card .brand-large{margin-bottom:16px}.empty strong{display:block;margin-bottom:6px;color:var(--ink);font-size:15px}.empty p{margin:0 0 16px;font-size:13px}.summary-lead{margin:0 0 12px;font-size:13px}.dashboard>header,.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px;border:1.5px solid transparent;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;white-space:nowrap}.status-pending{background:var(--surface-3);color:var(--muted);border-color:var(--line-strong)}.status-processing{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 34%,transparent)}.status-review_required{background:var(--jade-soft);color:var(--jade);border-color:color-mix(in srgb,var(--jade) 30%,transparent)}.status-queued{background:var(--surface-3);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 30%,transparent)}.status-failed{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.auth-page{display:grid;place-items:center;padding:28px 20px}.auth-card{width:min(100%,430px);padding:34px;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-pixel-lg)}.auth-card h1{margin-bottom:6px;font-size:27px}.auth-card>p{margin-bottom:22px;color:var(--muted);font-size:14px}.auth-card label{display:grid;grid-gap:7px;gap:7px;margin:15px 0;font-size:13px;font-weight:600}.auth-card input,.auth-card textarea{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-size:15px;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease}.auth-card input:focus,.auth-card textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px color-mix(in srgb,var(--cobalt) 18%,transparent);outline:none}.auth-card button[type=submit],.auth-card>button{width:100%;margin-top:10px;padding:13px}.pattern-create-card{width:min(100%,580px)}.file-field{gap:9px}.file-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-button{position:relative;overflow:hidden;flex:none}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-picker small{color:var(--muted);font-size:12px;font-weight:400;overflow-wrap:anywhere}.pattern-create-preview{display:block;width:100%;max-height:320px;margin:4px 0 16px;background:var(--field);object-fit:contain}.pattern-create-preview,.source-switch{border:1.5px solid var(--line);border-radius:var(--radius-md)}.source-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:4px 0 8px;padding:4px;background:var(--surface-2)}.source-switch button{min-height:44px;padding:10px 8px;border:1.5px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.source-switch button.is-active{border-color:var(--ink);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-pixel)}.source-switch button:disabled{cursor:not-allowed;opacity:.6}.xhs-panel{display:grid;grid-gap:10px;gap:10px;margin:10px 0 4px}.xhs-panel textarea{font-size:15px}.xhs-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.xhs-actions .button{flex:none;width:auto;margin:0}.xhs-actions small{flex:1 1 170px;font-weight:400;line-height:1.5}.xhs-result{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.xhs-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px}.xhs-bulk{display:flex;gap:8px}.xhs-mini{min-height:44px;min-width:44px;padding:0 10px;font-size:11px}.xhs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.xhs-cell{display:grid;grid-gap:2px;gap:2px;padding:6px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field)}.xhs-cell.is-selected{border-color:var(--cobalt);outline:2.5px solid var(--cobalt);outline-offset:-1px}.xhs-thumb{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:0;overflow:hidden;border:0;border-radius:var(--radius-xs);background:var(--surface-3);cursor:pointer}.xhs-thumb img{display:block;width:100%;height:100%;object-fit:contain}.xhs-thumb:disabled{cursor:not-allowed}.xhs-badge{position:absolute;left:4px;bottom:4px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--ink) 76%,transparent);color:#ffffff;font-family:var(--font-mono);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xhs-check{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--paper);color:transparent;font-size:12px;font-weight:600}.xhs-cell.is-selected .xhs-check{border-color:var(--jade);background:var(--jade);color:#ffffff}.xhs-broken{display:grid;place-items:center;height:100%;padding:8px;line-height:1.5;text-align:center}.xhs-broken,.xhs-cell-meta{color:var(--muted);font-size:11px}.xhs-cell-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xhs-cell-meta .ghost{font-family:var(--font-sans)}.xhs-names{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}.xhs-name-hint{margin:-6px 0 10px;font-size:12px}.xhs-created{display:grid;grid-gap:8px;gap:8px;margin:4px 0 12px;padding:10px 12px;border:1.5px solid var(--amber);border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--ink);font-size:13px;line-height:1.6}.xhs-created a{color:var(--cobalt);font-weight:600;justify-self:start}.xhs-preview-modal{width:min(100%,720px)}.xhs-preview-image{display:block;width:100%;max-height:68vh;margin:4px 0 12px;object-fit:contain;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-3)}.list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:34px 0 18px;padding-bottom:14px;border-bottom:1.5px solid var(--line)}.list-heading h2{margin:0}.list-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.list-heading .button{flex:none}.pattern-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.pattern-list .empty{grid-column:1/-1}.pattern-list-item{display:flex;flex-direction:column;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.pattern-list-item:hover{border-color:var(--ink);box-shadow:var(--shadow-pixel);transform:translate(-2px,-2px)}.pattern-list-figure{position:relative;display:block;min-width:0}.pattern-list-figure>img{display:block;width:100%;height:auto;aspect-ratio:4/3;border:1.5px solid var(--line-soft);border-radius:var(--radius-md);background:var(--canvas);object-fit:cover}.pattern-list-status{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px rgba(23,25,29,.18)}.pattern-state-unrecognized{background:color-mix(in srgb,var(--ink) 9%,var(--paper));color:var(--ink-soft);border-color:var(--line-strong)}.pattern-state-ready{background:color-mix(in srgb,var(--amber) 18%,var(--paper));color:var(--amber);border-color:color-mix(in srgb,var(--amber) 34%,transparent)}.pattern-state-doing{background:color-mix(in srgb,var(--cobalt) 16%,var(--paper));color:var(--cobalt);border-color:color-mix(in srgb,var(--cobalt) 32%,transparent)}.pattern-state-done{background:color-mix(in srgb,var(--jade) 16%,var(--paper));color:var(--jade);border-color:color-mix(in srgb,var(--jade) 32%,transparent)}.pattern-list-body{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1 1}.pattern-list-body h3{margin:0;min-width:0;overflow:hidden;font-size:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.pattern-list-meta{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin:0;color:var(--muted);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pattern-list-meta span+span:before{content:"";display:inline-block;width:3px;height:3px;margin:0 12px 3px 0;border-radius:50%;background:var(--line-strong)}.pattern-meta{margin:8px 0 0;font-size:13px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:26px}.detail-card{display:flex;flex-direction:column;padding:20px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.detail-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:13px}.detail-card-heading h2{margin:0;font-size:17px}.detail-card-heading>span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pattern-source-image{display:grid;place-items:center;min-height:300px;max-height:620px;padding:12px;overflow:auto;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--canvas)}.pattern-source-image img{display:block;height:auto}.recognize-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.recognize-action>button{min-width:130px}.recognize-action>small{flex-basis:100%;font-size:12px}.recognize-progress{display:grid;grid-gap:7px;gap:7px;width:100%}.recognize-progress>span{color:var(--amber);font-size:13px;font-weight:600}.recognize-progress small{color:var(--muted);font-size:12px}.recognize-action>small[role=status]{color:var(--jade)}.planning-track{height:8px;overflow:hidden;border-radius:999px;background:var(--track)}.planning-track i{display:block;height:100%;border-radius:inherit;background:var(--jade);transition:width .3s cubic-bezier(.22,1,.36,1)}.recognize-progress .planning-track{background:var(--track-amber)}.recognize-progress .planning-track i{background:var(--amber)}.planning-warning{display:flex;flex-wrap:wrap;gap:3px 10px;margin:0;padding:11px 13px;border-left:3px solid var(--amber);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--amber-soft);color:var(--ink-soft);font-size:13px}.planning-warning strong{color:var(--amber)}.planning-empty{padding:30px 16px;border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center}.planning-empty strong{display:block;margin-bottom:6px;color:var(--ink)}.planning-empty p{margin:0;font-size:13px}.summary-view{display:flex;flex:1 1;flex-direction:column;gap:12px}.summary-view-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1.5px solid var(--line);color:var(--muted);font-size:13px}.summary-view-head strong{color:var(--ink);font-family:var(--font-mono);font-size:23px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summary-color-list{grid-gap:5px;gap:5px;max-height:400px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 4px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 4px,#000 calc(100% - 10px),transparent)}.summary-color-item{display:grid;grid-template-columns:24px minmax(48px,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--surface-2)}.summary-color-item>i{width:22px;height:22px;border:1px solid rgba(0,0,0,.14);border-radius:var(--radius-xs)}.summary-color-item strong{font-family:var(--font-mono);font-size:14px}.summary-color-item span{color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:6px}.detail-actions .button,.detail-actions button{min-height:42px}.summary-editor{margin-top:14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.summary-editor>summary{padding:11px 13px;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer;list-style:none}.summary-editor>summary::-webkit-details-marker{display:none}.summary-editor>summary:before{content:"›";display:inline-block;width:14px;color:var(--muted);transition:transform .16s ease}.summary-editor[open]>summary:before{transform:rotate(90deg)}.summary-editor>p{margin:0;padding:0 13px 11px;color:var(--muted);font-size:13px}.ledger-list{display:grid;grid-gap:4px;gap:4px;max-height:280px;margin-top:4px;padding:0 13px;overflow:auto}.ledger-row{display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr));align-items:center;grid-gap:8px;gap:8px;margin:0;padding:6px 9px;border-radius:8px;background:var(--field);color:var(--muted);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ledger-row strong{color:var(--ink);font-size:13px}.ledger-row.ledger-off{background:var(--amber-soft);color:var(--amber)}.ledger-row.ledger-off strong{color:color-mix(in srgb,var(--amber) 80%,var(--ink))}.summary-correction{display:grid;grid-gap:12px;gap:12px}.summary-correction-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1.5px solid var(--line);color:var(--muted);font-size:13px}.summary-correction-head strong{color:var(--ink);font-size:14px}.summary-correction-list{display:grid;grid-gap:7px;gap:7px;max-height:420px;overflow:auto;padding-right:3px}.summary-correction-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(80px,1fr) 42px auto;align-items:center;grid-gap:8px;gap:8px}.summary-correction-row input{min-width:0;height:38px;padding:7px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:13px}.summary-correction-row input[type=color]{width:42px;padding:3px;cursor:pointer}.summary-correction-row .danger-button{padding:8px 10px}.summary-correction-actions{display:flex;gap:8px;flex-wrap:wrap}.summary-correction-actions button{padding:9px 13px;font-size:13px}.color-library-workspace{margin-top:26px}.planning-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.planning-heading h2{margin:0}.heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.planning-heading-meta{margin:0;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-panel{display:grid;grid-gap:13px;gap:13px;margin-bottom:18px;padding:16px;border:1.5px solid color-mix(in srgb,var(--amber) 28%,transparent);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--paper),var(--surface-2));box-shadow:var(--shadow-sm)}.import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.import-head h3{margin:0 0 4px;font-size:15px}.import-head p{max-width:62ch;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.import-head .ghost{flex:none;padding:7px 12px;font-size:13px}.import-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1.5px dashed color-mix(in srgb,var(--amber) 30%,transparent)}.import-controls label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600}.import-controls input[type=file]{max-width:260px;padding:4px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink-soft);font:inherit;font-size:12px}.import-controls input[type=file]::-webkit-file-upload-button{margin-right:9px;padding:5px 10px;border:1.5px solid var(--ink);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;-webkit-transition:background .16s ease;transition:background .16s ease}.import-controls input[type=file]::file-selector-button{margin-right:9px;padding:5px 10px;border:1.5px solid var(--ink);border-radius:var(--radius-xs);background:var(--surface-2);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .16s ease}.import-controls input[type=file]::-webkit-file-upload-button:hover{background:var(--surface-3)}.import-controls input[type=file]::file-selector-button:hover{background:var(--surface-3)}.import-controls input:not([type=file]),.import-controls select{height:36px;min-width:168px;padding:7px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:13px}.import-status{margin:0;font-size:13px}.import-summary{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding:10px 13px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:13px;color:var(--muted)}.import-summary span{display:inline-flex;align-items:baseline;gap:4px}.import-summary b{color:var(--ink);font-family:var(--font-mono);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-summary .is-warn b{color:var(--amber)}.import-summary small{margin-left:auto;font-size:12px}.import-errors{border:1.5px solid color-mix(in srgb,var(--amber) 34%,transparent);border-radius:var(--radius-sm);background:var(--amber-soft)}.import-errors>summary{padding:9px 12px;color:color-mix(in srgb,var(--amber) 85%,var(--ink));font-size:13px;font-weight:600;cursor:pointer}.import-errors ul{display:grid;grid-gap:4px;gap:4px;max-height:190px;margin:0;padding:0 12px 12px;overflow:auto;list-style:none;font-size:12px;color:color-mix(in srgb,var(--amber) 78%,var(--ink))}.import-errors li b{margin-right:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-table-wrap{max-height:380px}.import-table{min-width:620px;font-size:13px}.import-table td{padding:7px 10px;height:auto}.import-hex,.import-line{color:var(--muted);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-muted{color:var(--muted)}.import-action{display:inline-flex;padding:2px 8px;border:1.5px solid transparent;border-radius:999px;font-size:11px;font-weight:600}.import-action.is-create{background:var(--jade-soft);color:var(--jade);border-color:color-mix(in srgb,var(--jade) 30%,transparent)}.import-action.is-update{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.import-action.is-skip{background:var(--surface-3);color:var(--muted);border-color:var(--line-strong)}.import-more{margin:-4px 0 0;color:var(--muted);font-size:12px}.import-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-actions button{padding:9px 16px;font-size:13px}.import-actions .ghost{padding:9px 14px}.import-actions small{font-size:12px}.library-toolbar{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px;padding:13px 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}.library-toolbar label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600}.library-toolbar .library-search{flex:1 1;max-width:400px}.library-toolbar>span{margin-left:auto;padding-bottom:10px;color:var(--muted);font-size:13px;white-space:nowrap}.library-toolbar input,.library-toolbar select{height:38px;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:13px}.modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay)}.modal-card{width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow:auto;padding:18px;border:1.5px solid var(--ink);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-pixel-lg)}.modal-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.confirm-dialog{max-width:380px}.confirm-dialog .modal-hint{font-size:13px;color:var(--ink-soft)}.modal-title h3{margin:0;font-size:15px}.modal-hint{margin:0 0 12px;font-size:13px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.modal-field{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600}.color-form-fields{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));grid-gap:12px;gap:12px}.color-form-fields>label{display:grid;align-content:start;grid-gap:6px;gap:6px;font-size:13px;font-weight:600}.modal-card input:not([type=color]),.modal-card select{width:100%;height:38px;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-size:13px}.color-picker-field{display:grid;grid-template-columns:42px minmax(70px,1fr);grid-gap:7px;gap:7px}.color-picker-field input[type=color]{width:42px;height:38px;padding:3px;border:1.5px solid var(--line);border-radius:8px;background:var(--field)}.planning-table-wrap{width:100%;overflow:auto;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.planning-table{width:100%;min-width:660px;border-collapse:collapse;text-align:left;font-size:14px}.planning-table th{padding:11px 12px;border-bottom:1.5px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.planning-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.planning-table tbody tr:last-child td{border-bottom:0}.planning-table tbody tr:hover{background:var(--surface-2)}.library-swatch{display:block;width:26px;height:26px;border:1px solid rgba(0,0,0,.14);border-radius:var(--radius-xs)}.table-actions{display:flex;align-items:center;gap:6px}.table-actions button{padding:6px 10px;border-radius:var(--radius-xs);font-size:12px}.table-empty{padding:28px 12px!important;color:var(--muted);text-align:center!important}.planning-message{margin:12px 0 0;font-size:13px}.delete-project small{display:block;margin-top:5px;color:var(--danger);font-size:12px}.bead-workspace{display:grid;grid-gap:16px;gap:16px;margin-top:22px}.bead-overview{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;padding:18px 22px;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.bead-overview-main{display:flex;align-items:center;gap:15px}.bead-overview-ring{position:relative;flex:none;width:72px;height:72px}.bead-overview-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.bead-overview-ring .ring-track{fill:none;stroke:var(--track);stroke-width:3.2}.bead-overview-ring .ring-value{fill:none;stroke:var(--jade);stroke-width:3.2;stroke-linecap:round;transition:stroke-dasharray .45s cubic-bezier(.22,1,.36,1)}.bead-overview-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-overview-copy{display:grid;grid-gap:1px;gap:1px}.bead-overview-copy .eyebrow{margin-bottom:2px}.bead-overview-copy strong{font-size:21px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-overview-copy strong em{margin-left:5px;color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.bead-overview-copy small{color:var(--muted);font-size:12px}.bead-overview-stats{display:flex;gap:10px;flex-wrap:wrap;margin:0}.bead-overview-stats>div{min-width:92px;padding:9px 14px;border:1.5px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}.bead-overview-stats dt{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em}.bead-overview-stats dd{margin:1px 0;font-family:var(--font-mono);font-size:17px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-overview-stats dd.is-warn{color:var(--amber)}.bead-overview-stats small{color:var(--muted);font-size:11px}.bead-notice{margin:0;padding:11px 15px;border-left:3px solid var(--amber);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--amber-soft);color:color-mix(in srgb,var(--amber) 80%,var(--ink));font-size:13px}.bead-canvas-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.bead-toolbar{justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1.5px solid var(--line)}.bead-toolbar,.bead-tools{display:flex;align-items:center;flex-wrap:wrap}.bead-tools{gap:7px}.bead-chip{padding:7px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--field);color:var(--ink-soft);box-shadow:none;font-size:13px;font-weight:600;transition:background .16s ease,color .16s ease,border-color .16s ease}.bead-chip:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}.bead-chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.bead-chip.is-active.is-review{border-color:var(--accent);background:var(--accent);color:#fff}.bead-guide-menu{position:relative}.bead-guide-chevron{flex:none;transition:transform .16s ease}.bead-guide-trigger[aria-expanded=true] .bead-guide-chevron{transform:rotate(180deg)}.bead-guide-settings{position:absolute;top:calc(100% + 8px);left:0;z-index:8;display:grid;grid-gap:13px;gap:13px;width:min(284px,calc(100vw - 72px));padding:14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-md)}.bead-guide-toggle,.bead-guide-toggle-control{display:flex;align-items:center;gap:9px}.bead-guide-toggle{justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.bead-guide-toggle-control>small{color:var(--muted);font-size:12px}.bead-guide-switch{justify-content:flex-start;width:40px;height:24px;padding:3px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--surface-3);box-shadow:none}.bead-guide-switch>span{width:15px;height:15px;border-radius:50%;background:var(--ink-soft);transition:transform .16s ease,background .16s ease}.bead-guide-switch[aria-checked=true]{border-color:var(--ink);background:var(--ink)}.bead-guide-switch[aria-checked=true]>span{transform:translateX(15px);background:var(--paper)}.bead-guide-switch:active:not(:disabled),.bead-guide-switch:hover:not(:disabled){border-color:var(--ink);background:var(--surface-3);box-shadow:none;transform:none}.bead-guide-switch[aria-checked=true]:active,.bead-guide-switch[aria-checked=true]:hover{background:var(--ink)}.bead-guide-choices,.bead-guide-option{display:flex;align-items:center;gap:5px}.bead-guide-option{gap:9px}.bead-guide-label{color:var(--ink-soft);font-size:12px;font-weight:600}.bead-guide-color,.bead-guide-weight{height:32px;padding:0;border:1.5px solid var(--line);border-radius:var(--radius-xs);background:var(--field);color:var(--ink-soft);box-shadow:none;transition:border-color .16s ease,background .16s ease}.bead-guide-color{width:32px}.bead-guide-color>span{width:18px;height:18px;border:1px solid rgba(35,38,46,.25);border-radius:50%}.bead-guide-weight{width:36px;flex-direction:column;gap:3px;font-family:var(--font-mono);font-size:11px;line-height:1}.bead-guide-weight>i{display:block;width:20px;border-radius:1px;background:currentColor}.bead-guide-color:hover:not(:disabled),.bead-guide-weight:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3);box-shadow:none;transform:none}.bead-guide-color.is-active,.bead-guide-weight.is-active{border-color:var(--ink);background:var(--field);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.bead-guide-settings>small{color:var(--muted);font-size:12px}.bead-viewport{position:relative;display:block;min-height:420px;max-height:min(72vh,760px);padding:24px;overflow:auto;background:radial-gradient(circle at 1px 1px,var(--canvas-dot) 1px,transparent 0) 0 0 /22px 22px,var(--canvas);overscroll-behavior:contain;cursor:-webkit-grab;cursor:grab}.bead-viewport.is-reviewing{cursor:crosshair}.bead-viewport.is-panning{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bead-review-list{display:flex;flex-wrap:wrap;gap:7px;max-height:168px;padding:2px;overflow-y:auto}.bead-review-item{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink-soft);box-shadow:none;font-size:12px;transition:border-color .15s ease,background .15s ease}.bead-review-item:hover{border-color:var(--line-strong);background:var(--surface-2)}.bead-review-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.bead-review-item b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-review-code{display:inline-flex;align-items:center;justify-content:center;width:34px;height:22px;border-radius:var(--radius-xs);background:var(--surface-3);color:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.02em}.bead-review-code.is-unknown{background:repeating-linear-gradient(45deg,#fdeacd,#fdeacd 3px,#f0c98d 0,#f0c98d 6px)}.bead-stage{position:relative;width:max-content;margin:0 auto}.bead-board{position:relative;border-radius:4px;background:var(--board-paper);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 36px -20px rgba(35,38,46,.5);overflow:hidden}.bead-canvas{display:block;position:absolute;inset:0}.bead-canvas-overview{display:none;width:100%;height:100%;image-rendering:pixelated}.bead-stage[data-render-mode=viewport][data-overview-ready=true] .bead-canvas-overview,.bead-viewport[data-pinch-preview=true] .bead-canvas-overview{display:block}.bead-canvas-overlay{cursor:inherit}.bead-tooltip{position:absolute;top:0;left:0;z-index:4;display:grid;grid-gap:0;gap:0;padding:5px 9px;border-radius:8px;background:rgba(28,30,36,.94);color:#fff;font-size:12px;line-height:1.35;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease;will-change:transform}.bead-tooltip[data-code]:not([data-code=""]){opacity:1}.bead-tooltip b{font-family:var(--font-mono);font-size:13px}.bead-tooltip small{color:#b9b4a9;font-size:11px}.bead-tooltip-issue{margin-top:2px;color:#f5c26b;font-size:11px;font-style:normal}.bead-caption{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0;padding:10px 15px;border-top:1.5px solid var(--line);color:var(--muted)}.bead-caption,.bead-legend{align-items:center;font-size:12px}.bead-legend{display:inline-flex;gap:7px;color:var(--ink-soft);white-space:nowrap}.bead-legend i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--paper)}.bead-review{display:grid;grid-gap:10px;gap:10px;padding:13px 15px 15px;border-top:1.5px solid var(--line);background:var(--surface-2)}.bead-review-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.bead-review-head strong{color:var(--ink);font-size:14px}.bead-editor{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bead-coord{color:var(--muted);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-segment{display:flex;gap:3px;padding:3px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-3)}.bead-segment button{padding:5px 11px;border:0;border-radius:var(--radius-xs);background:transparent;box-shadow:none;color:var(--ink-soft);font-size:12px;font-weight:600}.bead-segment button:hover:not(:disabled){background:color-mix(in srgb,var(--paper) 70%,transparent);box-shadow:none;transform:none}.bead-segment button.is-active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(35,38,46,.18)}.bead-code-input{width:92px;height:32px;padding:4px 9px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:13px;text-transform:uppercase}.bead-code-input:disabled{background:var(--surface-3);color:var(--muted)}.bead-primary{padding:7px 14px;font-size:13px}.bead-quiet{padding:7px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink-soft);box-shadow:none;font-size:13px;font-weight:600}.bead-quiet:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}.bead-review-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bead-review-empty{margin:0;color:var(--muted);font-size:13px}.bead-pair-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));grid-gap:6px;gap:6px;max-height:250px;overflow-y:auto}.bead-pair-list button{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;min-width:0;text-align:left}.bead-pair-list button small,.bead-pair-list button span{font-size:11px;color:var(--muted)}.bead-pair-list button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-2)}.bead-pair-samples{margin:12px 0}.bead-pair-samples h4{margin:0 0 6px;font-size:15px}.bead-group-list{display:flex;flex-wrap:wrap;gap:7px;max-height:168px;padding:2px;overflow-y:auto}.bead-group-card{display:grid;grid-template-columns:auto 1fr;align-items:baseline;grid-gap:2px 8px;gap:2px 8px;width:100%;min-height:44px;padding:6px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.bead-group-card:hover{border-color:var(--line-strong);background:var(--surface-2)}.bead-group-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.bead-group-card.is-readonly{background:transparent}.bead-group-card b{color:var(--ink);font-size:13px}.bead-group-card small{grid-column:2;color:var(--muted);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-group-samples{display:flex;flex-wrap:wrap;gap:8px}.bead-group-card b{min-width:0;overflow-wrap:anywhere}.bead-review-dialog{max-width:560px}.bead-group-dialog{max-width:620px}.bead-continuous-review{width:100%;max-width:1080px}.bead-review-columns{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);grid-gap:20px;gap:20px;align-items:start}.bead-current-task,.bead-task-queue{min-width:0}.bead-task-queue{position:-webkit-sticky;position:sticky;top:0}.bead-current-task{padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.bead-current-task h4,.bead-ledger h4{margin:0 0 8px;font-size:15px}.bead-continuous-review .bead-group-card.is-active{border-color:var(--cobalt);background:var(--cobalt-soft)}.bead-continuous-review a.bead-quiet,.bead-continuous-review button,.bead-evidence-declaration{min-height:44px}.bead-continuous-review input:not([type=checkbox]){min-height:44px;font-size:16px}.bead-evidence-declaration{display:flex;gap:10px;margin-block:10px;color:var(--ink-soft);cursor:pointer}.bead-continuous-review .bead-evidence-declaration input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;padding:0;accent-color:var(--cobalt)}.bead-continuous-review [hidden]{display:none!important}.bead-ledger{padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}.bead-ledger-scroll{overflow-x:auto;max-height:220px;overscroll-behavior:contain}.bead-ledger table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-ledger td,.bead-ledger th{padding:8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.bead-ledger th:first-child{text-align:left}.bead-ledger thead{position:-webkit-sticky;position:sticky;top:0;background:var(--paper)}.bead-ledger tbody .is-mismatch td,.bead-ledger tbody .is-mismatch th{color:var(--danger);font-weight:600}.bead-ledger-history{display:block;color:var(--muted);font-size:11px;font-weight:400}.bead-legend-quantities{margin-top:20px}.bead-legend-quantities input{width:84px;min-height:44px;padding:6px 8px}.bead-legend-quantities .bead-review-actions{margin-top:10px}.bead-inline-confirm{padding:16px;border:1px solid var(--amber);border-radius:var(--radius-sm);background:var(--amber-soft)}.bead-inline-confirm p{white-space:pre-line;overflow-wrap:anywhere}.bead-continuous-review .pattern-cell-crop.is-inline img{background:var(--board-paper)}.bead-continuous-review .bead-segment{flex-wrap:wrap;margin-block:10px}.bead-continuous-review .bead-review-actions small{width:100%;color:var(--muted);font-size:12px}@media (max-width:760px){.bead-review-columns{grid-template-columns:minmax(0,1fr);gap:10px}.bead-task-queue{position:static}.bead-task-queue .bead-group-list.is-modal{max-height:220px}.bead-current-task{padding:10px}.bead-ledger{padding:8px}.bead-ledger-scroll{max-height:140px}}.bead-group-dialog .modal-hint,.bead-review-dialog .modal-hint{font-size:12px;line-height:1.55}.bead-group-dialog .bead-primary,.bead-group-dialog .bead-quiet,.bead-review-dialog .bead-quiet{min-height:44px}.bead-group-dialog .modal-actions,.bead-review-dialog .modal-actions{flex-wrap:wrap}.bead-group-list.is-modal{display:grid;grid-auto-rows:min-content;grid-gap:7px;gap:7px;max-height:min(52vh,420px);padding:2px;overflow-y:auto;overscroll-behavior:contain}.bead-group-list.is-modal .bead-group-card{grid-template-columns:auto minmax(0,1fr) auto}.bead-group-go{grid-column:3;grid-row:1/span 2;align-self:center;color:var(--muted);font-size:18px;line-height:1}.bead-group-meta{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px;color:var(--ink-soft);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-group-meta b{color:var(--ink)}.bead-review-notice{display:grid;grid-gap:8px;gap:8px;justify-items:start;margin-bottom:10px}.bead-review-notice .bead-panel-note{margin:0}.bead-group-samples.is-modal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.pattern-cell-crop.is-inline{display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--field)}.pattern-cell-crop.is-inline img{width:100%;height:auto;max-height:180px;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#f7f8f9}.pattern-cell-crop.is-inline small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.bead-group-field{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px;color:var(--ink-soft);font-size:12px;font-weight:600}.bead-group-field .bead-code-input{width:100%;max-width:180px;height:44px;font-size:15px}.bead-error{margin:0;color:var(--danger);font-size:12px}.bead-panel{border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.bead-selection{display:grid;grid-template-columns:minmax(150px,208px) minmax(0,1fr) auto;align-items:center;grid-gap:10px 22px;gap:10px 22px;padding:14px 16px 16px;border-top:1.5px solid var(--line);background:var(--surface-2)}.bead-selection.is-live{background:var(--paper)}.bead-selection-meter{display:grid;grid-gap:7px;gap:7px;min-width:0}.bead-selection-actions{display:grid;grid-gap:5px;gap:5px;justify-items:end}.bead-selection-actions .bead-stepper{grid-template-columns:34px 78px 34px auto}.bead-selection>.bead-error{grid-column:1/-1}.bead-selection-hint{grid-column:1/-1;display:flex;align-items:center;gap:13px}.bead-selection-hint>div{display:grid;grid-gap:2px;gap:2px}.bead-selection-hint b{font-size:14px}.bead-selection-hint small{color:var(--muted);font-size:12px;line-height:1.55}.bead-progress-head{display:flex;align-items:center;gap:11px}.bead-progress-swatch{flex:none;width:34px;height:34px;border:1px solid rgba(0,0,0,.16);border-radius:var(--radius-sm);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.bead-progress-head>div{display:grid;min-width:0}.bead-progress-head b{font-family:var(--font-mono);font-size:15px}.bead-progress-head small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.bead-selection-meta{display:flex;align-items:baseline;gap:9px;margin:0;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-selection-meta b{font-family:var(--font-mono);font-size:13px;font-weight:600}.bead-selection-meta span{color:var(--muted)}.bead-selection-meta em{margin-left:auto;color:var(--jade);font-family:var(--font-mono);font-size:14px;font-style:normal;font-weight:700}.bead-meter{height:7px;overflow:hidden;border-radius:999px;background:var(--track)}.bead-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2a9c8c,var(--jade));transition:width .3s cubic-bezier(.22,1,.36,1)}.bead-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px auto;align-items:center;grid-gap:5px;gap:5px}.bead-stepper>button[aria-label]{height:34px;padding:0;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);box-shadow:none;font-size:16px;font-weight:600}.bead-stepper>button[aria-label]:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}.bead-stepper input{width:100%;height:34px;padding:4px 6px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.bead-done{height:34px;padding:0 11px;font-size:12px}.bead-save-state{margin:0;color:var(--muted);font-size:11px;text-align:right}.bead-idle-mark{flex:none;width:34px;height:34px;border:2px dashed var(--line-strong);border-radius:var(--radius-sm)}.bead-color-panel{display:flex;flex-direction:column;overflow:hidden}.bead-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px 9px}.bead-panel-head h2{margin:0;font-size:14px}.bead-panel-title{display:grid;grid-gap:2px;gap:2px}.bead-panel-title small{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-palette-hint{flex:none;color:var(--muted);font-size:12px}.bead-palette{display:flex;align-items:flex-start;gap:9px;padding:7px 16px 12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.bead-palette::-webkit-scrollbar{display:none}.bead-palette.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.bead-swatch-button{display:grid;flex:none;justify-items:center;grid-gap:5px;gap:5px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);transition:opacity .16s ease}.bead-swatch-button,.bead-swatch-button:active:not(:disabled),.bead-swatch-button:focus,.bead-swatch-button:hover:not(:disabled){background:transparent;border:0;box-shadow:none;transform:none}.bead-swatch{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(0,0,0,.16);border-radius:50%;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 4px 9px -6px rgba(35,38,46,.85);font-family:var(--font-mono);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.bead-swatch-button:hover:not(:disabled) .bead-swatch{transform:translateY(-3px)}.bead-swatch-button:active:not(:disabled) .bead-swatch{transform:translateY(0)}.bead-palette.is-dragging .bead-swatch{transform:none}.bead-swatch.is-all{border-color:var(--line-strong);background:var(--surface-2);color:var(--ink-soft);letter-spacing:.03em}.bead-swatch-button.is-active .bead-swatch.is-all{border-color:var(--accent);background:var(--paper);color:var(--ink)}.bead-swatch-button:focus-visible{outline:none}.bead-swatch-button:focus-visible .bead-swatch{outline:2.5px solid var(--cobalt);outline-offset:3px}.bead-swatch-button.is-active .bead-swatch{transform:translateY(-3px);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent),0 8px 14px -9px rgba(226,96,63,.9)}.bead-swatch-bar{width:40px;height:3px;overflow:hidden;border-radius:999px;background:var(--track)}.bead-swatch-bar i{display:block;height:100%;border-radius:inherit;background:var(--line-strong);transition:width .3s ease}.bead-swatch-button.is-active .bead-swatch-bar i{background:var(--accent)}.bead-swatch-button.is-complete .bead-swatch-bar i{background:var(--jade)}.bead-swatch-button.is-complete .bead-swatch:after{content:"✓";position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 2px var(--paper);color:#fff;font-size:9px;line-height:1}.bead-swatch-button.is-absent{opacity:.36}.bead-swatch-button:disabled{pointer-events:none}.bead-panel-note{margin:0;padding:9px 16px 13px;border-top:1.5px solid var(--line);color:var(--muted);font-size:12px}@media (max-width:760px){.dashboard{padding:24px 16px 48px}.topbar{margin:-24px -16px 0;padding:calc(24px + env(safe-area-inset-top, 0px)) 16px 14px}.detail-grid{grid-template-columns:minmax(0,1fr)}.pattern-list{gap:12px}.pattern-list-item{padding:10px}.pattern-list-body h3{font-size:15px}.pattern-list-meta span+span:before{display:none}.bead-overview{gap:16px;padding:16px}.bead-selection{grid-template-columns:minmax(0,1fr);gap:12px}.bead-selection-meter{grid-column:1/-1}.bead-selection-actions{justify-items:start}.bead-overview-stats>div{min-width:78px;padding:8px 11px}.bead-viewport{min-height:340px;padding:14px}.summary-color-list{max-height:none}.color-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{flex-direction:column;align-items:stretch}.library-toolbar>span{margin:0;padding:0}}@media (max-width:520px){.topbar{gap:10px}.topbar .button,.topbar button{padding:6px 11px;font-size:12px}.home-hero{flex-direction:column;align-items:stretch;padding:22px 20px;box-shadow:var(--shadow-pixel)}.home-hero-copy h1{font-size:27px}.home-hero .button-lg{align-self:flex-start}.bead-overview-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.list-heading{flex-direction:column;align-items:stretch}.list-heading .button{width:100%}.pattern-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pattern-list-item{padding:8px;gap:8px}.pattern-list-body h3{font-size:13.5px}.pattern-list-meta{font-size:11px;gap:2px 10px}.pattern-list-progress{gap:5px;flex-wrap:wrap}.pattern-list-track{flex:1 1 100%;max-width:none;height:5px}.pattern-list-progress span{font-size:10.5px}.bead-toolbar{align-items:flex-start;flex-direction:column}.bead-selection-actions{justify-items:stretch}.bead-swatch{width:40px;height:40px;font-size:11px}.bead-swatch-bar{width:34px}.bead-selection .bead-stepper{grid-template-columns:34px minmax(0,1fr) 34px}.bead-done{grid-column:1/-1}.summary-correction-row{grid-template-columns:minmax(0,1fr) 80px 38px}.summary-correction-row .danger-button{grid-column:1/-1;justify-self:end}.auth-card{padding:24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.cluster-table{margin:4px 0 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.cluster-table>summary{display:flex;align-items:center;gap:8px;padding:11px 13px;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer;list-style:none}.cluster-table>summary::-webkit-details-marker{display:none}.cluster-table>summary:before{content:"›";display:inline-block;width:12px;color:var(--muted);transition:transform .16s ease}.cluster-table[open]>summary:before{transform:rotate(90deg)}.cluster-badge{margin-left:auto;padding:2px 8px;border:1.5px solid transparent;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}.cluster-badge-pending{background:var(--amber-soft);color:var(--amber);border-color:color-mix(in srgb,var(--amber) 30%,transparent)}.cluster-badge-done{background:var(--jade-soft);color:var(--jade);border-color:color-mix(in srgb,var(--jade) 30%,transparent)}.cluster-lead{margin:0;padding:0 13px 11px;font-size:13px;line-height:1.65}.cluster-rows{display:grid;grid-gap:4px;gap:4px;max-height:460px;padding:0 13px;overflow:auto}.cluster-row{display:grid;grid-template-columns:104px minmax(96px,.9fr) 96px auto;align-items:center;grid-gap:10px;gap:10px;padding:7px 9px;border-radius:8px;background:var(--field)}.cluster-row-pending{background:var(--amber-soft);box-shadow:inset 2px 0 0 var(--amber)}.cluster-glyph{display:flex;align-items:center;justify-content:center;height:46px;border:1.5px solid var(--line);border-radius:var(--radius-xs);background:var(--field);overflow:hidden}.cluster-glyph img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.cluster-glyph-missing{color:var(--muted);font-size:12px}.cluster-meta{display:grid;grid-gap:1px;gap:1px;min-width:0}.cluster-meta strong{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cluster-meta span{font-size:12px;line-height:1.4}.cluster-code{width:100%;padding:7px 9px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--field);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cluster-code:focus{outline:2.5px solid var(--cobalt);outline-offset:1px}.cluster-actions{display:flex;gap:6px}.cluster-actions button{padding:7px 11px;font-size:13px}@media (max-width:720px){.cluster-row{grid-template-columns:88px minmax(0,1fr) auto;row-gap:6px}.cluster-code{grid-column:2}.cluster-actions{grid-column:3;grid-row:1/span 2;flex-direction:column}}.engine-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));grid-gap:10px;gap:10px}.engine-card{display:grid;grid-gap:5px;gap:5px;justify-items:start;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:none;color:var(--ink);cursor:pointer;text-align:left;white-space:normal}.engine-card-head{display:flex;align-items:center;gap:6px;width:100%}.hint-tip{position:relative;display:inline-flex;align-items:center}.hint-tip .hint-tip-trigger{position:relative;display:grid;place-items:center;width:22px;height:22px;min-height:0;padding:0;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--paper);box-shadow:none;color:var(--ink-soft);font-family:var(--font-mono);font-size:11px;font-weight:700;line-height:1;transition:background .16s ease,border-color .16s ease,color .16s ease}.dashboard:not(.bead-dashboard) .engine-card .hint-tip .hint-tip-trigger{width:20px;height:20px;min-width:0;min-height:0}.hint-tip-trigger:after{content:"";position:absolute;inset:-11px}.engine-card .hint-tip-trigger:after{inset:-12px}.hint-tip .hint-tip-trigger:focus-visible,.hint-tip .hint-tip-trigger:hover{border-color:var(--ink);background:var(--accent);box-shadow:none;color:var(--on-accent);transform:none}.hint-tip .hint-tip-trigger:active{box-shadow:none;transform:none}.hint-tip.is-open .hint-tip-trigger{border-color:var(--ink);background:var(--ink);box-shadow:none;color:var(--paper)}.hint-tip-panel{position:absolute;top:calc(100% + 8px);left:-6px;z-index:30;width:min(240px,64vw);padding:9px 11px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-pixel);color:var(--ink-soft);font-size:12px;font-weight:400;line-height:1.55;text-align:left;white-space:normal}.fast-ai-assist{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--ink);font-size:13px;line-height:1.6;cursor:pointer}.fast-ai-assist input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0;accent-color:var(--cobalt)}.fast-ai-assist small{font-size:12px}.engine-card:hover:not(:disabled){border-color:var(--line-strong);background:var(--paper);box-shadow:none;transform:none}.engine-card-active{border-color:var(--ink);background:var(--paper);box-shadow:var(--shadow-pixel)}.engine-card-active:hover:not(:disabled){background:var(--paper);border-color:var(--ink);box-shadow:4px 4px 0 var(--px);transform:translate(-1px,-1px)}.engine-card strong{font-size:14px;font-weight:700}.engine-card ul{margin:0;padding-left:17px;color:var(--ink-soft);font-size:13px;line-height:1.6;list-style:square}.engine-card li::marker{color:var(--accent)}.engine-card small{font-size:12px;line-height:1.5}.frame-picker{display:grid;grid-gap:10px;gap:10px;container-type:inline-size}.frame-picker-head{display:grid;grid-gap:2px;gap:2px}.frame-picker-head strong{font-size:14px}.frame-picker-head span{font-size:12px;line-height:1.55}.frame-mode-switch{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.frame-mode-switch .frame-mode-active{border-color:var(--cobalt);background:color-mix(in srgb,var(--cobalt) 12%,var(--paper))}.frame-options{color:var(--ink-soft);font-size:13px}.frame-options summary{width:-moz-fit-content;width:fit-content;padding:6px 0;cursor:pointer}.frame-options[open]{display:grid;grid-gap:6px;gap:6px}.frame-picker-content,.frame-visual{display:grid;min-width:0;align-content:start;grid-gap:10px;gap:10px}.frame-stage{position:relative;width:100%;max-height:62vh;overflow:hidden;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--canvas);touch-action:none;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.frame-stage img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.frame-stage-viewport{min-width:0;width:100%;max-height:62vh;overflow:auto;overscroll-behavior:contain}.frame-grid-toggle{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;font-size:12px}.frame-legend-review-button{justify-self:start}.frame-box.frame-box-legend,.frame-box.frame-box-unshaded{box-shadow:none}.frame-swatch-box{position:absolute;z-index:2;border:1px solid var(--cobalt);pointer-events:none}.frame-swatch-box span{position:absolute;top:0;left:0;background:var(--cobalt);color:#fff;font-size:10px;line-height:1}.frame-swatch-drawing{border:2px solid var(--accent)}.legend-editor{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:10px}.legend-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.legend-editor-actions{display:flex;flex-wrap:wrap;gap:6px}.legend-editor-actions button,.legend-editor-row button{padding:5px 8px;font-size:12px}.legend-editor p{margin:0;font-size:12px}.legend-editor-list{display:grid;max-height:min(45vh,440px);overflow-y:auto;border-top:1px solid var(--line)}.legend-editor-row{display:grid;grid-template-columns:minmax(62px,110px) minmax(68px,1fr) minmax(68px,1fr) auto;align-items:end;grid-gap:8px;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.legend-editor-row label{display:grid;grid-gap:3px;gap:3px;min-width:0;font-size:12px}.legend-editor-row input{width:100%;min-width:0;padding:5px 6px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--field);color:var(--ink);font-size:16px}.legend-editor-row input[aria-invalid=true]{border-color:var(--danger)}.legend-editor-row small{font-size:11px;line-height:1.3}.legend-editor-image{display:flex;align-items:center;gap:4px;min-width:0;color:var(--muted);font-family:var(--font-mono);font-size:11px}.legend-editor-swatch{display:inline-block;height:64px;max-width:100%;border:1px solid var(--line);background-repeat:no-repeat}.legend-editor-unmatched{grid-column:1/-1;gap:4px}.legend-editor-title,.legend-editor-unmatched{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--ink-soft);font-size:12px}.legend-editor-title{gap:6px;line-height:1.5}.legend-editor-title button{padding:5px 8px;font-size:12px}.legend-editor-ai{justify-self:start}.legend-editor-review{display:flex;align-items:center;gap:6px;font-size:13px}@media (max-width:420px){.legend-editor-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)}.legend-editor-row>button{grid-column:2/4;justify-self:end}}.frame-grid-overlay{position:absolute;z-index:1;overflow:hidden;pointer-events:none}.frame-grid-line{position:absolute;background:color-mix(in srgb,var(--cobalt) 55%,transparent)}.frame-grid-line-x{top:0;bottom:0;width:1px}.frame-grid-line-y{left:0;right:0;height:1px}.frame-even-grid .frame-grid-line{background:color-mix(in srgb,var(--accent) 75%,transparent)}.frame-box{position:absolute;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:0 0 0 9999px rgba(15,14,18,.42);cursor:move}.frame-handle{position:absolute;background:var(--accent);border-radius:2px}.frame-handle-left,.frame-handle-right{top:0;bottom:0;width:9px;cursor:ew-resize}.frame-handle-left{left:-5px}.frame-handle-right{right:-5px}.frame-handle-bottom,.frame-handle-top{left:0;right:0;height:9px;cursor:ns-resize}.frame-handle-top{top:-5px}.frame-handle-bottom{bottom:-5px}.frame-readout{display:grid;grid-gap:6px;gap:6px}.frame-readout p{margin:0;font-size:13px}.frame-readout strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.frame-manual{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.frame-manual input{width:58px;padding:5px 7px;border:1.5px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--field);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:13px;text-align:center}@media (max-width:420px){.frame-manual input{font-size:16px}}.frame-warnings{margin:0;padding:8px 11px 8px 26px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber);font-size:12px;line-height:1.65}.frame-ruler{display:grid;grid-gap:7px;gap:7px;padding:9px 11px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper)}.frame-ruler p{display:grid;grid-gap:2px;gap:2px;margin:0;line-height:1.6}.frame-ruler strong{font-size:13px;color:var(--ink)}.frame-ruler span{font-size:12px}.frame-ruler-actions{display:flex;flex-wrap:wrap;gap:6px}.frame-ruler-actions button{padding:5px 9px;font-size:12px}.frame-actions{display:flex;justify-content:flex-end;gap:8px}.crop-picker .frame-stage{max-height:56vh}.crop-picker .frame-actions{flex-wrap:wrap}.crop-picker .frame-actions button{white-space:nowrap}@media (max-width:520px){.crop-picker .frame-actions button:last-child{flex:1 1 100%}}.dashboard:not(.bead-dashboard){min-width:0;min-height:100vh;min-height:100dvh;padding:calc(30px + env(safe-area-inset-top, 0px)) calc(24px + env(safe-area-inset-right, 0px)) calc(64px + env(safe-area-inset-bottom, 0px)) calc(24px + env(safe-area-inset-left, 0px))}.auth-page{min-height:100vh;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px))}:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) :is(h1,h2,h3,p,small,label,.error,.error-text,.brand){min-width:0;overflow-wrap:anywhere}.dashboard:not(.bead-dashboard) :is(.topbar-actions,.page-heading,.detail-card,.detail-grid,.pattern-list-body,.home-hero-copy,.planning-workspace,.import-panel,.import-head>div,.library-toolbar>label,.import-controls>label){min-width:0;max-width:100%}.color-library-workspace :is(input,select,label),:is(.auth-card,.modal-card) :is(form,label,input,select,textarea){min-width:0;max-width:100%}.auth-card select{width:100%;min-height:44px;padding:12px 13px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit}.detail-card-heading,.heading-actions,.modal-actions,.planning-heading,.summary-correction-head{flex-wrap:wrap}.color-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.color-form-fields>label,.color-picker-field{min-width:0}.color-picker-field{grid-template-columns:44px minmax(0,1fr)}.modal-card .color-picker-field input[type=color]{width:44px;min-height:44px}.modal-overlay{inset:auto;top:var(--modal-viewport-top,0);left:var(--modal-viewport-left,0);width:var(--modal-viewport-width,100%);z-index:1000;height:100vh;height:var(--modal-viewport-height,100dvh);padding:calc(16px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) calc(16px + env(safe-area-inset-left, 0px));overflow:auto;overscroll-behavior:contain}.modal-overlay>.modal-card{min-width:0;min-height:0;max-height:100%;overscroll-behavior:contain;overflow-wrap:anywhere;scroll-padding-block:16px;-webkit-overflow-scrolling:touch}.modal-card form{margin:0}.modal-actions{padding-bottom:3px}.color-library-workspace .planning-table-wrap{max-width:100%;min-width:0;overscroll-behavior-x:contain}.table-scroll-hint{margin:8px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.color-library-workspace .planning-table :is(th,td){max-width:220px;white-space:normal;overflow-wrap:anywhere}.color-library-table :is(th,td):last-child:not([colspan]){position:-webkit-sticky;position:sticky;right:0;z-index:1;width:144px;min-width:144px;background:var(--paper);box-shadow:-3px 0 0 var(--line-soft)}.color-library-table .table-actions{gap:8px}@media (max-height:500px),(max-width:760px),(pointer:coarse){.dashboard:not(.bead-dashboard){padding:calc(24px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) calc(48px + env(safe-area-inset-bottom, 0px)) calc(16px + env(safe-area-inset-left, 0px))}:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) :is(input,textarea,select){min-width:0;max-width:100%;min-height:44px;font-size:16px}:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) :is(button,.button,.back-link,summary){min-height:44px;min-width:44px}:is(.dashboard:not(.bead-dashboard),.auth-page) .back-link{display:inline-flex;align-items:center}.color-library-workspace :is(.import-controls,.heading-actions){gap:8px}.color-library-workspace .import-controls>label{width:100%}.color-library-workspace .import-controls :is(input,select),.color-library-workspace .library-toolbar .library-search{width:100%;max-width:100%}.import-controls input[type=file]::-webkit-file-upload-button{min-height:44px;font-size:14px}.import-controls input[type=file]::file-selector-button{min-height:44px;font-size:14px}.dashboard:not(.bead-dashboard) .summary-correction-row{grid-template-columns:minmax(0,1fr) 80px 44px}.dashboard:not(.bead-dashboard) .summary-correction-row input[type=color]{width:44px}.dashboard:not(.bead-dashboard) .summary-correction-row .danger-button{grid-column:1/-1;justify-self:end}}@media (max-width:520px){.color-form-fields{grid-template-columns:minmax(0,1fr)}.modal-actions>button{flex:1 1}}@media (max-width:359px){.dashboard:not(.bead-dashboard) .cluster-row{grid-template-columns:64px minmax(0,1fr)}.dashboard:not(.bead-dashboard) .cluster-actions{grid-column:1/-1;grid-row:auto;flex-direction:row;flex-wrap:wrap}}@media (max-height:500px){.auth-page{place-items:start center}.modal-overlay{align-items:flex-start}}@media (hover:none),(pointer:coarse){:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) :is(button,.button):hover:not(:disabled){transform:none;box-shadow:var(--shadow-pixel);background:var(--accent)}:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) .ghost:hover:not(:disabled){background:var(--paper)}:is(.dashboard:not(.bead-dashboard),.auth-page,.modal-card) .danger-button:hover:not(:disabled){background:var(--danger-soft);box-shadow:none}.dashboard:not(.bead-dashboard) .engine-card:hover:not(:disabled){background:var(--paper);box-shadow:none}.dashboard:not(.bead-dashboard) .engine-card-active:hover:not(:disabled){box-shadow:var(--shadow-pixel)}.dashboard:not(.bead-dashboard) .pattern-list-item:hover{transform:none;background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-sm)}.color-library-workspace .planning-table tbody tr:hover{background:transparent}.import-controls input[type=file]::-webkit-file-upload-button:hover{background:var(--surface-2)}.import-controls input[type=file]::file-selector-button:hover{background:var(--surface-2)}}@media (hover:hover) and (pointer:fine){.color-library-table tbody tr:hover>td:last-child:not([colspan]){background:var(--surface-2)}}.dashboard.bead-dashboard{width:100%;max-width:none;margin:0;padding:0}.bead-workspace.bead-immersive{position:fixed;inset:var(--workspace-top,0) 0 auto;display:block;height:100vh;height:var(--workspace-height,100dvh);min-width:0;margin:0;overflow:hidden;background:var(--canvas);--bead-appbar-height:64px;--bead-dock-clearance:152px;--bead-axis-band:20px;--bead-axis-left:calc(var(--bead-axis-band) + env(safe-area-inset-left, 0px))}.bead-appbar{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:12px;min-width:0;padding:calc(8px + env(safe-area-inset-top, 0px)) max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--paper)}.bead-mode-trigger{display:inline-flex;flex:1 1;justify-content:center;min-width:0;min-height:44px;padding:2px 6px;border:0;border-radius:10px;background:transparent;color:var(--ink);box-shadow:none;text-align:center}.bead-mode-trigger:hover:not(:disabled){background:transparent;box-shadow:none;transform:none}.bead-mode-name{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;padding:2px 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);font-size:15px;font-weight:700;line-height:1.25}.bead-mode-trigger:hover:not(:disabled) .bead-mode-name{border-color:var(--line-strong);background:var(--surface-2)}.bead-mode-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ink-soft)}.bead-mode-trigger:hover:not(:disabled) .bead-mode-icon{color:var(--ink)}.bead-mode-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bead-back,.bead-list-link,.bead-overall-button{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink-soft);box-shadow:none;font-size:13px}.bead-overall-button{position:relative;color:var(--jade);font-family:var(--font-mono);font-weight:700}.bead-overall-button.has-warning:after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--amber)}.bead-immersive .bead-canvas-card{position:absolute;inset:0;display:block;border:0;border-radius:0;box-shadow:none}.bead-axis-ruler{position:absolute;inset:0;z-index:6;display:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bead-immersive .bead-axis-ruler{display:block}.bead-axis-band{position:absolute}.bead-axis-band canvas{display:block;width:100%;height:100%}.bead-axis-band.is-columns{left:var(--bead-axis-left);right:0;top:var(--bead-appbar-height);height:var(--bead-axis-band)}.bead-axis-band.is-rows{left:max(0px,env(safe-area-inset-left,0px));top:calc(var(--bead-appbar-height) + var(--bead-axis-band));width:var(--bead-axis-band);bottom:var(--bead-dock-clearance)}.bead-immersive .bead-viewport{position:absolute;inset:calc(var(--bead-appbar-height) + var(--bead-axis-band)) 0 0 var(--bead-axis-left);width:auto;height:auto;min-height:0;max-height:none;padding:16px max(24px,env(safe-area-inset-right,0px)) var(--bead-dock-clearance) 12px;overflow:auto;scroll-padding-top:16px;scroll-padding-bottom:var(--bead-dock-clearance);-webkit-overflow-scrolling:touch;touch-action:none;overflow-anchor:none}.bead-sheet{display:grid;place-items:center;width:max-content;min-width:100%;min-height:100%}.bead-paper-grid{box-sizing:content-box;padding:calc(var(--bead-grid-size) * 5);background-color:var(--board-paper);background-image:linear-gradient(90deg,#dce0e5 1px,transparent 0),linear-gradient(180deg,#dce0e5 1px,transparent 0);background-size:var(--bead-grid-size) var(--bead-grid-size);box-shadow:0 16px 36px -20px rgba(35,38,46,.5)}.bead-immersive .bead-stage{margin:0;flex:none}.bead-immersive .bead-board{border-radius:0;box-shadow:none}.bead-mirror-status{color:var(--cobalt);font-weight:600}.bead-canvas-context{position:absolute;z-index:5;top:calc(var(--bead-appbar-height) + var(--bead-axis-band) + 8px);left:calc(var(--bead-axis-left) + 8px);max-width:calc(100% - var(--bead-axis-left) - 24px);padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--muted);font-size:12px;pointer-events:none;overflow-wrap:anywhere}.bead-canvas-context b{color:var(--ink);font-family:var(--font-mono)}.bead-dock-stack{position:fixed;z-index:30;bottom:calc(var(--workspace-keyboard-inset, 0px) + 12px + env(safe-area-inset-bottom, 0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:10px;width:auto;max-width:960px;margin-inline:auto;pointer-events:none}.bead-dock,.bead-dock-panel{pointer-events:auto;min-width:0;border:1.5px solid var(--line-strong);border-radius:16px;background:var(--paper);box-shadow:0 6px 32px -12px rgba(23,25,29,.38)}.bead-immersive .bead-color-panel{overflow:hidden}.bead-dock .bead-palette{flex-wrap:nowrap;align-items:center;min-width:0;gap:6px;padding:6px 10px}.bead-dock .bead-swatch-button{min-width:44px;min-height:44px;flex:none;gap:3px}.bead-dock .bead-swatch{width:36px;height:36px;font-size:11px}.bead-dock .bead-swatch>span{display:block;max-width:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-dock .bead-swatch-bar{width:32px}.bead-dock-controls{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 8px;border-top:1px solid var(--line-soft)}.bead-progress-summary{display:flex;flex:1 1;justify-content:flex-start;gap:9px;min-width:0;min-height:44px;padding:4px 8px;border:0;background:transparent;color:var(--ink);box-shadow:none;text-align:left}.bead-progress-summary>i{flex:none;width:24px;height:24px;border:1px solid rgba(100,100,100,.35);border-radius:6px}.bead-progress-summary>span:not(.bead-progress-caret){display:grid;flex:1 1;min-width:0}.bead-progress-summary b{font-family:var(--font-mono);font-size:13px}.bead-progress-summary b,.bead-progress-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-progress-summary small{color:var(--muted);font-size:11px}.bead-progress-summary.has-error small{color:var(--danger)}.bead-progress-caret{flex:none;color:var(--muted)}.bead-tool-icon{display:block;flex:none;width:18px;height:18px}.bead-immersive .bead-chip.bead-tool-button{position:relative;display:inline-flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:52px;min-height:52px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink-soft);box-shadow:none;font-size:11px;font-weight:600;line-height:1.2}.bead-tool-label{white-space:nowrap}.bead-immersive .bead-tool-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);transform:none;box-shadow:none}.bead-immersive .bead-tool-button.is-active,.bead-immersive .bead-tool-button.is-active:hover:not(:disabled){border-color:var(--ink);background:var(--ink);color:var(--paper)}.bead-tool-badge{position:absolute;top:2px;right:3px;max-width:30px;overflow:hidden;color:var(--cobalt);font:600 11px var(--font-mono);text-overflow:ellipsis}.bead-zoom-status{flex:none;min-width:35px;color:var(--muted);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.bead-dock-panel{align-self:flex-end;display:flex;flex-direction:column;width:440px;max-width:100%;min-height:0;overflow:hidden;max-height:min(360px,calc(var(--workspace-height, 100dvh) * .45),calc(var(--workspace-height, 100dvh) - var(--bead-appbar-height) - 194px))}.bead-dock-panel.is-tools:has(.bead-tools>:nth-child(6)){width:480px}.bead-dock-panel.is-guides{width:320px}.bead-dock-panel.is-progress{align-self:flex-start;width:400px}.bead-dock-panel.is-stats{width:480px}.bead-dock-panel.is-review{width:560px}.bead-panel-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:0 6px 0 12px;border-bottom:1px solid var(--line-soft)}.bead-panel-heading h2{margin:0;font-size:13px}.bead-panel-close{width:44px;height:44px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none}.bead-panel-close:hover:not(:disabled){background:var(--surface-2);color:var(--ink);box-shadow:none;transform:none}.bead-panel-content{min-width:0;min-height:0;padding:10px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.bead-immersive .bead-guide-settings{position:static;width:auto;gap:4px;padding:0;border:0;border-radius:0;box-shadow:none}.bead-immersive .bead-guide-toggle{padding:0;border:0}.bead-immersive .bead-guide-option{justify-content:space-between;gap:6px;flex-wrap:nowrap}.bead-immersive .bead-guide-choices{min-width:0;gap:4px;flex-wrap:nowrap}.bead-immersive .bead-guide-label{flex:none;font-size:12px}.bead-immersive .bead-guide-color,.bead-immersive .bead-guide-weight{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;font-size:11px}.bead-immersive .bead-guide-color>span{width:18px;height:18px}.bead-immersive .bead-guide-color>small{font-size:11px;line-height:1}.bead-guide-line-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.bead-guide-line-icon>i{display:block;width:18px;border-radius:1px;background:currentColor}.bead-immersive .bead-guide-color.is-active,.bead-immersive .bead-guide-weight.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper);box-shadow:none}.bead-immersive .bead-guide-settings>small{padding-top:4px;font-size:11px}.bead-immersive .bead-guide-switch{width:52px;height:44px;padding:6px}.bead-immersive .bead-guide-switch>span{width:19px;height:19px}.bead-immersive .bead-guide-switch[aria-checked=true]>span{transform:translateX(17px)}.bead-immersive .bead-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}.bead-immersive .bead-tools .bead-tool-button{min-width:0;width:100%;min-height:54px}.bead-panel-help{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.bead-zoom-touch{display:none}.bead-tool-notice{margin-top:4px;font-size:11px}.bead-zoom-help kbd{padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--ink);font-family:var(--font-mono);font-size:11px}.bead-immersive .bead-primary,.bead-immersive .bead-quiet,.bead-immersive .bead-segment button{min-height:44px;min-width:44px}.bead-immersive .bead-selection{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8px 10px;padding:0;border:0;background:transparent}.bead-immersive .bead-progress-head{min-width:0;gap:7px}.bead-immersive .bead-progress-swatch{width:28px;height:28px}.bead-immersive .bead-progress-head b{font-size:13px;overflow-wrap:anywhere}.bead-immersive .bead-progress-head small{font-size:11px}.bead-immersive .bead-selection-meter{grid-column:auto;gap:4px}.bead-immersive .bead-selection-meta{gap:4px;flex-wrap:wrap}.bead-immersive .bead-selection-meta b,.bead-immersive .bead-selection-meta em{font-size:12px}.bead-immersive .bead-selection-meter>small{font-size:11px}.bead-immersive .bead-selection .bead-meter{height:4px}.bead-immersive .bead-selection-actions,.bead-immersive .bead-selection>.bead-save-state,.bead-save-error{grid-column:1/-1}.bead-immersive .bead-selection-actions{display:block}.bead-immersive .bead-stepper{grid-template-columns:44px minmax(0,1fr) 44px 60px;gap:6px}.bead-immersive .bead-done,.bead-immersive .bead-stepper input,.bead-immersive .bead-stepper>button[aria-label]{height:44px;min-height:44px}.bead-immersive .bead-done{grid-column:auto;flex-direction:column;gap:2px;padding:3px 6px;font-size:11px}.bead-immersive input{min-width:0;max-width:100%;height:44px;font-size:16px}.bead-immersive .bead-save-state{font-size:11px;text-align:left}.bead-save-error{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--danger);font-size:12px;overflow-wrap:anywhere}.bead-immersive .bead-review{gap:8px;padding:0;border:0;background:transparent}.bead-immersive .bead-review-head{align-items:center;justify-content:space-between;gap:4px;font-size:11px}.bead-immersive .bead-review-list{max-height:none;overflow:visible;gap:6px}.bead-immersive .bead-review-item{min-height:44px;flex-wrap:wrap;padding:6px 8px}.bead-immersive .bead-review-item small{font-size:11px}.bead-immersive .bead-editor{gap:6px;padding-block:6px;border-block:1px solid var(--line-soft)}.bead-immersive .bead-overview{display:grid;grid-gap:10px;gap:10px;padding:0;border:0;border-radius:0;box-shadow:none}.bead-immersive .bead-overview-main{min-width:0;gap:10px}.bead-immersive .bead-overview-ring{width:48px;height:48px}.bead-immersive .bead-overview-ring b{font-size:12px}.bead-immersive .bead-overview-copy{min-width:0}.bead-immersive .bead-overview-copy strong{font:700 17px var(--font-mono);overflow-wrap:anywhere}.bead-immersive .bead-overview-copy strong em{font-size:12px}.bead-immersive .bead-overview-copy .eyebrow{margin:0;font-size:11px;letter-spacing:0}.bead-immersive .bead-overview-copy small{font-size:11px}.bead-immersive .bead-overview-stats{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.bead-immersive .bead-overview-stats>div{min-width:0;padding:6px}.bead-immersive .bead-overview-stats dd{font-size:14px;overflow-wrap:anywhere}.bead-immersive .bead-overview-stats small{display:block;line-height:1.4;overflow-wrap:anywhere}.bead-immersive .bead-notice{margin-top:8px;padding:6px 8px;font-size:12px}.bead-immersive .bead-panel-note{margin:6px 0 0;font-size:11px}.bead-document-name{margin-top:6px;font-size:11px;overflow-wrap:anywhere}.bead-tooltip{white-space:normal}.bead-immersive :is(.bead-back,.bead-list-link)[aria-disabled=true]{opacity:.5;pointer-events:none}.pattern-detail-start{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-block:14px}.pattern-detail-start p{margin:0}.pattern-detail-note{white-space:pre-wrap;overflow-wrap:anywhere}.pattern-reference{margin-top:18px}.pattern-reference summary{display:flex;align-items:center;min-height:44px;color:var(--ink-soft);font-size:14px;cursor:pointer;list-style:none}.pattern-reference summary:before{content:"+";margin-right:10px;font-family:var(--font-mono)}.pattern-reference[open] summary:before{content:"−"}.pattern-reference-name{font-size:12px;overflow-wrap:anywhere}.pattern-source-image img{max-width:100%;object-fit:contain}.pattern-brand-create,.pattern-brand-status,.pattern-upload-help{min-width:0;overflow-wrap:anywhere}.pattern-brand-create{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px}@media (max-width:760px){.summary-correction-list{max-height:none;overflow:visible}.summary-correction-actions{display:flex;flex-wrap:wrap;gap:8px}}@media (max-width:599px){.bead-appbar{gap:8px;padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px))}.bead-mode-trigger{padding-inline:6px}.bead-mode-name{font-size:15px;gap:4px}.bead-overall-label{display:none}.bead-back,.bead-overall-button{padding-inline:8px}.bead-list-link{padding-inline:4px;font-size:12px}.bead-immersive .bead-viewport{padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}.bead-dock-controls{gap:5px;padding-inline:6px}.bead-progress-summary{gap:6px;padding-inline:4px}.bead-progress-caret,.bead-progress-summary>i{display:none}.bead-immersive .bead-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:600px){.bead-immersive .bead-tools:has(>:nth-child(6)){grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.bead-dock-stack{bottom:calc(var(--workspace-keyboard-inset, 0px) + 16px + env(safe-area-inset-bottom, 0px))}.bead-dock{flex-direction:row;align-items:center}.bead-dock .bead-palette{flex:1 1}.bead-dock-controls{flex:none;border-top:0;border-left:1px solid var(--line-soft)}.bead-progress-summary{width:156px;flex:none}}@media (max-height:500px){.bead-dock{flex-direction:row;align-items:center}.bead-dock .bead-palette{flex:1 1;padding-block:6px}.bead-dock-controls{flex:none;padding:4px 6px;border-top:0;border-left:1px solid var(--line-soft)}.bead-dock-controls .bead-zoom-status{display:none}.bead-dock .bead-swatch{width:32px;height:32px}.bead-dock .bead-swatch-button{min-height:44px;gap:2px}.bead-progress-summary{width:clamp(64px,12vw,116px);max-width:116px}.bead-dock-panel{max-height:min(calc(var(--workspace-height, 100dvh) * .45),calc(var(--workspace-height, 100dvh) - var(--bead-appbar-height) - 90px))}.bead-dock .bead-tool-button{min-width:48px;min-height:48px;padding:4px}.bead-canvas-context{display:none}}.bead-immersive.is-short .bead-dock{flex-direction:row;align-items:center}.bead-immersive.is-short .bead-palette{flex:1 1;padding-block:6px}.bead-immersive.is-short .bead-dock-controls{flex:none;padding:4px 6px;border-top:0;border-left:1px solid var(--line-soft)}.bead-immersive.is-short .bead-dock-controls .bead-zoom-status{display:none}.bead-immersive.is-short .bead-swatch{width:32px;height:32px}.bead-immersive.is-short .bead-swatch-button{min-height:44px;gap:2px}.bead-immersive.is-short .bead-progress-summary{max-width:116px}.bead-immersive.is-short .bead-dock-panel{max-height:min(calc(var(--workspace-height, 100dvh) * .45),calc(var(--workspace-height, 100dvh) - var(--bead-appbar-height) - 90px))}.bead-immersive.is-short .bead-dock .bead-tool-button{min-width:48px;min-height:48px;padding:4px}.bead-immersive.is-short .bead-progress-summary{width:clamp(64px,12vw,116px)}.bead-immersive.is-short .bead-canvas-context{display:none}@media (hover:none),(pointer:coarse){.bead-zoom-desktop{display:none}.bead-zoom-touch{display:inline}.bead-immersive .bead-swatch-button:not(.is-active):hover .bead-swatch,.bead-immersive button:hover:not(:disabled){transform:none}.bead-immersive .bead-progress-summary:hover{background:var(--surface-2);box-shadow:none}}@media (prefers-reduced-motion:reduce){.bead-immersive *,.bead-immersive :after{transition:none!important;scroll-behavior:auto!important}}.engine-card-fast strong{color:var(--cobalt)}.cluster-review-table>summary{flex-wrap:wrap}.cluster-review-table .cluster-rows{max-height:680px;gap:10px;padding-bottom:12px}.cluster-review-table .cluster-review-row{grid-template-columns:72px minmax(0,1fr);gap:8px 10px;padding:12px;border:1px solid var(--line-soft);background:var(--paper)}.cluster-review-table .cluster-row-pending,.cluster-review-table .cluster-row-unresolved{box-shadow:inset 3px 0 0 var(--amber)}.cluster-review-table .cluster-row-mixed{box-shadow:inset 3px 0 0 var(--danger)}.cluster-review-table .cluster-code{grid-column:1/-1;min-height:44px;font-size:16px}.cluster-review-table .cluster-actions{grid-column:1/-1;grid-row:auto;flex-direction:row;flex-wrap:wrap}.cluster-review-table .cluster-actions button{min-height:44px}.cluster-state{display:inline-block;padding:2px 6px;border-radius:5px;background:var(--surface-2);color:var(--ink-soft)}.cluster-review-body{grid-column:1/-1;display:grid;grid-gap:8px;gap:8px;min-width:0}.cluster-candidate{display:grid;grid-gap:6px;gap:6px;padding:9px;border-radius:8px;background:var(--surface-2);overflow-wrap:anywhere}.cluster-candidate strong{font-family:var(--font-mono);font-size:13px}.cluster-candidate li,.cluster-candidate small{font-size:12px;line-height:1.6}.cluster-candidate button{justify-self:start;min-height:44px}.cluster-candidate ul{padding-left:18px;margin:5px 0}.cluster-candidate summary,.cluster-samples>summary,.pattern-cell-crop>summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:13px;overflow-wrap:anywhere}.cluster-sample-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));grid-gap:8px;gap:8px}.cluster-sample{min-width:0;padding:6px 8px;background:var(--surface-2);border-radius:8px}.cluster-sample>small{color:var(--muted);font-size:12px}.pattern-cell-crop{min-width:0}.pattern-cell-crop-content{display:grid;grid-gap:8px;gap:8px}.crop-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.crop-context{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.crop-context button{min-height:44px;padding:4px 8px;border:0;background:var(--field);color:var(--ink);font-size:12px}.crop-context button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.crop-image{position:relative;width:100%;min-width:0;overflow:hidden;background:#f7f8f9}.pattern-cell-crop .crop-image img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill;border:0;border-radius:0;image-rendering:pixelated}.crop-target{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid #ffffff;outline:2px solid #1759d1;outline-offset:-4px}.pattern-cell-crop-content small{font-size:12px;overflow-wrap:anywhere}.cluster-review-check,.crop-context{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.5}.cluster-review-check input,.crop-context input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--cobalt)}.modal-card.bead-continuous-review .bead-evidence-declaration input[type=checkbox]{min-height:20px;height:20px}.modal-card.bead-continuous-review .bead-segment button[aria-pressed=true]{background:var(--ink);color:var(--paper)}@media (hover:none),(pointer:coarse){.modal-card.bead-continuous-review :is(.bead-quiet,.bead-group-card):hover:not(:disabled){background:var(--surface-2);color:var(--ink-soft);box-shadow:none}.modal-card.bead-continuous-review .bead-group-card.is-active:hover:not(:disabled){background:var(--cobalt-soft);color:var(--ink)}}.cluster-mixed-warning{margin:0;padding:8px;border-radius:8px;background:var(--amber-soft);font-size:13px;line-height:1.7}.bead-immersive .bead-viewport{padding-right:max(24px,env(safe-area-inset-right,0px));padding-bottom:max(var(--bead-dock-clearance),0px);scroll-padding-bottom:max(var(--bead-dock-clearance),0px)}.bead-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 14px}.bead-workspace-head>div:first-child{min-width:0}.bead-workspace-head-actions{display:flex;flex:none}.bead-workspace-head h2{margin:0;font-size:15px}.bead-workspace-head small{color:var(--muted);font-size:12px}.bead-review-footer{flex:none;padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line-soft);background:var(--paper)}.bead-mini-primary{flex:0 1 auto;max-width:46%;min-height:44px;padding-inline:10px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.bead-evidence-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.bead-evidence-declaration{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;font-size:13px}.bead-evidence-declaration input{width:20px;height:20px;accent-color:var(--cobalt)}.bead-evidence-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cobalt);font-size:13px}.bead-group-samples.is-single{grid-template-columns:minmax(0,1fr)}.bead-sample-switch{display:flex;align-items:center;justify-content:space-between;gap:8px}.bead-sample-switch button{width:44px;min-height:44px;padding:0;font-size:18px}.bead-sample-switch span{color:var(--muted);font-size:12px}@media (max-height:500px),(max-width:760px){.bead-review-footer{padding:6px 12px calc(6px + env(safe-area-inset-bottom, 0px))}}@media (max-height:500px){.bead-review-footer .bead-primary-hint{display:none}.bead-primary-row .bead-primary{min-height:40px;font-size:14px}.bead-primary-paging{min-height:40px}}.bead-review-diagnostics{margin-bottom:8px;color:var(--ink-soft);font-size:13px}.bead-review-diagnostics>summary{min-height:44px;padding:12px 0;cursor:pointer}.bead-task-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px}.bead-task-paging{display:flex;align-items:center;gap:4px}.bead-task-paging button{width:44px;padding:0;font-size:20px}.bead-task-paging span{min-width:4em;text-align:center;color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bead-queue-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block:8px;color:var(--muted);font-size:13px}.bead-queue-batch{display:grid;justify-items:start;grid-gap:6px;gap:6px;margin-bottom:10px}.bead-queue-batch label{display:flex;align-items:center;gap:6px;min-height:44px;margin:0}.bead-queue-batch input{width:20px;height:20px;accent-color:var(--cobalt)}.bead-queue-batch small{color:var(--muted);font-size:12px}.bead-queue-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.bead-queue-filters label{display:grid;grid-gap:4px;gap:4px;min-width:0;color:var(--muted);font-size:12px}.bead-queue-filters select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);font-size:16px}.bead-bulk-editor{display:grid;grid-gap:8px;gap:8px}.bead-bulk-editor .bead-segment{margin:0}.bead-rare-candidates{min-width:0;font-size:13px}.bead-rare-candidates summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700}.bead-rare-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.bead-rare-list button{flex:0 0 auto}.bead-rare-list button[aria-pressed=true]{border-color:var(--cobalt);background:var(--cobalt-soft)}.bead-summary-impact{display:grid;grid-gap:8px;gap:8px;margin-top:10px;padding:10px;border-left:3px solid var(--amber);background:var(--surface-2);font-size:13px;overflow-wrap:anywhere}.bead-summary-impact p{margin:0}.bead-review-context{display:flex;flex:none;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.bead-review-context>div{display:grid;min-width:0;grid-gap:1px;gap:1px}.bead-review-context strong{font-size:13px}.bead-review-context small,.bead-review-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-review-context small{color:var(--muted);font-size:12px}.bead-review-context-state{flex:none;padding:2px 8px;border-radius:999px;background:var(--paper);color:var(--muted);font-size:11px}.bead-review-context-state.is-dirty{background:var(--amber-soft);color:var(--ink)}.bead-task-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 10px;gap:6px 10px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.bead-task-summary-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0}.bead-task-summary-count strong{font-family:var(--font-mono);font-size:20px;line-height:1.1}.bead-task-summary-count span{color:var(--ink-soft);font-size:13px}.bead-task-summary-count small{flex-basis:100%;color:var(--muted);font-size:12px}.bead-task-summary-entries{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.bead-task-summary .bead-task-paging{grid-column:1/-1;justify-content:space-between;margin:0}.bead-task-level-actions{margin-bottom:10px;font-size:13px}.bead-task-level-actions>summary{min-height:44px;padding:10px 0;color:var(--ink-soft);font-weight:700;cursor:pointer}.bead-task-level-actions>p{margin:0 0 6px}.bead-task-card-head{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.bead-task-risk{margin:0;padding:6px 8px;border-left:3px solid var(--line-strong);background:var(--surface-2);color:var(--ink-soft);font-size:12px;line-height:1.6}.bead-task-risk.is-high{border-left-color:var(--amber);color:var(--ink)}.bead-task-decision,.bead-task-evidence{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px;min-width:0}.bead-task-evidence{padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.bead-task-links{margin-top:4px}.bead-step-label{margin:2px 0 0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.02em}.bead-evidence-gallery{display:grid;grid-gap:8px;gap:8px;min-width:0}.bead-sample-tabs{display:flex;gap:6px;padding-bottom:2px;overflow-x:auto;overscroll-behavior-x:contain}.bead-sample-tabs button{display:grid;flex:0 0 auto;min-width:84px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink-soft);font-size:12px;box-shadow:none}.bead-sample-tabs button.is-active{border-color:var(--cobalt);background:var(--cobalt-soft);color:var(--ink);font-weight:700}.bead-sample-tabs small{color:var(--muted);font-size:11px}.bead-sample-tabs button.is-active small{color:var(--ink-soft)}@media (max-height:500px),(max-width:760px){.bead-review-context{padding:6px 10px}.bead-task-summary{grid-template-columns:minmax(0,1fr)}.bead-task-summary-entries{justify-content:flex-start}.bead-task-summary-entries button{flex:1 1 auto;justify-content:center}.bead-task-summary .bead-task-paging{grid-column:auto}.bead-task-level-actions>summary,.bead-task-summary-entries .bead-quiet{min-height:44px}}.pattern-result-counts{color:var(--ink-soft);font-size:14px}.pattern-result-counts strong{color:var(--ink);font-family:var(--font-mono)}@media (max-height:500px),(max-width:760px){.bead-workspace-head{padding-block:0}}.cluster-review-table>button,.cluster-review-table>p[role]{margin:10px 13px}.bead-workspace-title{flex:1 1;min-width:0}.bead-workspace-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-sheet-grip{display:none}.bead-cell-queue>summary{min-height:44px;padding:12px 0;color:var(--ink);font-size:13px;font-weight:700;cursor:pointer}.bead-cell-queue .bead-review-list{display:grid;max-height:none;overflow:visible}.bead-cell-queue .bead-review-item{width:100%;text-align:left}.bead-cell-queue>button{margin:8px 8px 0 0}@media (max-height:500px),(max-width:760px){.bead-canvas-context{max-width:calc(100% - var(--bead-axis-left) - 116px)}}.bead-sheet-grip.is-mini span{width:26px;height:4px}.bead-sheet-grip span{width:22px;height:4px;border-radius:2px;background:currentColor}.bead-review-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.bead-group-card.is-orphan{border-style:dashed}.bead-jump-pulse{position:absolute;z-index:4;border:2px solid var(--accent);border-radius:3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent);pointer-events:none;animation:bead-jump-pulse .62s ease-out forwards}@keyframes bead-jump-pulse{0%{opacity:0;transform:scale(1.7)}25%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bead-jump-pulse{animation-duration:1ms}}.bead-review-back{transform:rotate(90deg)}.bead-sheet-tools{margin-bottom:10px;border-bottom:1px solid var(--line-soft)}.bead-sheet-tools>summary{display:flex;align-items:center;gap:7px;min-height:44px;color:var(--ink-soft);font-size:13px;font-weight:700;list-style:none;cursor:pointer}.bead-sheet-tools>summary::-webkit-details-marker{display:none}.bead-sheet-tools>summary:after{content:"›";margin-left:auto;font-size:20px}.bead-sheet-tools[open]>summary:after{transform:rotate(90deg)}.bead-sheet-tool-buttons{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}.bead-sheet-tool-buttons button{display:inline-flex;align-items:center;gap:5px}.bead-sheet-tool-buttons button[aria-pressed=true]{border-color:var(--cobalt);background:var(--cobalt-soft);color:var(--ink)}.bead-sheet-guide-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding-bottom:12px}.bead-sheet-guide-options label,.bead-sheet-progress-error label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px}.bead-sheet-guide-options select,.bead-sheet-progress-error input{width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);font-size:16px}.bead-sheet-progress-error{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px;padding:10px;border-left:3px solid var(--danger);background:var(--surface-2);color:var(--ink);font-size:13px}.bead-select-on-canvas,.bead-sheet-progress-error button{justify-self:start}.bead-sheet-palette{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain}.bead-sheet-palette .bead-swatch-button{flex:0 0 44px;min-width:44px;min-height:44px}.bead-sheet-palette .bead-swatch{width:36px;height:36px;font-size:11px}.bead-sheet-palette .bead-swatch>span{max-width:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bead-ledger-mobile{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none}.bead-ledger-mobile li{min-width:0;padding:10px 0;border-bottom:1px solid var(--line-soft)}.bead-ledger-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.bead-ledger-mobile-head strong{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono)}.bead-ledger-mobile-head span{color:var(--muted)}.bead-ledger-mobile li.is-mismatch .bead-ledger-mobile-head>span{color:var(--danger);font-weight:700}.bead-ledger-swatch{width:18px;height:18px;border:1px solid var(--line);border-radius:3px}.bead-ledger-mobile dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin:8px 0 0}.bead-ledger-mobile dt{color:var(--muted);font-size:11px}.bead-ledger-mobile dd{margin:3px 0 0;color:var(--ink);font-family:var(--font-mono);font-size:13px}.bead-ledger-mobile p{margin:6px 0 0;color:var(--muted);font-size:11px}@media (min-width:1000px){.cluster-review-table .cluster-review-row{grid-template-columns:72px minmax(0,1fr) 100px}.cluster-review-table .cluster-code{grid-column:3}}@media (max-width:480px){.cluster-review-table .cluster-rows{padding-inline:8px}.cluster-review-table .cluster-review-row{padding:9px}.cluster-review-table .cluster-badge{margin-left:0}.cluster-review-check{align-items:flex-start;padding-block:8px}.cluster-review-check input{margin-top:2px}}.home-dashboard{max-width:1080px}.home-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;margin:18px 0 22px;padding:16px 20px;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 0) 0 0 /18px 18px,radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--accent) 13%,transparent) 0,transparent 52%),var(--paper);box-shadow:var(--shadow-pixel)}.home-intro-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.home-intro-hint{color:var(--muted);font-size:12px}.home-stats{display:flex;gap:8px;margin:0}.home-stats>div{min-width:76px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.home-stats dt{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;white-space:nowrap}.home-stats dd{margin:2px 0 0;font-family:var(--font-mono);font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.home-continue{margin-bottom:28px}.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.home-section-heading .eyebrow{margin-bottom:3px;color:var(--accent)}.home-section-heading h2{margin:0;font-size:18px}.continue-card{display:grid;grid-template-columns:minmax(0,168px) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:center;padding:14px;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-pixel)}.continue-thumb{display:block;overflow:hidden;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--canvas)}.continue-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.continue-body{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}.continue-body h3{margin:0;font-size:18px;overflow-wrap:anywhere}.continue-body h3 a{text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:3px;transition:-webkit-text-decoration-color .16s ease;transition:text-decoration-color .16s ease;transition:text-decoration-color .16s ease,-webkit-text-decoration-color .16s ease}.continue-body h3 a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.continue-progress{display:grid;grid-gap:6px;gap:6px;max-width:440px}.continue-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:13px}.continue-progress-head b{color:var(--ink);font-family:var(--font-mono);font-size:18px}.continue-track,.pattern-list-track,.result-track,.summary-mini-track{overflow:hidden;border-radius:999px;background:var(--track)}.continue-track{height:9px}.continue-track i,.pattern-list-track i,.result-track i,.summary-mini-track i{display:block;height:100%;border-radius:inherit;background:var(--jade);transition:width .3s cubic-bezier(.22,1,.36,1)}.continue-progress-hint{margin:4px 0 0;padding:10px 13px;border-left:3px solid var(--amber);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--amber-soft);color:var(--ink-soft);font-size:13px}.continue-note{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;color:var(--amber);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.continue-note:hover{color:color-mix(in srgb,var(--amber) 76%,var(--ink))}.continue-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pattern-collection .list-heading{margin-top:0}.pattern-list-progress{display:flex;align-items:center;gap:10px;margin-top:2px}.pattern-list-track{flex:1 1 120px;max-width:300px;height:6px}.pattern-list-progress span{color:var(--ink-soft);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pattern-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px 24px;flex-wrap:wrap}.pattern-detail-heading-main{flex:1 1 320px;min-width:0}.pattern-detail-actions{justify-content:flex-end;gap:10px;margin-left:auto}.pattern-detail-actions,.pattern-name-view{display:flex;align-items:center;flex-wrap:wrap}.pattern-name-view{gap:12px}.pattern-name-view h1{margin:0}.pattern-name-edit{min-height:44px;padding:4px 12px;border:1.5px dashed color-mix(in srgb,var(--ink) 26%,transparent);border-radius:999px;background:transparent;box-shadow:none;color:var(--ink-soft);font-size:12px;font-weight:600}.pattern-name-edit:hover:not(:disabled){border-color:var(--accent);background:transparent;box-shadow:none;color:var(--accent);transform:none}.pattern-name-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pattern-name-form h1{flex:0 1 420px;min-width:0;margin:0}.pattern-name-input{width:100%;min-height:44px;padding:6px 12px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-size:23px;font-weight:700;letter-spacing:-.012em}.pattern-name-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pattern-name-error{flex:1 1 100%;color:var(--danger);font-size:12px}.pattern-detail-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;color:var(--muted);font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pattern-detail-meta span+span:before{content:"";display:inline-block;width:3px;height:3px;margin:0 13px 3px 0;border-radius:50%;background:var(--line-strong)}.pattern-detail-note{margin-top:10px}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:22px;padding:18px 20px;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--jade) 7%,transparent),transparent 58%),var(--paper);box-shadow:var(--shadow-pixel)}.result-summary-copy{display:grid;flex:1 1 380px;grid-gap:8px;gap:8px;min-width:0}.result-summary-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.result-summary-title .eyebrow{margin:0;color:var(--jade)}.result-summary-title h2{margin:0;font-size:20px}.result-summary .pattern-result-counts{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0}.result-summary .pattern-result-counts>span{display:inline-flex;align-items:baseline;gap:5px}.pattern-result-counts .is-warn strong{color:var(--amber)}.result-progress{display:grid;grid-gap:5px;gap:5px;max-width:460px}.result-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-family:var(--font-mono);font-size:12px}.result-progress-head b{color:var(--ink);font-size:14px}.result-track{height:8px}.result-summary-actions{display:flex;flex:none;flex-direction:column;align-items:stretch;gap:8px;min-width:210px}.summary-progress{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.pattern-summary-card{align-self:start}.summary-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.summary-progress-head b{font-family:var(--font-mono);font-size:20px}.summary-progress-head span{color:var(--muted);font-size:12px}.summary-color-list{display:grid;grid-gap:7px;gap:7px;margin:0;padding:0;list-style:none}.summary-color-list li{display:grid;grid-template-columns:18px minmax(48px,auto) minmax(62px,auto) minmax(46px,1fr);align-items:center;grid-gap:9px;gap:9px;font-size:12px}.summary-swatch{width:18px;height:18px;border:1px solid var(--line-strong);border-radius:4px}.summary-code{font-weight:700}.summary-code,.summary-qty{font-family:var(--font-mono)}.summary-qty{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.summary-mini-track{height:8px}.summary-mini-track i{background:var(--accent)}.pattern-summary-card .summary-progress-list{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}.pattern-summary-card .summary-progress-list li{grid-template-columns:18px minmax(0,1fr) auto minmax(34px,.6fr)}.pattern-summary-card .summary-code{min-width:0;overflow-wrap:anywhere}.pattern-summary-card .summary-qty{white-space:nowrap}.summary-progress-more>summary{display:flex;align-items:center;min-height:44px;color:var(--ink-soft);font-size:13px;cursor:pointer;list-style:none}.summary-progress-more>summary::-webkit-details-marker{display:none}.summary-progress-more>summary:before{content:"+";margin-right:10px;font-family:var(--font-mono)}.summary-progress-more[open]>summary:before{content:"−"}.summary-progress-collapse,.summary-progress-more[open] .summary-progress-expand{display:none}.summary-progress-more[open] .summary-progress-collapse{display:inline}.pattern-result-detail{display:flex;flex-wrap:wrap;gap:4px 14px;margin:14px 0 0;font-size:12px}.recognize-steps{display:flex;flex:1 0 100%;align-items:center;gap:6px 18px;margin:0 0 4px;padding:0;list-style:none;counter-reset:recognize-step}.recognize-steps li{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.recognize-steps li:before{counter-increment:recognize-step;content:counter(recognize-step);display:grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--line-strong);border-radius:999px;background:var(--paper);font-family:var(--font-mono);font-size:11px}.recognize-steps .is-current{color:var(--ink)}.recognize-steps .is-current:before{border-color:var(--ink);background:var(--accent);color:var(--on-accent)}.recognize-steps .is-done:before{border-color:var(--jade);background:var(--jade);color:var(--paper)}.recognize-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.recognize-submit button{min-width:150px}.recognize-submit small{flex:1 1 200px;font-size:12px}.engine-card-active{border-width:2px}.dashboard.fast-dashboard{max-width:1440px;padding:calc(20px + env(safe-area-inset-top, 0px)) calc(24px + env(safe-area-inset-right, 0px)) calc(48px + env(safe-area-inset-bottom, 0px)) calc(24px + env(safe-area-inset-left, 0px))}.fast-workspace{min-width:0}.title-conflict-notice{border-left:4px solid var(--amber);background:var(--surface-2);padding:12px 14px;margin-bottom:14px}.title-conflict-notice p,.title-ignored-notice{margin:7px 0;font-size:14px;line-height:1.5}.title-conflict-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.fast-workspace .frame-picker{gap:14px}.fast-workspace .frame-picker-head{gap:12px}.fast-workspace-heading,.fast-workspace-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 20px}.fast-workspace-heading>div:first-child,.fast-workspace-progress-heading>div:first-child{min-width:0}.fast-workspace-heading .eyebrow,.fast-workspace-progress-heading .eyebrow{margin:0 0 2px;color:var(--accent);letter-spacing:0}.fast-workspace-heading h1,.fast-workspace-progress-heading h1{margin:0;font-size:20px;letter-spacing:0;overflow-wrap:anywhere}.fast-workspace .frame-actions{flex:0 0 auto}.frame-toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.fast-workspace .frame-mode-switch{flex:1 1 auto}.fast-workspace .frame-mode-switch button,.fast-workspace .frame-options summary,.fast-workspace .legend-editor-actions button,.fast-workspace .legend-editor-row button{border-color:var(--line-strong);box-shadow:none}.fast-workspace .frame-mode-switch button{padding:8px 12px;font-size:13px}.fast-workspace .frame-mode-switch .frame-mode-active{border-color:var(--cobalt);background:var(--cobalt-soft);color:var(--ink)}.fast-workspace .frame-options{position:relative}.fast-workspace .frame-options[open]{display:block}.fast-workspace .frame-options summary{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:13px;font-weight:600;list-style:none}.fast-workspace .frame-options summary::-webkit-details-marker{display:none}.frame-options-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:5;display:grid;grid-gap:10px;gap:10px;width:min(300px,calc(100vw - 32px));padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--shadow-md)}.fast-workspace .frame-grid-toggle{min-height:36px;font-size:13px}.fast-workspace .fast-ai-assist{min-height:30px}.frame-mode-status{width:-moz-fit-content;width:fit-content;margin:0;padding:4px 9px;border-radius:var(--radius-xs);background:var(--cobalt-soft);color:var(--cobalt);font-size:12px;font-weight:600}.fast-workspace .frame-readout{gap:8px}.fast-workspace .frame-ruler{padding:8px 10px;box-shadow:none}.fast-workspace .frame-stage-viewport{max-height:62vh;max-height:62dvh;min-height:180px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);touch-action:none}.fast-workspace .frame-stage{max-height:none;margin:0 auto;border:0;border-radius:0;background:var(--board-paper);cursor:-webkit-grab;cursor:grab}.fast-workspace .frame-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.fast-workspace .frame-stage.frame-stage-drawing{cursor:crosshair}.fast-workspace .frame-box{z-index:2;background:transparent;cursor:-webkit-grab;cursor:grab}.fast-workspace .frame-box-legend{z-index:1;border:2px dashed var(--cobalt);pointer-events:none}.frame-legend-label{display:inline-block;padding:1px 5px;background:var(--cobalt);color:#fff;font-size:11px;line-height:1.4}.fast-workspace .frame-handle{z-index:3;background:transparent}.fast-workspace .frame-handle-left,.fast-workspace .frame-handle-right{width:24px}.fast-workspace .frame-handle-left{left:-12px}.fast-workspace .frame-handle-right{right:-12px}.fast-workspace .frame-handle-bottom,.fast-workspace .frame-handle-top{height:24px}.fast-workspace .frame-handle-top{top:-12px}.fast-workspace .frame-handle-bottom{bottom:-12px}.fast-workspace .frame-handle:after{position:absolute;top:50%;left:50%;width:22px;height:5px;border:1px solid white;border-radius:2px;background:var(--accent);content:"";transform:translate(-50%,-50%)}.fast-workspace :is(.frame-handle-left,.frame-handle-right):after{width:5px;height:22px}.fast-workspace .legend-editor{gap:10px;padding-top:18px;scroll-margin-top:16px}.fast-workspace .legend-editor-head strong{font-size:17px}.fast-workspace .legend-editor-list{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:0 24px;max-height:none;overflow:visible}.fast-workspace .legend-editor-row{grid-template-columns:minmax(58px,90px) minmax(0,1fr) minmax(0,1fr) auto;gap:8px;min-width:0;padding:10px 0}.fast-workspace .legend-editor-row>button{grid-column:auto;grid-row:auto}.fast-workspace .legend-editor-row input{min-height:44px}.frame-editor-footer,.frame-selection-footer{display:grid;justify-items:end;grid-gap:8px;gap:8px}.frame-editor-footer p{margin:0}.fast-workspace-progress{display:grid;grid-gap:20px;gap:20px;max-width:720px}@media (max-width:760px){.dashboard.fast-dashboard{padding:calc(16px + env(safe-area-inset-top, 0px)) calc(12px + env(safe-area-inset-right, 0px)) calc(40px + env(safe-area-inset-bottom, 0px)) calc(12px + env(safe-area-inset-left, 0px))}.fast-workspace-heading{align-items:flex-start;flex-wrap:wrap}.fast-workspace-heading>div:first-child{flex:1 1 100%}.fast-workspace .frame-actions{width:100%}.fast-workspace .frame-actions button{flex:1 1}.fast-workspace .frame-stage-viewport{min-height:160px}}@media (max-width:420px){.fast-workspace .legend-editor-row{grid-template-columns:58px minmax(0,1fr) minmax(0,1fr) 44px;gap:5px}.fast-workspace .legend-editor-row>button{padding:5px}.frame-editor-footer button{width:100%}}.pattern-create-card{--create-pad:34px}.pattern-create-head{display:grid;grid-gap:2px;gap:2px;margin-bottom:20px}.pattern-create-head .eyebrow{margin-bottom:0;color:var(--accent)}.pattern-create-head h1{margin:0}.pattern-create-head p{margin:6px 0 0;color:var(--muted);font-size:14px;text-wrap:pretty}.pattern-create-step{margin-top:22px;padding-top:18px;border-top:1.5px solid var(--line-soft)}.pattern-create-step h2{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:15px}.pattern-create-step h2>span{display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--ink);border-radius:var(--radius-xs);background:var(--surface-2);font-family:var(--font-mono);font-size:12px}.pattern-create-actions{display:grid;grid-gap:8px;gap:8px;margin:26px calc(var(--create-pad) * -1) calc(var(--create-pad) * -1);padding:16px var(--create-pad) calc(16px + env(safe-area-inset-bottom, 0px));border-top:1.5px solid var(--line);background:var(--surface-2)}.pattern-create-actions button{width:100%;margin:0}.pattern-create-hint{margin:0;color:var(--muted);font-size:12px;text-align:center}.bead-overall-button{gap:6px}.bead-overall-label{color:var(--muted);font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.04em}.bead-save-state:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--jade);vertical-align:1px}.bead-save-state.is-dirty:before,.bead-save-state.is-saving:before{background:var(--amber)}.bead-save-state.is-error{color:var(--danger)}.bead-save-state.is-error:before{background:var(--danger)}.bead-preference-error{display:flex;grid-column:1/-1;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:6px;background:color-mix(in srgb,var(--danger) 7%,var(--paper));color:var(--danger);font-size:12px}.bead-preference-error button{min-height:32px;margin-left:auto;padding:3px 8px;font-size:11px}.bead-dock-panel{animation:bead-panel-in .18s cubic-bezier(.22,1,.36,1)}@keyframes bead-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bead-dock-panel{animation:none}}@media (max-width:780px){.home-intro{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.home-stats>div{min-width:0;padding:8px 10px}.home-stats dd{font-size:17px}.continue-card{grid-template-columns:minmax(0,104px) minmax(0,1fr);gap:12px;padding:12px}.continue-thumb img{aspect-ratio:1/1}.continue-body h3{font-size:17px}.continue-actions .button{flex:1 1 auto;padding-inline:12px}.result-summary{padding:16px}.result-summary-actions{flex:1 1 100%;min-width:0}.result-summary-actions .button{width:100%}.pattern-detail-meta span+span:before{margin-right:9px}}@media (max-width:360px){.continue-card{grid-template-columns:minmax(0,92px) minmax(0,1fr)}.continue-actions .button{padding-inline:10px}}@media (max-width:599px){.bead-overall-label{font-size:10px}.pattern-list-status{top:6px;right:6px;min-height:22px;padding:1px 8px;font-size:11px;letter-spacing:.01em}}@media (max-width:520px){.pattern-create-card{--create-pad:24px}}.rv-btn-quiet,a.rv-btn-quiet{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);box-shadow:none;font-size:13.5px;font-weight:600;cursor:pointer}.rv-btn-quiet:hover:not(:disabled){border-color:var(--ink);background:var(--surface-2);box-shadow:none;transform:none}.rv-btn-quiet[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rv-btn-primary,a.rv-btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-pixel);font-size:14px;font-weight:600;cursor:pointer}a.rv-btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}.rv-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);box-shadow:none;font-size:15px;cursor:pointer}.rv-btn-icon:hover:not(:disabled){border-color:var(--ink);background:var(--surface-2);color:var(--ink);box-shadow:none;transform:none}.rv-btn-icon.is-active,.rv-btn-icon[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.rv-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.rv-card{display:grid;grid-gap:12px;gap:12px;padding:20px;margin:0;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.rv-block{padding:14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.rv-empty{justify-items:start;color:var(--ink-soft);font-size:14px}.rv-badge{padding:2px 8px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink-soft)}.rv-badge,.rv-badge-accent{border-radius:999px;font-size:11px;font-weight:700}.rv-badge-accent{padding:2px 9px;background:var(--cobalt-soft);color:var(--cobalt)}.rv-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border:1.5px solid color-mix(in srgb,var(--jade) 30%,transparent);border-radius:var(--radius-md);background:var(--jade-soft);color:var(--ink);font-size:13px}.rv-status p{margin:0}.rv-status .rv-btn-quiet{background:var(--paper)}.rv-error{margin:0;padding:10px 14px;border:1.5px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:13px}.rv-error .rv-btn-quiet{margin-left:8px}.rv-notice{margin:0;padding:11px 15px;border-left:3px solid var(--amber);border-radius:var(--radius-sm);background:var(--amber-soft);color:color-mix(in srgb,var(--amber) 80%,var(--ink));font-size:13px}.rv-note{margin:0;padding:0;border:0;color:var(--muted);font-size:12.5px;line-height:1.65}.rv-impact{display:grid;grid-gap:8px;gap:8px;margin-top:10px;padding:10px;border-left:3px solid var(--amber);background:var(--surface-2);font-size:13px;overflow-wrap:anywhere}.rv-impact p{margin:0}.rv-ledger-scroll{overflow-x:auto;max-height:320px;border-radius:var(--radius-sm);overscroll-behavior:contain}.rv-ledger-scroll table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv-ledger-scroll td,.rv-ledger-scroll th{padding:8px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.rv-ledger-scroll th:first-child{text-align:left}.rv-ledger-scroll thead{position:-webkit-sticky;position:sticky;top:0;background:var(--paper)}.rv-ledger-scroll tbody .is-mismatch td,.rv-ledger-scroll tbody .is-mismatch th{color:var(--danger);font-weight:600}.rv-field{display:grid;grid-gap:6px;gap:6px;margin:0;color:var(--ink-soft);font-size:12px;font-weight:600}.rv-code-input{width:140px;height:44px;padding:8px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font-family:var(--font-mono);font-size:15px;text-transform:uppercase}.rv-code-input:disabled{background:var(--surface-3);color:var(--muted)}.rv-segment{display:flex;gap:3px;padding:3px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.rv-segment button{min-height:40px;padding:5px 11px;border:0;border-radius:var(--radius-xs);background:transparent;box-shadow:none;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer}.rv-segment button:hover:not(:disabled){background:color-mix(in srgb,var(--paper) 70%,transparent);box-shadow:none;transform:none}.rv-segment button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.rv-declare{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;color:var(--ink-soft);font-size:13px;cursor:pointer}.rv-declare input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;padding:0;accent-color:var(--accent)}.rv-step-label{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rv-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.rv-filters label{display:grid;grid-gap:5px;gap:5px;min-width:152px;color:var(--muted);font-size:12px;font-weight:600}.rv-filters input,.rv-filters select{width:100%;min-height:40px;padding:6px 10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-size:13px}.rv-chip-row{display:flex;flex-wrap:wrap;gap:6px}.rv-chip{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:4px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:12.5px;cursor:pointer}.rv-chip:hover:not(:disabled){border-color:var(--line-strong);background:var(--paper)}.rv-chip.is-active{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.rv-chip small,.rv-chip.is-empty{color:var(--muted)}.rv-chip small{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv-chip.is-active small{color:inherit;opacity:.72}.rv-code-search{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}.rv-code-search input{width:128px;min-height:36px;padding:5px 10px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:13px;text-transform:uppercase}.review-page{--review-max:1280px;--review-pad:24px;--review-head:64px;display:flex;flex-direction:column;min-height:100dvh}.review-page-head{position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1.5px solid var(--line);background:var(--paper)}.review-page-head-inner{display:flex;align-items:center;gap:12px;width:100%;max-width:var(--review-max);min-height:var(--review-head);margin:0 auto;padding:8px var(--review-pad)}.rv-back{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:6px 10px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);box-shadow:none;font-size:13px}.rv-title{flex:1 1;min-width:0;display:grid;grid-gap:1px;gap:1px}.rv-title h1{margin:0;font-size:19px;line-height:1.35}.rv-title h1,.rv-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-title small{display:block;color:var(--muted);font-size:12px;font-weight:500}.review-page-head-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.review-page-count{min-width:34px;padding:3px 9px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-soft);font-family:var(--font-mono);font-size:13px;font-weight:700;text-align:center}.review-page-count.has-warning{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:var(--accent-soft);color:var(--accent)}.rv-menu{position:relative;display:flex;align-items:center}.rv-menu-pop{position:absolute;z-index:30;top:calc(100% + 6px);right:0;display:grid;min-width:148px;padding:6px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-md)}.rv-menu-pop button{min-height:40px;padding:8px 10px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--ink);box-shadow:none;font-size:13.5px;text-align:left;cursor:pointer}.rv-menu-pop button:hover:not(:disabled){background:var(--surface-2)}.rv-menu-pop button[aria-current=page]{background:var(--cobalt-soft);font-weight:700}.rv-menu-pop button:disabled{opacity:.45}.review-page-main{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:18px;gap:18px;align-items:start;width:100%;max-width:var(--review-max);margin:0 auto;padding:20px var(--review-pad) 32px}.review-page-flow{min-width:0;display:grid;grid-gap:16px;gap:16px;align-content:start}.review-page-aside{position:-webkit-sticky;position:sticky;top:calc(var(--review-head) + 20px);display:grid;grid-gap:12px;gap:12px;align-self:start}.review-page .review-page-finished,.review-page .review-page-panel{display:grid;grid-gap:12px;gap:12px;padding:20px;margin:0;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.rv-queue{position:static;display:grid;grid-gap:10px;gap:10px}.rv-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:2px 10px;gap:2px 10px;width:100%;min-height:44px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);box-shadow:none;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.rv-queue-item:hover:not(:disabled){border-color:var(--line-strong);background:var(--paper);box-shadow:none;transform:none}.rv-queue-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.rv-queue-item.is-orphan{border-style:dashed}.rv-queue-item strong{min-width:0;font-size:14px;font-weight:700;overflow-wrap:anywhere}.rv-queue-item small{color:var(--muted);font-size:12px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-page-finished{max-width:var(--review-max);width:calc(100% - 2 * var(--review-pad));margin:0 auto 24px;justify-items:start}.review-page-finished h2{margin:0;font-size:17px}.review-page-notice{display:grid;grid-gap:10px;gap:10px}.review-page-aside-hint{margin:0;padding:0 2px;color:var(--muted);font-size:12px}.review-locator{display:grid;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}.review-locator-viewport{position:relative;display:block;height:340px;overflow:auto;overscroll-behavior:contain;background:var(--canvas);cursor:crosshair}.review-locator.is-half .review-locator-viewport{height:min(52dvh,480px)}.review-locator.is-collapsed .review-locator-viewport{display:none}.review-locator.is-collapsed .review-locator-bar{border-top:0}.review-locator-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-top:1.5px solid var(--line-soft);color:var(--muted);font-size:12px}.review-locator-zoom{display:flex;align-items:center;gap:4px}.review-locator-zoom button{min-width:36px;min-height:36px;padding:0;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);box-shadow:none}.review-locator-zoom output{font-family:var(--font-mono);font-size:11px}.review-locator-mode{min-width:44px;min-height:36px;margin-left:4px;padding:0 8px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-soft);font:inherit;font-size:12px;box-shadow:none}.review-locator-mode:hover{border-color:var(--line-strong);color:var(--ink)}.review-bulk-fullscreen{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;gap:12px;padding:16px var(--review-pad) 24px;background:var(--bg);overflow:auto}.review-bulk-fullscreen>*{width:100%;max-width:var(--review-max);margin-inline:auto}.review-bulk-fullscreen header{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-bulk-fullscreen h2{margin:0;font-size:19px}.review-bulk-apply{display:grid;grid-gap:10px;gap:10px;max-width:560px}.rv-evidence .pattern-cell-crop-content{grid-template-columns:minmax(0,1fr)}.rv-evidence .pattern-cell-crop-content .crop-image{max-width:200px}.rv-task-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.rv-task-head h2{margin:0;font-size:17px}.rv-task-detail{display:-webkit-box;margin:0;overflow:hidden;color:var(--ink-soft);font-size:13.5px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}.rv-task-position{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:12px}.rv-orphan-list{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.rv-decide{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1.5px solid var(--line-soft)}.rv-evidence{order:0;flex-basis:auto;min-width:0}.rv-evidence[open]{display:grid;grid-gap:8px;gap:8px}.rv-evidence>summary{align-self:start;color:var(--ink-soft);cursor:pointer;font-size:12.5px;font-weight:700;letter-spacing:.04em;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rv-evidence>summary::-webkit-details-marker{display:none}.rv-evidence>summary:before{content:"▸ "}.rv-evidence[open]>summary:before{content:"▾ "}.rv-evidence>summary:hover{color:var(--ink)}.rv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.rv-stats div{padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.rv-stats dt{color:var(--muted);font-size:12px}.rv-stats dd{margin:2px 0 0;font-family:var(--font-mono);font-size:20px;font-weight:700}.rv-review-list{display:grid;grid-gap:8px;gap:8px;max-height:none;padding:0;overflow:visible}.rv-review-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);box-shadow:none;font-size:13px;text-align:left;cursor:pointer}.rv-review-item:hover:not(:disabled){border-color:var(--line-strong);background:var(--paper);box-shadow:none;transform:none}.rv-review-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.rv-review-item b{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rv-review-item small{color:var(--muted);font-size:12px}.rv-review-code{display:inline-flex;align-items:center;justify-content:center;width:34px;height:22px;border-radius:var(--radius-xs);background:var(--surface-3);color:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.02em}.rv-review-code.is-unknown{background:repeating-linear-gradient(45deg,#fdeacd,#fdeacd 3px,#f0c98d 0,#f0c98d 6px)}.rv-task-level{margin:0;font-size:13px}.rv-task-level>summary{min-height:44px;padding:10px 0;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer}.rv-task-level>p{margin:0 0 6px}.review-page h2{margin:0;font-size:17px;line-height:1.4}.review-page h3{margin:0;font-size:15px}.review-page h4{margin:0;color:var(--ink-soft);font-size:13.5px}.review-page details>summary{min-height:44px;padding:10px 0;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer}.review-page details ul{margin:0 0 12px;padding-left:20px;font-size:13px}.rv-primary-bar{display:grid;grid-gap:6px;gap:6px}.rv-primary-hint{margin:0;color:var(--muted);font-size:12.5px}.rv-primary-row{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-gap:8px;gap:8px;align-items:stretch}.rv-primary-row .rv-btn-primary{min-height:52px;font-size:15px}.rv-primary-paging{min-height:52px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);box-shadow:none;font-size:20px;line-height:1;cursor:pointer}.rv-primary-paging:disabled{opacity:.4}.rv-cell-editor{position:static;z-index:auto;inset:auto;display:grid;grid-gap:8px;gap:8px;width:auto;max-height:none;padding:12px;overflow-y:auto;border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.bead-cell-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bead-cell-editor-head strong{font-size:14px}.bead-cell-editor-head small{display:block;color:var(--muted);font-size:12px}.bead-cell-swatches{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain}.bead-cell-swatches .bead-swatch-button{flex:0 0 44px;min-height:44px}.bead-cell-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bead-cell-editor-actions .rv-btn-primary{flex:1 1 120px;min-height:44px}.bead-cell-paging{display:flex;align-items:center;gap:4px;margin-left:auto}.bead-cell-paging span{color:var(--muted);font-size:12px}.rv-bulk-bar{position:static;display:grid;grid-gap:8px;gap:8px;padding:10px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-sm)}.rv-bulk-bar .rv-segment{margin:0}.rv-bulk-bar .rv-segment button{min-height:40px;font-size:13px}.bead-bulk-modebar-head{display:flex;align-items:center;gap:8px}.bead-bulk-modebar-head strong{font-size:14px}.bead-bulk-modebar-head span{margin-left:auto;color:var(--muted);font-size:12px}.bead-bulk-modebar-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.bead-bulk-modebar-foot small{color:var(--muted);font-size:12px}.bead-bulk-modebar-foot div{display:flex;gap:6px}.review-page-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:18;border-top:1.5px solid var(--line);background:var(--paper)}.review-page-footer-inner{width:100%;max-width:var(--review-max);margin:0 auto;padding:12px var(--review-pad) calc(12px + env(safe-area-inset-bottom, 0px))}.review-page-footer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-page-view-label{color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.review-confirm-facts{display:grid;grid-gap:8px;gap:8px;margin:0 0 6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);font-size:13px}.review-confirm-facts>div{display:grid;grid-template-columns:66px minmax(0,1fr);grid-gap:10px;gap:10px}.review-confirm-facts dt{color:var(--muted)}.review-confirm-facts dd{margin:0;color:var(--ink);overflow-wrap:anywhere}@media (max-width:1199px){.review-page{--review-pad:20px}.review-page-main{grid-template-columns:minmax(0,1fr) 340px;gap:16px}}@media (max-width:899px){.review-page{--review-pad:16px}.review-page-main{grid-template-columns:minmax(0,1fr)}.review-page-aside{position:static;order:-1}.review-page .review-locator-viewport{height:220px}.review-page-head-inner{gap:8px}.rv-title h1{font-size:17px}.rv-back{padding-inline:10px}.rv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-page .review-page-finished,.review-page .review-page-panel,.rv-card,.rv-queue.rv-card{padding:16px}}@media (max-width:599px){.rv-back span{display:none}.rv-queue-item small{text-align:left}.review-page-head-actions>.rv-btn-icon:last-child{display:none}.rv-title h1{font-size:16px}.rv-chip{min-height:44px;padding:6px 14px}.review-locator-zoom button{min-width:44px;min-height:44px}.review-locator-mode{min-height:44px}.review-bulk-apply .rv-actions{display:grid;grid-gap:8px;gap:8px}.review-bulk-apply .rv-actions .rv-btn-primary{min-height:48px}.review-bulk-apply .rv-impact .rv-btn-primary{width:100%;min-height:48px}}@media (max-width:420px){.review-page-footer-bar{flex-wrap:wrap;gap:8px}.review-page-footer-bar>.rv-btn-primary{flex:1 1 100%;min-height:48px}.rv-code-search input{width:104px}.rv-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rv-stats dd{font-size:18px}}.bead-inspect-card{position:fixed;z-index:30;left:max(8px,env(safe-area-inset-left,0px));bottom:calc(var(--workspace-keyboard-inset, 0px) + env(safe-area-inset-bottom, 0px) + 88px);display:grid;grid-gap:8px;gap:8px;width:260px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 18px 40px -22px rgba(23,25,29,.45)}.bead-inspect-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.bead-inspect-head b{font-size:13px}.bead-inspect-meta{display:flex;align-items:center;gap:6px;margin:0;color:var(--ink-soft);font-size:13px}.bead-inspect-swatch{width:14px;height:14px;border:1px solid var(--line);border-radius:3px}.bead-inspect-notice{margin:0;color:var(--jade);font-size:12px;line-height:1.5}.bead-inspect-error{margin:0;color:var(--danger);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.bead-inspect-card .bead-primary{min-height:44px;text-align:center}.bead-cell-modal{max-width:420px}.bead-cell-modal .rv-cell-editor{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.dashboard.review-grid-dashboard{display:flex;flex-direction:column;max-width:1320px;height:100vh;height:100dvh;padding:calc(8px + env(safe-area-inset-top, 0px)) 16px calc(8px + env(safe-area-inset-bottom, 0px))}.review-grid-page{--review-cell-row:96px;--review-cell-min-width:84px;--review-color-row-base:104px;--review-color-row:var(--review-color-row-base);--review-cell-padding:12px;--review-image-size:64px;display:flex;flex:1 1;flex-direction:column;min-height:0;color:var(--ink)}.review-grid-header{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--line)}.review-grid-header h1{flex:1 1;min-width:0;overflow:hidden;margin:0;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.review-grid-header a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap}.review-grid-back{width:44px;color:var(--ink)}.review-grid-header-link{font-size:13px}.review-grid-stats{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 12px;color:var(--ink-soft);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-grid-layout{display:grid;grid-template-columns:108px minmax(0,1fr);flex:1 1;min-height:0}.review-grid-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.review-grid-review-filter{display:grid;flex:none;place-items:center;grid-gap:1px;gap:1px;min-height:76px;margin:6px;padding:6px;border-color:transparent;background:transparent;color:var(--ink);font-size:12px;box-shadow:none}.review-grid-review-filter b{font-family:var(--font-mono);font-size:12px}.review-grid-color.is-active,.review-grid-review-filter.is-active{border-color:var(--cobalt);outline:2px solid var(--cobalt);outline-offset:-2px;background:var(--cobalt-soft)}.review-grid-cell-scroll,.review-grid-color-scroll,.review-picker-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.review-grid-color-scroll{flex:1 1;padding-inline:5px}.review-grid-virtual{position:relative;min-width:0}.review-grid-color-window,.review-picker-window{position:absolute;right:0;left:0}.review-grid-color{display:grid;justify-items:center;align-content:center;grid-gap:1px;gap:1px;width:100%;height:var(--review-color-row);min-width:0;padding:4px 2px;border:1px solid transparent;background:transparent;color:var(--ink);box-shadow:none}.review-grid-color b,.review-grid-color small{font-size:11px;line-height:1.2}.review-grid-color b{font-family:var(--font-mono)}.review-grid-swatch{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;text-align:center}.review-grid-swatch span{max-width:42px;font-family:var(--font-mono);font-weight:700;line-height:1.05;overflow-wrap:anywhere}.review-grid-swatch i{display:none}.review-grid-swatch.is-long{display:flex;gap:2px;width:100%;height:auto;min-height:48px;overflow:visible;border-color:transparent;border-radius:0;background:transparent!important;color:var(--ink)!important}.review-grid-swatch.is-long i{display:block;flex:0 0 7px;width:7px;height:7px;border:1px solid var(--line-strong);border-radius:50%}.review-grid-swatch.is-long span{min-width:0;max-width:100%;font-size:11px;line-height:1.05;text-align:left}.review-grid-color-placeholder{height:var(--review-color-row)}.review-grid-page .is-good{color:var(--jade)}.review-grid-page .is-bad{color:var(--danger)}.review-grid-content{display:flex;flex-direction:column;min-width:0;min-height:0}.review-grid-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:64px;padding:8px 12px;border-bottom:1px solid var(--line-soft)}.review-grid-title>div{flex:1 1;min-width:0}.review-grid-title h2{margin:0;overflow-wrap:anywhere;font-size:17px}.review-grid-title span{color:var(--muted);font-size:12px}.review-grid-title a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;white-space:nowrap}.review-grid-groups{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--line-soft);font-size:12px}.review-grid-groups label{display:flex;align-items:center;gap:6px;min-width:0}.review-grid-groups select{max-width:220px;min-height:40px;color:var(--ink);background:var(--field)}.review-grid-groups button,.review-grid-warning button{min-height:44px;padding:4px 8px;font-size:12px}.review-grid-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:6px 10px;font-size:12px}.review-grid-bulk,.review-grid-multi{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;font-size:12px}.review-grid-multi{border-bottom:1px solid var(--line-soft)}.review-grid-bulk button,.review-grid-multi button{min-height:44px;padding:5px 9px;font-size:12px}.review-grid-multi strong{font-family:var(--font-mono);font-size:12px}.review-grid-hint{margin-left:auto;color:var(--muted);font-size:11px}.review-grid-bulk{border-top:1px solid var(--line);padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px));background:var(--paper)}.review-grid-cell-scroll{flex:1 1;padding-inline:var(--review-cell-padding)}.review-grid-cells{position:absolute;right:0;left:0;display:grid;grid-auto-rows:var(--review-cell-row)}.review-grid-cell{position:relative;display:grid;justify-items:center;align-content:center;grid-gap:3px;gap:3px;width:100%;height:calc(var(--review-cell-row) - 2px);min-width:0;padding:3px;border:1px solid transparent;background:transparent;box-shadow:none;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.review-grid-cell.is-selected{border-color:var(--cobalt);background:var(--surface-2)}.review-grid-cell-image,.review-grid-cell-placeholder span{display:grid;place-items:center;width:var(--review-image-size);height:var(--review-image-size);overflow:hidden;border:1px solid var(--line);border-radius:50%;background-color:#f7f8f9;background-repeat:no-repeat}.review-grid-cell-image :is(img,canvas){width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.review-grid-live-sprite{display:block;width:100%;height:100%;background-repeat:no-repeat;image-rendering:pixelated}.review-grid-cell small{max-width:100%;overflow:hidden;color:var(--muted);font-family:var(--font-mono);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.review-grid-image-placeholder{color:#606870}.review-grid-cell-placeholder{display:grid;place-items:center;height:calc(var(--review-cell-row) - 2px)}.review-grid-cell-placeholder span{background:var(--surface-2)}.review-grid-risk{position:absolute;top:6px;right:calc(50% - var(--review-image-size) / 2 - 1px);width:10px;height:10px;border:2px solid var(--paper);border-radius:50%;background:var(--danger)}.review-grid-selection-mark{position:absolute;right:calc(50% - var(--review-image-size) / 2 - 2px);bottom:17px;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper)}.review-grid-selection-mark svg{width:15px;height:15px}.review-grid-cell.is-selected .review-grid-selection-mark{background:var(--cobalt);color:#fff}.review-grid-error,.review-grid-inline-error,.review-grid-notice,.review-grid-warning{padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}.review-grid-warning{background:var(--surface-2)}.review-grid-warning a{margin-left:8px}.review-grid-error,.review-grid-inline-error{color:var(--danger)}.review-grid-notice{color:var(--jade)}.review-grid-error button,.review-grid-inline-error button,.review-grid-notice button{min-height:36px;margin-left:8px;padding:4px 8px;font-size:12px}.review-grid-empty,.review-grid-loading{margin:16px 12px;color:var(--muted);font-size:13px}.modal-overlay.review-cell-overlay{align-items:flex-end;padding:0}.modal-overlay>.review-cell-sheet{width:min(100%,520px);max-height:min(88%,640px);padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));border-bottom:0;border-radius:12px 12px 0 0;animation:review-sheet-enter .18s ease-out}.review-cell-sheet .modal-title{margin-bottom:4px}.review-cell-sheet .modal-hint{margin-bottom:12px}.review-cell-image{display:grid;place-items:center;width:min(100%,180px);height:180px;margin:0 auto;overflow:hidden;border:1px solid var(--line);background:#f7f8f9;color:#606870;font-size:12px}.review-cell-image :is(img,canvas){display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.review-cell-image-error{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:8px;text-align:center}.review-cell-image-error button{min-height:40px}.review-cell-tools,.review-picker-actions{display:flex;justify-content:center;gap:8px;margin-top:12px}.review-cell-target{padding-top:12px;color:var(--muted);font-size:13px;text-align:center}.review-cell-target strong{color:var(--ink);font-family:var(--font-mono)}.review-cell-error{color:var(--danger);font-size:13px}.review-cell-error button{min-height:40px;margin-left:6px}.review-cell-sheet .modal-actions>button{flex:1 1}.review-context-dialog{text-align:center}.review-context-body{display:grid;place-items:center;min-height:120px}.review-context-image{position:relative;display:inline-block;max-width:100%;line-height:0}.review-context-image :is(img,canvas){display:block;width:100%;height:100%;image-rendering:pixelated}.review-context-snapshot{display:grid;overflow:hidden;background:#f7f8f9}.review-context-snapshot img{min-width:0;min-height:0;object-fit:fill}.review-context-image>span{position:absolute;border:2px solid #1f65c6;outline:1px solid #fff;pointer-events:none}.review-original-dialog{width:min(96vw,960px)}.review-original-warning{color:var(--danger);font-size:13px}.review-original-viewport{width:100%;height:min(55dvh,560px);overflow:auto;background:#eceeef;overscroll-behavior:contain}.review-original-image{position:relative;max-width:none;line-height:0}.review-original-image img{display:block;width:100%;height:100%;background:#fff;image-orientation:from-image}.review-original-image>span{position:absolute;border:2px solid #1f65c6;outline:1px solid #fff;pointer-events:none}.review-original-tool{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;padding:0}.review-picker-dialog{display:flex;flex-direction:column}.review-picker-actions{justify-content:flex-start;margin-top:0}.review-picker-actions button{min-height:44px}.review-picker-manual{display:flex;gap:8px;margin-top:8px!important}.review-picker-manual input{flex:1 1}.review-picker-manual button{flex:none;min-height:44px}.review-picker-scroll{flex:none;height:min(42dvh,360px);margin-top:12px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.review-picker-color{display:flex;align-items:center;gap:12px;width:100%;height:56px;padding:6px 8px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent;color:var(--ink);box-shadow:none;text-align:left}.review-picker-color strong{font-family:var(--font-mono)}.review-picker-swatch{flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:50%}.review-picker-placeholder{height:56px}.review-legend-dialog{width:min(100%,620px)}.review-legend-list{max-height:min(48dvh,420px);overflow-y:auto;border-top:1px solid var(--line-soft)}.review-legend-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:5px 8px;gap:5px 8px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line-soft)}.review-legend-row label{display:grid;min-width:0;grid-gap:4px;gap:4px;color:var(--ink-soft);font-size:12px}.review-legend-row input{min-width:0;min-height:44px}.review-legend-row button{min-height:44px;padding:5px 9px;font-size:12px}.review-legend-row small{grid-column:1/-1;color:var(--muted);font-size:12px}.review-legend-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.review-legend-actions button,.review-legend-preview button{min-height:44px}.review-legend-preview{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:12px}.review-legend-preview p{margin:6px 0}.review-legend-preview button+button{margin-left:8px}.review-grid-page :is(h1,h2),:is(.review-cell-sheet,.review-context-dialog,.review-picker-dialog) h3{letter-spacing:0}.modal-overlay>.modal-card.review-picker-dialog .review-picker-color:hover:not(:disabled),.review-grid-dashboard .review-grid-page :is(.review-grid-review-filter,.review-grid-color,.review-grid-cell):hover:not(:disabled){background:var(--surface-2);box-shadow:none;transform:none}.review-grid-dashboard .review-grid-page :is(.review-grid-review-filter.is-active,.review-grid-color.is-active):hover:not(:disabled){background:var(--cobalt-soft)}@keyframes review-sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-overlay>.review-cell-sheet{animation:none}}.bead-immersive .bead-review-button{text-decoration:none}.bead-immersive .bead-review-button[aria-disabled=true]{opacity:.5;pointer-events:none}@media (max-width:599px){.dashboard.review-grid-dashboard{padding-inline:8px}.review-grid-page{--review-cell-row:78px;--review-cell-min-width:68px;--review-color-row-base:84px;--review-cell-padding:8px;--review-image-size:52px}.review-grid-layout{grid-template-columns:64px minmax(0,1fr)}.review-grid-review-filter{min-height:60px;margin:4px;padding:4px}.review-grid-color-scroll{padding-inline:4px}.review-grid-color{gap:0;padding:1px}.review-grid-color b,.review-grid-color small{line-height:1.1}.review-grid-swatch{width:38px;height:38px}.review-grid-swatch.is-long{min-height:38px}.review-grid-title{gap:4px;padding-inline:8px}.review-grid-groups,.review-grid-stats{padding-inline:8px}.modal-card .review-legend-row input{font-size:16px}.review-grid-bulk,.review-grid-multi{padding-inline:8px}}