:root{--paper:#f3ecdf;--paper-2:#ebe2cf;--paper-3:#e0d4b8;--paper-ink:#d3c5a4;--ink:#111114;--ink-2:#34343a;--ink-3:#6f6f76;--ink-4:#9a9a9f;--rule:#111114;--accent:#d8472b;--accent-deep:#9c2f1a;--accent-soft:#d8472b1a;--ink-blue:#16334c;--good:#2b7a4b;--warn:#b06a1c;--bad:#b3321d;--bg:var(--paper);--bg-color:var(--paper);--surface:var(--paper-2);--border:var(--paper-ink);--border-emphasis:var(--ink);--primary:var(--accent);--primary-glow:var(--accent-soft);--text-main:var(--ink);--text-muted:var(--ink-3);--card-hover-shadow:0 0 0 1px var(--ink), 0 8px 0 -4px var(--ink);--card-hover-border:var(--ink);--font-display:"Fraunces", "Times New Roman", Georgia, serif;--font-body:"General Sans", -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--container:1200px;--gutter:clamp(1rem, 4vw, 2rem);--radius:0;--radius-sm:2px;--radius-md:4px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-overshoot:cubic-bezier(.33, 1.52, .5, .96);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--transition:.2s var(--ease-smooth)}html,body{background-color:var(--paper);color:var(--ink);margin:0;padding:0}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.067  0 0 0 0 0.067  0 0 0 0 0.078  0 0 0 0.035 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");background-repeat:repeat;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img,svg,video,canvas{max-width:100%;display:block}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.hidden{display:none!important}.skip-link{background:var(--ink);color:var(--paper);font-family:var(--font-body);transition:transform .15s var(--ease-out);z-index:100;padding:.5rem 1rem;font-weight:500;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variation-settings:"opsz" 144, "SOFT" 30;margin:0;font-weight:500;line-height:1.05}h1{letter-spacing:-.035em;font-size:clamp(2.6rem,7vw,5.5rem)}h2{letter-spacing:-.03em;font-size:clamp(2rem,4vw,3rem)}h3{letter-spacing:-.02em;font-size:1.5rem}h4{letter-spacing:-.01em;font-size:1.125rem;font-weight:600}p{color:var(--ink-2);margin:0 0 1em;line-height:1.6}.eyebrow{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:.72rem;font-weight:600}.eyebrow--accent{color:var(--accent)}.eyebrow--muted{color:var(--ink-3)}.numeral{font-family:var(--font-display);font-variation-settings:"opsz" 144;font-feature-settings:"lnum";letter-spacing:-.04em;font-weight:500;line-height:.85}.section-label{border-bottom:1px solid var(--ink);align-items:baseline;gap:.75rem;margin-bottom:2rem;padding-bottom:.5rem;display:flex}.section-label .num{font-family:var(--font-display);font-variation-settings:"opsz" 144;font-feature-settings:"lnum";color:var(--accent);letter-spacing:-.02em;font-size:1.3rem;font-weight:500}.section-label .slash{color:var(--ink-3);font-family:var(--font-display);font-style:italic}.section-label .label{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);font-size:.8rem;font-weight:600}.section-label .count{color:var(--ink-3);font-family:var(--font-mono);margin-left:auto;font-size:.78rem}.rule{border:0;border-top:1px solid var(--ink);margin:2rem 0;display:block}.rule-2{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);height:4px;margin:2rem 0;display:block}.rule-dash{border:0;border-top:1px dashed var(--ink);margin:2rem 0;display:block}.container{max-width:var(--container);padding-inline:var(--gutter);margin:0 auto}main#main-content{max-width:var(--container);padding:2.5rem var(--gutter) 5rem;margin:0 auto}.header{z-index:50;padding:1rem var(--gutter);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ink);background:#f3ecdfeb;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;display:grid;position:sticky;top:0}.header.scrolled{box-shadow:0 0 0 1px var(--ink)}.logo{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30;letter-spacing:-.035em;cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;font-size:1.8rem;font-weight:500;line-height:1}.logo-text{align-items:baseline;gap:0;display:inline-flex}.logo .highlight{color:var(--accent);font-style:italic;font-weight:400}.logo:after{content:"®";font-family:var(--font-body);vertical-align:super;color:var(--ink-3);margin-left:4px;font-size:.55rem;font-weight:500}.nav-center-links{justify-content:center;gap:2.5rem;display:flex;position:relative}.nav-link{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);transition:color .15s var(--ease-out);padding:.4rem 0;font-size:.78rem;font-weight:600;position:relative}.nav-link:hover{color:var(--accent)}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .2s var(--ease-out);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after{transform:scaleX(1)}.nav-indicator{display:none}#lang-selector{border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:0;padding:.35rem .55rem;font-size:.72rem}#lang-selector:hover{background:var(--ink);color:var(--paper)}.theme-toggle-btn{border:1px solid var(--ink);color:var(--ink);width:32px;height:32px;transition:var(--transition);background:0 0;border-radius:0;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.theme-toggle-btn:hover{background:var(--ink);color:var(--paper)}.cmdk-trigger{border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.05em;transition:var(--transition);background:0 0;border-radius:0;align-items:center;gap:.5rem;padding:.35rem .65rem;font-size:.72rem;display:inline-flex}.cmdk-trigger:hover{background:var(--ink);color:var(--paper)}.cmdk-trigger kbd{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:0;padding:0}#nav-actions{align-items:center;gap:.75rem;display:flex}.upgrade-btn,.login-btn,.signup-btn,.pro-btn{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out), transform .2s var(--ease-out);border-radius:0;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.78rem;font-weight:600;display:inline-flex}.upgrade-btn:hover,.login-btn:hover,.signup-btn:hover,.pro-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.upgrade-btn:active{transform:translateY(1px)}.login-btn,.signup-btn{color:var(--ink);background:0 0}.login-btn:hover,.signup-btn:hover{color:var(--paper)}#nav-progress-bar{background:var(--accent);transform-origin:0;opacity:0;z-index:1000;height:2px;transition:transform .3s var(--ease-out), opacity .2s var(--ease-out);position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.greeting-bar{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:3rem;padding-bottom:.5rem;display:flex}.greeting-bar #greeting-text{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:.78rem;font-weight:600}.greeting-bar #greeting-clock{font-family:var(--font-mono);color:var(--ink-3);font-size:.78rem}.hero{border-bottom:1px solid var(--ink);grid-template-columns:1fr;gap:2.5rem;margin-bottom:4rem;padding-block:1rem 4rem;display:grid}@media (width>=880px){.hero{grid-template-columns:1fr 320px;align-items:end;gap:4rem}}.hero-main h1{font-variation-settings:"opsz" 144, "SOFT" 30;letter-spacing:-.04em;margin-bottom:1.25rem;font-size:clamp(2.8rem,9vw,6.5rem);font-weight:400;line-height:.95}.hero-main h1 em{color:var(--accent);font-style:italic;font-weight:400}.hero-main p{max-width:540px;color:var(--ink-2);margin-bottom:1.5rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55}.hero-badge{border:1px solid var(--ink);font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.4rem .8rem;font-size:.72rem;font-weight:600;display:inline-flex}.hero-badge:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.hero-aside{border-left:1px solid var(--ink);flex-direction:column;gap:1.5rem;padding-left:2rem;display:flex}@media (width<=879px){.hero-aside{border-left:0;border-top:1px solid var(--ink);padding-top:2rem;padding-left:0}}.hero-stat .numeral{color:var(--ink);font-size:clamp(4rem,10vw,7rem);display:block}.hero-stat .numeral sup{vertical-align:top;color:var(--accent);margin-left:2px;font-size:.4em;font-style:italic;font-weight:400}.hero-stat-label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:.25rem;font-size:.78rem;font-weight:600}.hero-meta{font-family:var(--font-mono);color:var(--ink-3);flex-direction:column;gap:.35rem;font-size:.78rem;display:flex}.hero-meta div{justify-content:space-between;display:flex}.search-wrapper{background:var(--paper);border:1px solid var(--ink);align-items:center;gap:.5rem;max-width:540px;padding:.4rem .5rem .4rem 1rem;display:flex;position:relative}.search-wrapper:focus-within{box-shadow:0 0 0 1px var(--ink)}.search-icon{opacity:.7;font-size:.95rem}#tool-search{font-family:var(--font-body);color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:.55rem 0;font-size:.95rem}#tool-search::placeholder{color:var(--ink-4)}.search-kbd{font-family:var(--font-mono);color:var(--ink);border:1px solid var(--ink);background:var(--paper);border-radius:0;padding:2px 7px;font-size:.72rem}.neko{display:none}.search-results-dropdown{background:var(--paper);border:1px solid var(--ink);z-index:30;max-height:60vh;box-shadow:4px 4px 0 var(--ink);display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-results-dropdown.is-visible{display:block}.search-results-dropdown .result-item{cursor:pointer;border-bottom:1px solid var(--paper-ink);font-family:var(--font-body);color:var(--ink);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.search-results-dropdown .result-item:last-child{border-bottom:0}.search-results-dropdown .result-item.active,.search-results-dropdown .result-item:hover{background:var(--ink);color:var(--paper)}.search-results-dropdown .result-item .ri-icon{opacity:.6;font-size:1rem}.search-results-dropdown .result-item .ri-name{font-weight:500}.search-results-dropdown .result-item .ri-path{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto;font-size:.75rem}.search-results-dropdown .result-item.active .ri-path,.search-results-dropdown .result-item:hover .ri-path{color:var(--paper-2)}.search-overlay{z-index:25;background:#11111466;display:none;position:fixed;inset:0}.search-overlay.is-visible{display:block}.category-nav{border-bottom:1px solid var(--ink);scrollbar-width:thin;background:var(--paper);z-index:20;gap:1.5rem;margin-bottom:3rem;padding:1rem 0;display:flex;position:sticky;top:65px;overflow-x:auto}.cat-nav-link{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);transition:color .15s var(--ease-out), border-color .15s var(--ease-out);border-bottom:1px solid #0000;flex-shrink:0;padding:.3rem 0;font-size:.78rem;font-weight:600}.cat-nav-link:hover{color:var(--accent);border-color:var(--accent)}section{margin-bottom:4rem;scroll-margin-top:130px}.category-title,.section-title{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1.5rem;padding-bottom:.6rem;font-size:.8rem;font-weight:600;display:flex}.cat-count{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:0;text-transform:none;font-size:.78rem}.tool-grid{background:var(--ink);border:1px solid var(--ink);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;display:grid}.tool-card{background:var(--paper);cursor:pointer;min-height:170px;transition:background .18s var(--ease-out), color .18s var(--ease-out);flex-direction:column;gap:.6rem;padding:1.5rem 1.25rem;display:flex;position:relative}.tool-card:hover{background:var(--ink);color:var(--paper)}.tool-card .tool-icon-svg{width:28px;height:28px;color:var(--ink);justify-content:center;align-items:center;display:inline-flex;background:0 0!important}.tool-card:hover .tool-icon-svg,.tool-card:hover .tool-icon-svg svg{color:var(--paper)}.tool-card .tool-icon-svg svg{stroke:currentColor;color:var(--ink);width:22px;height:22px}.tool-card h3{font-family:var(--font-display);font-variation-settings:"opsz" 36, "SOFT" 30;letter-spacing:-.02em;color:inherit;margin:0;font-size:1.18rem;font-weight:500;line-height:1.15}.tool-card p{font-family:var(--font-body);color:var(--ink-3);flex-grow:1;margin:0;font-size:.83rem;line-height:1.45}.tool-card:hover p{color:var(--paper-2)}.tool-card:after{content:"↗";font-family:var(--font-display);opacity:0;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);color:var(--accent);font-size:1rem;position:absolute;top:1rem;right:1.1rem;transform:translate(-4px,4px)}.tool-card:hover:after{opacity:1;color:var(--paper);transform:translate(0)}.tool-card.premium-card:before{content:"PRO";font-family:var(--font-body);letter-spacing:.16em;color:var(--accent);border:1px solid var(--accent);background:var(--paper);padding:2px 6px;font-size:.65rem;font-weight:700;position:absolute;top:1rem;right:1rem}.tool-card.premium-card:hover:before{background:var(--ink)}.tool-card.popular-card .eyebrow{color:var(--accent);font-size:.65rem}.tool-card .tool-card-cat{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:.66rem;font-weight:600}.tool-card:hover .tool-card-cat{color:var(--paper-3)}.fav-star{color:var(--ink-3);cursor:pointer;transition:color .15s var(--ease-out), transform .15s var(--ease-out);background:0 0;border:0;padding:0;font-size:1rem;position:absolute;top:1rem;left:1rem}.fav-star:hover{color:var(--accent);transform:scale(1.15)}.fav-star.active{color:var(--accent)}.tool-card:hover .fav-star{color:var(--paper-2)}.tool-card:hover .fav-star.active{color:var(--accent)}#section-favorites .tool-grid{background:var(--ink);border:1px solid var(--ink)}.tool-header{border-bottom:1px solid var(--ink);margin-bottom:2rem;padding-bottom:1.5rem}.tool-header h1,.tool-header h2{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30;letter-spacing:-.03em;margin-bottom:.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:500;line-height:1.05}.tool-header h1 span[style*=color]{color:var(--accent)!important}.tool-header p{color:var(--ink-2);max-width:720px;font-size:1rem;line-height:1.55}.back-btn{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;transition:color .15s var(--ease-out);background:0 0;border:0;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.back-btn:hover{color:var(--accent)}.upload-area{border:1px dashed var(--ink);background:var(--paper-2);text-align:center;cursor:pointer;transition:background .2s var(--ease-out), border-color .2s var(--ease-out);padding:3.5rem 2rem;position:relative}.upload-area:hover{background:var(--paper-3);border-color:var(--ink)}.upload-area.dragover{background:var(--paper-3);border:1px solid var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.upload-area p{color:var(--ink-2);margin:0;font-size:.95rem}.upload-area h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.3rem;font-weight:500}.upload-area>div[style*="font-size: 3rem"]{display:none}#drop-zone{border:1px dashed var(--ink);background:var(--paper-2)}#drop-zone:hover,#drop-zone.dragover{background:var(--paper-3);border:1px solid var(--accent)}.tool-settings,input[type=text],input[type=number],input[type=email],input[type=url],input[type=password],input[type=search],input[type=date],input[type=time],input[type=color],textarea,select{border-radius:0!important}input[type=text],input[type=number],input[type=email],input[type=url],input[type=password],input[type=search],input[type=date],input[type=time],textarea,select{background:var(--paper);color:var(--ink);font-family:var(--font-body);transition:box-shadow .15s var(--ease-out);padding:.65rem .85rem;border:1px solid var(--ink)!important}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 1px var(--ink)}input[type=range]{accent-color:var(--accent)}.tool-settings label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:block}.tool-settings .val{font-family:var(--font-mono);color:var(--ink-3)}.settings-row{flex-wrap:wrap;gap:1rem;display:flex}.settings-row>div{flex:200px}.action-btn,.download-btn{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);border-radius:0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.action-btn:hover,.download-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.result-preview{border:1px solid var(--ink);background:var(--paper-2);margin-top:1.5rem;padding:2rem}.result-preview h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.6rem;font-weight:500}.result-meta{font-family:var(--font-mono);color:var(--ink-3);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-wrap:wrap;gap:1.5rem;margin-block:1rem;padding-block:.75rem;font-size:.78rem;display:flex}.size-saved{color:var(--good);font-weight:600}.size-grew{color:var(--bad);font-weight:600}.text-preview{background:var(--paper);border:1px solid var(--ink);font-family:var(--font-mono);white-space:pre-wrap;max-height:320px;padding:1rem;font-size:.82rem;line-height:1.5;overflow:auto}.thumb-grid{background:var(--ink);border:1px solid var(--ink);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:1px;margin-block:1rem;display:grid}.thumb-grid img{aspect-ratio:1;object-fit:cover;background:var(--paper);width:100%}.mobile-sticky-action{background:var(--paper);border-top:1px solid var(--ink);padding:.5rem 0;position:sticky;bottom:0}.modal-backdrop{z-index:9000;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out);background:#1111148c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-backdrop.visible{opacity:1;pointer-events:auto}.modal-content{background:var(--paper);border:1px solid var(--ink);width:100%;max-width:440px;box-shadow:8px 8px 0 var(--ink);transition:transform .25s var(--ease-overshoot);padding:2.5rem 2rem;transform:translateY(10px)}.modal-backdrop.visible .modal-content{transform:translateY(0)}.modal-content h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1.7rem;font-weight:500}.modal-content p{color:var(--ink-2);font-size:.95rem;line-height:1.55}.ik-tip{cursor:pointer;position:relative}.ik-tip .ik-tip-box{background:var(--ink);color:var(--paper);border:1px solid var(--ink);text-align:left;z-index:999;min-width:200px;max-width:280px;padding:.6rem .85rem;font-size:.8rem;line-height:1.45;display:none;position:absolute;top:0;left:0}.ik-tip .ik-tip-box.show{display:block}.ik-tip .ik-tip-title{font-family:var(--font-body);color:var(--paper);letter-spacing:.02em;margin-bottom:.25rem;font-size:.78rem;font-weight:700}.ik-tip .ik-tip-text{color:var(--paper-2);font-size:.78rem;line-height:1.5}.ik-tip .ik-tip-arrow{background:var(--ink);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.toast{background:var(--ink);color:var(--paper);font-family:var(--font-body);letter-spacing:.02em;border:1px solid var(--ink);opacity:0;pointer-events:none;z-index:8000;transition:opacity .2s var(--ease-out), transform .25s var(--ease-overshoot);box-shadow:4px 4px 0 var(--accent);border-radius:0;padding:.85rem 1.25rem;font-size:.85rem;font-weight:500;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)translateY(10px)}.toast.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.toast.error{box-shadow:4px 4px 0 var(--bad)}.toast.success{box-shadow:4px 4px 0 var(--good)}.cookie-banner{background:var(--paper);max-width:480px;color:var(--ink);border:1px solid var(--ink);z-index:5000;box-shadow:6px 6px 0 var(--ink);transition:transform .35s var(--ease-out);margin-inline:auto;padding:1.25rem 1.5rem;font-size:.85rem;line-height:1.55;position:fixed;bottom:1rem;left:1rem;right:1rem;transform:translateY(120%)}.cookie-banner.visible{transform:translateY(0)}.cookie-banner button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:0;margin-top:.75rem;padding:.5rem 1rem;font-size:.72rem;font-weight:600}.cookie-banner button:hover{background:var(--accent);border-color:var(--accent)}.route-skeleton{padding:1rem 0}.skeleton-bone{background:linear-gradient(90deg, var(--paper-2) 25%, var(--paper-3) 50%, var(--paper-2) 75%);background-size:200% 100%;border-radius:0;margin-bottom:.6rem;animation:1.4s linear infinite skel}.skeleton-bone.title{width:60%;height:3rem}.skeleton-bone.subtitle{width:40%;height:1rem}.skeleton-bone.block{width:100%;height:240px;margin-top:1.5rem}.skeleton-bone.line{width:90%;height:.9rem}.skeleton-bone.line-short{width:60%;height:.9rem}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.ad-container{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);max-width:728px;margin:3rem auto;padding-block:.5rem}.ad-container:before{content:"ADVERTISEMENT";text-align:center;font-family:var(--font-mono);letter-spacing:.22em;color:var(--ink-3);padding-block:.25rem;font-size:.65rem;display:block}footer{border-top:1px solid var(--ink);padding:4rem var(--gutter) 3rem;background:var(--paper-2);margin-top:6rem}footer>*{max-width:var(--container);margin-inline:auto}.footer-grid{border-bottom:1px solid var(--ink);grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;margin-bottom:2rem;padding-bottom:3rem;display:grid}@media (width<=760px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}}.footer-brand .logo{margin-bottom:.75rem;font-size:clamp(3rem,8vw,5rem);display:block}.footer-brand .tagline{font-family:var(--font-display);color:var(--ink-3);max-width:320px;font-size:1.05rem;font-style:italic;line-height:1.4}.footer-col h4{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);margin-bottom:1rem;padding-bottom:.5rem;font-size:.72rem;font-weight:600}.footer-col ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.footer-col a,.legal-link{font-family:var(--font-body);color:var(--ink-2);transition:color .15s var(--ease-out);font-size:.88rem}.footer-col a:hover,.legal-link:hover{color:var(--accent)}.footer-trust,.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.5rem;display:flex}.footer-trust{border-bottom:1px solid var(--paper-ink);padding-bottom:1.5rem}.trust-badges{flex-wrap:wrap;gap:1.5rem;display:flex}.trust-badge{font-family:var(--font-body);color:var(--ink-2);align-items:center;gap:.5rem;font-size:.78rem;font-weight:500;display:inline-flex}.trust-badge svg{color:var(--accent)}.trust-payments{opacity:.85;flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.trust-payments .trust-label{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-right:.5rem;font-size:.7rem;font-weight:600}.trust-payments .trust-sep{color:var(--ink-3)}.trust-payments svg{color:var(--ink);filter:grayscale()brightness(.5)contrast(1.3)}.trust-payments svg:hover{filter:none}.footer-bottom p{font-family:var(--font-mono);color:var(--ink-3);margin:0;font-size:.75rem}.footer-bottom .roman{font-family:var(--font-display);color:var(--ink);margin-right:.5rem;font-style:italic}.footer-socials{gap:1rem;display:flex}.footer-socials a{color:var(--ink);border:1px solid var(--ink);width:32px;height:32px;transition:var(--transition);justify-content:center;align-items:center;display:inline-flex}.footer-socials a:hover{background:var(--ink);color:var(--paper)}.cmdk-backdrop{-webkit-backdrop-filter:blur(4px);z-index:9999;opacity:0;transition:opacity .12s var(--ease-out);background:#1111148c;justify-content:center;align-items:flex-start;padding-top:12vh;display:none;position:fixed;inset:0}.cmdk-backdrop.is-open{opacity:1;display:flex}.cmdk-panel{background:var(--paper);border:1px solid var(--ink);width:100%;max-width:560px;box-shadow:8px 8px 0 var(--ink);font-family:var(--font-body);transition:transform .16s var(--ease-overshoot);border-radius:0;transform:scale(.98)}.cmdk-backdrop.is-open .cmdk-panel{transform:scale(1)}.cmdk-inputrow{border-bottom:1px solid var(--ink);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.cmdk-kbd-icon{opacity:.6;font-size:1rem}.cmdk-inputrow input{color:var(--ink);letter-spacing:-.005em;background:0 0;border:0;outline:0;flex:1;font-size:1rem}.cmdk-inputrow input::placeholder{color:var(--ink-4)}.cmdk-hint,.cmdk-foot kbd{background:var(--paper-2);border:1px solid var(--ink);font-size:.7rem;font-family:var(--font-mono);color:var(--ink);border-radius:0;padding:2px 6px;font-weight:600}.cmdk-list{max-height:50vh;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.cmdk-item{cursor:pointer;color:var(--ink);border:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .85rem;font-size:.93rem;display:flex}.cmdk-item.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cmdk-item-name{font-weight:500;font-family:var(--font-display);letter-spacing:-.01em;font-size:1rem}.cmdk-item-path{font-family:var(--font-mono);color:var(--ink-3);opacity:.8;font-size:.76rem}.cmdk-item.is-active .cmdk-item-path{color:var(--paper-2);opacity:1}.cmdk-empty{text-align:center;color:var(--ink-3);font-size:.9rem;font-style:italic;font-family:var(--font-display);padding:2rem 1rem}.cmdk-foot{border-top:1px solid var(--ink);color:var(--ink-3);letter-spacing:.05em;gap:1.25rem;padding:.75rem 1.25rem;font-size:.72rem;display:flex}.cmdk-foot kbd{margin-right:.3rem;padding:1px 4px;font-size:.65rem}@media (width<=600px){.cmdk-backdrop{padding-top:6vh;padding-inline:.75rem}.cmdk-foot{display:none}}.sortable-ghost{opacity:.4;background:var(--accent)!important;border-style:dashed!important}#global-drag-overlay{z-index:7000;color:var(--paper);border:1px dashed var(--paper);background:#111114d9;border-radius:0;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#global-drag-overlay.visible{display:flex}#global-drag-overlay .drag-content{text-align:center}#global-drag-overlay h2{color:var(--paper);font-family:var(--font-display);margin:1rem 0 .5rem;font-size:3rem}.err-block{text-align:center;max-width:540px;margin:0 auto;padding:6rem 2rem}.err-block .err-numeral{font-family:var(--font-display);font-variation-settings:"opsz" 144;color:var(--accent);letter-spacing:-.05em;font-size:12rem;font-style:italic;font-weight:400;line-height:.85}.err-block h2{font-family:var(--font-display);letter-spacing:-.03em;margin-block:1rem .5rem;font-size:2rem;font-weight:500}.err-block p{color:var(--ink-3)}.prose{max-width:680px;font-family:var(--font-body);color:var(--ink-2);font-size:1.02rem;line-height:1.7}.prose h1,.prose h2,.prose h3{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;margin-top:2.25rem;margin-bottom:.75rem;font-weight:500}.prose h1{margin-top:0;font-size:clamp(2.4rem,5vw,3.4rem)}.prose h2{border-top:1px solid var(--ink);padding-top:1.5rem;font-size:1.6rem}.prose h3{font-size:1.2rem}.prose p{margin-bottom:1rem}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{color:var(--accent-deep)}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.25rem}.prose li{margin-bottom:.5rem;line-height:1.65}.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0}.prose th{text-align:left;border-bottom:1px solid var(--ink);font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;padding:.75rem;font-size:.72rem;font-weight:600}.prose td{border-bottom:1px solid var(--paper-ink);padding:.75rem;font-size:.92rem}.prose code,.prose pre{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--paper-ink);padding:.1em .35em;font-size:.9em}.prose pre{padding:1rem;overflow-x:auto}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-2);font-style:italic;font-family:var(--font-display);margin:1.5rem 0;padding:.5rem 1.25rem;font-size:1.1rem}.pricing-grid{border:1px solid var(--ink);grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;display:grid}@media (width<=880px){.pricing-grid{grid-template-columns:1fr}}.p-card{background:var(--paper);border-right:1px solid var(--ink);flex-direction:column;padding:2.25rem 2rem;display:flex;position:relative}.p-card:last-child{border-right:0}@media (width<=880px){.p-card{border-right:0;border-bottom:1px solid var(--ink)}.p-card:last-child{border-bottom:0}}.p-card.featured{background:var(--ink);color:var(--paper)}.p-card.featured .p-sub,.p-card.featured .p-features li{color:var(--paper-2)}.p-card.featured .p-divider{background:var(--paper-2)}.p-badge{background:var(--accent);color:var(--paper);font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;border-radius:0;padding:4px 10px;font-size:.65rem;font-weight:700;position:absolute;top:-1px;right:-1px}.p-card h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:500}.p-sub{color:var(--ink-3);margin-bottom:1.25rem;font-size:.88rem}.p-price{font-family:var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:-.04em;margin-bottom:.25rem;font-size:3.5rem;font-weight:400;line-height:.9}.p-price span{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:0;font-size:.85rem;font-weight:400}.p-card.featured .p-price span{color:var(--paper-2)}.p-save{color:var(--accent);letter-spacing:.02em;min-height:1.2em;margin-bottom:1.25rem;font-size:.78rem;font-weight:500}.p-features{flex-grow:1;margin:0 0 2rem;padding:0;list-style:none}.p-features li{border-bottom:1px solid var(--paper-ink);align-items:flex-start;gap:.5rem;padding:.45rem 0;font-size:.9rem;line-height:1.4;display:flex}.p-card.featured .p-features li{border-color:#f3ecdf26}.p-features li:last-child{border-bottom:0}.p-features li svg{flex-shrink:0;margin-top:2px}.p-features li.disabled{color:var(--ink-4)}.p-divider{background:var(--ink);width:100%;height:1px;margin:.5rem 0}.p-cta{width:100%;font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:var(--transition);border-radius:0;padding:.85rem;font-size:.8rem;font-weight:600}.p-cta:hover{background:var(--accent);border-color:var(--accent)}.p-cta-free{color:var(--ink);background:0 0}.p-cta-free:hover{background:var(--ink);color:var(--paper)}.p-card.featured .p-cta{background:var(--accent);border-color:var(--accent);color:var(--paper)}.p-card.featured .p-cta:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.text-muted{color:var(--ink-3)}.text-accent{color:var(--accent)}.text-mono{font-family:var(--font-mono)}.italic{font-style:italic}
