/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4
 * Quicklio brand system · reference direction: warm editorial utility studio
 * design-system: design.md · designed-as-app
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

*{box-sizing:border-box}
:root{
  --color-paper:oklch(98.1% .014 88);
  --color-paper-2:oklch(96.4% .021 88);
  --color-surface:oklch(99.6% .004 90);
  --color-ink:oklch(18% .014 102);
  --color-ink-2:oklch(35% .018 102);
  --color-muted:oklch(50% .018 102);
  --color-rule:oklch(88% .018 88);
  --color-rule-strong:oklch(75% .024 88);
  --color-green:oklch(53% .175 132);
  --color-green-2:oklch(66% .19 132);
  --color-green-soft:oklch(94% .065 132);
  --color-green-ink:oklch(24% .065 132);
  --color-focus:oklch(48% .17 255);
  --color-error:oklch(48% .16 28);
  --color-error-bg:oklch(95% .035 28);
  --color-success:oklch(39% .12 148);
  --color-success-bg:oklch(95% .04 148);
  --color-candle:oklch(96% .06 78);
  --color-pdf:oklch(96% .035 255);
  --color-halloween:oklch(95% .06 45);
  --color-pumpkin:oklch(95% .045 300);
  --color-christmas:oklch(95% .05 135);
  --color-image:oklch(96% .035 225);
  --color-social:oklch(96% .05 310);
  --color-finance:oklch(95% .055 145);
  --color-crafts:oklch(96% .05 55);

  --font-display:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-ui:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;

  --space-2xs:.35rem;
  --space-xs:.55rem;
  --space-sm:.8rem;
  --space-md:1rem;
  --space-lg:1.5rem;
  --space-xl:2.25rem;
  --space-2xl:3.5rem;
  --space-3xl:5.5rem;
  --space-4xl:8rem;

  --radius-sm:.65rem;
  --radius-md:1rem;
  --radius-lg:1.35rem;
  --radius-xl:1.75rem;
  --shadow-sm:0 1px 2px oklch(20% .01 100/.05),0 8px 24px oklch(20% .01 100/.05);
  --shadow-md:0 18px 50px oklch(20% .01 100/.1);
  --control-height:3rem;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-short:160ms;
  --z-sticky:200;
  --z-dropdown:300;
}

html,body{overflow-x:clip}
html{background:var(--color-paper);scroll-behavior:smooth}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font:400 1rem/1.6 var(--font-ui);text-rendering:optimizeLegibility}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button{white-space:nowrap}
img{max-width:100%}

.icon{width:1.05em;height:1.05em;display:inline-block;flex:none;vertical-align:-.14em;color:currentColor}
.icon-sm{width:.9rem;height:.9rem}
.icon-md{width:1.2rem;height:1.2rem}
.icon-lg{width:1.75rem;height:1.75rem}
.icon-xl{width:3rem;height:3rem}
.nav-chevron{width:.85rem;height:.85rem;transition:transform var(--dur-short) var(--ease-out)}
.nav-details[open]>.nav-chevron,.nav-details[open]>summary .nav-chevron{transform:rotate(180deg)}
.icon-box{display:grid;place-items:center}

h1,h2,h3,p{margin-block-start:0}
h1,h2,h3{font-style:normal;text-wrap:balance;overflow-wrap:anywhere;min-width:0}
[hidden]{display:none!important}
.shell{width:min(88rem,calc(100% - 2rem));margin-inline:auto}
.muted{color:var(--color-muted)}
.eyebrow{margin:0;color:var(--color-muted);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.kicker{display:inline-flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;min-height:2.35rem;padding:.52rem .82rem;border:1px solid color-mix(in oklab,var(--color-green) 42%,var(--color-rule));border-radius:999px;background:color-mix(in oklab,var(--color-green-soft) 82%,white);box-shadow:inset 0 1px 0 oklch(100% 0 0/.9),0 7px 18px oklch(26% .04 132/.07);font-size:.82rem;font-weight:750;color:var(--color-green-ink)}
.kicker-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-green)}
.button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding-inline:1.05rem;border:1px solid var(--color-rule-strong);border-radius:.8rem;background:var(--color-surface);color:var(--color-ink);font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 1px 0 oklch(20% .01 100/.04);transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}
.button.primary{background:var(--color-green);border-color:var(--color-green);color:white}
.button.dark{background:var(--color-ink);border-color:var(--color-ink);color:white}
.button.small{min-height:2.45rem;padding-inline:.8rem;font-size:.82rem}
.button:active,.choice:active,.segmented button:active{transform:translateY(1px)}
:focus{outline:none}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}

/* header */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:oklch(99% .008 88/.96);border-bottom:1px solid var(--color-rule);backdrop-filter:blur(16px)}
.header-inner{min-height:5.15rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem}
.brand{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;font-size:1.68rem;font-weight:800;letter-spacing:-.045em}
.brand img{width:2.35rem;height:2.35rem;flex:none}
.brand-word{font-family:var(--font-ui)}
.primary-nav{display:none;align-items:center;justify-content:center;gap:.35rem}
.primary-nav>a,.nav-details>summary{min-height:2.8rem;display:inline-flex;align-items:center;gap:.48rem;padding-inline:.92rem;border-radius:.76rem;color:var(--color-ink);font-size:.98rem;font-weight:700;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}
.nav-details>summary::-webkit-details-marker{display:none}
.nav-details{position:relative}
.nav-details[open]>summary{background:var(--color-paper-2)}
.header-actions{display:none;align-items:center;justify-content:flex-end;gap:.5rem}
.lang-current{display:inline-flex;align-items:center;gap:.45rem}
.mega-panel,.lang-panel,.mobile-panel{position:absolute;top:calc(100% + .7rem);z-index:var(--z-dropdown);border:1px solid var(--color-rule);border-radius:1rem;background:var(--color-surface);box-shadow:var(--shadow-md)}
.mega-panel{left:0;width:min(54rem,calc(100vw - 2rem));padding:.75rem;display:grid;grid-template-columns:14rem minmax(0,1fr);gap:.65rem;max-height:min(74vh,44rem);overflow:hidden}
.mega-categories{padding:.3rem;border-right:1px solid var(--color-rule)}
.mega-category{display:flex;align-items:center;gap:.65rem;padding:.7rem;border-radius:.72rem;font-size:.88rem;font-weight:750;text-decoration:none;white-space:normal;transition:background .15s}
.mega-category.is-featured{background:var(--color-green-soft)}
.mega-category:hover,.mega-category.is-mega-active{background:var(--color-green-soft)}
.mega-link.is-mega-hidden{display:none}
.mega-group.is-mega-hidden{display:none}

