@font-face{font-family:Fraunces;src:url(/ui-fonts/Fraunces.ttf) format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Manrope;src:url(/ui-fonts/Manrope.ttf) format("truetype");font-weight:200 800;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/ui-fonts/JetBrainsMono.ttf) format("truetype");font-weight:100 800;font-display:swap}:root{--paper:#f6f4ee;--paper-deep:#ece8df;--card:#fffdf9;--ink:#17181c;--ink-soft:#2b2d33;--muted:#6b6f66;--line:#e2ddd2;--line-strong:#cfc8ba;--mat:#2d5a4f;--mat-deep:#1f4238;--mat-grid:rgba(255,255,255,0.11);--mat-grid-major:rgba(255,255,255,0.22);--brass:#c9962f;--brass-deep:#a67a1f;--brass-soft:#f3e7c9;--danger:#a8402f;--ok:#2f7d5b;--shadow:0 20px 60px rgba(23,24,28,0.10);--radius:6px;--shell:min(1220px,calc(100% - 32px));--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}img,svg{max-width:100%}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:10px 14px;color:white;background:var(--ink)}.skip-link:focus{top:12px}h1,h2,h3{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em;text-wrap:balance}.eyebrow{margin:0 0 12px;color:var(--brass-deep);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#e6c877}.mono{font-family:var(--font-mono),monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.site-header{position:sticky;z-index:30;top:0;background:rgba(23,24,28,.96);color:#f3efe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;color:var(--ink);background:var(--brass);border-radius:4px 12px 4px 12px}.brand-text small,.brand-text strong{display:block}.brand-text strong{font-family:var(--font-display),Georgia,serif;font-size:1.2rem;line-height:1}.brand-text small{margin-top:3px;color:#a7a49c;font-size:.66rem;letter-spacing:.06em}.header-nav{display:flex;align-items:center;gap:22px;font-size:.84rem;font-weight:650}.header-nav a:hover{color:var(--brass)}.header-nav .nav-all{padding:7px 13px;color:var(--ink);background:var(--brass);border-radius:99px}.header-nav .nav-all:hover{color:var(--ink);background:#dcae4a}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius);font-weight:700;transition:transform .16s ease,background .16s ease,border-color .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{color:var(--ink);background:var(--brass)}.button-primary:hover:not(:disabled){background:#dcae4a}.button-dark{color:#f3efe6;background:var(--ink)}.button-dark:hover:not(:disabled){background:var(--ink-soft)}.button-outline{color:var(--ink);background:transparent;border-color:var(--line-strong)}.button-outline:hover:not(:disabled){border-color:var(--ink)}.button-small{min-height:38px;padding:6px 12px;font-size:.82rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,150,47,.5);outline-offset:2px}.hero{color:#f3efe6;background:radial-gradient(1200px 600px at 80% -10%,rgba(201,150,47,.22),transparent 60%),var(--ink)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,80px);align-items:center;padding-block:clamp(60px,9vw,110px)}.hero h1{margin:0;font-size:clamp(3rem,6.5vw,5.6rem);line-height:.98;font-weight:500}.hero h1 em{font-style:italic;color:var(--brass)}.hero-lead{max-width:560px;margin:24px 0 0;color:#c9c4b7;font-size:clamp(1rem,1.6vw,1.15rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions .button-outline{color:#f3efe6;border-color:rgba(255,255,255,.3)}.hero-actions .button-outline:hover{border-color:var(--brass)}.hero-facts{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;color:#a7a49c;font-size:.8rem}.hero-facts span{display:inline-flex;align-items:center;gap:6px}.hero-demo{position:relative;padding:18px;background:var(--mat);border-radius:8px;box-shadow:0 40px 90px rgba(0,0,0,.45)}.hero-demo .mat-canvas{border-radius:4px}.hero-demo-caption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:#cfe3da;font-size:.74rem;font-family:var(--font-mono),monospace}.mat-canvas{display:block;width:100%;height:auto;background-color:var(--mat);background-image:linear-gradient(var(--mat-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--mat-grid-major) 1px,transparent 1px),linear-gradient(var(--mat-grid) 1px,transparent 1px),linear-gradient(90deg,var(--mat-grid) 1px,transparent 1px);background-size:50px 50px,50px 50px,10px 10px,10px 10px}.tool-section{padding:clamp(60px,8vw,100px) 0}.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;margin-bottom:34px}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1.02}.section-heading p{margin:0;color:var(--muted)}.category-block{padding:28px 0 10px;border-top:1px solid var(--line)}.category-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px}.category-head h3{margin:0;font-size:1.45rem;font-weight:500}.category-head small{color:var(--muted);font-size:.78rem}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tool-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tool-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.tool-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--mat);background:#e5efe9;border-radius:50%}.tool-card small,.tool-card strong{display:block}.tool-card strong{font-size:.98rem}.tool-card small{margin-top:3px;color:var(--muted);font-size:.8rem}.tool-arrow{color:var(--brass-deep)}.tool-card.soon{opacity:.55}.tool-card.soon .tool-arrow{visibility:hidden}.tool-page{padding:36px 0 90px}.tool-heading{margin-bottom:22px}.tool-heading h1{margin:0;font-size:clamp(2.1rem,4.5vw,3.4rem);font-weight:500;line-height:1.02}.tool-heading>p{max-width:760px;margin:12px 0 0;color:var(--muted)}.tool-crumbs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;color:var(--muted);font-size:.78rem}.tool-crumbs a:hover{color:var(--brass-deep)}.workbench{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:18px;align-items:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.controls{padding:20px;display:grid;gap:16px}.controls h2{margin:0;font-size:1.05rem;font-weight:600}.field{display:grid;gap:6px}.field>span{color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:9px 11px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:var(--radius)}.field textarea{min-height:96px;resize:vertical;line-height:1.5}.field textarea.rtl{direction:rtl;font-size:1.15rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.field-hint{margin:0;color:var(--muted);font-size:.74rem}.range-field>span b{float:right;font-family:var(--font-mono),monospace;font-weight:600;color:var(--ink)}.range-field input[type=range]{min-height:auto;padding:0;accent-color:var(--brass-deep);border:0;background:transparent}.check-row{display:flex;align-items:center;gap:9px;font-size:.9rem}.check-row input{width:18px;height:18px;min-height:auto;accent-color:var(--brass-deep)}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip-row button{padding:7px 11px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:99px;font-size:.8rem;font-weight:650}.chip-row button:hover{border-color:var(--brass-deep)}.chip-row button.selected{color:white;background:var(--mat);border-color:var(--mat)}.font-list{display:grid;gap:6px;max-height:260px;overflow:auto;padding-right:4px}.font-list button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:9px 11px;text-align:left;background:white;border:1px solid var(--line);border-radius:var(--radius)}.font-list button.selected{border-color:var(--mat);background:#eef4f1}.font-list strong{display:block;font-size:.88rem}.font-list small{display:block;color:var(--muted);font-size:.72rem}.upload-zone{display:grid;place-items:center;gap:6px;min-height:130px;padding:16px;text-align:center;background:#faf8f2;border:2px dashed var(--line-strong);border-radius:var(--radius);cursor:pointer}.upload-zone.dragging,.upload-zone:hover{border-color:var(--brass-deep);background:var(--brass-soft)}.upload-zone strong{font-size:.92rem}.upload-zone small{color:var(--muted);font-size:.76rem}.stage{padding:14px;display:grid;gap:12px}.stage-top{align-items:center;justify-content:space-between;gap:10px}.stage-dims,.stage-top{display:flex;flex-wrap:wrap}.stage-dims{gap:14px;color:var(--muted);font-size:.78rem;font-family:var(--font-mono),monospace}.stage-dims b{color:var(--ink);font-weight:600}.stage-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:.74rem;font-weight:700;background:#e5efe9;color:var(--mat-deep)}.stage-status.warn{background:#fbe9e4;color:var(--danger)}.stage-canvas{position:relative;overflow:hidden;border-radius:4px}.stage-canvas .mat-canvas{min-height:300px;max-height:560px}.stage-empty{position:absolute;inset:0;display:grid;place-items:center;color:#cfe3da;font-size:.9rem;pointer-events:none;text-align:center;padding:20px}.export-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}.export-bar .spacer{flex:1 1}.export-bar .button{min-height:40px;padding:7px 13px;font-size:.82rem}.notice{display:flex;gap:9px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);font-size:.84rem;background:var(--brass-soft);color:#5a4310}.notice.error{background:#fbe9e4;color:var(--danger)}.notice.ok{background:#e5efe9;color:var(--mat-deep)}.result-list{display:grid;gap:8px}.result-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;background:#faf8f2;border:1px solid var(--line);border-radius:var(--radius);font-size:.84rem}.result-list li b{font-family:var(--font-mono),monospace;font-weight:600}.content-block{max-width:820px;margin-top:60px}.content-block h2{font-size:1.7rem;font-weight:500;margin:0 0 12px}.content-block li,.content-block p{color:var(--ink-soft)}.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.explain-grid article{padding:20px;background:var(--card);border-top:3px solid var(--brass)}.explain-grid article span{color:var(--brass-deep);font-weight:800;font-family:var(--font-mono),monospace}.explain-grid h3{margin:16px 0 6px;font-size:1.05rem}.explain-grid p{margin:0;color:var(--muted);font-size:.9rem}.faq-block{max-width:820px;margin-top:50px}.faq-block details{padding:16px 0;border-bottom:1px solid var(--line)}.faq-block summary{font-weight:700;cursor:pointer}.faq-block p{color:var(--muted)}.related-tools{margin-top:50px}.related-tools h2{font-size:1.4rem;font-weight:500;margin:0 0 14px}.loaded-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;background:#faf8f2;border:1px solid var(--line);border-radius:var(--radius);color:var(--mat)}.loaded-file small,.loaded-file strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.loaded-file small{color:var(--muted);font-size:.74rem}.loaded-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.icon-button{width:34px;height:34px;display:grid;place-items:center;color:var(--muted);background:white;border:1px solid var(--line);border-radius:50%}.icon-button:hover{color:var(--ink);border-color:var(--ink)}.part-list li{align-items:center}.part-list li strong{font-size:.86rem}.part-list li small{color:var(--muted)}.part-qty{display:flex;align-items:center;gap:6px}.part-qty input{width:56px;min-height:34px;padding:4px 8px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono),monospace}.check-list li,.check-list li>span{align-items:flex-start}.check-list li>span{display:flex;gap:8px}.check-list li>span small{display:block;margin-top:2px;color:var(--muted);font-size:.74rem}.check-list li.ok{border-color:#cfe0d6}.check-list li.warn{background:var(--brass-soft);border-color:#e9d59a}.check-list li.error{background:#fbe9e4;border-color:#f0c2b7}.calc-layout{grid-template-columns:minmax(300px,420px) minmax(0,1fr)}.calc-result{padding:24px;align-self:start}.calc-result .result-list li{font-size:.95rem;padding:12px 14px}.swatch-row{display:flex;flex-wrap:wrap;gap:8px}.swatch-row button{width:30px;height:30px;border:2px solid var(--line);border-radius:50%}.swatch-row button.selected{border-color:var(--brass-deep);box-shadow:inset 0 0 0 2px white}.mockup-frame{border-radius:4px;overflow:hidden;background:var(--paper-deep)}.mockup-frame svg{display:block;width:100%;height:auto}.soon-card{padding:34px;display:grid;gap:14px;justify-items:start}.soon-card h2{margin:0;font-size:1.6rem;font-weight:500}.soon-card p{margin:0;color:var(--muted);max-width:640px}.soon-card .chip-row a{text-decoration:none}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:22px}.why-grid strong{display:block;color:#f3efe6;font-family:var(--font-display),Georgia,serif;font-size:1.25rem;font-weight:500}.why-grid p{margin:8px 0 0;color:#b8b4a9;font-size:.92rem}@media (max-width:980px){.calc-layout,.why-grid{grid-template-columns:1fr}}.site-footer{padding:54px 0;color:#b8b4a9;background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.site-footer strong{color:#f3efe6}.site-footer p{margin:8px 0 0;font-size:.83rem}.site-footer a{color:#f3efe6;text-decoration:underline;text-underline-offset:3px}.footer-note{color:#8c887d;font-size:.76rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:980px){.hero-grid,.workbench{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr 1fr}.section-heading{gap:14px}.explain-grid,.footer-grid,.section-heading{grid-template-columns:1fr}.footer-grid{gap:24px}}@media (max-width:680px){:root{--shell:min(100% - 22px,1220px)}.header-nav a{display:none}.header-nav a.nav-all{display:inline-flex}.field-row,.field-row-3,.tool-grid{grid-template-columns:1fr}.hero-actions .button{width:100%}}