:root{font-family:"Baloo 2",-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color-scheme:light;color:var(--text-primary);background:var(--app-bg);font-synthesis:none;text-rendering:optimizeLegibility;--app-bg: #ececf0;--text-primary: #1d1d1f;--text-secondary: #2f3033;--text-tertiary: #4f5157;--text-muted: #6e6e73;--text-faint: #777981;--text-soft: #8a8a8e;--accent: #007aff;--accent-hover: #006ee6;--accent-strong: #0064c8;--accent-soft: rgba(0, 122, 255, .08);--accent-row: rgba(0, 122, 255, .06);--accent-row-selected: rgba(0, 122, 255, .14);--danger: #d70015;--danger-text: #b00020;--danger-bg: #fff1f2;--production-accent: #bf5b00;--production-accent-strong: #8d3d00;--production-bg: rgba(255, 149, 0, .12);--production-control-bg: rgba(255, 149, 0, .12);--production-control-active: rgba(255, 149, 0, .2);--production-border: rgba(191, 91, 0, .2);--success: #248a3d;--surface: rgba(248, 248, 250, .92);--surface-solid: #f8f8fa;--surface-raised: rgba(255, 255, 255, .84);--surface-subtle: rgba(255, 255, 255, .56);--surface-wash: rgba(255, 255, 255, .38);--page-preview-bg: #ffffff;--control-bg: rgba(118, 118, 128, .14);--control-bg-stronger: rgba(118, 118, 128, .22);--control-bg-soft: rgba(118, 118, 128, .07);--control-bg-pre: rgba(118, 118, 128, .12);--hover-bg: rgba(0, 0, 0, .06);--hover-bg-strong: rgba(0, 0, 0, .07);--overlay-bg: rgba(0, 0, 0, .28);--border: rgba(60, 60, 67, .22);--border-strong: rgba(60, 60, 67, .25);--border-mid: rgba(60, 60, 67, .18);--border-soft: rgba(60, 60, 67, .14);--border-faint: rgba(60, 60, 67, .12);--border-dialog: rgba(60, 60, 67, .16);--thumb-border: #8e8e93;--shadow-small: 0 1px 2px rgba(0, 0, 0, .04);--shadow-tiny: 0 1px 1px rgba(0, 0, 0, .03);--shadow-control: 0 1px 2px rgba(0, 0, 0, .12);--shadow-dialog: 0 18px 48px rgba(0, 0, 0, .2);--preview-inset: inset 0 0 0 1px rgba(255, 255, 255, .8)}:root[data-theme=dark]{color-scheme:dark;--app-bg: #141416;--text-primary: #f5f5f7;--text-secondary: #e7e7eb;--text-tertiary: #d0d0d6;--text-muted: #a8a8b0;--text-faint: #9b9ba3;--text-soft: #8f8f98;--accent: #0a84ff;--accent-hover: #3797ff;--accent-strong: #64b5ff;--accent-soft: rgba(10, 132, 255, .18);--accent-row: rgba(10, 132, 255, .13);--accent-row-selected: rgba(10, 132, 255, .25);--danger: #ff453a;--danger-text: #ffb4ae;--danger-bg: rgba(255, 69, 58, .16);--production-accent: #ff9f0a;--production-accent-strong: #ffcc7a;--production-bg: rgba(255, 159, 10, .08);--production-control-bg: rgba(255, 159, 10, .13);--production-control-active: rgba(255, 159, 10, .22);--production-border: rgba(255, 159, 10, .18);--success: #30d158;--surface: rgba(32, 32, 36, .92);--surface-solid: #202024;--surface-raised: rgba(72, 72, 78, .82);--surface-subtle: rgba(255, 255, 255, .08);--surface-wash: rgba(255, 255, 255, .06);--page-preview-bg: #f7f7f7;--control-bg: rgba(118, 118, 128, .24);--control-bg-stronger: rgba(118, 118, 128, .34);--control-bg-soft: rgba(118, 118, 128, .16);--control-bg-pre: rgba(118, 118, 128, .2);--hover-bg: rgba(255, 255, 255, .08);--hover-bg-strong: rgba(255, 255, 255, .12);--overlay-bg: rgba(0, 0, 0, .48);--border: rgba(235, 235, 245, .18);--border-strong: rgba(235, 235, 245, .24);--border-mid: rgba(235, 235, 245, .15);--border-soft: rgba(235, 235, 245, .12);--border-faint: rgba(235, 235, 245, .1);--border-dialog: rgba(235, 235, 245, .14);--thumb-border: #98989d;--shadow-small: 0 1px 2px rgba(0, 0, 0, .28);--shadow-tiny: 0 1px 1px rgba(0, 0, 0, .24);--shadow-control: 0 1px 2px rgba(0, 0, 0, .32);--shadow-dialog: 0 18px 52px rgba(0, 0, 0, .5);--preview-inset: inset 0 0 0 1px rgba(255, 255, 255, .12)}:root[data-theme=disco]{color-scheme:dark;--app-bg: #111116;--text-primary: #fbfbff;--text-secondary: #eeeef7;--text-tertiary: #d8d7e8;--text-muted: #b9b7ca;--text-faint: #aaa8bc;--text-soft: #9f9caf;--accent: #d946ef;--accent-hover: #e879f9;--accent-strong: #67e8f9;--accent-soft: rgba(217, 70, 239, .16);--accent-row: rgba(217, 70, 239, .12);--accent-row-selected: rgba(103, 232, 249, .2);--danger: #fb7185;--danger-text: #fecdd3;--danger-bg: rgba(251, 113, 133, .16);--production-accent: #facc15;--production-accent-strong: #fde68a;--production-bg: rgba(250, 204, 21, .08);--production-control-bg: rgba(250, 204, 21, .12);--production-control-active: rgba(250, 204, 21, .2);--production-border: rgba(250, 204, 21, .2);--success: #73ff83;--surface: rgba(26, 26, 34, .94);--surface-solid: #1a1a22;--surface-raised: rgba(54, 50, 67, .86);--surface-subtle: rgba(255, 255, 255, .1);--surface-wash: rgba(255, 255, 255, .07);--page-preview-bg: #ffffff;--control-bg: rgba(255, 255, 255, .14);--control-bg-stronger: rgba(255, 255, 255, .22);--control-bg-soft: rgba(255, 255, 255, .1);--control-bg-pre: rgba(255, 255, 255, .16);--hover-bg: rgba(217, 70, 239, .13);--hover-bg-strong: rgba(103, 232, 249, .14);--overlay-bg: rgba(5, 5, 9, .58);--border: rgba(255, 255, 255, .18);--border-strong: rgba(255, 255, 255, .24);--border-mid: rgba(255, 255, 255, .14);--border-soft: rgba(255, 255, 255, .11);--border-faint: rgba(255, 255, 255, .09);--border-dialog: rgba(255, 255, 255, .18);--thumb-border: #d8b4fe;--shadow-small: 0 8px 26px rgba(0, 0, 0, .28);--shadow-tiny: 0 2px 8px rgba(0, 0, 0, .2);--shadow-control: 0 1px 2px rgba(0, 0, 0, .35);--shadow-dialog: 0 20px 64px rgba(0, 0, 0, .58);--preview-inset: inset 0 0 0 1px rgba(255, 255, 255, .16)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=disco]){color-scheme:dark;--app-bg: #141416;--text-primary: #f5f5f7;--text-secondary: #e7e7eb;--text-tertiary: #d0d0d6;--text-muted: #a8a8b0;--text-faint: #9b9ba3;--text-soft: #8f8f98;--accent: #0a84ff;--accent-hover: #3797ff;--accent-strong: #64b5ff;--accent-soft: rgba(10, 132, 255, .18);--accent-row: rgba(10, 132, 255, .13);--accent-row-selected: rgba(10, 132, 255, .25);--danger: #ff453a;--danger-text: #ffb4ae;--danger-bg: rgba(255, 69, 58, .16);--production-accent: #ff9f0a;--production-accent-strong: #ffcc7a;--production-bg: rgba(255, 159, 10, .08);--production-control-bg: rgba(255, 159, 10, .13);--production-control-active: rgba(255, 159, 10, .22);--production-border: rgba(255, 159, 10, .18);--success: #30d158;--surface: rgba(32, 32, 36, .92);--surface-solid: #202024;--surface-raised: rgba(72, 72, 78, .82);--surface-subtle: rgba(255, 255, 255, .08);--surface-wash: rgba(255, 255, 255, .06);--page-preview-bg: #f7f7f7;--control-bg: rgba(118, 118, 128, .24);--control-bg-stronger: rgba(118, 118, 128, .34);--control-bg-soft: rgba(118, 118, 128, .16);--control-bg-pre: rgba(118, 118, 128, .2);--hover-bg: rgba(255, 255, 255, .08);--hover-bg-strong: rgba(255, 255, 255, .12);--overlay-bg: rgba(0, 0, 0, .48);--border: rgba(235, 235, 245, .18);--border-strong: rgba(235, 235, 245, .24);--border-mid: rgba(235, 235, 245, .15);--border-soft: rgba(235, 235, 245, .12);--border-faint: rgba(235, 235, 245, .1);--border-dialog: rgba(235, 235, 245, .14);--thumb-border: #98989d;--shadow-small: 0 1px 2px rgba(0, 0, 0, .28);--shadow-tiny: 0 1px 1px rgba(0, 0, 0, .24);--shadow-control: 0 1px 2px rgba(0, 0, 0, .32);--shadow-dialog: 0 18px 52px rgba(0, 0, 0, .5);--preview-inset: inset 0 0 0 1px rgba(255, 255, 255, .12)}}@font-face{font-family:"Baloo 2";src:url(../fonts/Baloo2-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Baloo 2";src:url(../fonts/Baloo2-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Baloo 2";src:url(../fonts/Baloo2-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Baloo 2";src:url(../fonts/Baloo2-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}body{position:relative;margin:0;min-width:320px;min-height:100vh;background:var(--app-bg)}.themeTransitionOverlay{position:fixed;left:var(--theme-transition-x);top:var(--theme-transition-y);z-index:2147483647;width:1px;height:1px;pointer-events:none;border-radius:999px;opacity:.85;transform:translate(-50%,-50%) scale(0);transition:opacity .21s ease,transform .26s cubic-bezier(.16,1,.3,1)}.themeTransitionOverlay-light{background:#f8f8fa}.themeTransitionOverlay-dark{background:#141416}.themeTransitionOverlay-disco{background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0 2px,transparent 3px),conic-gradient(from 22deg,#67e8f9,#d946ef,#facc15,#22c55e,#fb7185,#67e8f9)}.themeTransitionOverlay.isActive{transform:translate(-50%,-50%) scale(var(--theme-transition-scale))}.themeTransitionOverlay.isDone{opacity:0}:root[data-theme=disco] body{background:radial-gradient(circle at 14% 14%,rgba(217,70,239,.56),transparent 24%),radial-gradient(circle at 82% 10%,rgba(103,232,249,.48),transparent 26%),radial-gradient(circle at 12% 82%,rgba(250,204,21,.36),transparent 28%),radial-gradient(circle at 86% 84%,rgba(34,197,94,.34),transparent 26%),linear-gradient(135deg,#120a22,#1c1130 28%,#111827 52%,#2e1065 78%,#111116);background-size:150% 150%,160% 160%,145% 145%,155% 155%,220% 220%;animation:discoColourWash 8s ease-in-out infinite}button{font:inherit}.shell{position:relative;z-index:1;width:min(1080px,calc(100vw - 24px));min-height:100vh;margin:0 auto;padding:12px 0}.shell.debugConsoleOpen{width:min(1480px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1080px) minmax(320px,380px);align-items:start;justify-content:center;gap:12px}.shell.debugConsoleOpen>:not(.debugConsolePanel){grid-column:1}.shell.isEmpty{display:grid;grid-template-rows:auto auto auto auto;align-content:center;gap:12px}.shell.isEmpty.debugConsoleOpen{grid-template-columns:minmax(0,1080px) minmax(320px,380px);align-content:center}.shell.isEmpty .dropzone{align-self:center}.shell.isEmpty .topbar{padding-bottom:0}.shell.isEmpty .emptyState{padding:0 4px}.shell.isEmpty .appFooter{padding-top:0}.topbar,.brand,.actions,.instructionBar,.fileHeader,.groupRow,.bottomBar{display:flex;align-items:center}.topbar{min-height:44px;justify-content:space-between;gap:12px;padding:0 8px 10px;transition:min-height .5s cubic-bezier(.16,1,.3,1),padding .5s cubic-bezier(.16,1,.3,1)}.brand{gap:7px;color:var(--text-secondary);transition:gap .5s cubic-bezier(.16,1,.3,1)}:root[data-theme=disco] .brand{color:var(--text-primary);text-shadow:0 0 10px rgba(103,232,249,.4),0 0 22px rgba(217,70,239,.3);animation:discoGlowPulse 2.8s ease-in-out infinite}.brandIcon{width:22px;height:22px;display:block;transition:width .5s cubic-bezier(.16,1,.3,1),height .5s cubic-bezier(.16,1,.3,1)}h1,h2,p{margin:0}h1{font-size:.95rem;font-weight:500;letter-spacing:0;transition:font-size .5s cubic-bezier(.16,1,.3,1)}.mobileCopy{display:none}.shell.isEmpty .topbar{min-height:58px}.shell.isEmpty .brand{gap:10px}.shell.isEmpty .brandIcon{width:34px;height:34px}.shell.isEmpty h1{font-size:1.42rem}.actions{gap:6px}.iconButton,.dropzone button,.instructionBar button,.fileHeader button,.bottomBar button,.groupRow{border:0;cursor:pointer}.iconButton{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:999px;color:var(--text-primary);background:transparent}.iconButton:hover{background:var(--hover-bg)}:root[data-theme=disco] .iconButton:hover{box-shadow:inset 0 0 0 1px #ffffff29,0 0 18px #00e5ff38}.themeButton{position:relative;overflow:hidden}:root[data-theme=disco] .themeButton{color:#fff;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 70% 35%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 48% 72%,rgba(255,255,255,.75) 0 1px,transparent 2px),conic-gradient(from 22deg,#67e8f9,#d946ef,#facc15,#22c55e,#fb7185,#67e8f9);box-shadow:inset 0 0 0 1px #ffffff47,0 0 18px #d946ef61,0 0 28px #67e8f933;animation:discoButtonPulse 1.8s ease-in-out infinite}.themeButtonIcon{display:inline-grid;place-items:center;line-height:0;animation:themeButtonPop .42s cubic-bezier(.16,1,.3,1)}:root[data-theme=disco] .themeButtonIcon{position:relative;z-index:1;animation:discoSparkle .7s cubic-bezier(.16,1,.3,1)}@keyframes discoColourWash{0%,to{background-position:0% 0%,100% 0%,0% 100%,100% 100%,0% 50%;filter:saturate(1.05)}50%{background-position:34% 22%,70% 18%,24% 78%,78% 72%,100% 50%;filter:saturate(1.45)}}@keyframes discoGlowPulse{0%,to{text-shadow:0 0 10px rgba(103,232,249,.36),0 0 22px rgba(217,70,239,.28)}50%{text-shadow:0 0 18px rgba(250,204,21,.42),0 0 32px rgba(217,70,239,.46),0 0 40px rgba(103,232,249,.3)}}@keyframes discoButtonPulse{0%,to{filter:saturate(1.1);box-shadow:inset 0 0 0 1px #ffffff47,0 0 18px #d946ef61,0 0 28px #67e8f933}50%{filter:saturate(1.8);box-shadow:inset 0 0 0 1px #ffffff5c,0 0 22px #facc1552,0 0 38px #d946ef80,0 0 46px #67e8f947}}@keyframes themeButtonPop{0%{opacity:0;transform:rotate(-42deg) scale(.58)}55%{opacity:1;transform:rotate(9deg) scale(1.16)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes discoSparkle{0%{opacity:0;transform:rotate(-120deg) scale(.45)}45%{opacity:1;transform:rotate(18deg) scale(1.28)}70%{transform:rotate(-8deg) scale(.94)}to{opacity:1;transform:rotate(0) scale(1)}}.exportButton{width:auto;min-width:112px;grid-auto-flow:column;align-items:center;gap:6px;padding:0 11px;border-radius:7px}.exportButton svg{display:block;transform:translateY(2px)}.exportButton span{white-space:nowrap;font-size:.84rem;font-weight:600;line-height:1;transform:translateY(2px)}.iconButton:disabled,.dropzone button:disabled,.bottomBar button:disabled{cursor:not-allowed;opacity:.4}.iconButton.danger{color:var(--danger)}.dropzone,.resultsPanel{position:relative;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-small);overflow:hidden}:root[data-theme=disco] .dropzone,:root[data-theme=disco] .resultsPanel{border-color:#ffffff4d;background:radial-gradient(circle at 10% 0%,rgba(217,70,239,.26),transparent 34%),radial-gradient(circle at 96% 10%,rgba(103,232,249,.2),transparent 32%),radial-gradient(circle at 50% 120%,rgba(250,204,21,.14),transparent 34%),linear-gradient(135deg,#d946ef1f,#67e8f914 46%,#22c55e1a),var(--surface);box-shadow:0 18px 48px #00000047,0 0 34px #d946ef33,0 0 46px #67e8f91f;background-size:145% 145%,150% 150%,160% 160%,220% 220%,auto;animation:discoSurfaceColour 5.5s ease-in-out infinite}:root[data-theme=disco] .resultsPanel{animation-delay:.8s}@keyframes discoSurfaceColour{0%,to{background-position:0% 0%,100% 0%,50% 100%,0% 50%,0% 0%;box-shadow:0 18px 48px #00000047,0 0 34px #d946ef33,0 0 46px #67e8f91f}50%{background-position:28% 20%,70% 24%,52% 78%,100% 50%,0% 0%;box-shadow:0 18px 48px #0000004d,0 0 42px #facc152e,0 0 48px #d946ef47,0 0 56px #67e8f92e}}.dropzone{position:relative;overflow:hidden;min-height:330px;display:grid;grid-template-columns:1fr;place-items:center;align-content:center;gap:10px;padding:26px 24px 24px;text-align:center;border-style:dashed;border-width:2px;transform-origin:top center;transition:min-height .5s cubic-bezier(.16,1,.3,1),grid-template-columns .5s cubic-bezier(.16,1,.3,1),padding .5s cubic-bezier(.16,1,.3,1),gap .5s cubic-bezier(.16,1,.3,1),margin-bottom .5s cubic-bezier(.16,1,.3,1),text-align .22s ease,border-color .18s ease,background .18s ease,box-shadow .5s ease}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.compact{min-height:70px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;justify-items:start;align-content:center;place-items:center start;column-gap:12px;row-gap:0;padding:12px 18px;margin-bottom:10px;text-align:left;box-shadow:var(--shadow-tiny)}.dropzone.processingSticky{--sticky-scanner-stuck-height: 64px;position:sticky;top:0;z-index:40;transition:opacity .22s ease,transform .28s cubic-bezier(.4,0,.2,1),border-color .18s ease,background .18s ease,box-shadow .22s ease}.dropzone.processingSticky:before{content:"";position:absolute;inset:-24px -1px -6px;z-index:0;border-radius:0;background:color-mix(in srgb,var(--surface-solid) 98%,transparent);box-shadow:0 14px 26px #0000001f;opacity:0;pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .18s ease}.shell.hasStickyScanner.productionMode .dropzone.processingSticky:before{background:linear-gradient(90deg,rgba(255,159,10,.08),transparent 44%),color-mix(in srgb,var(--surface-solid) 96%,transparent)}.dropzone.processingSticky:after{content:"";position:absolute;inset:7px 14px;z-index:4;border:2px dashed var(--border);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .18s ease}.dropzone.processingSticky.scannerStuck{overflow:visible;isolation:isolate;min-height:var(--sticky-scanner-stuck-height);grid-template-columns:40px minmax(0,1fr) auto;padding:12px 30px;border-color:transparent;background:transparent;box-shadow:var(--shadow-tiny)}.dropzone.processingSticky.scannerStuck .dropIcon,.dropzone.processingSticky.scannerStuck .dropCopy,.dropzone.processingSticky.scannerStuck .dropActions{z-index:3}.dropzone.processingSticky.scannerStuck .dropActions{transform:translate(6px)}.dropzone.processingSticky.scannerStuck:after{border-radius:10px}.dropzone.processingSticky.scannerStuck .dropIcon{width:32px;height:32px;transition:width .18s ease,height .18s ease,color .18s ease,transform .22s ease}.dropzone.processingSticky.scannerStuck h2{font-size:.9rem;transition:font-size .18s ease,line-height .18s ease}.dropzone.processingSticky.scannerStuck button{min-height:28px;padding:0 12px;font-size:.82rem;border-radius:6px;transition:min-height .18s ease,padding .18s ease,font-size .18s ease,border-radius .18s ease,background .18s ease}.dropzone.processingSticky.scannerStuck:before{opacity:1}.dropzone.processingSticky.scannerStuck:after{opacity:1}.dropzone.processingSticky.scannerDismissing{opacity:0;pointer-events:none;transform:translateY(calc(-100% - 16px))}.shell.hasStickyScanner .instructionBar{top:var(--sticky-scanner-toolbar-offset, calc(var(--sticky-scanner-height, 70px) + 4px));border-top-left-radius:0;border-top-right-radius:0;transition:top .24s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease,border-radius .16s ease}.shell.hasStickyScanner .resultsPanel{border-top-left-radius:0;border-top-right-radius:0}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.dropArrowRain{position:absolute;inset:0;z-index:2;pointer-events:none}.fallingDropArrow{position:absolute;left:calc(50% - var(--drop-rain-half-size));top:var(--drop-rain-start-y);width:var(--drop-rain-size);height:var(--drop-rain-size);fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.9;opacity:0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.1));transform-origin:24px 24px;animation:dropArrowGravity var(--drop-rain-duration) cubic-bezier(.12,0,.2,1) infinite;animation-delay:var(--drop-rain-delay)}.dropIcon{position:relative;z-index:3;width:var(--drop-icon-width, 64px);height:64px;display:grid;place-items:center;color:var(--text-faint);line-height:0;transition:color .18s ease,transform .5s cubic-bezier(.16,1,.3,1)}.dropzone.compact .dropIcon{width:var(--drop-icon-width, 36px);height:36px;justify-self:center;margin-bottom:0;transform:translateY(-1px) scale(.9)}.dropGlyph{display:block;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.dropArrow{stroke-width:3.7;transform-origin:24px 24px;animation:dropArrowLand 2.2s cubic-bezier(.45,0,.2,1) infinite}.dropGlyph.multiDrop .dropArrow{animation:none}.dropGlyph.multiDrop{max-width:min(100%,calc(100vw - 80px))}.dropTray{stroke-width:4.4;transform-box:fill-box;transform-origin:center bottom;animation:dropTrayCatch 2.2s cubic-bezier(.34,1.56,.64,1) infinite}.dropzone.dragging .dropGlyph{color:var(--accent)}.dropzone.dragging .dropArrow,.dropzone.dragging .dropTray{animation-duration:1.1s}.dropzone.dragging .dropGlyph.multiDrop .dropTray{animation-name:dropTrayMultiCatch}.dropzone h2{position:relative;z-index:2;font-size:1.15rem;font-weight:500;line-height:1.12;max-width:100%;overflow-wrap:anywhere;transition:font-size .5s cubic-bezier(.16,1,.3,1),line-height .5s cubic-bezier(.16,1,.3,1)}.dropzone.compact h2{font-size:.96rem;line-height:1.02}.dropCopy{position:relative;z-index:2;display:grid;gap:4px;justify-items:center;transition:justify-items .26s ease}.dropzone.compact .dropCopy{gap:3px;justify-items:start;align-self:center}.dropzone.compact p{line-height:1.05}.dropActions{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.dropzone.compact .dropActions{justify-self:end}.dropzone.compact button{align-self:center;min-height:40px;padding:0 20px}.dropzone p,.instructionBar p,.groupText span,.fileHeader span,.bottomBar p,.emptyState{color:var(--text-muted)}.privacyNote{max-width:430px;font-size:.83rem;line-height:1.25}.dropzone button,.bottomBar button{min-height:30px;padding:0 13px;border-radius:7px;color:#fff;background:var(--accent)}.dropzone button:not(:disabled):hover,.bottomBar button:not(:disabled):hover{background:var(--accent-hover)}.bottomBar .productionSwitch button{min-height:26px;padding:0 10px;color:var(--production-accent-strong);background:transparent}.bottomBar .productionSwitch button:not(:disabled):hover{background:var(--production-control-active)}.bottomBar .productionSwitch button.active{background:var(--production-control-active)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dropArrowLand{0%,to{opacity:.72;transform:translateY(-8px)}36%{opacity:1;transform:translateY(1.5px)}47%{transform:translateY(-1px)}62%{opacity:.9;transform:translateY(-.5px)}}@keyframes dropArrowGravity{0%{opacity:0;top:var(--drop-rain-start-y);transform:translate(var(--drop-rain-x)) rotate(var(--drop-rain-rotation)) scale(.9)}12%{opacity:1;top:var(--drop-rain-approach-y);transform:translate(calc(var(--drop-rain-x) + var(--drop-rain-drift))) rotate(var(--drop-rain-rotation)) scale(.96)}32%{opacity:1;top:var(--drop-rain-fall-y);transform:translate(var(--drop-rain-x)) rotate(var(--drop-rain-rotation)) scale(1)}40%{top:var(--drop-rain-bounce-y);transform:translate(calc(var(--drop-rain-x) + var(--drop-rain-back-drift))) rotate(var(--drop-rain-soft-rotation)) scale(.98)}50%{opacity:1;top:var(--drop-rain-land-y);transform:translate(calc(var(--drop-rain-x) + var(--drop-rain-soft-drift))) rotate(var(--drop-rain-hard-rotation)) scale(1)}76%{opacity:1;top:var(--drop-rain-land-y);transform:translate(calc(var(--drop-rain-x) + var(--drop-rain-soft-drift))) rotate(var(--drop-rain-hard-rotation)) scale(1)}88%{opacity:0;top:var(--drop-rain-land-y);transform:translate(calc(var(--drop-rain-x) + var(--drop-rain-soft-drift))) rotate(var(--drop-rain-hard-rotation)) scale(.96)}to{opacity:0;top:var(--drop-rain-start-y);transform:translate(var(--drop-rain-x)) rotate(var(--drop-rain-rotation)) scale(.9)}}@keyframes dropTrayCatch{0%,30%,to{transform:translateY(0) scaleX(1)}39%{transform:translateY(2px) scaleX(1.08)}52%{transform:translateY(-1px) scaleX(.98)}64%{transform:translateY(0) scaleX(1)}}@keyframes dropTrayMultiCatch{0%,44%,to{transform:translateY(0) scaleY(1)}56%{transform:translateY(3px) scaleY(.95)}70%{transform:translateY(-1px) scaleY(1.02)}82%{transform:translateY(0) scaleY(1)}}@media(prefers-reduced-motion:reduce){:root[data-theme=disco] body,:root[data-theme=disco] .brand,:root[data-theme=disco] .dropzone,:root[data-theme=disco] .resultsPanel,.resultsPanel.productionMode,:root[data-theme=disco] .themeButton,.dropArrow,.fallingDropArrow,.dropTray,.fileSection,.fileSection.isRemoving,.fileSection[data-sweep]:after,.fileSection[data-sweep] .columnHeader,.fileSection[data-sweep] .groupRow,.fileSection[data-sweep] .pageBreakdownRow,.productionSwitch,.themeButtonIcon{animation:none}}.notice{margin-top:10px;padding:9px 12px;border-radius:8px;color:var(--danger-text);background:var(--danger-bg)}.resultsPanel{display:grid;grid-template-rows:auto minmax(220px,1fr) auto;min-height:460px;overflow:clip;animation:resultsIn .28s cubic-bezier(.2,.8,.2,1);transition:border-radius .16s ease;transform-origin:top center;will-change:opacity,transform}.resultsPanel.bottomBarStuck{border-bottom-right-radius:0;border-bottom-left-radius:0}.resultsPanel.instructionBarStuck{border-top-left-radius:0;border-top-right-radius:0}.resultsPanel.productionMode{animation:resultsIn .28s cubic-bezier(.2,.8,.2,1),productionModeGlow .52s cubic-bezier(.16,1,.3,1)}.resultsPanel.exiting{pointer-events:none;animation:resultsOut .17s cubic-bezier(.4,0,1,1) both}@keyframes resultsIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes resultsOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.985)}}@keyframes productionSwitchIn{0%{max-width:0;opacity:0;transform:translate(8px)}to{max-width:260px;opacity:1;transform:translate(0)}}@keyframes productionModeGlow{0%{box-shadow:inset 0 0 #ff9f0a00}38%{box-shadow:inset 0 0 0 1px var(--production-border),0 10px 30px #ff9f0a1a}to{box-shadow:inset 0 0 #ff9f0a00}}.instructionBar{position:sticky;top:0;z-index:7;min-height:42px;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border-mid);border-radius:12px 12px 0 0;background:color-mix(in srgb,var(--surface-solid) 96%,transparent);box-shadow:0 6px 18px #00000014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s ease,border-color .3s ease,border-radius .16s ease}.resultsPanel.instructionBarStuck .instructionBar{border-top-left-radius:0;border-top-right-radius:0}.resultsPanel.productionMode .instructionBar{border-bottom-color:var(--production-border);background:linear-gradient(90deg,rgba(255,159,10,.08),transparent 44%),color-mix(in srgb,var(--surface-solid) 94%,transparent)}.resultsPanel.productionMode .instructionBar p{color:var(--production-accent-strong)}.resultsPanel.productionMode .instructionBar .clipboardSwitch{border:1px solid var(--production-border);background:var(--production-control-bg)}.resultsPanel.productionMode .instructionBar .clipboardSwitch button.active{color:var(--production-accent-strong);background:transparent;box-shadow:none}.instructionBar p{flex:1 1 auto;font-size:.86rem;transition:color .24s ease}.instructionBar button,.fileHeader button{padding:2px 0;color:var(--accent);background:transparent;font-size:.84rem}.modeSwitch{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;border-radius:7px;background:var(--control-bg);transition:background .26s ease,border-color .26s ease}.modeSwitch button{position:relative;z-index:1;min-height:26px;border:0;padding:0 10px;border-radius:5px;color:var(--text-tertiary);transition:color .22s ease,background .22s ease,box-shadow .22s ease}.modeSwitch button.active{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-control)}.groupingSwitch{min-width:214px}.clipboardSwitch{min-width:164px;overflow:hidden}.clipboardSwitch:before{content:"";position:absolute;z-index:0;top:2px;bottom:2px;left:2px;width:calc((100% - 6px)/2);border-radius:5px;background:var(--surface-raised);box-shadow:var(--shadow-control);transform:translate(0);transition:transform .32s cubic-bezier(.16,1,.3,1),background .26s ease,box-shadow .26s ease}.clipboardSwitch button.active{background:transparent;box-shadow:none}.resultsPanel.productionMode .clipboardSwitch:before{background:var(--production-control-active);box-shadow:inset 0 0 0 1px #ffffff47;transform:translate(calc(100% + 2px))}.productionSwitch{flex:0 0 auto;min-width:260px;border:1px solid var(--production-border);background:var(--production-control-bg);animation:productionSwitchIn .26s cubic-bezier(.16,1,.3,1);overflow:hidden}.productionSwitch button{color:var(--production-accent-strong);background:transparent}.productionSwitch button.active{color:var(--production-accent-strong);background:var(--production-control-active);box-shadow:inset 0 0 0 1px #ffffff47}.instructionBar .helpButton{width:24px;height:24px;flex:0 0 auto;display:inline-grid;place-items:center;padding:0;border-radius:999px;color:var(--text-tertiary);background:var(--control-bg);font-weight:700}.instructionBar .helpButton:hover{background:var(--control-bg-stronger)}.instructionBar .sizeRuleButton{width:36px;height:30px;flex:0 0 auto;display:inline-grid;place-items:center;margin-left:3px;margin-right:6px;padding:0;border:1px solid var(--border-soft);border-radius:7px;color:var(--text-secondary);background:var(--control-bg-stronger);font-size:.9rem;font-weight:750;line-height:1}.instructionBar .sizeRuleButton:hover,.instructionBar .sizeRuleButton.active{color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 38%,var(--border-soft))}.instructionBar .selectionActionButton{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:6px;min-height:30px;max-width:128px;padding:0 10px;border:1px solid var(--border-soft);border-radius:7px;color:var(--text-secondary);background:var(--control-bg-stronger);font-size:.8rem;font-weight:650;overflow:hidden;white-space:nowrap;transition:color .18s ease,background .18s ease,box-shadow .18s ease,max-width .26s cubic-bezier(.16,1,.3,1),opacity .2s ease,padding .26s cubic-bezier(.16,1,.3,1),border-width .26s cubic-bezier(.16,1,.3,1),transform .26s cubic-bezier(.16,1,.3,1)}.instructionBar .selectionActionButton:hover{color:var(--text-primary);background:color-mix(in srgb,var(--control-bg-stronger) 72%,var(--accent) 28%)}.instructionBar .selectionActionButton.active{color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 36%,var(--border-soft))}.instructionBar .selectionActionButton svg{flex:0 0 auto;width:17px;height:17px}.instructionBar .selectionActionButton.flash{animation:selectionActionFlash .42s cubic-bezier(.16,1,.3,1)}.selectionActions{flex:0 0 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:0;margin-left:0;margin-right:-6px;overflow:hidden}.selectionActions .selectionActionButton.isVisible+.selectionActionButton.isVisible{margin-left:8px}.selectionActions .selectionActionButton.isHidden{max-width:0;padding-inline:0;border-width:0;opacity:0;pointer-events:none;transform:translate(-8px)}.selectionActions .selectionActionButton.isVisible{opacity:1;transform:translate(0)}@keyframes selectionActionFlash{0%{background:var(--accent-soft);box-shadow:0 0 #0a84ff3d;transform:translate(-5px)}52%{color:var(--accent);background:color-mix(in srgb,var(--control-bg-stronger) 58%,var(--accent) 42%);box-shadow:0 0 0 3px #0a84ff1f;transform:translate(0)}to{box-shadow:0 0 #0a84ff00}}.resultList{overflow:auto;user-select:none;-webkit-user-select:none}.fileSection+.fileSection{border-top:1px solid var(--border-mid)}.fileSection{position:relative;overflow:hidden;transform-origin:top center;animation:fileSectionAdd .42s cubic-bezier(.16,1,.3,1) backwards}.fileSection[data-sweep]:after{content:"";position:absolute;inset:32px 0 0;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--accent) 10%,transparent) 34%,color-mix(in srgb,var(--surface-solid) 78%,transparent) 48%,color-mix(in srgb,var(--accent) 14%,transparent) 62%,transparent 100%);transform:translateY(-105%)}.fileSection[data-tinted=true][data-sweep]:after{background:linear-gradient(180deg,transparent 0%,hsl(var(--section-hue) 88% 58% / .08) 34%,color-mix(in srgb,var(--surface-solid) 78%,transparent) 48%,hsl(var(--section-hue) 88% 58% / .14) 62%,transparent 100%)}.fileSection[data-sweep=open]:after{animation:pageBreakdownSweepOpen .36s cubic-bezier(.16,1,.3,1) both}.fileSection[data-sweep=close]:after{animation:pageBreakdownSweepClose .36s cubic-bezier(.16,1,.3,1) both}.fileSection[data-sweep] .columnHeader,.fileSection[data-sweep] .groupRow,.fileSection[data-sweep] .pageBreakdownRow{animation:pageBreakdownRowsSweepDown .33s cubic-bezier(.16,1,.3,1) both}.fileSection[data-sweep] .columnHeader{animation-duration:.26s}.fileSection[data-sweep] .groupRow:nth-of-type(2),.fileSection[data-sweep] .pageBreakdownRow:nth-of-type(2){animation-delay:18ms}.fileSection[data-sweep] .groupRow:nth-of-type(3),.fileSection[data-sweep] .pageBreakdownRow:nth-of-type(3){animation-delay:36ms}.fileSection[data-sweep] .groupRow:nth-of-type(n+4),.fileSection[data-sweep] .pageBreakdownRow:nth-of-type(n+4){animation-delay:54ms}.fileSection.isRemoving{pointer-events:none;animation:fileSectionRemove .24s cubic-bezier(.4,0,1,1) both}.fileSection[data-tinted=true]{background:linear-gradient(90deg,hsl(var(--section-hue) 88% 58% / .13),hsl(var(--section-hue) 88% 58% / .04) 34%,transparent 74%)}@keyframes fileSectionAdd{0%{max-height:0;clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-8px) scale(.995)}62%{opacity:1;transform:translateY(0) scale(1)}to{max-height:1400px;clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0) scale(1)}}@keyframes fileSectionRemove{0%{max-height:var(--file-section-height, 640px);clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0)}52%{max-height:var(--file-section-height, 640px);clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-10px)}to{max-height:0;clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(-10px)}}@keyframes pageBreakdownSweepOpen{0%{opacity:0;transform:translateY(-105%)}18%,84%{opacity:1}to{opacity:0;transform:translateY(105%)}}@keyframes pageBreakdownSweepClose{0%{opacity:0;transform:translateY(-105%)}18%,84%{opacity:1}to{opacity:0;transform:translateY(105%)}}@keyframes pageBreakdownRowsSweepDown{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-8px)}42%{opacity:1}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}.fileHeader{gap:6px;min-height:32px;padding:7px 12px;background:var(--control-bg-soft);cursor:pointer}.fileSection[data-tinted=true] .fileHeader{background:hsl(var(--section-hue) 82% 54% / .16);border-left:4px solid hsl(var(--section-hue) 78% 48%);padding-left:8px}.fileHeader svg{color:var(--text-faint);flex:0 0 auto}.fileHeader h2{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600}.fileHeader span{font-size:.75rem}.fileHeader button{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;border-radius:999px;color:color-mix(in srgb,var(--text-faint) 78%,black);font-weight:700;line-height:1}.fileHeader button:hover{background:var(--hover-bg-strong)}.fileHeader .colourCheckButton{width:auto;height:26px;padding:0 10px;border-radius:8px;border-color:color-mix(in srgb,var(--accent) 54%,transparent);background:color-mix(in srgb,var(--accent-soft) 76%,transparent);color:var(--accent-strong);font-size:.75rem;white-space:nowrap}.fileHeader .colourCheckButton:hover{background:color-mix(in srgb,var(--accent-soft) 88%,var(--hover-bg-strong));border-color:var(--accent)}.fileHeader .fileHeaderStatus{color:var(--accent-strong);font-weight:700;white-space:nowrap}.columnHeader,.groupRow{width:100%;display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(170px,.85fr) minmax(150px,.7fr) minmax(260px,.95fr);gap:16px}.columnHeader{padding:5px 14px;color:var(--text-faint);background:var(--surface-wash);border-bottom:1px solid var(--border-faint);font-size:.74rem;font-weight:600;transition:background .3s ease,border-color .3s ease,color .24s ease}.columnHeader button{border:0;padding:0;color:inherit;background:transparent;cursor:pointer;font:inherit;font-weight:inherit}.columnHeader button:hover,.columnHeader button[aria-pressed=true]{color:var(--accent-strong)}.resultsPanel.productionMode .columnHeader{color:var(--production-accent-strong);background:var(--production-bg);border-bottom-color:var(--production-border)}.columnHeader span:last-child{text-align:right}.columnHeader span:nth-child(2),.columnHeader span:nth-child(3){text-align:center}.columnHeader.pageBreakdownHeader,.pageBreakdownRow{grid-template-columns:64px minmax(138px,.9fr) minmax(112px,.7fr) minmax(160px,1fr) minmax(130px,.85fr) minmax(150px,1fr)}.columnHeader.pageBreakdownHeader span{text-align:left}.groupRow{--row-selection-accent: var(--accent);position:relative;align-items:center;justify-items:stretch;padding:12px 14px;color:inherit;background:transparent;text-align:left;border-bottom:1px solid var(--border-faint);cursor:pointer}.pageBreakdownRow:nth-of-type(2n){background:color-mix(in srgb,var(--surface-subtle) 76%,transparent)}.fileSection[data-tinted=true] .pageBreakdownRow:nth-of-type(2n){background:hsl(var(--section-hue) 88% 58% / .055)}.groupRow:hover{background:var(--accent-row)}.groupRow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.fileSection[data-tinted=true] .groupRow:hover{background:hsl(var(--section-hue) 88% 58% / .1)}.groupRow.selected{background:color-mix(in srgb,var(--row-selection-accent) 16%,var(--surface-solid));border-bottom-color:color-mix(in srgb,var(--row-selection-accent) 32%,var(--border-faint));box-shadow:inset 4px 0 0 var(--row-selection-accent),inset 0 0 0 1px color-mix(in srgb,var(--row-selection-accent) 28%,transparent)}.fileSection[data-tinted=true] .groupRow.selected{--row-selection-accent: hsl(var(--section-hue) 88% 48%);background:color-mix(in srgb,var(--row-selection-accent) 16%,var(--surface-solid))}.sizeColumn{display:flex;align-items:center;gap:10px;min-width:0}.thumb{width:var(--thumb-width);height:var(--thumb-height);flex:0 0 auto;border-radius:3px;border:1px solid var(--border-strong);background:var(--page-preview-bg);box-shadow:var(--preview-inset);overflow:hidden}.thumb iframe{width:var(--preview-width);height:var(--preview-height);border:0;pointer-events:none;transform:scale(var(--preview-scale));transform-origin:top left}.thumb img{display:block;width:100%;height:100%;object-fit:fill}.thumbPlaceholder{display:grid;width:100%;height:100%;place-items:center;color:var(--text-soft);background:var(--control-bg-soft)}.thumbSpinner{color:var(--accent);opacity:.82}.groupText{display:grid;gap:2px;min-width:0;flex:1}.groupText strong{font-weight:600;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groupText span{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{padding:0 6px;color:var(--text-soft)}.colourColumn,.bleedColumn{min-width:0;color:var(--text-tertiary);font-size:.88rem;line-height:1.25;overflow-wrap:normal}.bleedColumn{display:flex;justify-content:center}.bleedBubble{display:inline-grid;min-width:58px;min-height:26px;place-items:center;padding:1px 9px 0;border:1px solid var(--bleed-bubble-border);border-radius:999px;background:var(--bleed-bubble-bg);color:var(--bleed-bubble-text);font-weight:600;white-space:nowrap}.bleedBubbleButton{cursor:pointer;font:inherit}.bleedBubbleButton:hover{filter:brightness(1.08)}.bleedBubble--ready{--bleed-bubble-bg: rgba(52, 199, 89, .16);--bleed-bubble-border: rgba(36, 138, 61, .28);--bleed-bubble-text: var(--success)}.bleedBubble--low{--bleed-bubble-bg: var(--production-bg);--bleed-bubble-border: var(--production-border);--bleed-bubble-text: var(--production-accent-strong)}.bleedBubble--none{--bleed-bubble-bg: var(--danger-bg);--bleed-bubble-border: rgba(215, 0, 21, .24);--bleed-bubble-text: var(--danger-text)}.bleedBubble--mixed{--bleed-bubble-bg: rgba(142, 142, 147, .16);--bleed-bubble-border: rgba(142, 142, 147, .28);--bleed-bubble-text: var(--text-muted)}.bleedDiagram{display:grid;grid-template-columns:32px var(--bleed-box-width) 32px;grid-template-rows:18px var(--bleed-box-height) 18px;align-items:center;justify-items:center;width:max-content;color:var(--bleed-bubble-text);font-variant-numeric:tabular-nums;font-size:.78rem}.bleedTop{grid-column:2;grid-row:1}.bleedLeft{grid-column:1;grid-row:2}.bleedBox{grid-column:2;grid-row:2;width:var(--bleed-box-width);height:var(--bleed-box-height);border:2px solid currentColor;border-radius:3px;background:#ffffff57}.bleedRight{grid-column:3;grid-row:2}.bleedBottom{grid-column:2;grid-row:3}.colourColumn{display:grid;justify-items:center;gap:5px;font-weight:600;text-align:center}.spotColoursButton{min-height:23px;display:inline-flex;align-items:center;gap:5px;padding:2px 8px 1px;border:1px solid var(--border-mid);border-radius:999px;color:var(--accent-strong);background:var(--accent-soft);cursor:pointer;font-size:.72rem;font-weight:650;line-height:1}.spotColoursButton:hover{background:var(--control-bg-stronger)}.spotColoursButton svg{flex:0 0 auto}.spotColoursButton strong{font-size:.76rem}.colourCheckStatus{width:min(100%,190px);display:grid;align-items:center;justify-content:center;justify-items:center;gap:4px;min-width:0;color:var(--accent-strong)}.colourCheckStatus.queued{color:var(--text-muted)}.colourCheckStatus.queued .colourCheckSet span{animation:none;opacity:.62;filter:grayscale(.6)}.colourCheckStatus.queued .rgbIcon,.colourCheckStatus.queued .cmykIcon{animation-play-state:paused}.colourCheckStatus.queued .colourCheckProgress span{width:0}.colourCheckIcon{position:relative;width:32px;height:18px}.colourCheckSet{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;gap:3px}.rgbIcon{animation:colourSpaceRgb 2.4s ease-in-out infinite}.cmykIcon{animation:colourSpaceCmyk 2.4s ease-in-out infinite}.rgbIcon span{width:7px;height:14px;border-radius:2px;animation:colourCheckPulse .9s ease-in-out infinite}.rgbIcon span:nth-child(1){background:#ff3b30}.rgbIcon span:nth-child(2){background:#34c759;animation-delay:.12s}.rgbIcon span:nth-child(3){background:#007aff;animation-delay:.24s}.cmykIcon span{width:7px;height:7px;border-radius:999px;animation:colourCheckPulse .9s ease-in-out infinite}.cmykIcon span:nth-child(1){background:#00aeef}.cmykIcon span:nth-child(2){background:#ec008c;animation-delay:90ms}.cmykIcon span:nth-child(3){background:#fff200;animation-delay:.18s}.cmykIcon span:nth-child(4){background:#1d1d1f;animation-delay:.27s}.colourCheckCopy{display:grid;gap:1px;justify-items:center;min-width:0;max-width:100%}.colourCheckCopy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colourCheckCopy span:first-child{font-size:.84rem}.colourCheckCopy span:last-child{color:var(--text-muted);font-size:.72rem;font-weight:500}.colourCheckProgress{width:96px;height:3px;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.colourCheckProgress span{display:block;width:var(--colour-progress);height:100%;border-radius:inherit;background:var(--accent-strong);transition:width .26s ease}@keyframes colourCheckPulse{0%,to{transform:scaleY(.58);opacity:.45}50%{transform:scaleY(1);opacity:1}}@keyframes colourSpaceRgb{0%,42%{opacity:1;transform:translateY(0) scale(1)}50%,92%{opacity:0;transform:translateY(-2px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes colourSpaceCmyk{0%,42%{opacity:0;transform:translateY(2px) scale(.94)}50%,92%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(2px) scale(.94)}}.rangeColumn{display:grid;justify-items:end;gap:1px;color:var(--text-muted);font-size:.82rem}.pageRange{display:flex;justify-content:flex-end;align-items:flex-start;max-width:100%;color:var(--text-primary);cursor:text;font-weight:600;user-select:text;-webkit-user-select:text}.pageRangeList{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0;user-select:text;-webkit-user-select:text}.pageRangeList--dense{display:grid;grid-template-columns:repeat(3,max-content);justify-content:end;width:max-content;max-width:100%}.pageRangePill{padding:1px 6px 0;border-radius:5px;background:var(--control-bg-soft);color:var(--text-primary)!important;font-size:.86rem;font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap;user-select:text;-webkit-user-select:text}.moreRangesButton{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border-soft));color:var(--accent-strong)!important;background:var(--control-bg-soft);cursor:pointer;font:inherit;font-weight:600;text-align:left;user-select:none;-webkit-user-select:none}.moreRangesButton:hover{background:var(--accent-soft)}.rangeColumn span{color:var(--text-muted);font-variant-numeric:tabular-nums}.bookmarkExpandButton{justify-self:start;width:max-content;max-width:min(100%,180px);min-height:22px;margin-top:3px;padding:1px 8px 0;border:0;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmarkExpandButton:before{content:"Show "}.bookmarkExpandButton[aria-expanded=true]:before{content:"Hide "}.bookmarkExpandButton:hover{background:color-mix(in srgb,var(--accent-soft) 72%,var(--accent) 28%)}.bookmarkDetails{grid-column:1 / -1;display:grid;gap:5px;margin-top:-1px;padding:9px 10px;border:1px solid var(--border-faint);border-radius:7px;background:var(--surface-subtle)}.bookmarkDetailItem{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:var(--text-tertiary);font-size:.82rem}.bookmarkDetailItem span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmarkDetailItem strong{flex:0 0 auto;color:var(--text-primary);font-size:.84rem;font-weight:650}.bottomBar{position:sticky;bottom:0;z-index:6;gap:12px;min-height:54px;padding:10px 14px;border-top:1px solid var(--border-mid);border-radius:0 0 12px 12px;background:color-mix(in srgb,var(--surface-solid) 96%,transparent);box-shadow:0 -6px 18px #00000014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;transition:background .3s ease,border-color .3s ease,border-radius .16s ease}.resultsPanel.bottomBarStuck .bottomBar{border-bottom-right-radius:0;border-bottom-left-radius:0}.resultsPanel.productionMode .bottomBar{border-top-color:var(--production-border);background:linear-gradient(90deg,rgba(255,159,10,.08),transparent 44%),color-mix(in srgb,var(--surface-solid) 94%,transparent)}.resultsPanel.productionMode .bottomBar p{color:var(--production-accent-strong)}.bottomBar p{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;transition:color .24s ease}.bottomBar span{flex:0 0 auto;color:var(--success);font-size:.86rem}.bottomBar button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.bottomBar .downloadSelectionButton{width:44px;min-width:44px;padding:0;gap:0;justify-content:center;overflow:hidden;white-space:nowrap;transition:width .22s ease .3s,padding .22s ease .3s,gap .22s ease .3s,background .18s ease}.bottomBar .downloadSelectionButton svg{flex:0 0 auto}.bottomBar .downloadSelectionButton span{display:inline-block;max-width:0;opacity:0;overflow:hidden;color:#fff;font-size:inherit;transition:max-width .22s ease .3s,opacity .14s ease .3s}.bottomBar .downloadSelectionButton:hover,.bottomBar .downloadSelectionButton:focus-visible,.bottomBar .downloadSelectionButton[aria-busy=true]{width:208px;padding:0 13px;gap:6px}.bottomBar .downloadSelectionButton:hover span,.bottomBar .downloadSelectionButton:focus-visible span,.bottomBar .downloadSelectionButton[aria-busy=true] span{max-width:152px;opacity:1}.bottomBar .downloadSelectionButton[aria-busy=true]{cursor:wait;opacity:1}.emptyState{display:grid;justify-items:center;gap:2px;padding:10px 4px;text-align:center;font-size:.84rem}.appFooter{display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 8px 4px;color:var(--text-muted);font-size:.82rem}.appFooter button{border:0;padding:0;color:var(--accent);background:transparent;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.appFooter button:hover{color:var(--accent-strong)}.versionInfo{position:relative;display:inline-flex;justify-content:center}.appFooter .versionInfoButton{color:inherit;text-decoration:none}.appFooter .versionInfoButton:hover,.appFooter .versionInfoButton:focus-visible{color:var(--text-secondary)}.versionPopover{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:5;display:grid;gap:2px;min-width:176px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:7px;color:var(--text-primary);background:var(--surface-solid);box-shadow:var(--shadow-control);opacity:0;pointer-events:none;text-align:left;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease}.versionPopover:after{content:"";position:absolute;left:50%;top:100%;width:8px;height:8px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:var(--surface-solid);transform:translate(-50%,-4px) rotate(45deg)}.versionPopover span{color:var(--text-muted);font-size:.72rem;line-height:1.1}.versionPopover strong{font-size:.82rem;font-weight:600;line-height:1.2;white-space:nowrap}.versionInfo:hover .versionPopover,.versionInfo:focus-within .versionPopover{opacity:1;transform:translate(-50%)}.footerDivider{color:var(--text-soft)}.licenseOverlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:var(--overlay-bg)}.licenseDialog{width:min(680px,100%);max-height:min(720px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow-dialog)}.helpDialog{width:min(620px,100%);max-height:min(720px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow-dialog)}.shortcutsDialog{width:min(520px,100%);max-height:min(640px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow-dialog)}.debugConsolePanel{--console-bg: #07110d;--console-panel: #0b1b14;--console-border: rgba(94, 234, 167, .22);--console-text: #b7f7d5;--console-muted: #5ea77b;--console-dim: #32634a;--console-accent: #71f7aa;--console-warn: #facc15;--console-error: #fb7185;position:sticky;top:12px;grid-column:2;grid-row:1 / span 20;height:calc(100vh - 24px);min-height:420px;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--console-border);border-radius:8px;background:linear-gradient(180deg,rgba(113,247,170,.06),transparent 180px),var(--console-bg);box-shadow:0 18px 44px #00000057,inset 0 0 0 1px #ffffff08}.sizeRuleDialog{--size-rule-active-bg: var(--accent);--size-rule-active-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 28%, transparent), 0 1px 2px rgba(0, 0, 0, .16);--size-rule-card-bg: color-mix(in srgb, var(--surface-subtle) 74%, var(--surface-solid));--size-rule-card-border: var(--border);--size-rule-control-bg: var(--control-bg-soft);--size-rule-field-bg: color-mix(in srgb, var(--control-bg-stronger) 48%, var(--surface-solid));--size-rule-preview-bg: color-mix(in srgb, var(--control-bg-soft) 72%, var(--surface-solid));--size-rule-preview-border: var(--border-mid);width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow-dialog)}:root[data-theme=dark] .sizeRuleDialog{--size-rule-active-bg: #1e8fff;--size-rule-active-shadow: 0 0 0 1px rgba(125, 190, 255, .38), 0 8px 18px rgba(0, 0, 0, .22);--size-rule-card-bg: #28282d;--size-rule-card-border: rgba(235, 235, 245, .2);--size-rule-control-bg: #1d1d22;--size-rule-field-bg: #24242a;--size-rule-preview-bg: #222228;--size-rule-preview-border: rgba(235, 235, 245, .2)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=disco]) .sizeRuleDialog{--size-rule-active-bg: #1e8fff;--size-rule-active-shadow: 0 0 0 1px rgba(125, 190, 255, .38), 0 8px 18px rgba(0, 0, 0, .22);--size-rule-card-bg: #28282d;--size-rule-card-border: rgba(235, 235, 245, .2);--size-rule-control-bg: #1d1d22;--size-rule-field-bg: #24242a;--size-rule-preview-bg: #222228;--size-rule-preview-border: rgba(235, 235, 245, .2)}}.spotColoursDialog,.bleedDetailsDialog{width:min(420px,100%);max-height:min(560px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:var(--shadow-dialog)}.bleedDetailsDialog .licenseHeader{min-height:0}.bleedDetailsDialog .licenseHeader p{display:-webkit-box;max-height:4.05em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.spotColoursList,.bleedDetailsList{display:grid;min-height:0;gap:8px;overflow:auto;padding:14px 18px 18px}.spotColourItem,.bleedDetailItem{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle);color:var(--text-secondary);font-weight:600}.spotColourItem span,.bleedDetailItem span{min-width:0;overflow-wrap:anywhere}.spotColourItem svg,.bleedDetailItem svg{flex:0 0 auto;color:var(--accent-strong)}.bleedDetailItem{align-items:start}.bleedDetailItem>span:first-of-type{flex:1;display:grid;gap:1px}.bleedDetailItem>span:first-of-type>span{color:var(--text-muted);font-size:.8rem;font-weight:500}.bleedDetailRanges{flex:0 1 44%;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.pageBreakdownRow{display:grid;gap:12px;align-items:start;padding:10px 14px;border-bottom:1px solid var(--border-faint);color:var(--text-secondary);font-size:.83rem}.pageBreakdownRow strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.pageBreakdownRow span{min-width:0;overflow-wrap:anywhere}.pageBreakdownRow span[role=cell]:first-of-type{display:grid;gap:1px}.pageBleedBubble{justify-self:start;max-width:100%}.pageBreakdownRow small{color:var(--text-muted);font-size:.76rem;font-variant-numeric:tabular-nums}.pageBreakdownLimit{padding:12px 14px;color:var(--text-muted);font-size:.83rem;text-align:center;border-bottom:1px solid var(--border-faint)}.helpList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:min(560px,calc(100vh - 150px));overflow:auto;padding:14px 18px 18px}.helpList article{display:grid;gap:6px;align-content:start;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle)}.helpList h3{margin:0;color:var(--text-primary);font-size:.94rem;font-weight:650}.helpList p{color:var(--text-muted);font-size:.82rem;line-height:1.25}.helpList pre{margin:2px 0 0;overflow-x:auto;padding:8px;border-radius:6px;color:var(--text-secondary);background:var(--control-bg-pre);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;line-height:1.35;white-space:pre-wrap}.shortcutsList{display:grid;gap:8px;max-height:min(500px,calc(100vh - 150px));overflow:auto;padding:14px 18px 18px}.shortcutItem{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle)}.shortcutKeys{display:flex;flex-wrap:wrap;gap:4px;justify-content:start}.shortcutKeys kbd{width:48px;min-width:0;padding:3px 8px;border:1px solid var(--border-mid);border-radius:6px;color:var(--text-primary);background:var(--control-bg-pre);box-shadow:var(--shadow-tiny);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-weight:700;line-height:1.35;text-align:center}.shortcutItem p{color:var(--text-secondary);font-size:.84rem;line-height:1.25}.debugConsoleHeader{display:flex;align-items:start;gap:10px;padding:11px 12px;border-bottom:1px solid var(--console-border);background:linear-gradient(180deg,rgba(255,255,255,.045),transparent),var(--console-panel);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.debugConsoleHeader div{flex:1;min-width:0}.debugConsoleHeader h2{margin:0;color:var(--console-accent);font-size:.9rem;font-weight:800;letter-spacing:0;text-transform:lowercase}.debugConsoleHeader p{margin-top:2px;color:var(--console-muted);font-size:.72rem;line-height:1.25}.debugConsoleStatus{align-self:center;flex:0 0 auto;min-width:82px;padding:4px 8px;border:1px solid var(--console-border);border-radius:999px;color:var(--console-muted);background:#0003;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:800;line-height:1;text-align:center;text-transform:uppercase}.debugConsoleStatus--scanning,.debugConsoleStatus--splitting{color:#06110c;background:var(--console-accent);box-shadow:0 0 16px #71f7aa47}.debugConsoleStatus--splitting{background:var(--console-warn);box-shadow:0 0 16px #facc1542}.debugConsoleClear{align-self:center;flex:0 0 auto;min-height:28px;padding:4px 10px;border:1px solid var(--console-border);border-radius:6px;color:var(--console-text);background:#71f7aa14;cursor:pointer;font:inherit;font-size:.72rem;font-weight:700}.debugConsoleClear:hover:not(:disabled){color:#06110c;background:var(--console-accent)}.debugConsoleClear:disabled{cursor:default;opacity:.48}.debugConsoleLog{display:grid;align-content:start;gap:0;min-height:0;overflow:auto;padding:10px 12px 14px;color:var(--console-text);background:repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 24px),radial-gradient(circle at 50% 0%,rgba(113,247,170,.08),transparent 42%),var(--console-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.debugConsoleEntry{display:grid;grid-template-columns:90px 14px minmax(0,1fr) auto;gap:7px;align-items:baseline;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.debugConsoleEntry time{color:var(--console-dim);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.45}.debugConsolePrompt{color:var(--console-accent);font-size:.78rem;font-weight:800;line-height:1.45}.debugConsoleEntry p{min-width:0;color:var(--console-text);font-size:.76rem;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.debugConsoleUpdateCount{align-self:center;padding:1px 5px;border:1px solid var(--console-border);border-radius:999px;color:var(--console-muted);background:#71f7aa0f;font-size:.62rem;font-weight:800;line-height:1.4}.debugConsoleEntry--warn{color:var(--console-warn)}.debugConsoleEntry--error{color:var(--console-error)}.debugConsoleEntry--warn p{color:var(--console-warn)}.debugConsoleEntry--error p{color:var(--console-error)}.debugConsoleEmpty{margin:auto;max-width:420px;color:var(--console-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.35;text-align:center}.licenseHeader{display:flex;align-items:start;gap:16px;padding:16px 18px 12px;border-bottom:1px solid var(--border-dialog)}.licenseHeader div{flex:1;min-width:0}.licenseHeader h2{font-size:1.08rem;font-weight:650}.licenseHeader p,.licenseItem p,.licenseNote{color:var(--text-muted)}.licenseHeader p{margin-top:2px;font-size:.84rem}.licenseClose{width:28px;height:28px;border:0;border-radius:999px;color:var(--text-muted);background:var(--control-bg);cursor:pointer;font:inherit;font-weight:700}.licenseClose:hover{background:var(--control-bg-stronger)}.licenseList{overflow:auto;padding:4px 18px}.licenseItem{display:grid;grid-template-columns:minmax(160px,.75fr) minmax(220px,1.25fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--border-faint)}.licenseItem h3{margin:0;color:var(--text-primary);font-size:.93rem;font-weight:650}.licenseItem strong{display:block;color:var(--text-secondary);font-size:.9rem}.licenseItem p{margin-top:2px;font-size:.8rem;line-height:1.25}.licenseItem a{display:inline-block;margin-top:5px;color:var(--accent);font-size:.8rem;text-decoration:underline;text-underline-offset:3px}.licenseItem a:hover{color:var(--accent-strong)}.licenseNote{padding:12px 18px 16px;font-size:.82rem;line-height:1.3}.licenseNote a{color:var(--accent);white-space:nowrap}.sizeRuleBody{display:grid;gap:12px;overflow:auto;padding:16px 18px 18px}.sizeRuleList{display:grid;gap:10px}.sizeRuleItem{position:relative;display:grid;grid-template-columns:168px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--size-rule-card-border);border-radius:9px;background:var(--size-rule-card-bg)}.sizeRuleSwitch{width:168px;align-self:end;border:1px solid var(--border-soft);background:var(--size-rule-control-bg)}.sizeRuleSwitch button{min-height:36px;color:var(--text-tertiary);background:transparent;font-size:.86rem;font-weight:700}.sizeRuleSwitch button:not(.active):hover{color:var(--text-secondary);background:var(--hover-bg)}.sizeRuleSwitch button.active{color:#fff;background:var(--size-rule-active-bg);box-shadow:var(--size-rule-active-shadow)}.sizeRuleField{display:grid;gap:6px;color:var(--text-muted);font-size:.82rem;font-weight:600}.sizeRuleField select{min-height:38px;border:1px solid var(--size-rule-card-border);border-radius:7px;padding:0 10px;color:var(--text-primary);background:var(--size-rule-field-bg);font:inherit}.sizeRulePreview{grid-column:1 / -1;padding:9px 10px;border:1px dashed var(--size-rule-preview-border);border-radius:8px;color:var(--text-secondary);background:var(--size-rule-preview-bg);font-size:.9rem;font-weight:650}.sizeRuleToggle{grid-column:1 / -1;display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;color:var(--text-secondary);font-size:.86rem;font-weight:600}.sizeRuleToggle input{width:16px;height:16px;accent-color:var(--accent)}.sizeRuleRemove{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;border-radius:999px;color:var(--text-muted);background:var(--control-bg);cursor:pointer;font:inherit;font-weight:700}.sizeRuleAdd{justify-self:start;min-height:34px;border:1px solid var(--border-soft);border-radius:7px;padding:0 12px;color:var(--accent-strong);background:var(--accent-soft);cursor:pointer;font:inherit;font-weight:650}.sizeRuleActions{display:flex;justify-content:flex-end;gap:8px}.sizeRuleActions button{min-height:34px;border:0;border-radius:7px;padding:0 12px;color:var(--text-secondary);background:var(--control-bg);cursor:pointer;font:inherit;font-weight:650}.sizeRuleActions button:last-child{color:#fff;background:var(--accent)}@media(max-width:760px){.shell{width:min(100vw - 16px,1080px);padding:8px 0}.shell.debugConsoleOpen,.shell.isEmpty.debugConsoleOpen{display:grid;grid-template-columns:1fr;gap:10px;width:min(100vw - 16px,1080px)}.shell.debugConsoleOpen>:not(.debugConsolePanel){grid-column:1}.shell.isEmpty{min-height:100svh;grid-template-rows:auto auto auto auto;align-content:center;gap:14px;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.topbar,.instructionBar,.bottomBar,.dropzone.compact{flex-wrap:wrap}.topbar{flex-wrap:nowrap;gap:8px;padding:0 4px 6px}.brand{min-width:0}h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell.isEmpty .brandIcon{width:30px;height:30px}.shell.isEmpty h1{font-size:1.22rem}.actions{flex:0 0 auto;gap:4px}.iconButton{width:44px;height:44px}.exportButton{min-width:44px;width:44px;padding:0}.exportButton span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.keyboardShortcutsButton{display:none}.dropzone{min-height:clamp(240px,36svh,310px);gap:12px;padding:22px 16px;border:2px dashed var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-small)}.dropzone.dragging{background:var(--accent-soft)}.dropIcon{width:54px;height:54px}.dropCopy{gap:3px}.desktopCopy{display:none}.mobileCopy{display:inline}.dropzone h2{font-size:1.12rem;line-height:1.1;color:var(--text-primary)}.dropzone button,.bottomBar button{min-height:44px}.dropzone button{width:min(100%,320px);padding:0 18px;font-size:1rem;justify-self:center}.dropzone.compact{min-height:auto;grid-template-columns:42px minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:center;padding:14px;margin-bottom:10px}.dropzone.compact .dropActions{grid-column:1 / -1;justify-self:stretch;width:100%}.dropzone.compact button{min-width:0;padding:0 16px}.dropzone.compact .dropCopy{justify-items:start}.dropzone.compact .dropIcon{display:grid;width:42px;height:42px;justify-self:center}.dropzone.compact h2{font-size:1rem}.instructionBar p,.bottomBar p{flex-basis:100%}.instructionBar{gap:8px;padding:10px}.instructionBar .clipboardSwitch{flex:1 1 calc(100% - 48px);width:auto}.instructionBar .sizeRuleButton{flex:0 0 44px;width:44px;height:34px;min-height:34px;margin-left:0;margin-right:0;align-self:center;font-size:.82rem}.instructionBar button,.fileHeader button,.modeSwitch button{min-height:40px}.instructionBar button:not(.helpButton),.fileHeader button{padding-inline:8px}.instructionBar .selectionActionButton{width:auto;min-width:0;min-height:34px;max-width:none;padding-inline:10px!important;font-size:.82rem}.instructionBar .selectionActionButton svg{width:18px;height:18px;stroke-width:2.5}.instructionBar .selectionActionButton span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap}.selectionActions{flex:1 1 calc(100% - 70px);display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-left:0;margin-right:0}.selectionActions .selectionActionButton.isVisible{width:100%}.selectionActions .selectionActionButton.isVisible+.selectionActionButton.isVisible{margin-left:0}.selectionActions .selectionActionButton.isHidden{display:none}.selectionActions:has(.selectionActionButton.isVisible+.selectionActionButton.isVisible){grid-template-columns:1fr 1fr}.instructionBar .helpButton{width:40px;height:40px}.modeSwitch{width:100%;max-width:100%}.groupingSwitch,.clipboardSwitch,.productionSwitch{min-width:0}.clipboardSwitch{width:auto}.productionSwitch{width:260px}.columnHeader{display:none}.groupRow{--row-selection-accent: var(--accent);grid-template-columns:96px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:7px;padding:16px 12px;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.pageBreakdownRow{grid-template-columns:58px minmax(0,1fr);gap:4px 10px;padding:13px 12px}.pageBreakdownRow strong{grid-column:1;grid-row:1 / span 5;align-self:start}.pageBreakdownRow>span{grid-column:2}.groupRow.selected{padding-right:46px;background:color-mix(in srgb,var(--row-selection-accent) 18%,var(--surface-solid));border-bottom-color:color-mix(in srgb,var(--row-selection-accent) 32%,var(--border-faint));box-shadow:inset 5px 0 0 var(--row-selection-accent),inset 0 0 0 1px color-mix(in srgb,var(--row-selection-accent) 34%,transparent)}.fileSection[data-tinted=true] .groupRow.selected{--row-selection-accent: hsl(var(--section-hue) 88% 48%);background:color-mix(in srgb,var(--row-selection-accent) 18%,var(--surface-solid))}.groupRow.selected:before,.groupRow.selected:after{content:"";position:absolute;pointer-events:none}.groupRow.selected:before{top:12px;right:12px;width:22px;height:22px;border-radius:999px;background:var(--row-selection-accent);box-shadow:var(--shadow-control)}.groupRow.selected:after{top:17px;right:20px;width:5px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg)}.fileHeader{min-height:44px;padding-block:8px}.fileHeader button{width:40px;height:40px;margin-block:-6px}.fileHeader .colourCheckButton{width:auto;height:34px;padding-inline:10px;margin-block:-3px}.sizeColumn{display:contents}.thumb{grid-column:1;grid-row:1 / span 4;align-self:start;justify-self:start}.groupText{grid-column:2;gap:0;align-self:center}.groupText strong{white-space:normal;line-height:1.08}.groupText span{font-size:.82rem}.colourColumn,.bleedColumn{grid-column:2;justify-items:start;justify-content:start;text-align:left}.colourColumn{gap:6px;font-size:.86rem}.spotColoursButton{min-height:34px;padding-inline:10px}.bleedBubble{min-height:34px;padding-inline:12px}.rangeColumn{grid-column:2;justify-items:start;font-size:.86rem}.pageRange,.pageRangeList{justify-content:flex-start}.pageRangePill{font-size:.86rem;min-height:30px;display:inline-flex;align-items:center}.bottomBar{gap:8px;padding:10px}.bottomBar p{white-space:normal}.bottomBar button:not(.downloadSelectionButton){flex:1 1 190px;justify-content:center}.bottomBar .productionSwitch{order:1;flex:1 1 100%;width:100%;min-height:52px;padding:4px;border-radius:10px}.bottomBar .productionSwitch button{flex:initial;min-height:44px;padding-inline:14px;border-radius:7px;font-size:1rem}.bottomBar button:not(.downloadSelectionButton){order:2}.bottomBar .downloadSelectionButton{order:3;width:44px}.appFooter,.licenseItem,.helpList,.shortcutItem,.debugConsoleEntry{align-items:start;grid-template-columns:1fr}.shortcutKeys{justify-content:start}.appFooter{display:grid;justify-items:center;gap:2px;padding:10px 4px 2px;text-align:center;font-size:.8rem;line-height:1.2}.footerDivider{display:none}.licenseOverlay{align-items:start;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow:auto}.debugConsolePanel{position:relative;top:auto;grid-column:1;grid-row:auto;width:min(100%,430px);height:min(520px,calc(100vh - 120px));min-height:320px;justify-self:center;margin-block:0;border-radius:11px}.debugConsoleLog{max-height:min(620px,calc(100vh - 148px))}.sizeRuleDialog{width:min(100%,430px);max-height:none;margin-block:28px;border-radius:11px}.sizeRuleDialog .licenseHeader{padding:14px 14px 12px}.sizeRuleDialog .licenseHeader h2{font-size:1rem}.sizeRuleDialog .licenseHeader p{font-size:.8rem;line-height:1.25}.sizeRuleBody{gap:10px;padding:14px;overflow:visible}.sizeRuleItem{grid-template-columns:1fr;gap:9px;padding:10px;border-radius:8px}.sizeRuleSwitch{width:100%;align-self:stretch}.sizeRuleSwitch button{min-height:34px;font-size:.82rem}.sizeRuleField{gap:5px;font-size:.78rem}.sizeRuleField select{min-height:36px;max-width:100%}.sizeRulePreview{padding:8px 9px;font-size:.84rem}.sizeRuleToggle{font-size:.82rem}.sizeRuleAdd{min-height:36px}.sizeRuleActions{gap:8px}.sizeRuleActions button{min-height:38px}}@media(max-width:520px){.dropzone.compact{grid-template-columns:40px minmax(0,1fr)}.dropzone.compact .dropActions{grid-column:1 / -1;justify-self:stretch;width:100%}.instructionBar{align-items:flex-start}.instructionBar p{flex:1 1 100%}.clipboardSwitch{flex:1 1 calc(100% - 48px)}.instructionBar .sizeRuleButton{flex-basis:42px;width:42px;height:34px;min-height:34px}.bottomBar .productionSwitch{width:100%}}