.mega-tools{padding:.4rem .6rem;overflow:auto;min-height:0}
.mega-tools h3{margin:0 0 .55rem;font-size:.8rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.mega-group{padding-block:.35rem .7rem;border-bottom:1px solid var(--color-rule)}.mega-group:last-child{border-bottom:0}.mega-group-title{margin:.2rem .62rem .35rem;color:var(--color-muted);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.mega-link{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.65rem;padding:.62rem;border-radius:.72rem;text-decoration:none}
.mega-icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.65rem;background:var(--color-paper-2);color:var(--color-green)}
.mega-link strong{display:block;font-size:.88rem;line-height:1.25;white-space:normal}
.mega-link small{display:block;color:var(--color-muted);font-size:.74rem;white-space:normal}
.lang-panel{right:0;width:15rem;padding:.6rem}
.lang-panel a,.lang-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.65rem .7rem;border-radius:.65rem;text-decoration:none;font-size:.86rem}
.lang-row small{color:var(--color-muted)}
.mobile-nav{justify-self:end;position:relative}
.mobile-nav>summary{width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid var(--color-rule);border-radius:.75rem;background:var(--color-surface);cursor:pointer;list-style:none;font-size:1.2rem}
.mobile-nav>summary::-webkit-details-marker{display:none}
.mobile-panel{right:0;width:min(21rem,calc(100vw - 2rem));padding:.7rem}
.mobile-panel a{display:block;padding:.7rem;border-radius:.6rem;text-decoration:none;font-weight:700}
.mobile-panel .mobile-section{padding:.65rem .7rem .3rem;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* home */
.home-hero{padding-block:1.35rem 0}
.home-hero.shell{width:min(96rem,calc(100% - 1.5rem))}
.home-hero-card{overflow:hidden;border:1px solid var(--color-rule);border-radius:1.55rem;background:var(--color-surface);box-shadow:0 1px 2px oklch(20% .01 100/.04),0 18px 48px oklch(20% .01 100/.07)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.home-hero-copy{padding:clamp(2.3rem,5.3vw,5.35rem);display:flex;flex-direction:column;justify-content:center;min-width:0}
.home-hero h1{margin:1.35rem 0 0;max-width:10.5ch;font-family:var(--font-display);font-size:clamp(3.65rem,6.8vw,6.75rem);line-height:.88;letter-spacing:-.052em;font-weight:700;text-wrap:balance}
.home-hero h1 .accent-word{color:var(--color-green)}
.home-hero .lede{max-width:42rem;margin:1.45rem 0 0;color:var(--color-ink-2);font-size:clamp(1.08rem,1.65vw,1.3rem);line-height:1.62;letter-spacing:-.01em}
.home-hero-visual{min-height:25rem;position:relative;overflow:hidden;background:oklch(94.8% .025 83);border-left:1px solid var(--color-rule)}
.studio-scene{position:relative;width:100%;height:100%;min-height:25rem;isolation:isolate}
.studio-scene::before{content:"";position:absolute;inset:auto 0 0;height:34%;background:oklch(89.5% .035 73);border-top:1px solid oklch(76% .035 78);z-index:-1}
.scene-window{position:absolute;inset:8% 8% auto auto;width:48%;height:38%;border:10px solid var(--color-surface);background:oklch(90% .035 135);box-shadow:var(--shadow-sm)}
.scene-window::before,.scene-window::after{content:"";position:absolute;background:var(--color-surface)}
.scene-window::before{width:6px;inset-block:0;left:50%;transform:translateX(-50%)}
.scene-window::after{height:6px;inset-inline:0;top:50%;transform:translateY(-50%)}
.scene-laptop{position:absolute;left:50%;top:51%;width:min(68%,31rem);transform:translate(-46%,-42%) rotate(-1.5deg)}
.scene-screen{aspect-ratio:16/10;display:grid;place-items:center;border:10px solid var(--color-ink);border-bottom-width:15px;border-radius:1rem;background:var(--color-surface);box-shadow:0 20px 40px oklch(20% .01 100/.14)}
.scene-screen-inner{display:grid;justify-items:center;gap:.35rem}
.scene-screen-inner img{width:4.2rem;height:4.2rem}
.scene-screen-inner strong{font-size:clamp(1.5rem,3vw,2.15rem);letter-spacing:-.05em}
.scene-screen-inner span{color:var(--color-muted);font-size:.72rem;font-weight:700}
.scene-base{width:112%;height:1.25rem;margin-left:-6%;border-radius:0 0 1.1rem 1.1rem;background:oklch(65% .015 95);box-shadow:0 10px 18px oklch(20% .01 100/.12)}
.scene-chip{position:absolute;display:flex;align-items:center;gap:.58rem;min-height:2.8rem;padding:.72rem .9rem;border:1px solid oklch(100% 0 0/.82);border-radius:.95rem;background:oklch(99% .006 88/.72);backdrop-filter:blur(18px) saturate(125%);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),inset 0 -8px 18px oklch(65% .03 88/.06),0 14px 30px oklch(20% .01 100/.13);font-size:.78rem;font-weight:800;line-height:1.2}
.scene-chip .icon{width:1.15rem;height:1.15rem;color:var(--color-green)}
.scene-chip.candle{left:8%;top:25%}
.scene-chip.pdf{left:7%;bottom:10%}
.scene-chip.halloween{right:5%;top:20%}
.scene-chip.christmas{right:5%;bottom:12%}
.scene-object{position:absolute;display:grid;place-items:center;border:1px solid oklch(100% 0 0/.9);background:oklch(99% .006 88/.78);backdrop-filter:blur(18px) saturate(120%);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),inset 0 -10px 16px oklch(60% .03 88/.1),0 16px 32px oklch(20% .01 100/.16)}
.scene-candle{left:16%;bottom:29%;width:4.35rem;height:5.65rem;border-radius:1rem 1rem 1.15rem 1.15rem;color:oklch(62% .16 58);transform:perspective(18rem) rotateY(7deg) rotateX(3deg)}
.scene-candle .icon{width:1.6rem;height:1.6rem}
.scene-pumpkin{right:15%;bottom:27%;width:5.45rem;height:4.65rem;border-radius:48% 48% 45% 45%;background:oklch(76% .15 48/.92);color:oklch(33% .06 48);transform:perspective(18rem) rotateY(-7deg) rotateX(2deg)}
.scene-pumpkin .icon{width:2rem;height:2rem}
.scene-tree{right:9%;bottom:39%;width:4.2rem;height:5.5rem;border-radius:2rem 2rem .85rem .85rem;background:oklch(91% .06 135/.86);color:var(--color-green);transform:perspective(18rem) rotateY(-6deg) rotateX(3deg)}
.scene-tree .icon{width:2rem;height:2rem}
.tool-search{display:grid;grid-template-columns:3.35rem minmax(0,1fr) 3.45rem;align-items:center;max-width:44rem;min-height:4.25rem;margin-top:2.15rem;border:1px solid color-mix(in oklab,var(--color-rule-strong) 72%,white);border-radius:1.12rem;background:oklch(99.7% .004 90/.9);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),0 10px 26px oklch(20% .01 100/.08);overflow:hidden}
.tool-search .search-icon{display:grid;place-items:center;color:var(--color-muted)}
.tool-search input{width:100%;height:100%;border:0;background:transparent;padding:.9rem .2rem;color:var(--color-ink);font-size:1.02rem;font-weight:500;outline:0}
.tool-search button{width:2.95rem;height:2.95rem;margin-right:.42rem;border:1px solid oklch(100% 0 0/.08);border-radius:.82rem;background:var(--color-ink);color:white;cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 1px 0 oklch(100% 0 0/.13),0 7px 14px oklch(18% .01 100/.18);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.filter-label{display:block;margin-top:1.65rem;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.filter-row{display:flex;flex-wrap:wrap;gap:.62rem;margin-top:.72rem}
.filter-chip{min-height:2.82rem;padding-inline:.95rem;border:1px solid color-mix(in oklab,var(--color-rule-strong) 68%,white);border-radius:999px;background:oklch(99.5% .004 90/.8);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),0 6px 14px oklch(20% .01 100/.055);font-size:.82rem;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;gap:.46rem;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out)}
.filter-chip.is-active{border-color:color-mix(in oklab,var(--color-green) 75%,white);background:color-mix(in oklab,var(--color-green-soft) 88%,white);color:var(--color-green-ink);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),0 8px 18px oklch(45% .1 132/.1)}
.popular-section{padding-block:3.5rem 1.8rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.section-heading h2{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.04em}
.section-heading a{font-size:.88rem;font-weight:800;text-decoration:none}
.tool-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}
.tool-card{min-width:0;min-height:12rem;display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;border:1px solid var(--color-rule);border-radius:1rem;text-decoration:none;overflow:hidden;white-space:normal;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.tool-card[data-category="candle"]{background:var(--color-candle)}
.tool-card[data-category="pdf"]{background:var(--color-pdf)}
.tool-card[data-category="halloween"]{background:var(--color-halloween)}
.tool-card[data-category="pumpkin"]{background:var(--color-pumpkin)}
.tool-card[data-category="christmas"]{background:var(--color-christmas)}
.tool-card[data-category="image"]{background:var(--color-image)}
.tool-card[data-category="social"]{background:var(--color-social)}
.tool-card[data-category="finance"]{background:var(--color-finance)}
.tool-card[data-category="crafts"]{background:var(--color-crafts)}
.tool-card-icon{width:5.2rem;height:5.2rem;display:grid;place-items:center;border:1px solid oklch(100% 0 0/.75);border-radius:1.05rem;background:oklch(100% 0 0/.58);color:var(--color-ink);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),inset 0 -8px 14px oklch(70% .03 90/.08),0 8px 18px oklch(20% .01 100/.07)}
.tool-card-copy{min-width:0}
.tool-card h3{margin:0 0 .4rem;font-size:1rem;line-height:1.2;letter-spacing:-.02em;white-space:normal;overflow-wrap:anywhere}
.tool-card p{margin:0;color:var(--color-ink-2);font-size:.8rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.tool-card-arrow{grid-column:2;justify-self:end;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:oklch(100% 0 0/.7);border:1px solid var(--color-rule);color:var(--color-ink)}
.tools-empty{padding:2rem;border:1px dashed var(--color-rule-strong);border-radius:1rem;color:var(--color-muted);text-align:center}
.trust-strip{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-block:1rem 3.5rem;border:1px solid var(--color-rule);border-radius:1rem;background:var(--color-surface);overflow:hidden}
.trust-item{display:grid;grid-template-columns:2.8rem minmax(0,1fr);gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--color-rule)}
.trust-item:last-child{border-bottom:0}
.trust-icon{width:2.55rem;height:2.55rem;position:relative;display:block;flex:0 0 2.55rem;border-radius:.78rem;background:var(--color-green-soft);color:var(--color-green);line-height:0}
.trust-item strong{display:block;font-size:.9rem}
.trust-item span{display:block;color:var(--color-muted);font-size:.77rem}
.brand-section{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:0 4rem}
.brand-card{padding:clamp(1.6rem,4vw,2.6rem);border:1px solid var(--color-rule);border-radius:1.2rem;background:var(--color-surface)}
.brand-card.green{background:var(--color-green-soft)}
.brand-card h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1}
.brand-card p{margin:0;color:var(--color-ink-2)}
.brand-card .actions{margin-top:1.1rem}

