*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.table{display:table}.list-item{display:list-item}.shrink{flex-shrink:1}.resize{resize:both}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg: #e6e6e6;--surface: #e6e6e6;--surface-raised: #efefef;--surface-overlay: #f7f7f8;--surface-border: rgba(47, 49, 54, .12);--paper: #ffffff;--paper-soft: #f7f7f8;--text-main: #2f3136;--text-muted: #72757e;--text-soft: #9a9ca3;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-muted: #6366f120;--shadow-light: #ffffff;--shadow-dark: rgba(163, 163, 163, .55);--outer-shadow: 8px 8px 18px rgba(163, 163, 163, .45), -8px -8px 18px rgba(255, 255, 255, .85);--soft-shadow: 5px 5px 12px rgba(163, 163, 163, .42), -5px -5px 12px rgba(255, 255, 255, .82);--deep-shadow: 12px 12px 24px rgba(163, 163, 163, .42), -12px -12px 24px rgba(255, 255, 255, .86);--inset-shadow: inset 5px 5px 10px rgba(163, 163, 163, .3), inset -5px -5px 10px rgba(255, 255, 255, .9);--inset-soft-shadow: inset 3px 3px 7px rgba(163, 163, 163, .28), inset -3px -3px 7px rgba(255, 255, 255, .85);--pdf: #f5a3a3;--image: #a9e9ba;--text: #bfb6f4;--calculate: #f2d887;--create: #a8cef5;--productivity: #bdd6dc;--developer: #99d8ec;--privacy: #dda9ef;--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--page-pad: clamp(18px, 3vw, 32px);--card-pad: clamp(22px, 4vw, 40px);--font-body: "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}:root[data-theme=dark]{--bg: #202225;--surface: #202225;--surface-raised: #25282d;--surface-overlay: #2b2f35;--surface-border: rgba(255, 255, 255, .12);--paper: #f4f4f2;--paper-soft: #e9eaec;--text-main: #f0f1f2;--text-muted: #b7bbc2;--text-soft: #858b95;--shadow-light: rgba(255, 255, 255, .08);--shadow-dark: rgba(0, 0, 0, .72);--outer-shadow: 9px 9px 20px rgba(0, 0, 0, .55), -8px -8px 18px rgba(255, 255, 255, .055);--soft-shadow: 5px 5px 12px rgba(0, 0, 0, .52), -5px -5px 12px rgba(255, 255, 255, .055);--deep-shadow: 12px 12px 26px rgba(0, 0, 0, .58), -10px -10px 24px rgba(255, 255, 255, .05);--inset-shadow: inset 5px 5px 11px rgba(0, 0, 0, .52), inset -5px -5px 11px rgba(255, 255, 255, .055);--inset-soft-shadow: inset 3px 3px 8px rgba(0, 0, 0, .42), inset -3px -3px 8px rgba(255, 255, 255, .055);--pdf: #b85f64;--image: #58a86d;--text: #8170c4;--calculate: #b89145;--create: #5891c5;--productivity: #6f9098;--developer: #4aa7c4;--privacy: #a456b8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text-main);font-family:var(--font-body);font-size:16px;line-height:1.5;font-weight:500}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;pointer-events:none;content:"";background:radial-gradient(circle at 12% 18%,rgba(243,199,199,.32),transparent 28%),radial-gradient(circle at 88% 12%,rgba(201,221,242,.32),transparent 30%),radial-gradient(circle at 18% 86%,rgba(201,232,210,.28),transparent 32%),radial-gradient(circle at 82% 82%,rgba(214,209,240,.28),transparent 30%)}:root[data-theme=dark] body:before{background:radial-gradient(circle at 12% 18%,rgba(159,102,104,.18),transparent 28%),radial-gradient(circle at 88% 12%,rgba(95,127,157,.2),transparent 30%),radial-gradient(circle at 18% 86%,rgba(93,138,106,.16),transparent 32%),radial-gradient(circle at 82% 82%,rgba(122,114,166,.18),transparent 30%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select,button{max-width:100%}input[type=range]{width:100%;accent-color:var(--text-main);cursor:pointer}input[type=color]{overflow:hidden}input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#2f3136;cursor:pointer}:root[data-theme=dark] input[type=checkbox]{accent-color:#c9ddf2}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-accent-muted);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark,.search-section label,.section-heading h2,.privacy-panel h2,.tool-hero h1{font-family:var(--font-display)}p{margin-bottom:0}.app{position:relative;width:calc(100% - (var(--page-pad) * 2));max-width:1180px;margin:0 auto}.background-decor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;overflow:hidden}.decor-icon{position:absolute;width:118px;height:118px;min-width:118px;border-radius:34px;opacity:.18;filter:blur(.2px);transform:rotate(var(--decor-rotate, -8deg));box-shadow:none}.decor-icon svg{width:58px;height:58px;stroke-width:1.25}.decor-a{top:110px;left:max(22px,calc(50vw - 760px));--decor-rotate: -12deg}.decor-b{top:42%;left:max(12px,calc(50vw - 820px));--decor-rotate: 10deg}.decor-c{right:max(28px,calc(50vw - 790px));top:160px;--decor-rotate: 14deg}.decor-d{right:max(10px,calc(50vw - 830px));top:58%;--decor-rotate: -10deg}.decor-e{left:18%;bottom:90px;--decor-rotate: 7deg}.decor-f{right:18%;bottom:70px;--decor-rotate: -6deg}.decor-g{left:49%;top:28px;width:92px;height:92px;min-width:92px;border-radius:28px;--decor-rotate: 9deg}.decor-g svg{width:46px;height:46px}.decor-h{left:54%;bottom:18%;width:88px;height:88px;min-width:88px;border-radius:26px;--decor-rotate: -14deg}.decor-h svg{width:44px;height:44px}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0}.site-footer{flex-wrap:wrap;color:var(--text-muted);font-size:.95rem}.creator-credit,.creator-link{display:inline-flex;align-items:center}.creator-credit{gap:7px;color:var(--text-muted)}.creator-link{gap:6px;min-height:34px;padding:7px 11px;border-radius:999px;color:var(--text-main);background:var(--surface);box-shadow:var(--inset-soft-shadow);font-weight:700;line-height:1}.creator-link:hover{box-shadow:var(--soft-shadow)}.heart-icon,.github-icon{flex:0 0 auto;display:block}.heart-icon{width:16px;height:16px;fill:#e23a3a}.github-icon{width:17px;height:17px;fill:currentColor}.wordmark{display:inline-flex;align-items:center;gap:10px;letter-spacing:0}.wordmark-title{font-family:var(--font-display);color:var(--text-main);font-size:1.22rem;font-weight:700;line-height:1}.icon-shell{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:16px;background:var(--surface);box-shadow:var(--soft-shadow);font-size:.76rem;font-weight:700;line-height:1}.logo-mark{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:17px;background:var(--surface);color:var(--text-main);box-shadow:var(--soft-shadow)}.logo-mark svg{width:30px;height:30px}.logo-mark path:first-child{fill:var(--surface-raised);stroke:currentColor;stroke-width:2}.logo-mark path:not(:first-child),.logo-mark circle{stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.logo-mark circle{fill:var(--create)}.icon-shell svg{width:22px;height:22px}.tool-card .icon-shell{width:58px;height:58px;border-radius:20px}.tool-card .icon-shell svg{width:27px;height:27px}.tool-hero .icon-shell{width:64px;height:64px;border-radius:22px}.tool-hero .icon-shell svg{width:30px;height:30px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;order:2;margin-left:auto}.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;order:3}.mobile-menu-button,.mobile-menu-head,.nav-scrim{display:none}.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-links a,.nav-dropdown-trigger{flex:0 0 auto;border-bottom:2px solid transparent;padding:10px 14px;border-radius:999px;border-top:0;border-right:0;border-left:0;min-height:44px;color:var(--text-muted);background:transparent;font-size:.94rem;font-weight:700;line-height:1.2;cursor:pointer}.nav-links a:hover,.nav-links a.active,.nav-dropdown-trigger:hover,.nav-dropdown-trigger.active{color:var(--text-main);box-shadow:var(--inset-soft-shadow)}.nav-links a.active,.nav-dropdown-trigger.active{border-bottom-color:var(--color-accent)}.nav-dropdown{position:relative;flex:0 0 auto}.tools-dropdown{position:absolute;top:calc(100% + 10px);left:0;z-index:50;display:grid;width:280px;gap:8px;padding:16px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-overlay);box-shadow:0 18px 48px #00000038}.tools-dropdown a{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 10px;border:0;border-radius:8px}.tools-dropdown .icon-shell{width:38px;min-width:38px;height:38px;border-radius:12px;box-shadow:none}.tools-dropdown .icon-shell svg{width:20px;height:20px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:0;border-radius:999px;padding:10px 14px;background:var(--surface);color:var(--text-main);box-shadow:var(--soft-shadow);cursor:pointer;font-size:.9rem;font-weight:700;line-height:1.2}.install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:999px;padding:10px 14px;background:var(--surface);color:var(--text-main);box-shadow:var(--soft-shadow);cursor:pointer;font-size:.9rem;font-weight:700;line-height:1.2}.install-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.install-button:active{box-shadow:var(--inset-soft-shadow)}.theme-icon{display:inline-grid;place-items:center;width:18px;height:18px}.theme-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-icon circle{fill:currentColor;stroke:none}.theme-toggle:active{box-shadow:var(--inset-soft-shadow)}.home-page,.tool-page,.tools-index{display:grid;gap:42px;padding-bottom:56px}.tools-index-hero{padding:var(--card-pad)}.tools-index-hero h1{max-width:760px;margin-bottom:14px;font-size:clamp(2.6rem,6vw,5rem);font-weight:700;line-height:1.04}.tools-index-hero p:not(.eyebrow){max-width:680px;color:var(--text-muted);line-height:1.65}.neu-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--outer-shadow)}.hero{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:360px;padding:48px;overflow:hidden}.hero-copy,.tool-panel,.output-panel,.search-section{min-width:0}.eyebrow{margin-bottom:12px;color:var(--text-muted);font-size:.92rem;font-weight:700;letter-spacing:.02em}.hero h1{max-width:720px;margin-bottom:20px;font-size:48px;font-weight:800;line-height:1.2;letter-spacing:0;text-wrap:balance}.hero h1>span:first-child{display:block}.typewriter-line{display:inline-flex;align-items:center;max-width:100%}.typewriter-word{display:inline-block;min-width:11ch;max-width:13.5ch;color:var(--text-main);line-height:.98;overflow:hidden;text-overflow:clip;white-space:nowrap}.typewriter-text{display:inline-block;padding:0 .12em .07em;border-radius:.22em;background:linear-gradient(90deg,#c9ddf275,#f3c7c770,#c9e8d26b);transform-origin:left center;animation:typewriterReveal .82s cubic-bezier(.18,.86,.2,1) both;will-change:opacity,transform}:root[data-theme=dark] .typewriter-text{background:linear-gradient(90deg,#5f7f9d6b,#8a659566,#5d8a6a61)}@keyframes typewriterReveal{0%{opacity:.42;transform:translateY(.08em) scale(.985)}55%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.hero-copy>p:not(.eyebrow){max-width:680px;color:var(--text-muted);font-size:1.02rem;line-height:1.65}.privacy-line{margin-top:12px;color:var(--text-main)!important;font-weight:700}.tool-hero p,.privacy-panel p,.section-heading p{color:var(--text-muted);line-height:1.65}.badge-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.badge{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:4px 10px;border:1px solid var(--color-accent-muted);border-radius:999px;background:var(--surface-raised);color:var(--text-main);box-shadow:none;font-size:11px;font-weight:500;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.badge svg{width:12px;height:12px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.hero-stack{position:relative;min-height:300px}.mini-card{position:absolute;display:grid;place-items:center;width:144px;height:112px;border-radius:26px;color:var(--text-main);background:var(--surface);box-shadow:var(--deep-shadow);font-weight:700}.mini-card .icon-shell{width:68px;height:68px;background:transparent;box-shadow:none}.mini-card .icon-shell svg{width:36px;height:36px}.mini-card:nth-child(1){top:14px;left:12px;background:var(--pdf)}.mini-card:nth-child(2){top:102px;right:0;background:var(--image)}.mini-card:nth-child(3){bottom:12px;left:52px;background:var(--create)}.search-section{padding:0}.search-section label{display:block;margin-bottom:18px;font-size:clamp(1.7rem,3vw,2.25rem);font-weight:700;line-height:1.1}.search-box{border-radius:6px;background:transparent}.search-box:focus-within{box-shadow:none}.search-box input,.tool-input,.tool-textarea,.tool-select{width:100%;min-height:52px;border:0;border-radius:20px;background:transparent;color:var(--text-main);padding:15px 18px;line-height:1.4}.search-box input{min-height:40px;border:1px solid var(--surface-border);border-radius:6px;background:var(--surface-raised);padding:12px 16px;font-size:16px}.search-box:focus-within input{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-muted)}.search-box input::-moz-placeholder{color:var(--text-muted);opacity:.4}.search-box input::placeholder{color:var(--text-muted);opacity:.4}.tool-input,.tool-textarea,.tool-select{background:var(--surface);box-shadow:var(--inset-shadow)}.tool-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;font-weight:600}.tool-textarea{min-height:220px;resize:vertical}.helper,.empty-state{margin-top:12px;color:var(--text-muted)}.search-results{display:grid;gap:10px;margin-top:18px}.search-result{display:flex;align-items:center;gap:14px;padding:14px;border-radius:20px}.search-result .icon-shell{flex:0 0 auto}.search-result.active,.search-result:hover{box-shadow:var(--inset-shadow)}.search-result span:last-child{display:grid;gap:3px}.search-result small,.search-result em,.tool-card small{color:var(--text-muted);font-style:normal}.section-block{display:grid;gap:20px}.section-heading{display:grid;gap:8px;max-width:720px}.section-heading h2,.privacy-panel h2,.tool-hero h1{margin:0;font-size:clamp(1.75rem,3.2vw,2.65rem);font-weight:700;line-height:1.12;letter-spacing:0}.category-dot{width:16px;height:16px;border-radius:50%}.category-dot.pdf,.category-pdf{background:var(--pdf)}.category-dot.image,.category-image{background:var(--image)}.category-dot.text,.category-text{background:var(--text)}.category-dot.calculate,.category-calculate{background:var(--calculate)}.category-dot.create,.category-create{background:var(--create)}.category-dot.productivity,.category-productivity{background:var(--productivity)}.category-dot.developer,.category-developer{background:var(--developer)}.category-dot.privacy,.category-privacy{background:var(--privacy)}.tool-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:20px}.tool-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;min-width:0;min-height:240px;padding:20px;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface);box-shadow:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.favorite-button{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:var(--surface);color:var(--text-muted);box-shadow:var(--soft-shadow);cursor:pointer;font-size:1.1rem;font-weight:700;line-height:1;transition:transform .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease}.favorite-button:hover,.favorite-button.active{color:var(--text-main)}.favorite-button.active{background:var(--color-accent-muted);color:var(--color-accent);animation:favoritePop .22s ease}.tool-card>.favorite-button{position:absolute;top:18px;right:18px}.tool-favorite-button{margin-left:auto;flex:0 0 auto}@media(hover:hover){.tool-card:hover{border-color:var(--color-accent-muted);box-shadow:0 14px 34px var(--color-accent-muted);transform:translateY(-2px)}}.tool-card:active{transform:scale(.98)}.tool-card strong{padding-right:42px;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.tool-card p{margin:0;color:var(--text-muted);line-height:1.55;overflow-wrap:anywhere}.privacy-panel{padding:var(--card-pad)}.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:var(--text-muted)}.tool-hero{display:flex;align-items:flex-start;gap:20px;padding:var(--card-pad)}.tool-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:22px}.tool-panel,.output-panel{padding:var(--card-pad)}.tool-panel{display:grid;align-content:start;gap:18px}.tool-panel h2{margin-bottom:0;line-height:1.15}.output-panel{display:grid;align-content:start;gap:18px}.output-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.output-panel-header h3{margin:0;line-height:1.15}.output-panel-header span{flex:0 0 auto;border-radius:999px;padding:7px 11px;color:var(--text-muted);background:var(--surface);box-shadow:var(--inset-soft-shadow);font-size:.78rem;font-weight:700}.output-panel-body{display:grid;gap:16px;min-width:0}.output-panel .tool-textarea{min-height:280px}.output-panel-body>p:first-child{color:var(--text-muted);line-height:1.55}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.field{display:grid;gap:9px;min-width:0;font-weight:700;line-height:1.35}.field:has(>input[type=checkbox]){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:56px;gap:14px;padding:14px 16px;border-radius:18px;background:var(--surface);box-shadow:var(--inset-soft-shadow)}.field:has(>input[type=checkbox]) input[type=checkbox]{grid-column:2;justify-self:end}.todo-label{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--text-main);font-weight:700}.todo-label span{overflow-wrap:anywhere}.field small{color:var(--text-muted);font-weight:500}.dropzone{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;min-height:84px;padding:18px 20px;border-radius:22px;cursor:pointer;background:var(--surface);box-shadow:var(--inset-shadow);transition:transform .18s ease,box-shadow .18s ease}.dropzone:hover{transform:translateY(-1px);box-shadow:var(--inset-soft-shadow)}.dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone span{font-size:1rem;font-weight:700;overflow-wrap:anywhere}.dropzone strong{grid-row:1 / span 2;grid-column:2;display:inline-flex;align-items:center;min-height:38px;padding:9px 14px;border-radius:999px;background:var(--surface);box-shadow:var(--soft-shadow);font-size:.9rem}.dropzone small,.muted{color:var(--text-muted)}.neu-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:18px;padding:12px 18px;background:var(--color-accent);color:#fff;box-shadow:0 10px 24px var(--color-accent-muted);cursor:pointer;font-weight:700;line-height:1.2;text-align:center;transition:transform .18s ease,box-shadow .18s ease}.neu-button:hover{transform:translateY(-1px);background:var(--color-accent-hover)}.tool-card-tag{display:inline-flex;align-items:center;justify-self:start;min-height:22px;padding:4px 10px;border:1px solid var(--surface-border);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}@keyframes favoritePop{0%,to{transform:scale(1)}55%{transform:scale(1.3)}}@media(min-width:768px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.neu-button:active,.neu-button-ghost,.pressed{transform:translateY(1px);box-shadow:var(--inset-shadow)}.neu-button-ghost{background:transparent;color:var(--text-main)}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.list{display:grid;gap:12px;padding:0;margin:16px 0 0;list-style:none}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:18px;box-shadow:var(--inset-soft-shadow)}.preview-box{overflow:auto;max-height:520px;border-radius:20px;padding:24px;background:var(--surface);box-shadow:var(--inset-shadow)}.markdown-preview{width:min(100%,680px);min-height:640px;margin:0 auto;background:var(--paper);color:#25272d;border-radius:16px;padding:42px 48px;box-shadow:0 18px 40px #2f31361f;font-size:.98rem;line-height:1.68}.markdown-preview>*:first-child{margin-top:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{margin:1.25em 0 .45em;color:#202225;line-height:1.18}.markdown-preview h1{font-size:2rem}.markdown-preview h2{font-size:1.45rem}.markdown-preview h3{font-size:1.18rem}.markdown-preview p,.markdown-preview ul,.markdown-preview ol,.markdown-preview blockquote,.markdown-preview table,.markdown-preview pre{margin:0 0 1rem}.markdown-preview ul,.markdown-preview ol{padding-left:1.35rem}.markdown-preview li{margin:.25rem 0}.markdown-preview blockquote{border-left:4px solid #d7d9df;padding:.6rem 0 .6rem 1rem;color:#555b66;background:var(--paper-soft);border-radius:0 10px 10px 0}.markdown-preview table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:10px}.markdown-preview th,.markdown-preview td{padding:10px 12px;border:1px solid #e2e3e7;text-align:left}.markdown-preview th{background:var(--paper-soft);font-weight:700}.markdown-preview code{border-radius:6px;background:var(--paper-soft);padding:.12rem .32rem;font-family:var(--font-mono);font-size:.92em}.markdown-preview pre{overflow:auto;border-radius:12px;background:#202225;color:#f7f7f8;padding:16px}.markdown-preview pre code{background:transparent;color:inherit;padding:0}.document-date{margin-bottom:18px;color:#737780;font-size:.9rem}.markdown-small{font-size:.88rem}.markdown-large{font-size:1.08rem}.markdown-notes{background-image:linear-gradient(#fff 31px,#edf0f5 32px);background-size:100% 32px}.markdown-report{border-top:8px solid #2f3136}.markdown-tool-layout{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:start}.markdown-editor-panel{display:grid;gap:20px}.panel-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:18px;align-items:start}.panel-heading h2{margin-bottom:8px}.panel-heading p{color:var(--text-muted);line-height:1.55}.markdown-editor{min-height:420px;font-family:var(--font-mono);font-size:.94rem;line-height:1.65;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.markdown-options{grid-template-columns:repeat(4,minmax(0,1fr))}.toggle-row{display:inline-flex;align-items:center;min-height:52px;gap:10px;padding:0 18px;border-radius:20px;background:var(--surface);box-shadow:var(--inset-shadow);color:var(--text-muted)}.document-preview-box{max-height:760px;padding:24px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px}.stat{padding:16px;border-radius:18px;box-shadow:var(--inset-soft-shadow)}.stat strong{display:block;font-size:1.7rem}.canvas-box,.image-preview,.qr-preview,.invoice-preview{max-width:100%;border-radius:18px;background:#fff}.image-preview,.qr-preview{display:block;margin:0 auto;-o-object-fit:contain;object-fit:contain}.image-preview{width:100%;max-height:520px;background:var(--paper)}.qr-preview{width:min(100%,320px);padding:18px;background:var(--paper)}.media-preview-frame{display:grid;place-items:center;width:100%;min-height:280px;overflow:hidden;border-radius:22px;padding:18px;background:linear-gradient(45deg,rgba(120,124,132,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(120,124,132,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(120,124,132,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(120,124,132,.08) 75%);background-color:var(--paper);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;box-shadow:0 18px 38px #2f31361f}.qr-frame{min-height:360px;background:var(--paper)}.brat-preview-frame{min-height:520px}.brat-canvas{display:block;width:min(100%,520px);max-height:620px;border-radius:18px;box-shadow:0 18px 38px #2f313629}.brat-textarea{min-height:96px}.color-input{min-height:52px;padding:8px;cursor:pointer}.signature-canvas{width:100%;min-height:260px;background:#fff;border-radius:18px;touch-action:none;box-shadow:inset 0 0 0 1px #e5e7eb,0 18px 38px #2f31361a}.invoice-preview{width:100%;overflow-x:auto;padding:28px;color:#202225;box-shadow:0 18px 38px #2f31361f}.invoice-preview table{width:100%;border-collapse:collapse}.invoice-preview th,.invoice-preview td{padding:8px;border-bottom:1px solid #ddd;text-align:left}.invoice-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(82px,1fr)) auto;gap:8px;align-items:end}.todo-complete{color:var(--text-muted);text-decoration:line-through}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-loader{display:inline-flex;align-items:center;gap:12px;padding:30px;color:var(--text-muted);font-weight:700}.loader-dot{width:12px;height:12px;border-radius:999px;background:var(--create);box-shadow:var(--soft-shadow)}@media(max-width:760px){:root{--page-pad: 12px;--card-pad: 18px;--radius-xl: 20px;--radius-lg: 16px}body.nav-open{overflow:auto}.app{width:calc(100% - 24px);max-width:440px}.site-header{position:relative;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 18px;width:100%;min-height:56px;margin:0;padding:6px 0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.wordmark{grid-column:1;grid-row:1;gap:8px;min-width:0}.wordmark-title{font-size:1.08rem}.logo-mark{width:36px;height:36px;border-radius:13px}.logo-mark svg{width:23px;height:23px}.mobile-menu-button{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:0;border:0;border-radius:14px;background:var(--surface);color:var(--text-main);box-shadow:var(--soft-shadow);cursor:pointer}.mobile-menu-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-controls{grid-column:2;grid-row:1;justify-self:end;order:1;gap:8px}.header-controls .theme-toggle{width:44px;min-width:44px;height:44px;min-height:44px;justify-content:center;gap:0;padding:0;border-radius:14px;font-size:.84rem}.header-controls .install-button{width:44px;min-width:44px;height:44px;min-height:44px;gap:0;padding:0;border-radius:14px}.header-controls .install-button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-controls .install-button svg{width:17px;height:17px}.header-controls .theme-icon,.header-controls .theme-icon svg{width:17px;height:17px}.header-controls .theme-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-menu-button span{display:block;width:15px;height:1.8px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.mobile-menu-open .mobile-menu-button span:nth-child(1){transform:translateY(3.8px) rotate(45deg)}.mobile-menu-open .mobile-menu-button span:nth-child(2){opacity:0}.mobile-menu-open .mobile-menu-button span:nth-child(3){transform:translateY(-3.8px) rotate(-45deg)}.nav-scrim{display:none}.mobile-menu-open .nav-scrim{position:fixed;top:56px;right:0;bottom:0;left:0;z-index:45;display:block;width:100%;border:0;padding:0;background:transparent;cursor:default}.header-actions{position:relative;z-index:60;grid-column:1 / -1;order:2;margin-left:0;display:grid;align-items:stretch;justify-content:stretch;width:100%;max-height:0;margin-top:0;padding:0;overflow:auto;border:0;border-radius:10px;background:var(--surface-overlay);box-shadow:none;opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-6px);transform-origin:top center;transition:max-height .22s ease,margin .18s ease,padding .18s ease,opacity .16s ease,transform .18s ease,visibility 0ms linear .22s}.mobile-menu-open .header-actions{max-height:min(70vh,620px);margin-top:6px;padding:8px 0;border:1px solid var(--surface-border);box-shadow:var(--outer-shadow);opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0);transition-delay:0ms}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:0 16px;color:var(--text-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.mobile-menu-head button{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:var(--surface);color:var(--text-main);box-shadow:var(--soft-shadow);cursor:pointer;font-size:1rem;font-weight:700;line-height:1}.nav-links{display:grid;align-self:stretch;align-content:start;grid-auto-rows:min-content;grid-template-columns:1fr;justify-items:stretch;width:100%;gap:0;overflow:auto}.nav-links a,.nav-dropdown-trigger{display:flex;align-items:center;width:100%;min-height:48px;justify-content:flex-start;padding:0 16px;border-top:1px solid var(--surface-border);border-bottom:0;border-radius:0;font-size:.94rem;text-align:left;box-shadow:none}.nav-dropdown{width:100%}.nav-dropdown-trigger{justify-content:space-between}.nav-links a.active,.nav-dropdown-trigger.active{color:var(--color-accent);background:var(--color-accent-muted)}.tools-dropdown{position:static;width:100%;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.tools-dropdown a{min-height:48px;padding:0 16px 0 28px;border-top:1px solid var(--surface-border);border-radius:0}.tools-dropdown .icon-shell{width:34px;min-width:34px;height:34px}.home-page,.tool-page,.tools-index{gap:28px;padding-bottom:42px}.search-section{padding:0}.search-section label{margin-bottom:12px;font-size:1.26rem;line-height:1.18}.search-box input,.tool-input,.tool-textarea,.tool-select{min-height:48px;border-radius:16px;padding:12px 14px}.search-box input{min-width:0;min-height:48px;border-radius:6px;padding:12px 16px;font-size:16px;text-overflow:ellipsis}.helper{font-size:.9rem}.hero,.tool-layout,.markdown-tool-layout,.panel-heading,.markdown-options{grid-template-columns:1fr}.markdown-preview{min-height:520px;padding:28px 24px}.output-panel-header{flex-direction:column}.hero{min-height:auto;justify-items:center;gap:16px;padding:32px 16px;border-radius:20px;text-align:center}.hero h1{max-width:100%;margin-bottom:16px;font-size:32px;line-height:1.2;text-wrap:pretty}.typewriter-line{display:block;width:100%}.typewriter-word{min-width:0;max-width:100%;white-space:normal}.hero-copy>p:not(.eyebrow),.privacy-line{max-width:100%!important;font-size:.92rem;line-height:1.52}.privacy-line{margin-top:9px;font-size:.9rem!important}.badge-row{gap:8px;margin-top:13px}.badge{min-height:22px;padding:4px 10px;font-size:11px}.hero-stack{display:none}.section-heading h2,.privacy-panel h2,.tool-hero h1{font-size:clamp(1.48rem,7.6vw,1.95rem)}.tools-index-hero{padding:20px 16px;border-radius:20px}.tools-index-hero h1{margin-bottom:10px;font-size:clamp(1.9rem,9vw,2.45rem)}.tools-index-hero p:not(.eyebrow){line-height:1.52}.tool-grid{grid-template-columns:minmax(0,1fr);gap:12px}.tool-card{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;gap:14px;min-height:240px;padding:20px;border-radius:10px}.tool-card .icon-shell{grid-row:auto;width:58px;height:58px;min-width:58px;border-radius:20px}.tool-card .icon-shell svg{width:27px;height:27px}.tool-card>.favorite-button{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:14px;font-size:1rem}.tool-card strong{grid-column:auto;grid-row:auto;padding-right:0;font-size:1rem;line-height:1.25}.tool-card p{grid-column:auto;grid-row:auto;font-size:.9rem;line-height:1.5}.tool-card small:not(.tool-card-tag){grid-column:auto;grid-row:auto;font-size:.72rem}.section-block{gap:14px}.section-heading{gap:6px}.section-heading p,.privacy-panel p,.tool-hero p{line-height:1.55}.tool-hero{flex-direction:column}.tool-favorite-button{margin-left:0}.invoice-row{grid-template-columns:minmax(0,1fr)}.dropzone{grid-template-columns:1fr}.dropzone strong{grid-row:auto;grid-column:auto;width:-moz-fit-content;width:fit-content}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.typewriter-text{animation:none!important}}.tool-page-content{margin-top:34px;color:var(--muted)}.content-list{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.7}.content-list.ordered{padding-left:1.35rem}.faq-list{display:grid;gap:18px}.faq-list article{display:grid;gap:6px}.faq-list h3{margin:0;color:var(--text);font-family:var(--font-display);font-size:1rem}.faq-list p,.tool-long-description{margin:0;color:var(--muted);line-height:1.7}.hero-link{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:10px;color:var(--text);font-weight:800}@media print{body{background:#fff}.site-header,.site-footer,.breadcrumb,.tool-hero,.tool-panel,.section-block,.button-row,.no-print{display:none!important}.app{width:100%;margin:0}.output-panel,.preview-box,.markdown-preview,.invoice-preview{box-shadow:none!important;border-radius:0;max-height:none;padding:0;background:#fff}}
