500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#262538;--muted:#727184;--green:#6b53d9;--lime:#ece7ff;--line:#e9e8f0;--sidebar:230px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;padding-left:var(--sidebar);color:var(--ink);background:#f8f9fc;font:14px 'DM Sans',system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.drop:focus-visible{outline:3px solid #9a87ed}button,a{ -webkit-tap-highlight-color:transparent}button{transition:background .18s,transform .18s,box-shadow .18s}button:hover{transform:translateY(-1px)}[hidden]{display:none!important}.skip-link{position:fixed;top:-70px;left:250px;z-index:100;background:#6b53d9;color:#fff;padding:15px;border-radius:8px}.skip-link:focus{top:15px}.brand{display:flex;gap:9px;align-items:center;font:800 19px Manrope,system-ui;letter-spacing:-.8px;color:#28243c}.logo{display:grid;place-items:center;width:34px;height:34px;color:white;font-size:26px;border-radius:10px;background:#745be2;box-shadow:0 4px 10px #6b53d926}.brand-dot{width:6px;height:6px;background:#a795f2;border-radius:50%;align-self:flex-end;margin-bottom:7px;margin-left:-5px}.app-sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 18px 18px;display:flex;flex-direction:column;z-index:20}.app-sidebar>.brand{margin:0 9px 45px}.sidebar-label{font-size:9px;letter-spacing:1.6px;color:#a5a3b1;font-weight:700;margin:0 13px 12px}.sidebar-label:not(:first-of-type){margin-top:29px}.side-link{display:flex;align-items:center;gap:12px;padding:13px 13px;border-radius:8px;font-size:12px;color:#777387;margin-bottom:4px;min-height:44px}.side-link>span{font-size:19px;width:20px;text-align:center;color:#908b9f}.side-link:hover{background:#f7f5ff;color:#6b53d9}.side-link.selected{color:#6b53d9;background:#f0ecfc;font-weight:600}.side-link.selected>span{color:#6b53d9}.side-link small{margin-left:auto;padding:2px 6px;border-radius:4px;background:#e1d9fa;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:35px}.private-card{background:linear-gradient(135deg,#f5f2ff,#faf8ff);border:1px solid #eee9fc;border-radius:12px;padding:16px 15px;margin-bottom:20px}.private-card .shield{display:block;color:#8d78df;font-size:25px;margin-bottom:8px}.private-card strong{font-size:11px}.private-card p{font-size:10px;line-height:1.8;color:#92909f}.private-card a{font-size:10px;color:#7c63d9}.version{display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;color:#aba7b7;padding:18px 12px 0}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#ffffffdc;border-bottom:1px solid var(--line);gap:15px}.topbar-title{display:flex;align-items:center;gap:13px;font-size:11px;color:#9692a3}.topbar-title strong{font-weight:500;color:#595467}.breadcrumb-icon{font-size:19px;color:#9c97ac}.slash{color:#d1ccdf}.topbar-right{display:flex;align-items:center;gap:20px}.local{font-size:10px;color:#898595;display:flex;align-items:center;gap:7px}.local i{width:6px;height:6px;background:#59ae88;border-radius:50%;box-shadow:0 0 0 4px #eef8f1}.help-link{height:28px;width:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#918b9e;font-size:12px}main{max-width:1240px;padding:0 42px;margin:auto}.hero{position:relative;padding:43px 0 35px;min-height:288px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#8b7eb2;font-weight:700}h1{font:800 clamp(32px,3.2vw,45px)/1.19 Manrope,system-ui;letter-spacing:-1.8px;margin:13px 0 14px}h1 span{color:#7761cf}.hero>p{font-size:13px;line-height:1.8;color:#93909f;margin:0}.trust{display:flex;gap:19px;margin-top:24px;font-size:9px;color:#9a95a7}.trust span:first-letter{color:#8672cc}.hero-art{position:absolute;right:38px;top:20px;width:310px;height:235px;pointer-events:none}.art-orbit{position:absolute;width:220px;height:220px;left:45px;top:9px;border:1px solid #e6dff9;border-radius:50%;background:radial-gradient(circle,#efeafa,transparent 72%)}.art-orbit:after{content:'';position:absolute;inset:22px;border:1px dashed #ddd4f5;border-radius:50%}.art-file{position:absolute;left:95px;top:38px;width:136px;height:161px;border:1px solid #e3ddf1;border-radius:13px;background:#fff;padding:12px;transform:rotate(-8deg);box-shadow:0 15px 35px #58427d14}.art-tag{font-size:7px;color:#a39ab4;letter-spacing:1px}.art-landscape{height:82px;border-radius:7px;background:#eae5fa;position:relative;overflow:hidden;margin-top:9px}.art-landscape:before{content:'';position:absolute;right:18px;top:14px;width:17px;height:17px;background:#f6c8a1;border-radius:50%}.art-landscape:after{content:'';position:absolute;width:100px;height:75px;background:#b9a4e7;transform:rotate(35deg);left:-18px;top:38px;border-radius:10px}.art-landscape span{position:absolute;right:-12px;bottom:-34px;width:100px;height:75px;background:#d2c4f0;transform:rotate(-38deg);border-radius:10px}.art-file-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.art-file-bottom b{font-size:7px;color:#837390}.art-file-bottom i{font-size:10px;font-style:normal;color:#5d9f82;background:#e9f6ee;padding:2px 4px;border-radius:50%}.art-chip{position:absolute;font-size:9px;background:#fff;border:1px solid #e9e4f4;box-shadow:0 6px 16px #4e32620a;padding:10px 13px;border-radius:8px;color:#8d7aa6}.chip-size{left:5px;top:81px;transform:rotate(-5deg)}.chip-clean{bottom:20px;right:0;transform:rotate(5deg)}.art-spark{position:absolute;right:8px;top:32px;color:#bca8e7;font-size:27px}.section-top{display:flex;align-items:center;justify-content:space-between;margin:9px 0 18px;gap:12px}h2{font:700 18px Manrope,system-ui;letter-spacing:-.5px;margin:0}.section-top>span{font-size:8px;letter-spacing:1.1px;color:#aaa4b5}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:23px}.tab{display:flex;align-items:center;gap:12px;padding:17px 16px;min-height:83px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}.tab.active{background:#f5f2ff;border-color:#b9a9ec;box-shadow:0 0 0 1px #b9a9ec24}.tab:hover{box-shadow:0 6px 18px #35214709}.icon{height:37px;width:37px;flex:0 0 37px;border-radius:10px;background:#f1edfc;color:#8f77d6;display:grid;place-items:center;font-size:22px}.tab[data-tool=signature] .icon{background:#fff2e8;color:#da9c6d}.tab[data-tool=scan] .icon{background:#eaf4f3;color:#6ba49b}.tab strong{display:block;font-size:11px;font-weight:600}.tab small{display:block;font-size:9px;margin-top:6px;color:#a09aab}.arrow{font-size:15px;margin-left:auto;color:#bab1cb}.workspace-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:13px 13px 0 0;background:#fff;padding:17px 23px}.workspace-toolbar>div{display:flex;gap:10px;align-items:center}.workspace-dot{width:6px;height:6px;background:#9375d6;border-radius:50%}.workspace-toolbar strong{font-size:11px;font-weight:600}.workspace-badge{font-size:7px;letter-spacing:.6px;background:#f3f1f9;color:#a497b7;border:1px solid #e9e4f1;border-radius:4px;padding:3px 5px}.workspace-caption{font-size:9px;color:#aaa3b5}.workbench{display:grid;grid-template-columns:43% 57%;border:1px solid var(--line);border-radius:0 0 13px 13px;overflow:hidden;background:white;box-shadow:0 8px 30px #3f325005}.input-side{padding:24px;border-right:1px solid var(--line);min-width:0}.step{font-size:8px;letter-spacing:1px;color:#b9adc9;font-weight:600}.step span{margin-left:8px;color:#9a8da8}.drop{margin-top:15px;min-height:165px;border:1.5px dashed #d8cdec;border-radius:9px;background:#fcfbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .2s}.drop:hover,.drop.over{background:#f2edff;border-color:#9377d6}.drop input{display:none}.upload-icon{color:#9276cc;border:1px solid #e5daf8;border-radius:11px;background:white;padding:4px 12px;font-size:25px;margin-bottom:3px;box-shadow:0 3px 6px #5b3c7405}.drop strong{font-size:12px;font-weight:500}.drop>span:not(.upload-icon){font-size:10px;color:#aaa0b7}.drop u{text-decoration:none;color:#8d71c7}.drop small{font-size:9px;color:#b4a9bf;margin-top:6px}.demo{display:block;background:transparent;border:0;margin:0 auto;padding:12px 5px;min-height:40px;font-size:10px;color:#a091b1}.fileinfo{padding:11px;background:#f5f1fc;font-size:10px;color:#8d77a7;border:1px solid #ece4f7;border-radius:7px;line-height:1.7;overflow-wrap:anywhere}.options-heading{margin:20px 0 16px}.options{display:grid;gap:14px}.options label{font-size:10px;color:#7f728e;display:block}.options input:not([type=checkbox]),select{display:block;width:100%;padding:10px 11px;margin-top:7px;border:1px solid #e6e0ee;background:#fff;border-radius:7px;color:#65576f;font-size:11px;min-height:38px}.options input[type=range]{padding:0;accent-color:#8b6ac7;min-height:26px}.options small{font-size:9px;line-height:1.7;color:#a297ae}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.presets>span{font-size:9px;margin-right:auto;color:#a294ad}.presets button{padding:5px 8px;border-radius:5px;background:white;border:1px solid #e9e2f1;color:#a294ad;font-size:9px}.presets button.selected{color:#9372c9;border-color:#cebee7;background:#f7f2fd}.primary{background:#7b5ac2;color:#fff;font-size:11px;font-weight:500;border:1px solid #7252b8;display:block;width:100%;padding:13px 16px;border-radius:7px;min-height:44px;text-align:center;margin-top:20px;box-shadow:0 4px 8px #7b5ac217}.primary span{float:right;color:#d8c8ef}.primary:hover{background:#6947ad}#status{font-size:9px;color:#a395b1;line-height:1.7;margin:11px 0 0}#status.error{color:#bb604d}.preview-side{padding:24px 27px;background-color:#faf9fc;background-image:radial-gradient(#e4dcec 1px,transparent 1px);background-size:16px 16px;min-height:610px;display:flex;flex-direction:column;min-width:0}.preview-heading{display:flex;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:1px;color:#9585a6}.preview-heading span:last-child{font-size:7px;letter-spacing:.8px;background:#fff;border:1px solid #eae3f0;padding:4px 7px;border-radius:4px;color:#b0a3ba}#empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 0}.paper{height:140px;width:108px;border:1px solid #e6def0;border-radius:10px;background:#fff;position:relative;transform:rotate(-9deg);box-shadow:0 12px 22px #6b4e7a0b;margin-bottom:24px}.paper:before{content:'';position:absolute;inset:6px -11px -6px 9px;background:#f5f0fb;border:1px solid #e6def0;border-radius:10px;transform:rotate(17deg);z-index:-1}.paper-lines{margin:28px 18px;height:70px;background:repeating-linear-gradient(transparent 0 13px,#eee8f5 13px 18px)}.paper>span{position:absolute;right:-15px;bottom:-9px;border:4px solid #faf9fc;border-radius:50%;background:#e6dcf5;color:#9d7dca;font-size:20px;padding:5px 10px;transform:rotate(9deg)}h3{font-size:13px;font-weight:600}#empty h3{color:#9383a3}#empty p{font-size:11px;line-height:1.8;color:#b0a3bd}.privacy-note{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:11px;padding:15px;border:1px solid #eae3f0;background:#ffffffb8;border-radius:8px;font-size:22px;color:#a18cb5}.privacy-note strong{font-size:9px;font-weight:500;display:block;color:#9a87ac}.privacy-note small{font-size:8px;display:block;margin-top:5px;color:#b5a6c1;line-height:1.7}#result{padding:25px 0}.checker{display:flex;align-items:center;justify-content:center;min-height:300px;border:1px solid #e6deed;border-radius:9px;overflow:hidden;background:repeating-conic-gradient(#ece8f1 0% 25%,#fff 0% 50%) 0/20px 20px}canvas{max-width:100%;max-height:420px;object-fit:contain}.result-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:11px;color:#9480aa}.tool-directory{padding:40px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-directory>div{grid-column:1/-1;padding:0 0 7px}.tool-directory h2{margin-top:10px}.tool-directory>a{padding:22px;background:#fff;border:1px solid var(--line);border-radius:11px;transition:transform .18s,border-color .18s}.tool-directory>a:hover{border-color:#cfc2eb;transform:translateY(-2px)}.tool-directory>a>span{display:grid;place-items:center;width:34px;height:34px;background:#f3effb;border-radius:9px;font-size:21px;color:#b09acb}.tool-directory h3{font-size:12px;margin-top:16px}.tool-directory p{font-size:11px;line-height:1.8;color:#aaa0b6}.tool-directory b{font-size:10px;font-weight:500;color:#aa91c2}.guide{max-width:850px;padding:20px 0 40px}.guide h2{margin-top:12px}.guide>p{color:#82778d;font-size:13px;line-height:1.9}.guide aside{border-left:3px solid #b5a0d5;background:#f0eaf9;padding:18px 22px;border-radius:0 10px 10px 0}.guide aside strong{font-size:11px;color:#8c73a7}.guide aside p{font-size:12px;line-height:1.8;color:#9584a8;margin-bottom:0}.how{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0}.how h2{font-size:20px;margin-top:12px;line-height:1.5}.how b{font-size:10px;color:#bcaed0}.how h3{font-size:11px}.how p{font-size:10px;line-height:1.8;color:#a69aad}.faq{max-width:740px;margin:40px auto 50px}.faq h2{margin-bottom:17px}details{border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}summary{cursor:pointer;color:#91829f;line-height:1.7}details p{font-size:12px;line-height:1.8;color:#a193af}footer{margin:0 42px;padding:24px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:9px;color:#b1a4bd}footer .brand{font-size:13px}footer .logo{height:25px;width:25px;font-size:20px}.beta{display:none}
@media(min-width:1500px){main{max-width:1330px}.hero-art{right:100px}.hero{min-height:300px}.workbench{grid-template-columns:40% 60%}.input-side{padding:28px 32px}}
@media(max-width:1150px){:root{--sidebar:200px}main{padding:0 26px}header{padding:0 26px}.brand{font-size:17px}.app-sidebar{padding-left:12px;padding-right:12px}.hero-art{right:0;transform:scale(.85);transform-origin:right center}.tabs{gap:9px}.tab{padding:14px 12px;gap:9px}.tab strong{font-size:10px}.tab small{font-size:8px}.tab .arrow{display:none}.input-side{padding:20px}.preview-side{padding:20px}.workspace-caption{display:none}.trust{gap:13px}.how{grid-template-columns:1fr 1fr}footer{margin:0 26px;flex-wrap:wrap}.side-link{font-size:11px}}
@media(max-width:900px){.hero-art{display:none}.hero{min-height:0;padding:32px 0}.hero h1 br{display:none}.hero h1{font-size:35px;max-width:550px}.tabs{grid-template-columns:1fr}.tab{min-height:66px}.tab .arrow{display:block}.tab strong{font-size:12px}.tab small{font-size:10px}.workbench{grid-template-columns:1fr}.input-side{border-right:0;border-bottom:1px solid var(--line);padding:24px}.preview-side{min-height:430px;padding:24px}.tool-directory{grid-template-columns:1fr}.tool-directory>a{display:grid;grid-template-columns:34px 1fr;gap:0 15px}.tool-directory>a>span{grid-row:1/4}.tool-directory h3{margin:0 0 6px}.tool-directory p{margin:0 0 8px}.tool-directory b{grid-column:2}.topbar-title{font-size:10px;gap:8px}.local{font-size:9px}.topbar-right{gap:12px}.help-link{display:none}.trust{flex-wrap:wrap}.sidebar-bottom{padding-top:15px}.private-card{display:none}.drop{min-height:190px}.options input:not([type=checkbox]),select{font-size:14px;min-height:44px}.options label{font-size:12px}.options small,#status{font-size:11px}.demo{font-size:12px;min-height:44px}.primary{font-size:13px;min-height:48px}.presets button{padding:8px 11px;font-size:11px}.presets>span{font-size:11px}.drop strong{font-size:14px}.drop small{font-size:11px}.privacy-note strong{font-size:11px}.privacy-note small{font-size:10px}}
@media(max-width:650px){body{padding-left:0}.app-sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:17px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.app-sidebar>.brand{margin:0}.sidebar-label,.app-sidebar>.side-link,.sidebar-bottom{display:none}.app-sidebar:after{content:'Free image tools';font-size:10px;color:#aaa0ba}header{height:52px;padding:0 20px;background:#fcfbfe}.topbar-title{font-size:10px}.breadcrumb-icon,.slash{display:none}.topbar-title>span:not(.breadcrumb-icon):not(.slash){display:none}.local{font-size:9px}main{padding:0 18px}.hero{padding:31px 0 27px}.hero h1{font-size:34px;letter-spacing:-1.5px;line-height:1.23;max-width:360px}.hero h1 br{display:block}.hero p{font-size:12px}.eyebrow{font-size:8px}.trust{font-size:9px;gap:12px}.section-top{margin:5px 0 15px}.section-top h2{font-size:16px}.section-top>span{display:none}.tabs{gap:9px;margin-bottom:19px}.tab{padding:13px;min-height:72px}.tab .icon{width:36px;height:36px;flex-basis:36px}.tab strong{font-size:12px}.tab small{font-size:10px}.workspace-toolbar{padding:17px}.workspace-toolbar strong{font-size:10px}.input-side,.preview-side{padding:20px 17px}.step{font-size:9px}.options input:not([type=checkbox]),select{font-size:16px}.drop{min-height:185px}.drop>span:not(.upload-icon){font-size:12px}.preview-side{min-height:400px}.preview-heading span:last-child{font-size:6px}.privacy-note{padding:12px}.privacy-note strong{font-size:10px}.privacy-note small{font-size:9px}.tool-directory{padding:30px 0}.tool-directory h2{font-size:18px}.tool-directory p{font-size:12px}.how{grid-template-columns:1fr;gap:12px;padding:27px 0}.how h3{font-size:13px}.how p{font-size:12px}.how article{padding:10px 0;border-top:1px solid var(--line)}.faq{margin:32px 0}.faq summary{font-size:13px}footer{margin:0 18px;display:grid;grid-template-columns:1fr 1fr;gap:17px;font-size:9px}.skip-link{left:18px}.checker{min-height:240px}.result-meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Keep small controls and supporting copy legible at every viewport. */
.hero>p{color:#746c83;font-size:14px}.trust{color:#7e748e;font-size:10px}.tab strong{font-size:12px}.tab small{font-size:11px;color:#877c97}.workspace-toolbar strong{font-size:12px}.workspace-caption{font-size:11px;color:#8b7f9a}.step{font-size:10px}.step span{color:#857391}.options label{font-size:12px;color:#736080}.options input:not([type=checkbox]),select{font-size:13px;min-height:42px}.options small,#status{font-size:11px;color:#897595}.drop small{font-size:10px;color:#94829f}.drop>span:not(.upload-icon){font-size:11px;color:#8e7b9d}.drop strong{font-size:13px}.demo{font-size:11px;color:#8b719e}.presets>span{font-size:10px;color:#8b7598}.presets button{font-size:10px;color:#87699d;min-height:30px}.preview-heading{font-size:9px;color:#8a729b}#empty h3{color:#877092}#empty p{color:#95809f;font-size:12px}.privacy-note strong{font-size:10px;color:#81678e}.privacy-note small{font-size:10px;color:#9880a5}.tool-directory p{font-size:12px;color:#887394}.tool-directory b{font-size:11px;color:#8c67aa}.how p{font-size:12px;color:#8a7597}.how h3{font-size:12px}summary{color:#80648f}.private-card p{color:#887693}.side-link{font-size:12px}.topbar-title,.local{font-size:11px}.fileinfo{font-size:12px}.primary{font-size:12px}.guide aside p,details p{color:#887294}.hero h1{max-width:calc(100% - 320px)}input[type=checkbox]{accent-color:#7b5ac2;width:15px;height:15px;vertical-align:middle}
@media(max-width:1150px){.hero-art{display:none}.hero h1{max-width:100%}.tab strong{font-size:11px}.tab small{font-size:10px}}
@media(max-width:900px){.tab strong{font-size:12px}.options input:not([type=checkbox]),select{font-size:14px}.presets button{min-height:36px}.local{font-size:9px}}
@media(max-width:650px){.options input:not([type=checkbox]),select{font-size:16px}.primary{font-size:13px}.hero>p{font-size:13px}.workspace-toolbar strong{font-size:11px}.trust{font-size:9px}.privacy-note small{font-size:9px}}


/* Shared site shell, following BuildWise and CalcWise conventions. */
body{padding-left:0;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}main{max-width:1180px}.site-header{height:72px;position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(12px);padding:0 28px;border-bottom:1px solid var(--line)}.header-inner{max-width:1096px;width:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{gap:7px;white-space:nowrap;font-family:inherit}.brand-accent{color:#745be2;margin-left:-7px}.header-inner nav{display:flex;align-items:center;gap:27px}.header-inner nav a{font-size:12px;color:#70687f;padding:12px 0}.header-inner nav a:hover{color:#745be2}.header-actions{display:flex;gap:8px}.icon-button{border:1px solid var(--line);border-radius:8px;background:#fff;color:#766987;height:36px;width:36px;font-size:18px}.nav-toggle{display:none}.hero{padding:43px 0}.site-footer{display:block;max-width:1096px;margin:0 auto;padding:35px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid p{font-size:12px;line-height:1.8;color:#8b7d99}.footer-grid nav{display:flex;flex-direction:column;gap:10px}.footer-grid h2{font-size:12px;color:#655472;margin-bottom:7px}.footer-grid nav a{font-size:12px;color:#867394}.footer-disclaimer{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:10px;line-height:1.8;color:#94859f}.prose-page{max-width:880px;padding:48px 30px 70px;min-height:62vh}.prose-page h1{font-size:38px;max-width:none}.prose-page h2{font-size:20px;margin:30px 0 10px}.prose-page p{font-size:14px;line-height:1.9;color:#7f718c}.prose-page a{color:#7c58b5}.prose-lead{font-size:17px!important}.back-link{font-size:12px}.sitemap-table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:30px 0;background:#fff}.sitemap-table table{width:100%;border-collapse:collapse;font-size:13px}.sitemap-table th,.sitemap-table td{text-align:left;padding:15px 20px;border-bottom:1px solid var(--line)}.sitemap-table th{background:#f4f0fa;font-size:11px;color:#82718f}.sitemap-table code{font-size:11px;overflow-wrap:anywhere}.skip-link{left:20px}.private-card{display:none}
:root[data-theme=dark]{color-scheme:dark;--ink:#e8e5f2;--muted:#a9a0ba;--line:#30283f}
:root[data-theme=dark] body{background:#13101c;color:var(--ink)}:root[data-theme=dark] .site-header{background:#1b1625ef}:root[data-theme=dark] .brand{color:#ece6f7}:root[data-theme=dark] .header-inner nav a,:root[data-theme=dark] .footer-grid nav a,:root[data-theme=dark] .footer-grid p,:root[data-theme=dark] .footer-grid h2{color:#b0a0c3}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .tab,:root[data-theme=dark] .workbench,:root[data-theme=dark] .workspace-toolbar,:root[data-theme=dark] .tool-directory>a,:root[data-theme=dark] .options input:not([type=checkbox]),:root[data-theme=dark] select,:root[data-theme=dark] .presets button,:root[data-theme=dark] .sitemap-table{background:#1d1728;color:#ddd3ed}:root[data-theme=dark] .tab.active,:root[data-theme=dark] .drop,:root[data-theme=dark] .guide aside,:root[data-theme=dark] .fileinfo{background:#2a203b}:root[data-theme=dark] .preview-side{background-color:#1a1425;background-image:radial-gradient(#372a49 1px,transparent 1px)}:root[data-theme=dark] .privacy-note{background:#20192d}:root[data-theme=dark] .paper,:root[data-theme=dark] .paper:before,:root[data-theme=dark] .upload-icon{background:#302540}:root[data-theme=dark] .paper-lines{background:repeating-linear-gradient(transparent 0 13px,#443251 13px 18px)}:root[data-theme=dark] .paper>span{border-color:#1a1425}:root[data-theme=dark] .hero-art{opacity:.7}:root[data-theme=dark] .sitemap-table th{background:#2a203b}:root[data-theme=dark] .prose-page p,:root[data-theme=dark] .guide>p{color:#b8a8cb}:root[data-theme=dark] .hero>p,:root[data-theme=dark] .tab small,:root[data-theme=dark] .options label,:root[data-theme=dark] .options small,:root[data-theme=dark] #status,:root[data-theme=dark] .drop small,:root[data-theme=dark] .tool-directory p,:root[data-theme=dark] .how p,:root[data-theme=dark] summary{color:#b4a3c9}
@media(max-width:1150px){.site-footer{margin:0 26px}.hero-art{display:none}.hero h1{max-width:none}}
@media(max-width:650px){.site-header{height:65px;padding:0 18px}.header-inner{gap:12px}.brand{font-size:18px}.nav-toggle{display:block}.header-inner nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;flex-direction:column;gap:3px;align-items:stretch}.header-inner nav.open{display:flex}.header-inner nav a{font-size:14px}.site-footer{margin:0 18px}.footer-grid{grid-template-columns:1fr 1fr;gap:27px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid nav a{font-size:12px}.prose-page{padding:30px 20px 50px}.prose-page h1{font-size:31px}.sitemap-table th,.sitemap-table td{padding:12px}.sitemap-table{font-size:11px}.hero h1 br{display:block}:root[data-theme=dark] .header-inner nav{background:#1d1728}}

/* Language navigation and readable Khmer/Chinese typography. */
.lang-menu{position:relative;font-size:12px;border:0;padding:0}.lang-menu summary{display:flex;gap:6px;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;list-style:none;color:#766987;background:#fff;cursor:pointer;white-space:nowrap}.lang-menu summary::-webkit-details-marker{display:none}.lang-list{position:absolute;right:0;top:calc(100% + 9px);min-width:160px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 30px #3d285c1a;z-index:40;display:flex;flex-direction:column;gap:3px}.lang-list a{padding:10px 12px;border-radius:6px;color:#77628a;white-space:nowrap;line-height:1.8}.lang-list a:hover,.lang-list a[aria-current=true]{background:#f0eafa;color:#7453ad}.header-actions{align-items:center;flex-shrink:0}.header-inner nav a[aria-current=page]{color:#745be2;font-weight:600}.lang-menu:focus-within{outline-offset:4px}.theme-toggle[aria-pressed=true]{color:#c8b0ff;background:#352746}.icon-button{flex-shrink:0}.header-inner>.brand{font-size:19px}.prose-page{overflow-wrap:break-word}html[lang=km] body{font-family:'Noto Sans Khmer','Khmer OS System','Leelawadee UI',system-ui,sans-serif;line-height:1.8}html[lang=km] h1,html[lang=km] h2,html[lang=km] h3{font-family:inherit;letter-spacing:0;line-height:1.7}html[lang=km] .eyebrow,html[lang=km] .step,html[lang=km] .preview-heading,html[lang=km] .section-top>span{letter-spacing:0;font-size:11px}html[lang=km] .tab strong{font-size:12px;line-height:1.8}html[lang=km] .tab small{font-size:11px;line-height:1.9}html[lang=km] .options label,html[lang=km] .options small,html[lang=km] #status{line-height:1.9}html[lang=km] .hero h1{font-size:39px;max-width:calc(100% - 310px)}html[lang=zh-Hans] body{font-family:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif}html[lang=zh-Hans] h1,html[lang=zh-Hans] h2,html[lang=zh-Hans] h3{font-family:inherit;letter-spacing:0}html[lang=zh-Hans] .eyebrow,html[lang=zh-Hans] .step{letter-spacing:.4px}.tab div{min-width:0}.tab strong,.tab small{overflow-wrap:break-word}.privacy-note>div{min-width:0}.workbench .options label{overflow-wrap:break-word}
:root[data-theme=dark] .lang-menu summary,:root[data-theme=dark] .lang-list{background:#211a2e;color:#c9b6df}:root[data-theme=dark] .lang-list a{color:#c9b6df}:root[data-theme=dark] .lang-list a:hover,:root[data-theme=dark] .lang-list a[aria-current=true]{background:#352746;color:#dbc9ff}:root[data-theme=dark] .header-inner nav a[aria-current=page]{color:#ba9af5}:root[data-theme=dark] .preview-heading span:last-child,:root[data-theme=dark] .workspace-badge{background:#292035;border-color:#3d304c;color:#bdaccb}:root[data-theme=dark] .presets button.selected{background:#392a50;border-color:#71578b;color:#cfb9f3}:root[data-theme=dark] .step span,:root[data-theme=dark] .step,:root[data-theme=dark] .workspace-caption,:root[data-theme=dark] .preview-heading,:root[data-theme=dark] .demo,:root[data-theme=dark] .privacy-note strong,:root[data-theme=dark] .privacy-note small,:root[data-theme=dark] .prose-page a,:root[data-theme=dark] .guide aside p,:root[data-theme=dark] details p{color:#bca5ce}:root[data-theme=dark] .drop:hover,:root[data-theme=dark] .drop.over{background:#392a50;border-color:#ac84db}:root[data-theme=dark] #empty h3,:root[data-theme=dark] #empty p{color:#bba4cd}:root[data-theme=dark] .checker{background:repeating-conic-gradient(#30253e 0% 25%,#241c30 0% 50%) 0/20px 20px}
@media(max-width:1150px){html[lang=km] .hero h1{max-width:100%}}
@media(max-width:1000px){.header-inner nav{display:none;position:absolute;top:71px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;flex-direction:column;gap:3px;align-items:stretch}.header-inner nav.open{display:flex}.nav-toggle{display:block}:root[data-theme=dark] .header-inner nav{background:#1d1728}}
@media(max-width:650px){.header-inner nav{top:64px}.header-inner{gap:10px}.header-inner>.brand{font-size:16px;gap:6px}.header-inner>.brand .brand-accent{margin-left:-6px}.header-inner>.brand .logo{width:28px;height:28px;font-size:23px}.header-actions{gap:5px}.icon-button{width:32px;height:34px}.lang-menu summary{padding:0 7px;min-height:34px;font-size:11px}.lang-menu summary>span:first-child{display:none}.lang-list{min-width:150px}.site-header{padding:0 14px}html[lang=km] .hero h1{font-size:30px;line-height:1.7}.trust{line-height:1.9}.privacy-note{align-items:flex-start}.preview-heading span:last-child{display:none}.footer-grid{gap:24px 16px}.header-inner nav a{font-size:13px}}
@media(max-width:360px){.header-inner>.brand{font-size:14px}.header-inner>.brand .logo{width:25px;height:25px}.icon-button{width:29px}.lang-menu summary{padding:0 5px}.header-actions{gap:4px}}

/* Explicit color schemes keep native controls aligned with the chosen theme,
   even when the operating system uses the opposite preference. */
:root,:root[data-theme=light]{color-scheme:light;--page-bg:#f8f9fc;--surface:#ffffff;--surface-soft:#faf9fd;--surface-accent:#f2edfc;--header-bg:#fffffff2;--ink:#292335;--copy:#665b74;--subtle:#786985;--line:#e3ddeb;--field-border:#d8cde3;--accent-text:#704ca7;--preview-dots:#e1d8eb;--checker-a:#eee9f4;--checker-b:#ffffff;--notice-bg:#f4effa;--error:#a34236}
:root[data-theme=dark]{color-scheme:dark;--page-bg:#13101c;--surface:#1d1728;--surface-soft:#211a2e;--surface-accent:#352746;--header-bg:#1b1625f2;--ink:#e8e2f1;--copy:#c3b3d3;--subtle:#b3a0c5;--line:#3a2e49;--field-border:#5a466d;--accent-text:#c4a4f4;--preview-dots:#3b2d4c;--checker-a:#30253e;--checker-b:#241c30;--notice-bg:#2a203b;--error:#f1a598}
:root[data-theme] body{background:var(--page-bg);color:var(--ink)}
:root[data-theme] .site-header{background:var(--header-bg)}
:root[data-theme] .brand,:root[data-theme] .tab,:root[data-theme] .workspace-toolbar strong,:root[data-theme] .drop strong{color:var(--ink)}
:root[data-theme] .workbench,:root[data-theme] .workspace-toolbar,:root[data-theme] .tab,:root[data-theme] .tool-directory>a,:root[data-theme] .lang-list,:root[data-theme] .lang-menu summary,:root[data-theme] .sitemap-table,:root[data-theme] .icon-button{background:var(--surface);border-color:var(--line)}
:root[data-theme] .tab.active,:root[data-theme] .presets button.selected{background:var(--surface-accent);border-color:var(--field-border)}
:root[data-theme] .drop{background:var(--surface-soft);border-color:var(--field-border)}
:root[data-theme] .drop:hover,:root[data-theme] .drop.over{background:var(--surface-accent);border-color:var(--accent-text)}
:root[data-theme] .options input:not([type=checkbox]),:root[data-theme] .options select{background:var(--surface);color:var(--ink);border-color:var(--field-border);color-scheme:inherit}
:root[data-theme] .options input::placeholder{color:var(--subtle);opacity:1}
:root[data-theme] .presets button{background:var(--surface);color:var(--copy);border-color:var(--field-border)}
:root[data-theme] .presets button.selected,:root[data-theme] .lang-list a[aria-current=true],:root[data-theme] .lang-list a:hover{color:var(--accent-text);background:var(--surface-accent)}
:root[data-theme] .hero>p,:root[data-theme] .options label,:root[data-theme] .options small,:root[data-theme] .tab small,:root[data-theme] #status,:root[data-theme] .drop small,:root[data-theme] .drop>span:not(.upload-icon),:root[data-theme] .tool-directory p,:root[data-theme] .how p,:root[data-theme] .prose-page p,:root[data-theme] .guide>p,:root[data-theme] details p,:root[data-theme] .guide aside p,:root[data-theme] .footer-grid p,:root[data-theme] .footer-grid nav a,:root[data-theme] .footer-grid h2{color:var(--copy)}
:root[data-theme] .step,:root[data-theme] .step span,:root[data-theme] .workspace-caption,:root[data-theme] .preview-heading,:root[data-theme] .presets>span,:root[data-theme] .trust,:root[data-theme] .footer-disclaimer,:root[data-theme] #empty p{color:var(--subtle)}
:root[data-theme] .demo,:root[data-theme] .prose-page a,:root[data-theme] .lang-list a,:root[data-theme] .lang-menu summary,:root[data-theme] .icon-button,:root[data-theme] summary,:root[data-theme] .tool-directory b,:root[data-theme] .header-inner nav a,:root[data-theme] #empty h3{color:var(--accent-text)}
:root[data-theme] .preview-side{background-color:var(--surface-soft);background-image:radial-gradient(var(--preview-dots) 1px,transparent 1px)}
:root[data-theme] .privacy-note,:root[data-theme] .guide aside,:root[data-theme] .fileinfo,:root[data-theme] .sitemap-table th{background:var(--notice-bg);border-color:var(--line)}
:root[data-theme] .privacy-note strong,:root[data-theme] .privacy-note small,:root[data-theme] .fileinfo,:root[data-theme] .sitemap-table th{color:var(--copy)}
:root[data-theme] .checker{background:repeating-conic-gradient(var(--checker-a) 0% 25%,var(--checker-b) 0% 50%) 0/20px 20px}
:root[data-theme] .preview-heading span:last-child,:root[data-theme] .workspace-badge{background:var(--surface);color:var(--subtle);border-color:var(--line)}
:root[data-theme] .paper,:root[data-theme] .paper:before,:root[data-theme] .upload-icon{background:var(--surface);border-color:var(--field-border)}
:root[data-theme] .paper>span{border-color:var(--surface-soft);color:var(--accent-text);background:var(--surface-accent)}
:root[data-theme] #status.error{color:var(--error)}
:root[data-theme] .theme-toggle[aria-pressed=true]{color:var(--accent-text);background:var(--surface-accent)}
@media(max-width:1000px){:root[data-theme] .header-inner nav{background:var(--surface)}}