/* tool pages */
.tool-page{--tool-soft:var(--color-green-soft)}
.theme-candle{--tool-soft:var(--color-candle)}
.theme-pdf{--tool-soft:var(--color-pdf)}
.theme-candy{--tool-soft:var(--color-halloween)}
.theme-pumpkin{--tool-soft:var(--color-pumpkin)}
.theme-christmas{--tool-soft:var(--color-christmas)}
.theme-image{--tool-soft:var(--color-image)}
.theme-social{--tool-soft:var(--color-social)}
.theme-finance{--tool-soft:var(--color-finance)}
.theme-crafts{--tool-soft:var(--color-crafts)}
.tool-hero{padding-block:2rem 1.2rem}
.tool-hero-card{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;overflow:hidden;border:1px solid var(--color-rule);border-radius:1.3rem;background:var(--color-surface);box-shadow:var(--shadow-sm)}
.tool-hero-copy{padding:clamp(1.5rem,4vw,3rem)}
.category-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:999px;background:var(--tool-soft);font-size:.78rem;font-weight:800}
.tool-hero h1{max-width:13ch;margin:.9rem 0 .8rem;font-size:clamp(2.6rem,6vw,5rem);line-height:.93;letter-spacing:-.055em}
.tool-hero p{max-width:43rem;margin:0;color:var(--color-ink-2);font-size:1.05rem}
.tool-trust{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.tool-trust span{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding-inline:.7rem;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper);font-size:.72rem;font-weight:750;white-space:normal}
.tool-hero-art{min-height:13rem;display:grid;place-items:center;background:var(--tool-soft);position:relative;overflow:hidden;color:var(--color-green)}
.tool-hero-art>.icon{width:clamp(5.5rem,12vw,9rem);height:clamp(5.5rem,12vw,9rem);filter:drop-shadow(0 12px 20px oklch(20% .01 100/.10));transform:rotate(-4deg)}
.tool-hero-art::after{content:"";position:absolute;width:13rem;height:13rem;border:1px solid oklch(20% .01 100/.08);border-radius:50%;right:-4rem;bottom:-5rem}
.tool-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:1rem 0}
.panel,.calculator,.canvas-card{min-width:0;border:1px solid var(--color-rule);border-radius:1.15rem;background:var(--color-surface);box-shadow:var(--shadow-sm)}
.panel,.calculator{padding:1rem}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.panel-title{display:flex;align-items:center;gap:.6rem}
.panel-step{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.65rem;background:var(--tool-soft);font-size:.8rem;font-weight:850}
.panel-head h2,.section-block h2{margin:0;font-size:1rem;letter-spacing:-.02em}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;margin-block:.9rem}
.field{display:grid;gap:.42rem;min-width:0}
.field>span,.range-line span{font-size:.76rem;font-weight:750;color:var(--color-ink-2)}
.field input,.field select,.input-pair input,.input-pair select,textarea{width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--color-rule-strong);outline:2px solid transparent;outline-offset:1px;border-radius:.72rem;background:var(--color-surface);color:var(--color-ink);padding:.65rem .8rem}
.field input:hover,.field select:hover,textarea:hover{background:var(--color-paper)}
.input-pair{display:grid;grid-template-columns:minmax(0,1fr) 4.8rem}
.input-pair input{border-radius:.72rem 0 0 .72rem}
.input-pair select{border-left:0;border-radius:0 .72rem .72rem 0}
.segmented{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:.3rem;border:1px solid var(--color-rule);border-radius:.85rem;background:var(--color-paper-2)}
.segmented button{min-height:2.8rem;border:0;border-radius:.62rem;background:transparent;color:var(--color-ink-2);font-size:.8rem;font-weight:800;cursor:pointer}
.segmented button.active{background:var(--color-green-soft);color:var(--color-green-ink);box-shadow:0 1px 2px oklch(20% .01 100/.05)}
.section-block{padding-block:1rem;border-bottom:1px solid var(--color-rule)}
.section-block:last-child{border-bottom:0}
.note,.notice{margin-block:.9rem;padding:.8rem 1rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-paper-2);color:var(--color-ink-2);font-size:.8rem}
.notice.error{border-color:oklch(75% .09 28);background:var(--color-error-bg);color:var(--color-error)}
.notice.success{border-color:oklch(77% .08 148);background:var(--color-success-bg);color:var(--color-success)}
.results{margin:0}
.result-lead{padding:1.2rem;border-radius:.9rem;background:var(--tool-soft);margin-bottom:.8rem}
.result-lead span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.result-lead strong{display:block;margin-top:.2rem;font-size:2.4rem;line-height:1}
.result-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem}
.metric{min-width:0;padding:.9rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-paper)}
.metric span{display:block;color:var(--color-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.metric strong{display:block;margin-top:.2rem;font-size:1.2rem;line-height:1.15}
.metric small{display:block;margin-top:.25rem;color:var(--color-muted);font-size:.68rem;white-space:normal}
.actions,.row-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.result-panel{align-self:start}
.drop{min-height:11rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.2rem;border:1.5px dashed var(--color-rule-strong);border-radius:.9rem;background:var(--color-paper);text-align:center;cursor:pointer}
.drop input{display:none}
.drop strong{font-size:1rem}
.drop p{margin:0;font-size:.78rem}
.filebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-rule)}
.filebar small{display:block;color:var(--color-muted)}
.choice-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem}
.choice{min-height:4.7rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-surface);text-align:left;padding:.8rem;cursor:pointer}
.choice.selected{border-color:var(--color-green);background:var(--color-green-soft)}
.choice strong,.choice small{display:block}
.choice small{margin-top:.25rem;color:var(--color-muted);white-space:normal}
.diagram{margin-top:.9rem;padding:1rem;border:1px solid var(--color-rule);border-radius:.9rem;background:var(--color-paper)}
.spread{display:flex;justify-content:center;gap:1rem;margin-top:1rem}
.page{width:7.4rem;height:9.8rem;position:relative;border:1px solid var(--color-rule-strong);background:white}
.gutter{position:absolute;inset-block:0;width:1.35rem;background:var(--color-green-soft)}
.gutter.left{left:0}.gutter.right{right:0}
.line{position:absolute;height:.4rem;border-radius:999px;background:var(--color-rule);left:2rem;right:.8rem}
.page.r .line{left:.8rem;right:2rem}.l1{top:2rem}.l2{top:3.3rem}.l3{top:5rem}
.preview{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.preview iframe,.placeholder{width:100%;height:28rem;border:1px solid var(--color-rule);border-radius:.9rem;background:var(--color-paper)}
.placeholder{display:grid;place-items:center;padding:1.2rem;color:var(--color-muted);text-align:center}
.pdf-preview-panel{padding:1rem}
.preview-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;font-size:.78rem;font-weight:800}
.canvas-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.canvas-card{padding:1rem}
.canvas-card h3{margin:0 0 .7rem;font-size:.9rem}
.canvas-wrap{min-height:18rem;display:flex;align-items:center;justify-content:center;overflow:auto;padding:.7rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-paper)}
.canvas-wrap canvas,.preview-image{display:block;max-width:100%;height:auto;background:white}
.range-line{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
input[type="range"]{width:100%;min-height:2.8rem;accent-color:var(--color-green)}
.pill-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}
.pill{display:inline-flex;align-items:center;min-height:2rem;padding-inline:.6rem;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper);font-size:.7rem;font-weight:750}
.mini-note{margin-top:.55rem;color:var(--color-muted);font-size:.76rem}
.article{max-width:70rem;margin-inline:auto;padding-block:3.5rem}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.article-card{padding:1.1rem;border:1px solid var(--color-rule);border-radius:1rem;background:var(--color-surface)}
.article h2,.article-card h2{margin:0 0 .55rem;font-size:1rem}
.article p,.article-card p{margin:0;color:var(--color-ink-2);font-size:.85rem;line-height:1.65}
.content-page .content-shell{max-width:58rem;padding-block:4rem}
.content-page h1{margin:.9rem 0 1.2rem;font-family:var(--font-display);font-size:clamp(3rem,7vw,5.8rem);line-height:.92;letter-spacing:-.055em}
.content-page .content-shell>p{color:var(--color-ink-2);font-size:1.05rem}
.review-form{display:grid;gap:1rem;margin-top:1.5rem;padding:1.2rem;border:1px solid var(--color-rule);border-radius:1rem;background:var(--color-surface)}
.rating-row{display:flex;gap:.35rem}
.rating-star{width:2.7rem;height:2.7rem;border:1px solid var(--color-rule);border-radius:.7rem;background:var(--color-paper);font-size:1.2rem;cursor:pointer}
.rating-star.is-active{background:var(--color-green-soft);border-color:var(--color-green)}
textarea{min-height:8rem;resize:vertical}

