:root{--ink:#201c1b;--muted:#706866;--paper:#fbf8f4;--card:#fff;--line:#e6ded7;--coral:#e86f51;--coral-dark:#bd4d35;--plum:#4d2639;--sage:#dfe8dd;--shadow:0 24px 70px #41271c1c;--radius-xl:30px;--radius-lg:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%}.shell{width:min(1180px,100% - 40px);margin-inline:auto}.skip-link{z-index:100;background:#fff;border-radius:10px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf8f4eb;border-bottom:1px solid #e6ded7d9;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;width:30px;height:30px;display:grid;transform:rotate(-7deg)}.brand-mark i{background:var(--coral);border-radius:999px 999px 4px 4px;display:block}.brand-mark i:first-child{background:#dda96c;height:17px}.brand-mark i:nth-child(2){background:var(--coral);height:27px}.brand-mark i:nth-child(3){background:var(--plum);height:21px}.site-header nav{gap:28px;display:flex}.site-header nav a{color:#554e4b;font-size:14px;font-weight:700;text-decoration:none}.site-header nav a:hover{color:var(--coral-dark)}.hero{grid-template-columns:.95fr 1.05fr;align-items:center;gap:54px;min-height:490px;padding-block:48px 54px;display:grid}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--coral-dark);align-items:center;gap:9px;font-size:12px;font-weight:800;display:inline-flex}.eyebrow span{background:currentColor;width:24px;height:1px}h1,h2{letter-spacing:-.045em;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.04}.hero h1{max-width:650px;margin:16px 0;font-size:clamp(46px,5vw,70px)}.hero-lede{color:#5d5552;max-width:560px;margin:0;font-size:clamp(18px,1.8vw,23px);line-height:1.42}.hero-notes{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.hero-notes span{border:1px solid var(--line);color:#5e5551;background:#ffffff94;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.hero-example{min-width:0;margin:0}.hero-example-image{box-shadow:var(--shadow);background:#e6d6c7;border:8px solid #ffffffd1;border-radius:28px;position:relative;overflow:hidden}.hero-example-image img{aspect-ratio:1.82;object-fit:cover;width:100%;height:auto;display:block}.example-label{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2b1f1dc7;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800;position:absolute;top:16px}.before-label{left:16px}.after-label{background:#823537d1;right:16px}.hero-example figcaption{color:var(--muted);text-align:center;margin-top:9px;font-size:11px}.tool-section{background:#f1eae3;border-block:1px solid #e6d9cf;padding:50px 0 90px}.section-heading{margin-bottom:38px}.section-heading.compact{text-align:center;max-width:960px;margin-inline:auto}.tool-section .section-heading.compact{margin-bottom:24px}.tool-section .section-heading.compact h2{margin-block:9px 7px;font-size:clamp(32px,3.3vw,40px)}.section-heading h2,.section-heading h1{margin:12px 0 10px;font-size:clamp(38px,4.6vw,60px)}.section-heading p{color:var(--muted);margin:0;font-size:17px}.tool-card{border-radius:var(--radius-xl);background:var(--card);box-shadow:var(--shadow);border:1px solid #ded3ca;grid-template-columns:.92fr 1.15fr .93fr;display:grid;overflow:hidden}.tool-column{min-width:0;padding:26px}.tool-column+.tool-column{border-left:1px solid var(--line)}.tool-label{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:18px;font-size:13px;font-weight:800;display:flex}.tool-label>span{color:#fff;background:var(--plum);border-radius:50%;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.upload-drop{border-radius:var(--radius-lg);width:100%;min-height:310px;color:var(--ink);cursor:pointer;background:#faf6f1;border:1.5px dashed #cdbeb4;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;overflow:hidden}.upload-drop:hover,.upload-drop:focus-visible{border-color:var(--coral);outline-offset:2px;background:#fff9f5;outline:3px solid #e86f5133}.upload-drop.has-preview{background:#eee;border-style:solid;padding:0}.upload-drop img{object-fit:cover;width:100%;height:310px}.upload-icon{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:50px;height:50px;font-size:26px;display:grid}.upload-drop strong{font-size:17px}.upload-drop small{max-width:220px;color:var(--muted)}.consent-row{color:#5c5552;cursor:pointer;grid-template-columns:20px 1fr;gap:10px;margin-top:16px;font-size:12px;display:grid}.consent-row input{width:18px;height:18px;accent-color:var(--coral-dark)}.color-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-5px 0 10px;display:grid}.color-mode-switch button{border:1px solid var(--line);color:#625a57;cursor:pointer;text-align:left;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-height:54px;padding:8px 12px;display:flex}.color-mode-switch button>span{align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.color-mode-switch button small{color:var(--muted);font-size:10px}.color-mode-switch button:hover,.color-mode-switch button:focus-visible{outline-offset:1px;border-color:#cb9d8e;outline:2px solid #e86f512e}.color-mode-switch button.active{border-color:var(--coral);color:var(--coral-dark);box-shadow:inset 0 0 0 1px var(--coral);background:#fff7f2}.custom-mode-dot{background:conic-gradient(#ef4444,#f59e0b,#84cc16,#06b6d4,#6366f1,#d946ef,#ef4444);border:2px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 1px #00000021}.color-browse-note{color:var(--muted);margin:0 0 9px;font-size:11px}.color-browser{overscroll-behavior:contain;scrollbar-color:#c9aaa0 #f2eae4;scrollbar-width:thin;max-height:292px;padding:0 9px 4px 1px;overflow-y:auto}.color-browser::-webkit-scrollbar{width:8px}.color-browser::-webkit-scrollbar-track{background:#f2eae4;border-radius:999px}.color-browser::-webkit-scrollbar-thumb{background:#c9aaa0;border:2px solid #f2eae4;border-radius:999px}.color-family+.color-family{margin-top:16px}.color-family h3{z-index:2;color:#5e5350;letter-spacing:.07em;text-transform:uppercase;background:linear-gradient(#fff 75%,#ffffffe0);margin:0 0 8px;padding:5px 2px;font-size:11px;position:sticky;top:0}.swatch-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.swatch{border:1px solid var(--line);color:#625a57;cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:70px;font-size:11px;font-weight:700;display:flex}.swatch i{border:2px solid #fff;border-radius:50%;width:25px;height:25px;box-shadow:0 0 0 1px #00000024}.swatch:hover,.swatch:focus-visible{border-color:#cb9d8e;outline:2px solid #e86f512e}.swatch.selected{border-color:var(--coral);color:var(--coral-dark);box-shadow:inset 0 0 0 1px var(--coral);background:#fff7f2}.custom-color-picker{grid-template-rows:auto minmax(120px,1fr) auto auto;gap:9px;height:292px;display:grid}.custom-color-picker[hidden]{display:none}.custom-color-field{grid-template-columns:48px minmax(0,1fr);gap:10px;display:grid}.custom-color-preview{border:3px solid #fff;border-radius:12px;min-height:48px;display:block;box-shadow:0 0 0 1px #00000024}.custom-color-field label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.custom-color-field label>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.custom-color-field input{width:100%;min-width:0;height:48px;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:#fff;border:1px solid #d8cbc2;border-radius:11px;padding:0 12px;font-weight:800}.custom-color-field input[aria-invalid=true]{border-color:#a53d35}.custom-color-field input:focus-visible,.custom-color-area:focus-visible,.hue-control input:focus-visible{outline-offset:2px;outline:3px solid #e86f5147}.custom-color-area{cursor:crosshair;touch-action:none;border:1px solid #0000001f;border-radius:14px;min-height:120px;position:relative;overflow:hidden}.custom-color-cursor{pointer-events:none;border:3px solid #fff;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0009}.hue-control{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;font-size:10px;font-weight:800;display:grid}.hue-control input{appearance:none;cursor:pointer;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:2px solid #fff;border-radius:999px;width:100%;height:16px;margin:0;box-shadow:0 0 0 1px #00000024}.hue-control input::-webkit-slider-thumb{appearance:none;background:#312727;border:3px solid #fff;border-radius:50%;width:19px;height:19px;box-shadow:0 1px 4px #00000073}.hue-control input::-moz-range-thumb{background:#312727;border:3px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000073}.custom-guidance{min-height:30px;color:var(--muted);margin:0;font-size:10px;line-height:1.4}.custom-guidance.error{color:#a53d35;font-weight:700}.selection-summary{color:var(--muted);background:#f5f1ed;border-radius:11px;justify-content:space-between;align-items:center;margin:16px 0;padding:11px 13px;font-size:12px;display:flex}.selection-summary strong{color:var(--ink);align-items:center;gap:7px;display:inline-flex}.selection-summary i{border-radius:50%;width:14px;height:14px}.generate-button{color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:52px;padding:0 18px;font-weight:800;display:flex}.generate-button:hover{background:var(--coral-dark)}.generate-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible{outline-offset:3px;outline:3px solid #e86f5147}.generate-button:disabled{opacity:.62;cursor:wait}.allowance,.quota-status{color:var(--muted);font-size:11px}.result-stage{border-radius:var(--radius-lg);background:#f3efeb;place-items:center;min-height:310px;display:grid;overflow:hidden}.result-stage img{object-fit:cover;width:100%;height:310px}.result-zoom-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;height:310px;padding:0;position:relative;overflow:hidden}.result-zoom-trigger span{color:#fff;background:#201c1bc7;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;position:absolute;bottom:12px;right:12px}.result-zoom-trigger:focus-visible{outline-offset:-4px;outline:4px solid #e86f518c}.image-lightbox{z-index:100;background:#181214e6;place-items:center;padding:64px 24px 24px;display:grid;position:fixed;inset:0}.image-lightbox img{border-radius:18px;width:auto;max-width:min(1200px,94vw);height:auto;max-height:calc(100vh - 88px);box-shadow:0 24px 80px #00000073}.lightbox-close{z-index:101;color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:46px;height:46px;font-size:30px;line-height:1;display:grid;position:fixed;top:18px;right:22px}.lightbox-close:focus-visible{outline-offset:3px;outline:3px solid #fff}.empty-result,.processing{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:25px;display:flex}.empty-result>span{color:var(--coral);font-size:34px}.empty-result small,.processing small{color:var(--muted)}.preview-feedback{text-align:center;flex-direction:column;align-items:center;gap:9px;max-width:390px;padding:28px;display:flex}.preview-feedback>span{border-radius:50%;place-items:center;width:38px;height:38px;font-size:23px;font-weight:900;display:grid}.preview-feedback strong{font-size:18px}.preview-feedback small{color:var(--muted);font-size:13px;line-height:1.55}.preview-feedback.error>span{color:#fff;background:#a53d35}.preview-feedback.error strong{color:#8d302a}.preview-notice{border-radius:10px;margin:12px 0 4px;padding:12px 14px;font-size:13px;line-height:1.5}.preview-notice.warning{color:#674c1d;background:#fff7e6;border:1px solid #ddbf87}.processing-spinner{border:3px solid #decfc5;border-top-color:var(--coral);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}.progress-dots{text-align:left;letter-spacing:.06em;min-width:2.8em;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tool-message{color:#604b43;min-height:38px;margin:14px 0 8px;font-size:12px}.result-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.secondary-button{min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d8cbc2;border-radius:10px;padding:0 15px;font-weight:800}.text-button{cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:0 8px;text-decoration:underline}.danger{color:#a53d35}.requirements,.boundaries{padding-block:110px}.requirement-grid,.boundary-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.requirement-card{border-radius:var(--radius-xl);min-height:300px;padding:38px;position:relative;overflow:hidden}.requirement-card.good{background:var(--sage)}.requirement-card.avoid{background:#eeded9}.card-index{color:#201c1b24;font-family:Georgia,serif;font-size:60px;position:absolute;top:18px;right:28px}.requirement-card h3{margin:0 0 22px;font-family:Georgia,serif;font-size:30px}.requirement-card ul{margin:0;padding:0;list-style:none}.requirement-card li{border-top:1px solid #201c1b1a;padding:11px 0 11px 28px;position:relative}.requirement-card li:before{content:"✓";color:#547255;font-weight:900;position:absolute;left:1px}.requirement-card.avoid li:before{content:"×";color:#9c4d43}.steps-section{background:#fff;padding:105px 0}.steps{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px}.steps li>span{color:#fff;background:var(--plum);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.steps h3{margin:28px 0 8px;font-family:Georgia,serif;font-size:24px}.steps p{color:var(--muted)}.privacy-band{color:#fff;background:var(--plum);padding:100px 0}.privacy-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:80px;display:grid}.privacy-grid h2{margin:14px 0 0;font-size:clamp(40px,5vw,64px)}.kicker.light{color:#e9aa97}.privacy-points p{border-top:1px solid #ffffff2e;grid-template-columns:150px 1fr;gap:28px;margin:0;padding:24px 0;display:grid}.privacy-points span{color:#d8cbd1}.boundary-grid{grid-template-columns:repeat(3,1fr)}.boundary-grid article{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff8c;padding:30px}.boundary-grid article>span{color:var(--coral-dark);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.boundary-grid h3{margin:18px 0 8px;font-family:Georgia,serif;font-size:26px}.boundary-grid p{color:var(--muted)}.faq-section{background:#eee6de;padding:105px 0}.faq-layout{grid-template-columns:.72fr 1.28fr;gap:80px;display:grid}.sticky-heading{align-self:start;position:sticky;top:110px}.faq-list details{border-top:1px solid #d3c5ba}.faq-list details:last-child{border-bottom:1px solid #d3c5ba}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:82px;font-family:Georgia,serif;font-size:20px;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:Arial,sans-serif;font-size:24px}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:670px;color:var(--muted);margin:-4px 0 24px}.site-footer{color:#d8ced1;background:#261a20;padding:54px 0}.footer-inner{justify-content:space-between;gap:30px;display:flex}.footer-brand{color:#fff;font-family:Georgia,serif;font-size:22px}.footer-inner p{margin:5px 0 0;font-size:13px}.footer-links{align-items:center;gap:22px;display:flex}.footer-links a{font-size:13px}.task-page{min-height:800px;padding:70px 0 110px}.task-page .section-heading{text-align:left;margin:40px 0}.back-link{color:var(--coral-dark);text-underline-offset:4px;font-weight:800}.legal-page{max-width:820px;padding-block:85px 120px}.legal-page h1{font-size:clamp(46px,7vw,74px)}.legal-page h2{margin-top:42px;font-size:28px}.legal-page p,.legal-page li{color:#5f5754}@media (max-width:980px){.hero{grid-template-columns:1fr;gap:28px}.hero-example{width:min(680px,100%);margin-inline:auto}.tool-card{grid-template-columns:1fr 1fr}.result-column{border-top:1px solid var(--line);grid-column:1/-1;border-left:0!important}.result-stage{max-width:550px;margin-inline:auto}.privacy-grid,.faq-layout{grid-template-columns:1fr;gap:38px}.sticky-heading{position:static}}@media (max-width:720px){.shell{width:min(100% - 28px,1180px)}.header-inner{min-height:66px}.site-header nav a:not(:first-child){display:none}.hero{gap:20px;min-height:auto;padding-block:32px 34px}.hero h1{margin-block:12px;font-size:clamp(41px,12vw,58px)}.hero-notes{margin-top:16px}.hero-example-image{border-width:5px;border-radius:20px}.tool-section{padding-block:22px 70px}.tool-section .section-heading.compact{margin-bottom:16px}.tool-section .section-heading.compact .kicker{display:none}.tool-section .section-heading.compact h2{margin:0 0 6px;font-size:30px;line-height:1.08}.tool-section .section-heading.compact p{font-size:14px;line-height:1.38}.hero-example-image img{aspect-ratio:auto;object-position:center;height:150px}.hero-example figcaption{margin-top:6px}.requirements,.boundaries,.steps-section,.faq-section{padding-block:75px}.tool-card{grid-template-columns:1fr}.tool-column+.tool-column,.result-column{border-left:0;border-top:1px solid var(--line)}.tool-column{padding:20px}.upload-drop,.upload-drop img,.result-stage,.result-stage img,.result-zoom-trigger{height:280px;min-height:280px}.requirement-grid,.boundary-grid,.steps{grid-template-columns:1fr}.requirement-card{min-height:0;padding:28px}.privacy-band{padding:75px 0}.privacy-points p{grid-template-columns:1fr;gap:7px}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}}@media (max-width:400px){.swatch-grid{grid-template-columns:repeat(2,1fr)}.hero-notes{align-items:flex-start}.color-browser{max-height:350px}.custom-color-picker{height:350px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.processing-spinner{animation:none}}
