:root{color-scheme:dark;--bg:#070e19;--panel:#111b2b;--panel2:#0c1523;--line:#2a3853;--line2:#202d43;--text:#e8edf7;--muted:#9da9bd;--yellow:#ffd329;--green:#3ddc97;--amber:#efbd55;--red:#ff7482}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -15%,#15213a 0,#09111e 36%,var(--bg) 68%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-tap-highlight-color:transparent}
button,input{font:inherit}.hidden{display:none!important}.tick-page{width:min(760px,100%);margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px calc(54px + env(safe-area-inset-bottom))}
.tick-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:16px}.tick-back{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#121e31;color:var(--text);text-decoration:none;font-size:2rem;line-height:1}.tick-head-copy{min-width:0}.eyebrow{display:block;margin-bottom:2px;color:var(--yellow);font-size:.63rem;font-weight:900;letter-spacing:.13em}.tick-head h1{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:1.38rem;line-height:1.15}.tick-head p{overflow:hidden;margin:4px 0 0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.saved-toggle{align-self:center;border:1px solid #3a4964;border-radius:12px;background:#1a263a;color:#dce4ef;padding:9px 10px;font-size:.7rem;font-weight:800}.saved-toggle span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;border-radius:999px;background:#2a3850;color:#fff;font-size:.62rem}
.saved-panel,.sheet-controls,.message-card{border:1px solid var(--line);border-radius:16px;background:rgba(17,27,43,.96);box-shadow:0 12px 30px #0002}.saved-panel{margin-bottom:14px;padding:12px}.saved-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px}.saved-panel-head b,.saved-panel-head small{display:block}.saved-panel-head b{font-size:.86rem}.saved-panel-head small{margin-top:2px;color:var(--muted);font-size:.64rem}.saved-panel-head button{width:34px;height:34px;border:0;border-radius:10px;background:#243149;color:#fff;font-size:1.2rem}.saved-lists{display:grid;gap:8px}.saved-empty{padding:16px 8px;color:var(--muted);text-align:center;font-size:.72rem}.saved-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line2);border-radius:12px;background:#0c1523}.saved-open{min-width:0;border:0;background:none;color:inherit;text-align:left;padding:0}.saved-open b,.saved-open small{display:block}.saved-open b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.saved-open small{margin-top:3px;color:var(--muted);font-size:.62rem}.saved-delete{width:36px;height:36px;border:1px solid #562d3b;border-radius:10px;background:#341821;color:#ff9baa;font-size:.85rem}
.sheet-controls{margin-bottom:16px;padding:13px}.name-row label{display:block;margin:0 0 6px;color:#c8d1df;font-size:.66rem;font-weight:800}.name-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.name-actions input{min-width:0;height:43px;border:1px solid #41516c;border-radius:11px;background:#101a2a;color:#fff;padding:0 12px;outline:none}.name-actions input:focus{border-color:#d0b52f;box-shadow:0 0 0 2px #ffd32918}.name-actions button{border:0;border-radius:11px;background:var(--yellow);color:#151923;padding:0 16px;font-weight:900}.name-actions .qr-button{border:1px solid #41516c;background:#1a263a;color:#e6edf7;padding:0 13px}.name-row>small{display:block;margin-top:6px;color:var(--muted);font-size:.6rem}.name-row>small.saved{color:var(--green)}
.progress-card{margin-top:13px;padding:12px;border-radius:13px;background:#0b1421;border:1px solid #202d43}.progress-copy{display:grid;grid-template-columns:1fr 1fr;gap:12px}.progress-copy>div:last-child{text-align:right}.progress-copy small,.progress-copy b{display:block}.progress-copy small{color:var(--muted);font-size:.6rem}.progress-copy b{margin-top:2px;font-size:.83rem}.progress-track{height:8px;margin-top:10px;overflow:hidden;border-radius:999px;background:#202d43}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d2ad15,var(--yellow));transition:width .16s ease}.progress-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:.62rem}.progress-foot label{display:flex;align-items:center;gap:5px}.progress-foot input{accent-color:var(--yellow)}.tap-help{margin:11px 2px 0;color:#9ca9bb;font-size:.65rem;line-height:1.35}.tap-help b{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:5px;background:#29374d;color:#fff}
.message-card{padding:26px 18px;color:var(--muted);text-align:center;font-size:.8rem}.message-card.error{border-color:#63313a;color:#ffc0c7}.categories{display:grid;gap:15px}.category{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:rgba(14,23,37,.94)}.category.complete{border-color:#25543f}.category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #202d43;background:#111c2d}.category-head div{min-width:0}.category-head h2{margin:0;font-size:.91rem;line-height:1.15}.category-head small{display:block;margin-top:3px;color:var(--muted);font-size:.61rem}.category-count{flex:none;border-radius:999px;background:#25334a;color:#dce5f2;padding:5px 8px;font-size:.61rem;font-weight:850}.category.complete .category-count{background:#173c2e;color:#79e7b2}
.colour-group{padding:0 10px 11px}.colour-group+.colour-group{border-top:1px solid #1d293d}.colour-head{display:flex;align-items:center;gap:8px;padding:10px 3px 7px}.colour-swatch{flex:0 0 15px;width:15px;height:15px;border:1px solid #ffffff80;border-radius:999px;background:var(--swatch,#888);box-shadow:0 0 0 1px #0005}.colour-swatch.trans{background-image:linear-gradient(45deg,#ffffff55 25%,transparent 25%),linear-gradient(-45deg,#ffffff55 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff55 75%),linear-gradient(-45deg,transparent 75%,#ffffff55 75%);background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0;background-color:var(--swatch,#888)}.colour-head b{font-size:.68rem}.colour-head small{margin-left:auto;color:#7f8da2;font-size:.56rem}.part-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.part-tile{position:relative;min-width:0;height:112px;padding:6px;border:1px solid #26334a;border-radius:9px;background:#0d1522;overflow:hidden;transition:border-color .14s ease,background .14s ease,transform .12s ease}.part-tile.complete{border-color:#2b7756;background:#0d1d1a}.part-tile.hidden-complete{display:none}.part-main{display:block;width:100%;height:100%;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:center}.part-image{position:relative;display:block;width:100%;height:76px;overflow:hidden;border-radius:6px;background:#fff}.part-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.part-image .no-image{display:grid;place-items:center;width:100%;height:100%;padding:6px;background:#182233;color:#91a0b5;text-align:center;font-size:.58rem;font-weight:800}.part-found{position:absolute;right:4px;bottom:4px;padding:2px 6px;border-radius:999px;background:#111827e8;color:#fff;font-size:.55rem;font-weight:850;line-height:1.2}.part-check{display:none;position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:999px;background:#1f8a5d;color:#fff;font-size:.72rem;font-weight:950;line-height:22px;text-align:center;box-shadow:0 1px 4px #0005}.part-tile.complete .part-check{display:block}.part-number{display:block;overflow:hidden;margin-top:6px;color:#e8eef8;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.05}.part-minus{position:absolute;left:9px;top:9px;z-index:2;display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid #526079;border-radius:999px;background:#172338e8;color:#dce4ef;font-size:.95rem;font-weight:900;line-height:1;box-shadow:0 1px 4px #0005}.part-minus:disabled{opacity:.24}.part-tile.complete .part-minus{border-color:#39785c;background:#123727e8}.part-tile.flash{animation:tickflash .18s ease}.part-tile.at-limit{animation:limitflash .2s ease}@keyframes tickflash{50%{background:#214837;transform:scale(.985)}}@keyframes limitflash{50%{background:#4a3d12;transform:scale(.985)}}
@media(max-width:390px){.tick-page{padding-left:10px;padding-right:10px}.part-tile{height:105px;padding:5px}.part-image{height:71px}.part-number{font-size:.64rem}.part-minus{left:8px;top:8px;width:23px;height:23px}.saved-toggle{padding-left:8px;padding-right:8px}}
@media(min-width:520px){.part-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.qr-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px}.qr-backdrop{position:absolute;inset:0;background:#020711d9;backdrop-filter:blur(5px)}.qr-card{position:relative;z-index:1;width:min(390px,100%);border:1px solid #40506b;border-radius:20px;background:#111b2b;padding:20px;box-shadow:0 24px 70px #000a;text-align:center}.qr-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:12px;background:#243149;color:#fff;font-size:1.35rem}.qr-card .eyebrow{margin-bottom:5px}.qr-card h2{margin:0 42px 4px;font-size:1.08rem;line-height:1.2}.qr-card>p{margin:0;color:var(--muted);font-size:.68rem}.qr-code{display:grid;place-items:center;width:276px;max-width:100%;aspect-ratio:1;margin:18px auto 12px;padding:10px;border-radius:14px;background:#fff}.qr-code img,.qr-code canvas{display:block!important;width:100%!important;height:100%!important;image-rendering:pixelated}.qr-card .qr-help{margin:0 auto 14px;max-width:290px;line-height:1.35}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qr-actions button{min-height:44px;border:0;border-radius:11px;background:var(--yellow);color:#151923;font-weight:900}.qr-actions button.secondary{border:1px solid #41516c;background:#1a263a;color:#e6edf7}.qr-card>small{display:block;min-height:18px;margin-top:8px;color:var(--green);font-size:.62rem}.qr-card>small.error{color:#ff9baa}
@media(max-width:390px){.name-actions{grid-template-columns:minmax(0,1fr) auto}.name-actions .qr-button{grid-column:2}.name-actions #saveList{grid-column:2;grid-row:1}.name-actions .qr-button{grid-row:2}.name-actions input{grid-row:1 / span 2}.qr-code{width:248px}}

.print-label-button{width:100%;min-height:46px;margin-top:12px;border:0;border-radius:12px;background:var(--yellow);color:#161a22;font-weight:950;font-size:.82rem}
.print-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px}.print-backdrop{position:absolute;inset:0;background:#020711df;backdrop-filter:blur(5px)}.print-card{position:relative;z-index:1;width:min(430px,100%);max-height:calc(100vh - 28px);overflow:auto;border:1px solid #40506b;border-radius:20px;background:#111b2b;padding:20px;box-shadow:0 24px 70px #000a;text-align:center}.print-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:12px;background:#243149;color:#fff;font-size:1.35rem}.print-card h2{margin:0 42px 3px;font-size:1.1rem}.print-sub{margin:0;color:var(--muted);font-size:.65rem}.label-preview-wrap{margin:16px auto 13px;padding:8px;border-radius:14px;background:#e8ebf0;box-shadow:inset 0 0 0 1px #fff2}.label-preview-wrap canvas{display:block;width:100%;height:auto;background:#fff;border-radius:7px;image-rendering:auto}.label-theme-field{display:grid;gap:5px;text-align:left;color:#c8d1df;font-size:.64rem;font-weight:800}.label-theme-field input{width:100%;height:42px;border:1px solid #41516c;border-radius:10px;background:#101a2a;color:#fff;padding:0 11px;outline:none}.label-theme-field input:focus{border-color:#d0b52f;box-shadow:0 0 0 2px #ffd32918}.printer-status-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:13px 0 10px;padding:9px 10px;border-radius:10px;background:#0b1421;color:#cbd5e4;font-size:.68rem}.printer-dot{width:9px;height:9px;border-radius:999px;background:#718096;box-shadow:0 0 0 3px #71809620}.printer-dot.connected{background:var(--green);box-shadow:0 0 0 3px #3ddc9720}.printer-dot.busy{background:var(--yellow);box-shadow:0 0 0 3px #ffd32920}.print-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:8px}.print-actions button{min-height:46px;border:0;border-radius:11px;background:var(--yellow);color:#151923;font-weight:900}.print-actions button:disabled{opacity:.55}.print-actions button.secondary{border:1px solid #41516c;background:#1a263a;color:#e6edf7}.print-card>small{display:block;min-height:18px;margin-top:9px;color:var(--green);font-size:.61rem;line-height:1.35}.print-card>small.error{color:#ff9baa}

/* v2.22.2 — reusable M220 label size/orientation settings. */
.print-layout-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:8px 10px;border:1px solid #26354d;border-radius:10px;background:#0b1421;color:#aeb9ca;font-size:.62rem;text-align:left}.print-layout-row span{min-width:0}.print-layout-row button{flex:none;min-height:34px;border:1px solid #41516c;border-radius:9px;background:#1a263a;color:#e6edf7;padding:0 10px;font-size:.61rem;font-weight:850}.layout-modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px}.layout-backdrop{position:absolute;inset:0;background:#020711e8;backdrop-filter:blur(5px)}.layout-card{position:relative;z-index:1;width:min(390px,100%);max-height:calc(100vh - 28px);overflow:auto;border:1px solid #40506b;border-radius:20px;background:#111b2b;padding:20px;box-shadow:0 24px 70px #000a;text-align:center}.layout-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:12px;background:#243149;color:#fff;font-size:1.35rem}.layout-card h2{margin:0 42px 4px;font-size:1.08rem}.layout-card>p{margin:0 auto 14px;color:var(--muted);font-size:.66rem;line-height:1.4}.layout-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left}.layout-inputs label>span:first-child{display:block;margin:0 0 5px;color:#c8d1df;font-size:.62rem;font-weight:850}.dimension-input{display:flex;align-items:center;height:43px;border:1px solid #41516c;border-radius:10px;background:#101a2a;overflow:hidden}.dimension-input input{min-width:0;width:100%;height:100%;border:0;background:transparent;color:#fff;padding:0 10px;outline:0;font:inherit}.dimension-input b{padding-right:10px;color:#8e9caf;font-size:.61rem}.layout-shape-area{display:grid;place-items:center;height:165px;margin:14px 0 10px;border-radius:13px;background:#0b1421;border:1px solid #202d43}.layout-shape{position:relative;display:grid;place-items:center;min-width:34px;min-height:28px;border:2px solid #ffd329;border-radius:7px;background:#fff;color:#121722;box-shadow:0 5px 18px #0005;transition:width .16s ease,height .16s ease}.layout-shape>span{font-size:.72rem;font-weight:900;white-space:nowrap}.layout-shape small{position:absolute;color:#5c6573;font-size:.43rem;font-weight:900;letter-spacing:.08em}.shape-width{left:50%;bottom:5px;transform:translateX(-50%)}.shape-height{left:5px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:left center}.rotate-option{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #2a3850;border-radius:11px;background:#0d1725;text-align:left}.rotate-option input{margin-top:2px;accent-color:var(--yellow)}.rotate-option span{display:grid;gap:2px}.rotate-option b{font-size:.68rem}.rotate-option small{color:var(--muted);font-size:.57rem;line-height:1.35}.layout-printer-orientation{margin:9px 0 0!important;color:#9facc0!important;font-size:.58rem!important}.layout-status{display:block;min-height:18px;margin-top:5px;color:var(--green);font-size:.59rem}.layout-status.error{color:#ff9baa}.layout-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:8px}.layout-actions button{min-height:44px;border:0;border-radius:11px;background:var(--yellow);color:#151923;font-weight:900}.layout-actions button:disabled{opacity:.42}.layout-actions button.secondary{border:1px solid #41516c;background:#1a263a;color:#e6edf7}
.label-preview-wrap{display:grid;place-items:center}.label-preview-wrap canvas{width:auto;max-width:100%;max-height:420px;height:auto}

/* v2.22.2 minifigure checklist tiles */
.figure-list{padding:10px}.minifig-tile{height:142px}.minifig-tile .part-image{height:94px}.minifig-tile .figure-name{margin-top:5px;font-size:.62rem;white-space:nowrap}.figure-number{display:block;margin-top:2px;color:#8796aa;font-size:.48rem;line-height:1}.minifig-tile .part-main{overflow:hidden}@media(max-width:390px){.minifig-tile{height:136px}.minifig-tile .part-image{height:90px}.minifig-tile .figure-name{font-size:.58rem}}

/* v2.22.2 — picking-list sort modes, stronger sticky headings, clearer tile controls. */
.sort-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 11px;border:1px solid #26354d;border-radius:12px;background:#0b1421}.sort-control>div:first-child{min-width:0}.sort-control b,.sort-control small{display:block}.sort-control b{font-size:.7rem}.sort-control small{margin-top:2px;color:var(--muted);font-size:.55rem;line-height:1.25}.sort-segment{display:grid;grid-template-columns:1fr 1fr;flex:0 0 150px;padding:3px;border:1px solid #34445f;border-radius:10px;background:#111b2b}.sort-segment button{height:34px;border:0;border-radius:7px;background:transparent;color:#aeb9ca;font-size:.64rem;font-weight:850}.sort-segment button.active{background:var(--yellow);color:#171b22;box-shadow:0 2px 7px #0004}
.categories{gap:17px}.category{overflow:visible}.category-head{position:sticky;top:0;z-index:24;padding:15px 14px;background:#111c2df2;backdrop-filter:blur(8px);border:1px solid #2b3a53;border-radius:15px 15px 0 0;box-shadow:0 5px 12px #0004}.category-head h2{font-size:1.06rem}.category-head small{font-size:.64rem}.category-count{font-size:.67rem;padding:6px 9px}.colour-group{position:relative;background:rgba(14,23,37,.96)}.category .colour-head{position:sticky;top:65px;z-index:22;margin:0 -10px;padding:11px 13px 9px;background:#0e1827f2;backdrop-filter:blur(7px);border-bottom:1px solid #22314a;box-shadow:0 3px 8px #0003}.colour-head b{font-size:.82rem}.colour-head small{font-size:.61rem}.colour-swatch{flex-basis:23px;width:23px;height:23px;border-width:2px}.colour-only-group{position:relative;padding:0 10px 11px;border:1px solid var(--line);border-radius:15px;background:rgba(14,23,37,.96)}.colour-only-group .colour-head{position:sticky;top:0;z-index:24;margin:0 -10px 8px;padding:13px;background:#101b2bf4;backdrop-filter:blur(8px);border-radius:14px 14px 0 0;border-bottom:1px solid #263650;box-shadow:0 4px 10px #0004}.colour-neutral-icon{display:grid;place-items:center;background:#637083!important;color:#dce5ef;font-size:.55rem}
.part-tile{height:126px;padding:6px;transition:border-color .2s ease,background .2s ease,transform .18s ease,opacity .3s ease}.part-image{height:82px}.part-found{right:5px;bottom:5px;padding:4px 8px;font-size:.72rem;line-height:1.05}.part-check{right:5px;top:5px;width:27px;height:27px;font-size:.88rem;line-height:27px}.part-number{margin-top:6px;font-size:.7rem}.part-caption{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:0}.part-caption .part-number{min-width:0;max-width:62%;margin-top:6px}.part-size{flex:none;color:#ffd94f;font-size:.67rem;font-weight:900;line-height:1}.part-minus{left:6px;top:6px;width:37px;height:37px;border-radius:12px;font-size:1.25rem}.part-info-button{position:absolute;left:8px;bottom:29px;z-index:4;display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #526079;border-radius:999px;background:#172338ec;color:#eef4fc;font-family:Georgia,serif;font-size:.86rem;font-weight:900;font-style:italic;line-height:1;box-shadow:0 1px 5px #0006}.part-info-button:active,.part-minus:active{transform:scale(.92)}.part-tile.complete .part-info-button{border-color:#39785c;background:#123727ed}.part-tile.completing{z-index:3;animation:completeconfirm .72s cubic-bezier(.2,.75,.25,1)}.part-tile.completing .part-check{display:block;animation:checkpop .72s ease}.part-tile.flash{animation:tickflash .24s ease}@keyframes completeconfirm{0%{transform:scale(1);background:#0d1522}32%{transform:scale(.965);background:#255b43;box-shadow:0 0 0 2px #3ddc9766}72%{transform:scale(1.015);background:#143526}100%{transform:scale(1);background:#0d1d1a}}@keyframes checkpop{0%{opacity:0;transform:scale(.3) rotate(-20deg)}35%{opacity:1;transform:scale(1.25) rotate(5deg)}70%{transform:scale(.94)}100%{transform:scale(1)}}
@media(max-width:390px){.sort-control{gap:8px}.sort-segment{flex-basis:132px}.sort-control small{max-width:145px}.part-tile{height:120px}.part-image{height:78px}.part-found{font-size:.68rem}.part-minus{left:5px;top:5px;width:35px;height:35px}.part-info-button{left:7px;bottom:27px;width:29px;height:29px}.part-caption .part-number{font-size:.65rem}.part-size{font-size:.62rem}}

/* v2.22.2 — catalogue part-info sheet accessible directly from picking tiles. */
body.tick-part-info-open{overflow:hidden}.tick-part-info-modal{position:fixed;inset:0;z-index:125;display:flex;align-items:flex-end;justify-content:center}.tick-part-info-shade{position:absolute;inset:0;border:0;background:#020711d8;backdrop-filter:blur(5px)}.tick-part-info-sheet{position:relative;z-index:1;width:min(620px,100%);max-height:min(86vh,760px);overflow:hidden;border:1px solid #40506b;border-bottom:0;border-radius:22px 22px 0 0;background:#101a2a;box-shadow:0 -22px 65px #000b;padding-bottom:env(safe-area-inset-bottom)}.tick-part-info-handle{width:46px;height:5px;margin:9px auto 5px;border-radius:999px;background:#56647b}.tick-part-info-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px 12px;border-bottom:1px solid #26354d}.tick-part-info-head>div{min-width:0}.tick-part-info-head h2{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:1.06rem}.tick-part-info-head small{display:block;overflow:hidden;margin-top:3px;color:#9ba9bd;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem}.tick-part-info-head>button{flex:none;width:38px;height:38px;border:0;border-radius:11px;background:#243149;color:#fff;font-size:1.35rem}.tick-part-info-content{max-height:calc(min(86vh,760px) - 76px);overflow:auto;padding:14px 15px 24px}.tick-info-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:55px 10px;color:#9facbf;font-size:.72rem}.tick-info-loading span{width:18px;height:18px;border:2px solid #55647a;border-top-color:var(--yellow);border-radius:50%;animation:tickInfoSpin .7s linear infinite}@keyframes tickInfoSpin{to{transform:rotate(360deg)}}.tick-info-error{padding:28px 8px;color:#ffadb7;text-align:center;font-size:.72rem}.tick-info-hero{display:grid;place-items:center;height:210px;overflow:hidden;border-radius:14px;background:#fff;color:#5d6877;font-size:.72rem;font-weight:800}.tick-info-hero img{display:block;width:100%;height:100%;object-fit:contain}.tick-info-colour-rail{display:flex;gap:7px;overflow-x:auto;padding:12px 1px 7px;scrollbar-width:none}.tick-info-colour-rail::-webkit-scrollbar{display:none}.tick-info-colour{flex:0 0 auto;display:grid;justify-items:center;gap:3px;width:46px;padding:5px 2px;border:0;border-radius:10px;background:transparent;color:#95a3b7}.tick-info-colour .colour-swatch{width:23px;height:23px}.tick-info-colour small{overflow:hidden;width:44px;text-overflow:ellipsis;white-space:nowrap;font-size:.43rem}.tick-info-colour.active{background:#202a3d;color:#fff}.tick-info-colour.active .colour-swatch{box-shadow:0 0 0 2px var(--yellow),0 0 0 3px #000}.tick-info-section{margin-top:11px;padding:13px;border:1px solid #26354d;border-radius:14px;background:#0c1523}.tick-info-section.tick-info-accent{border-left:4px solid var(--info-accent,#777)}.tick-info-section h3{margin:0 0 10px;font-size:.77rem}.tick-info-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tick-info-stats>div{padding:9px 6px;border-radius:10px;background:#121e31;text-align:center}.tick-info-stats small,.tick-info-stats b{display:block}.tick-info-stats small{color:#8f9cb0;font-size:.5rem}.tick-info-stats b{margin-top:3px;font-size:.72rem}.tick-info-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.tick-info-section-head b{font-size:.75rem}.tick-info-section-head small{color:#8492a6;font-size:.58rem}.tick-info-related{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.tick-info-related-card{flex:0 0 92px;overflow:hidden;padding:6px;border:1px solid #27364e;border-radius:10px;background:#111c2d;text-align:center}.tick-info-related-card>span{display:grid;place-items:center;height:65px;border-radius:7px;background:#fff;color:#667}.tick-info-related-card img{width:100%;height:100%;object-fit:contain}.tick-info-related-card b,.tick-info-related-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tick-info-related-card b{margin-top:5px;font-size:.6rem}.tick-info-related-card small{margin-top:2px;color:#8c99ac;font-size:.48rem}

/* v2.22.2 — quieter picking UI + compact working header. */
:root{--pick-sticky-top:0px;--category-sticky-height:72px}
.tick-head{grid-template-columns:44px 62px minmax(0,1fr) auto;gap:9px}
.set-thumb-button{display:grid;place-items:center;width:62px;height:62px;padding:3px;overflow:hidden;border:1px solid #364761;border-radius:13px;background:#fff;box-shadow:0 4px 12px #0004}
.set-thumb-button img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px;background:#fff}
.list-options-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:39px;margin-top:11px;border:1px solid #30405a;border-radius:11px;background:#111c2d;color:#c6d0df;font-size:.64rem;font-weight:850}
.list-options-toggle span{font-size:.8rem;transition:transform .16s ease}.list-options-toggle.open span{transform:rotate(180deg)}
.secondary-list-controls{margin-top:9px;padding:10px;border:1px solid #26354d;border-radius:12px;background:#0b1421}.secondary-list-controls .print-label-button{margin-top:10px}
.tap-help{margin-top:9px}.tap-help b{width:auto;height:auto;padding:1px 4px;border-radius:4px;font-size:.58rem}
.hidden-empty{display:none!important}

/* The hit target stays generous, but only a small colour-coded minus chip is visible. */
.part-minus{left:3px!important;top:3px!important;width:40px!important;height:40px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:0!important}
.part-minus span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #0005;border-radius:8px;background:var(--part-colour,#526079);color:var(--part-contrast,#fff);font-size:1rem;font-weight:950;line-height:1;box-shadow:0 1px 4px #0007}
.part-minus:disabled{opacity:0!important;pointer-events:none}.part-minus:active span{transform:scale(.9)}
.part-info-button{display:none!important}

/* Sticky type/colour headings now sit below the compact picking bar when it is showing. */
.category-head{top:var(--pick-sticky-top)!important}
.category .colour-head{top:calc(var(--pick-sticky-top) + var(--category-sticky-height))!important}
.colour-only-group .colour-head{top:var(--pick-sticky-top)!important}

.compact-picker-bar{position:fixed;z-index:72;top:0;left:0;right:0;padding:max(6px,env(safe-area-inset-top)) 9px 7px;background:#091322f2;border-bottom:1px solid #33435d;box-shadow:0 7px 22px #0008;backdrop-filter:blur(12px)}
.compact-picker-inner{width:min(760px,100%);margin:0 auto}.compact-set-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:8px;align-items:center}
.compact-set-thumb{display:grid;place-items:center;width:40px;height:40px;padding:2px;overflow:hidden;border:1px solid #42516a;border-radius:9px;background:#fff}.compact-set-thumb img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;background:#fff}
.compact-set-copy{min-width:0}.compact-set-copy b,.compact-set-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-set-copy b{font-size:.76rem;line-height:1.1}.compact-set-copy small{margin-top:2px;color:#94a2b5;font-size:.52rem}.compact-set-row>strong{padding:4px 7px;border-radius:999px;background:#202e45;color:#f1f5fb;font-size:.61rem;white-space:nowrap}
.compact-work-row{display:grid;grid-template-columns:minmax(55px,1fr) 118px auto;gap:7px;align-items:center;margin-top:6px}.compact-progress-track{height:5px;overflow:hidden;border-radius:999px;background:#27344a}.compact-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--yellow);transition:width .16s ease}
.compact-sort{display:grid;grid-template-columns:1fr 1fr;padding:2px;border:1px solid #35445d;border-radius:8px;background:#111b2a}.compact-sort button{height:27px;padding:0 5px;border:0;border-radius:6px;background:transparent;color:#aeb9c8;font-size:.55rem;font-weight:850}.compact-sort button.active{background:var(--yellow);color:#171b22}
.compact-hide{display:flex;align-items:center;gap:4px;color:#bdc7d5;font-size:.54rem;font-weight:750}.compact-hide input{margin:0;accent-color:var(--yellow)}

body.set-image-open{overflow:hidden}.set-image-modal{position:fixed;inset:0;z-index:132;display:grid;place-items:center;padding:14px}.set-image-shade{position:absolute;inset:0;border:0;background:#020711e8;backdrop-filter:blur(6px)}.set-image-dialog{position:relative;z-index:1;width:min(680px,100%);height:min(82dvh,700px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #3b4b66;border-radius:18px;background:#101827;box-shadow:0 25px 80px #000c}.set-image-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#151f30}.set-image-dialog h2{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.set-image-dialog header button{flex:none;width:36px;height:36px;border:0;border-radius:10px;background:#253149;color:#fff;font-size:1.25rem}.set-image-stage{flex:1;min-height:0;display:grid;place-items:center;padding:10px;background:#05070c}.set-image-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff}

@media(max-width:430px){
  .tick-head{grid-template-columns:42px 56px minmax(0,1fr) auto;gap:7px}.tick-back{width:42px;height:42px}.set-thumb-button{width:56px;height:56px}.saved-toggle{padding:8px 7px;font-size:.62rem}.saved-toggle span{margin-left:2px}.tick-head h1{font-size:1.18rem}.tick-head p{font-size:.66rem}
  .compact-work-row{grid-template-columns:minmax(45px,1fr) 108px auto;gap:6px}.compact-sort{width:108px}.compact-hide span{display:none}
}


/* v2.22.2 — denser type context, quieter completion state and minus control. */
.category-head>div:first-child{flex:1;min-width:0}.category-title-row{display:flex;align-items:center;gap:9px;min-width:0}.category-title-row h2{flex:none}.category-current-colour{display:none;min-width:0;align-items:center;gap:6px;color:#cbd6e5}.category-current-colour.visible{display:flex}.category-current-colour .colour-swatch{flex:0 0 18px;width:18px;height:18px;border-width:1px}.category-current-colour b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;color:#dce5f2}
/* In Type mode, colour headings remain useful landmarks in the list but no longer consume a second sticky row. */
.categories:not(.sort-colour) .category .colour-head{position:static!important;top:auto!important;z-index:auto!important;backdrop-filter:none!important;box-shadow:none!important}
/* Colour mode intentionally keeps its single sticky colour header. */
.categories.sort-colour .colour-only-group .colour-head{position:sticky!important;top:var(--pick-sticky-top)!important}
/* Keep the generous minus hit target but visually centre a smaller, much quieter chip inside it. */
.part-minus{left:3px!important;top:3px!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;padding:0!important}
.part-minus span{width:20px!important;height:20px!important;border:1px solid #ffffff24!important;border-radius:7px!important;background:linear-gradient(#172338b8,#172338b8),var(--part-colour,#526079)!important;color:var(--part-contrast,#fff)!important;font-size:.9rem!important;box-shadow:0 1px 3px #0005!important;opacity:.78;transition:opacity .14s ease,transform .12s ease}
.part-minus:active span{opacity:1;transform:scale(.9)}
/* Completed parts recede so the remaining unticked parts dominate the scan. */
.part-tile .part-image img,.part-tile .part-caption,.part-tile .part-found,.part-tile .part-check{transition:opacity .22s ease,filter .22s ease}
.part-tile.complete:not(.completing){border-color:#285b47;background:#0d1818}
.part-tile.complete:not(.completing) .part-image img{opacity:.48;filter:saturate(.55) contrast(.92)}
.part-tile.complete:not(.completing) .part-caption,.part-tile.complete:not(.completing) .figure-name,.part-tile.complete:not(.completing) .figure-number{opacity:.58}
.part-tile.complete:not(.completing) .part-found{opacity:.58}
.part-tile.complete:not(.completing) .part-check{opacity:.62;transform:scale(.9)}
@media(max-width:390px){.category-title-row{gap:7px}.category-current-colour b{font-size:.67rem}.category-current-colour .colour-swatch{flex-basis:16px;width:16px;height:16px}.part-minus{left:2px!important;top:2px!important;width:37px!important;height:37px!important}.part-minus span{width:19px!important;height:19px!important}}