/* footer */
.footer{margin-top:2.5rem;border-top:1px solid var(--color-rule);background:var(--color-surface)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:2.5rem}
.footer-brand p{max-width:28rem;margin:.5rem 0 0;color:var(--color-muted);font-size:.82rem}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.footer-links strong{display:block;margin-bottom:.45rem;font-size:.78rem}
.footer-links a{display:block;margin-block:.3rem;color:var(--color-muted);font-size:.78rem;text-decoration:none}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;padding-block:1rem;border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:.72rem}

/* responsive */
@media (hover:hover) and (pointer:fine){
  .primary-nav>a:hover,.nav-details>summary:hover{background:var(--color-paper-2)}
  .filter-chip:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 oklch(100% 0 0/.95),0 9px 20px oklch(20% .01 100/.08)}
  .tool-search button:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 oklch(100% 0 0/.14),0 10px 18px oklch(18% .01 100/.2)}
  .mega-link:hover,.mega-category:hover,.lang-panel a:hover{background:var(--color-paper-2)}
  .button:hover{background:var(--color-paper-2)}
  .button.primary:hover{background:var(--color-green-2)}
  .button.dark:hover{background:var(--color-ink-2)}
  .tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
  .choice:hover{background:var(--color-paper)}
}
@media (min-width:40rem){
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .segmented{grid-template-columns:repeat(2,minmax(0,1fr))}
  .segmented.three-modes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tool-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-item:nth-child(odd){border-right:1px solid var(--color-rule)}
  .trust-item:nth-last-child(-n+2){border-bottom:0}
  .article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
}
@media (min-width:52rem){
  .primary-nav,.header-actions{display:flex}
  .mobile-nav{display:none}
  .home-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(25rem,.92fr)}
  .home-hero-visual{min-height:40rem}
  .tool-hero-card{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr)}
  .tool-hero-art{min-height:100%}
  .tool-workbench{grid-template-columns:minmax(20rem,.9fr) minmax(0,1.1fr)}
  .result-panel{position:sticky;top:6rem}
  .canvas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdf-preview-panel{position:sticky;top:6rem}
}
@media (min-width:70rem){
  .tool-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tool-card{grid-template-columns:1fr;align-content:start}
  .tool-card-icon{width:100%;height:7.6rem;font-size:3.4rem}
  .tool-card-arrow{grid-column:1;justify-self:end}
  .trust-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .trust-item{border-bottom:0;border-right:1px solid var(--color-rule)}
  .trust-item:last-child{border-right:0}
  .brand-section{grid-template-columns:1.15fr .85fr}
}
@media (max-width:51.99rem){
  .header-inner{grid-template-columns:auto 1fr auto}
  .brand{font-size:1.35rem}
  .brand img{width:2rem;height:2rem}
  .mega-panel,.lang-panel{display:none}
}
@media (max-width:31rem){
  .shell{width:min(100% - 1rem,88rem)}
  .home-hero-copy{padding:1.55rem}
  .home-hero h1{margin-top:1.05rem;font-size:3.1rem;line-height:.92}
  .home-hero .lede{margin-top:1.05rem;font-size:1rem;line-height:1.55}
  .tool-search{grid-template-columns:2.7rem minmax(0,1fr) 3rem;min-height:3.8rem;margin-top:1.5rem}
  .filter-label{margin-top:1.25rem}
  .filter-chip{font-size:.76rem;min-height:2.55rem}
  .result-grid{grid-template-columns:minmax(0,1fr)}
  .actions .button,.row-actions .button{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

.result-panel:has(#processedWrap:not([hidden]))>.placeholder{display:none}

.tool-card[href*="pumpkin-stencil-maker"]{background:var(--color-pumpkin)}

.section-heading a{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.trust-item strong,.trust-item span{white-space:normal}
.footer-links a{white-space:normal}
.mega-tools,.mega-link>span:last-child,.tool-card-copy{min-width:0}
.category-badge .icon,.tool-trust .icon{color:var(--color-green)}
.rating-star .icon{width:1.2rem;height:1.2rem}
.rating-star.is-active .icon{fill:var(--color-green);color:var(--color-green)}
@media (min-width:70rem){
  .tool-card{min-height:15rem}
  .tool-card-icon{height:7rem}
}

.mega-category>span{min-width:0;white-space:normal}
.mega-category>.icon:last-child{margin-left:auto}
.mega-link[href*="/candles/"] .mega-icon,.tool-card[data-category="candle"] .tool-card-icon{color:oklch(57% .16 65)}
.mega-link[href*="/pdf/"] .mega-icon,.tool-card[data-category="pdf"] .tool-card-icon{color:oklch(55% .14 255)}
.mega-link[href*="halloween-candy"] .mega-icon,.tool-card[href*="halloween-candy"] .tool-card-icon{color:oklch(58% .18 35)}
.mega-link[href*="pumpkin-stencil"] .mega-icon,.tool-card[href*="pumpkin-stencil"] .tool-card-icon{color:oklch(56% .13 300)}
.mega-link[href*="/christmas/"] .mega-icon,.tool-card[data-category="christmas"] .tool-card-icon{color:var(--color-green)}
.scene-screen-inner strong,.scene-screen-inner span{white-space:normal}

.trust-icon>.icon{position:absolute;left:50%;top:50%;width:1.12rem;height:1.12rem;margin:0;vertical-align:0;transform:translate(-50%,-50%)}

/* expanded tool catalogue */
.batch-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
.batch-card{min-width:0;overflow:hidden;border:1px solid var(--color-rule);border-radius:.9rem;background:var(--color-paper)}
.batch-card>img{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--color-surface)}
.batch-card-body{display:grid;gap:.35rem;padding:.8rem}
.batch-card-body strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.batch-card-body span{color:var(--color-muted);font-size:.72rem}
.batch-card-body .button{justify-self:start;margin-top:.35rem}
.bill-head,.bill-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(4.5rem,.55fr) minmax(6rem,.8fr) auto;gap:.5rem;align-items:center}
.bill-head{padding:.25rem .2rem .45rem;color:var(--color-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.bill-list{display:grid;gap:.5rem}
.bill-row input{width:100%;min-width:0;min-height:2.7rem;border:1px solid var(--color-rule-strong);border-radius:.65rem;background:var(--color-surface);padding:.55rem .7rem}
.table-scroll{overflow:auto;border:1px solid var(--color-rule);border-radius:.8rem}
.cash-table{width:100%;border-collapse:collapse;min-width:32rem;font-size:.75rem}
.cash-table th,.cash-table td{padding:.65rem .7rem;text-align:left;border-bottom:1px solid var(--color-rule)}
.cash-table th{background:var(--color-paper);color:var(--color-muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.05em}
.cash-table tbody tr:last-child td{border-bottom:0}
.pdf-preview-panel>iframe{width:100%;height:32rem;border:1px solid var(--color-rule);border-radius:.9rem;background:var(--color-paper)}
.result-panel:has(#previews:not([hidden]))>.placeholder{display:none}
.tool-card[data-category="image"] .tool-card-icon,.mega-link[href*="/images/"] .mega-icon{color:oklch(55% .14 225)}
.tool-card[data-category="social"] .tool-card-icon,.mega-link[href*="/social/"] .mega-icon{color:oklch(55% .15 310)}
.tool-card[data-category="finance"] .tool-card-icon,.mega-link[href*="/finance/"] .mega-icon{color:oklch(48% .13 145)}
.tool-card[data-category="crafts"] .tool-card-icon,.mega-link[href*="/crafts/"] .mega-icon{color:oklch(58% .14 55)}
@media(min-width:40rem){.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:38rem){.bill-head{display:none}.bill-row{grid-template-columns:1fr 1fr}.bill-row>input:first-child{grid-column:1/-1}.bill-row>.button{grid-column:1/-1}}
@media(min-width:70rem){.tool-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

:root{--color-labels:oklch(95.5% .05 95)}
.theme-labels{--tool-soft:var(--color-labels)}
.tool-card[data-category="labels"]{background:var(--color-labels)}
.tool-card[data-category="labels"] .tool-card-icon,.mega-link[href*="/labels/"] .mega-icon{color:oklch(52% .14 95)}

.passport-source{display:flex;justify-content:center;min-height:7rem;margin-bottom:.8rem;padding:.7rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-paper)}
.passport-source img{display:block;max-width:100%;max-height:10rem;object-fit:contain}
.passport-stage{position:relative;width:min(100%,25rem);margin-inline:auto;overflow:hidden;border:1px solid var(--color-rule-strong);border-radius:.9rem;background:white}
.passport-stage canvas{display:block;width:100%;height:auto}
.passport-guide{position:absolute;inset:0;pointer-events:none}
.guide-oval{position:absolute;left:50%;top:47%;width:48%;height:68%;transform:translate(-50%,-50%);border:1.5px dashed oklch(48% .16 132/.72);border-radius:50%}
.guide-eye{position:absolute;left:18%;right:18%;top:42%;border-top:1px dashed oklch(48% .16 132/.55)}

.crop-schematic{margin-block:1rem;padding:1rem;border:1px solid var(--color-rule);border-radius:.9rem;background:var(--color-paper)}
.crop-page{position:relative;width:min(15rem,75%);aspect-ratio:8.5/11;margin-inline:auto;border:1px solid var(--color-rule-strong);background:white;box-shadow:0 8px 18px oklch(20% .01 100/.06)}
.crop-box{position:absolute;inset:0;border:2px solid var(--color-green);background:oklch(70% .12 132/.08)}

#csvInput{min-height:11rem;font-family:var(--font-mono);font-size:.78rem;white-space:pre;overflow:auto}
#previewCanvas:empty{min-height:12rem}
.tool-page .canvas-wrap>canvas{max-height:36rem;object-fit:contain}

.mega-link[href*="/print/"] .mega-icon{color:oklch(55% .14 255)}

.reorder-strip{display:flex;gap:.65rem;overflow-x:auto;padding:.2rem .1rem .55rem;scrollbar-width:thin}
.reorder-thumb{width:7.4rem;flex:0 0 7.4rem;display:grid;gap:.4rem;padding:.45rem;border:1px solid var(--color-rule);border-radius:.8rem;background:var(--color-surface);cursor:grab;text-align:left;transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}
.reorder-thumb:active{cursor:grabbing}
.reorder-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:.55rem;background:var(--color-paper)}
.reorder-thumb span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem;align-items:center;min-width:0}
.reorder-thumb strong{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:.4rem;background:var(--color-green-soft);color:var(--color-green);font-size:.68rem}
.reorder-thumb small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-size:.66rem}
.reorder-thumb.is-dragging{opacity:.45;transform:scale(.97)}
.reorder-thumb.is-drop-target{border-color:var(--color-green);box-shadow:0 0 0 3px oklch(62% .16 132/.12)}

/* editor workspaces */
.editor-shell{display:grid;gap:.85rem;margin-top:.9rem;margin-bottom:2.5rem}
.editor-toolbar{padding:.75rem}
.editor-file-row,.editor-tool-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.editor-file-row{padding-bottom:.65rem;border-bottom:1px solid var(--color-rule)}
.editor-tool-row{padding-top:.65rem}
.editor-toolbar-spacer{flex:1 1 auto}
.editor-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted)}
.icon-button,.tool-button{min-height:2.45rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--color-rule);border-radius:.65rem;background:var(--color-surface);color:var(--color-ink);font-size:.75rem;font-weight:800;cursor:pointer}
.icon-button{width:2.45rem;padding:0}
.tool-button{padding-inline:.68rem}
.tool-button:hover,.icon-button:hover,.tool-button.is-active{border-color:var(--color-rule-strong);background:var(--color-green-soft)}
.danger-ghost{color:oklch(48% .18 28)}
.editor-workspace{display:grid;grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);gap:.85rem;align-items:start}
.editor-sidebar{padding:.85rem;position:sticky;top:5.4rem;max-height:calc(100vh - 6.4rem);overflow:auto}
.editor-control-group{padding:.8rem 0;border-bottom:1px solid var(--color-rule)}
.editor-control-group:first-child{padding-top:0}.editor-control-group:last-child{border-bottom:0;padding-bottom:0}
.editor-control-group h2,.pdf-editor-settings h2{margin:0 0 .65rem;font-size:.82rem}
.form-grid.compact{gap:.55rem}.form-grid.compact .field{gap:.28rem}
.editor-canvas-panel{min-width:0;padding:.8rem}
.editor-stage{--editor-ratio:4/3;display:grid;place-items:center;min-height:32rem;padding:1rem;overflow:auto;border:1px solid var(--color-rule);border-radius:.9rem;background:oklch(89% .01 100)}
.editor-stage .canvas-container{max-width:100%;box-shadow:0 16px 35px oklch(20% .01 100/.15)}
.editor-stage canvas{max-width:none}
.pdf-editor-workspace{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.85rem;align-items:start}
.pdf-pages-panel{padding:.7rem;position:sticky;top:5.4rem;max-height:calc(100vh - 6.4rem);overflow:hidden}
.pdf-page-list{display:grid;gap:.55rem;max-height:calc(100vh - 12rem);overflow:auto;padding-right:.2rem}
.pdf-page-thumb{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.55rem;align-items:center;width:100%;padding:.45rem;border:1px solid var(--color-rule);border-radius:.7rem;background:var(--color-surface);cursor:grab;text-align:left}
.pdf-page-thumb img{display:block;width:3rem;height:4rem;object-fit:contain;background:white;border:1px solid var(--color-rule)}
.pdf-page-thumb span{display:grid;gap:.15rem;min-width:0}.pdf-page-thumb strong{font-size:.78rem}.pdf-page-thumb small{font-size:.65rem;color:var(--color-muted)}
.pdf-page-thumb.is-active{border-color:var(--color-green);box-shadow:0 0 0 2px oklch(62% .16 132/.12)}
.pdf-page-thumb.is-dragging{opacity:.45}.pdf-page-thumb.is-drop-target{border-color:var(--color-green)}
.pdf-editor-settings{padding:.15rem 0 .8rem}
.pdf-editor-stage{min-height:42rem}
.editor-note{margin-bottom:0}
.editor-page input[type="color"]{min-height:2.7rem;padding:.25rem}
@media(max-width:60rem){
  .editor-workspace{grid-template-columns:1fr}
  .editor-sidebar{position:static;max-height:none}
  .pdf-editor-workspace{grid-template-columns:1fr}
  .pdf-pages-panel{position:static;max-height:none}
  .pdf-page-list{display:flex;overflow-x:auto;max-height:none;padding-bottom:.35rem}
  .pdf-page-thumb{width:7rem;flex:0 0 7rem;grid-template-columns:1fr}
  .pdf-page-thumb img{width:100%;height:6rem}
  .pdf-editor-stage,.editor-stage{min-height:26rem}
}
@media(max-width:38rem){
  .editor-file-row,.editor-tool-row{gap:.35rem}
  .tool-button{padding-inline:.52rem;font-size:.7rem}
  .editor-canvas-panel,.editor-toolbar{padding:.55rem}
  .editor-stage{padding:.5rem}
}

.merge-file-list{display:grid;gap:.55rem;margin-block:.8rem}
.merge-file-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto 2rem;gap:.6rem;align-items:center;width:100%;padding:.65rem;border:1px solid var(--color-rule);border-radius:.72rem;background:var(--color-surface);text-align:left;cursor:grab}
.merge-file-row strong{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:.45rem;background:var(--color-green-soft);color:var(--color-green);font-size:.7rem}
.merge-file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}
.merge-file-row small{color:var(--color-muted)}
.merge-file-row b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:.45rem;color:oklch(48% .18 28);font-size:1rem}
.merge-file-row.is-dragging{opacity:.45}.merge-file-row.is-drop-target{border-color:var(--color-green);box-shadow:0 0 0 2px oklch(62% .16 132/.12)}
@media(max-width:38rem){.merge-file-row{grid-template-columns:2rem minmax(0,1fr) 2rem}.merge-file-row small{grid-column:2}}


/* Hybrid 3D hero: clay objects + restrained glass controls */
.studio-scene{perspective:70rem}
.scene-laptop{transform-style:preserve-3d;filter:drop-shadow(0 1.15rem 1rem oklch(20% .01 100/.11))}
.scene-screen{position:relative;transform:rotateX(.8deg) translateZ(.2rem);box-shadow:inset 0 1px 0 oklch(100% 0 0/.16),0 1.25rem 2.8rem oklch(20% .01 100/.16)}
.scene-screen::after{content:"";position:absolute;left:8%;right:8%;top:5%;height:.22rem;border-radius:999px;background:oklch(100% 0 0/.72);pointer-events:none}
.scene-screen-inner img{filter:drop-shadow(0 .38rem .32rem oklch(35% .12 132/.18))}
.scene-base{position:relative;transform:translateZ(-.25rem)}
.scene-base::after{content:"";position:absolute;left:10%;right:10%;bottom:-.72rem;height:.72rem;border-radius:50%;background:oklch(28% .01 98/.12);filter:blur(.28rem)}

.scene-object{
  --clay-face:oklch(98.8% .008 88);
  --clay-side:oklch(78% .035 88);
  isolation:isolate;
  transform-style:preserve-3d;
  background:var(--clay-face);
  border-color:oklch(100% 0 0/.92);
  box-shadow:inset .12rem .16rem 0 oklch(100% 0 0/.78),inset -.16rem -.2rem 0 oklch(52% .03 90/.08),0 1.1rem 1.55rem oklch(20% .01 100/.16);
}
.scene-object::before{content:"";position:absolute;inset:.42rem -.42rem -.48rem .42rem;border-radius:inherit;background:var(--clay-side);z-index:-1;box-shadow:0 .55rem .85rem oklch(20% .01 100/.13)}
.scene-object::after{content:"";position:absolute;left:15%;right:25%;top:11%;height:.32rem;border-radius:999px;background:oklch(100% 0 0/.72);pointer-events:none}
.scene-object .icon{position:relative;z-index:1;filter:drop-shadow(0 .16rem .08rem oklch(20% .02 100/.14))}
.scene-candle{--clay-face:oklch(98.5% .018 62);--clay-side:oklch(78% .105 58);background:var(--clay-face);transform:perspective(18rem) rotateY(9deg) rotateX(5deg) rotateZ(-2deg)}
.scene-pumpkin{--clay-face:oklch(77% .15 48);--clay-side:oklch(61% .17 44);background:var(--clay-face);transform:perspective(18rem) rotateY(-9deg) rotateX(5deg) rotateZ(2deg)}
.scene-tree{--clay-face:oklch(91% .07 135);--clay-side:oklch(72% .13 137);background:var(--clay-face);transform:perspective(18rem) rotateY(-8deg) rotateX(5deg) rotateZ(1deg)}

.scene-chip{
  position:absolute;
  isolation:isolate;
  overflow:hidden;
  border-color:oklch(100% 0 0/.88);
  background:oklch(99.2% .007 88/.64);
  backdrop-filter:blur(22px) saturate(135%);
  box-shadow:inset 0 1px 0 oklch(100% 0 0/.98),inset 0 -.18rem 0 oklch(50% .02 90/.06),0 .9rem 1.8rem oklch(20% .01 100/.14);
  transform:translateZ(.85rem);
}
.scene-chip::before{content:"";position:absolute;left:.7rem;right:32%;top:.34rem;height:.18rem;border-radius:999px;background:oklch(100% 0 0/.76);pointer-events:none}
.scene-chip::after{content:"";position:absolute;left:11%;right:11%;bottom:-.38rem;height:.45rem;border-radius:50%;background:oklch(24% .01 100/.1);filter:blur(.22rem);z-index:-1}
.scene-chip .icon,.scene-chip span{position:relative;z-index:1}

.tool-search{transform:translateZ(0);box-shadow:inset 0 1px 0 oklch(100% 0 0/.98),inset 0 -.16rem 0 oklch(55% .02 90/.06),0 .8rem 1.8rem oklch(20% .01 100/.09)}
.tool-search button{position:relative;transform:translateY(-.08rem);box-shadow:inset 0 1px 0 oklch(100% 0 0/.14),0 .28rem 0 oklch(10% .01 100/.72),0 .72rem 1rem oklch(18% .01 100/.18)}
.tool-search button:active{transform:translateY(.17rem);box-shadow:inset 0 1px 0 oklch(100% 0 0/.1),0 .08rem 0 oklch(10% .01 100/.72),0 .3rem .55rem oklch(18% .01 100/.14)}
.filter-chip{position:relative;transform:translateY(-.04rem);box-shadow:inset 0 1px 0 oklch(100% 0 0/.98),inset 0 -.13rem 0 oklch(55% .02 90/.055),0 .34rem .7rem oklch(20% .01 100/.065)}
.filter-chip.is-active{transform:translateY(-.12rem);box-shadow:inset 0 1px 0 oklch(100% 0 0/.98),inset 0 -.16rem 0 oklch(48% .11 132/.12),0 .48rem .95rem oklch(45% .1 132/.12)}
.kicker{box-shadow:inset 0 1px 0 oklch(100% 0 0/.96),inset 0 -.12rem 0 oklch(48% .1 132/.08),0 .48rem 1rem oklch(26% .04 132/.08)}

@keyframes quicklio-float-a{0%,100%{translate:0 0}50%{translate:0 -.38rem}}
@keyframes quicklio-float-b{0%,100%{translate:0 0}50%{translate:.16rem -.3rem}}
@media (min-width:64rem) and (prefers-reduced-motion:no-preference){
  .scene-chip.candle,.scene-chip.christmas,.scene-candle{animation:quicklio-float-a 6.4s ease-in-out infinite}
  .scene-chip.pdf,.scene-chip.halloween,.scene-pumpkin,.scene-tree{animation:quicklio-float-b 7.1s ease-in-out infinite}
}
@media (prefers-reduced-motion:reduce){
  .scene-chip,.scene-object{animation:none!important}
}

/* hybrid-3d-qa-stamp */

/* SEO navigation and collection hubs */
.seo-breadcrumb{display:flex;align-items:center;gap:.45rem;padding-top:.9rem;padding-bottom:.1rem;color:var(--color-muted);font-size:.72rem}
.seo-breadcrumb a{color:inherit;text-decoration:none}.seo-breadcrumb a:hover{color:var(--color-ink);text-decoration:underline;text-underline-offset:.2em}.seo-breadcrumb [aria-current="page"]{color:var(--color-ink);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.collection-strip{margin-top:1rem;margin-bottom:1.5rem}.collection-grid{display:grid;gap:.75rem}.collection-card{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--color-rule);border-radius:1rem;background:var(--color-surface);text-decoration:none;color:var(--color-ink);box-shadow:0 .45rem 1rem oklch(20% .01 100/.05)}.collection-card:hover{border-color:var(--color-rule-strong);transform:translateY(-1px)}.collection-card strong{font-size:.95rem}.collection-card span{color:var(--color-muted);font-size:.76rem;line-height:1.45}
@media(min-width:48rem){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Analytics consent */
.analytics-consent{position:fixed;z-index:1000;left:50%;bottom:1rem;translate:-50% 0;width:min(58rem,calc(100% - 1.5rem));display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--color-rule-strong);border-radius:1rem;background:oklch(99% .006 88/.97);box-shadow:0 1.2rem 3rem oklch(18% .01 100/.18);backdrop-filter:blur(18px)}
.analytics-consent-copy{display:grid;gap:.25rem;max-width:44rem}.analytics-consent-copy strong{font-size:.9rem}.analytics-consent-copy p{margin:0;color:var(--color-muted);font-size:.74rem;line-height:1.45}.analytics-consent-copy a{width:max-content;color:var(--color-green);font-size:.7rem;font-weight:800;text-decoration:underline;text-underline-offset:.18em}
.analytics-consent-actions{display:flex;flex:0 0 auto;gap:.5rem;align-items:center}
.footer-text-button{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.footer-text-button:hover{text-decoration:underline;text-underline-offset:.18em}
@media(max-width:42rem){.analytics-consent{align-items:stretch;flex-direction:column}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions .button{justify-content:center}}
