:root{color-scheme:dark;--ink:#edf5f0;--muted:#b0c1b8;--paper:#0c1513;--green:#b8e29e;--line:#2c4239;--surface:#14231e;--raised:#1b3027;--accent:#c5eaaa}
body{background:radial-gradient(ellipse at 80% 0,#1e382b 0,transparent 48%),#0c1513;color:var(--ink)}
header{background:transparent;border-color:var(--line)}.brand,.brand b{color:#eff7ee}.studio{color:#b8d5a8}.nav{color:#b0c4b8}.nav.active,.nav:hover{color:#d4efb8}.header-tag,.free-tag{color:#b8c8b4}.online-dot{background:#b8e29e;box-shadow:0 0 12px #b8e29e60}
h1 em{color:#c5eaaa}p{color:var(--muted)}a{color:#c5eaaa}.eyebrow,.step-label{color:#bfdda9}.hero{min-height:460px}.hero-links>span{color:#a9c1b0}.voice-hero-link{color:#c5eaaa;background:#1e3428;border:1px solid #40583d;border-radius:8px;padding:12px}.mini-strip{color:#c3d6be;border-color:var(--line)}.tiny-note{color:#c3d7ac}.hero-art{background:radial-gradient(ellipse,#486a3738,transparent 67%)}.art-sticker{background:#c5eaaa;color:#29462f;box-shadow:0 10px 35px #0004}.art-card{color:#405438}.art-card p{color:#607454}
.primary{background:#c5eaaa;color:#193021;font-weight:700;box-shadow:0 4px 18px #0002}.primary:hover{background:#def4ca;color:#162819;box-shadow:0 6px 22px #c5eaaa18}.secondary,.result-head button,.focus-toggle,.stop-voice{background:#223a2d;color:#e5efdf;border-color:#415b46}.secondary:hover,.text-button:hover{background:#2d4937;color:#fff}.text-button,.inline-actions .text-button{color:#cce8b5}button:disabled{opacity:.5}
.panel{background:#14231e;border-color:#30483b;box-shadow:0 16px 50px #0003}.editor,.tool-intro,.photo-controls{background:#14231e;border-color:#2c4239}.preview,.photo-output,.result-area{background:linear-gradient(145deg,#1b3026,#17251f)}.preview-top,.preview .hint{color:#bfd0bb}.tool-tabs{background:#182a22;border:1px solid #304537}.tool-tabs button{color:#c2d0bf}.tool-tabs button.active{background:#c5eaaa;color:#193021;box-shadow:0 4px 16px #0003}.tool-tabs button:hover{box-shadow:inset 0 0 0 1px #78966d}
label{color:#dfebd9}.hint,.drop-zone span{color:#b6c8ac}input,textarea,select,.drop-zone input,.translation-grid select,.voice-language-bar select,.voice-options select{background:#0d1b15;border-color:#3a5441;color:#f0f5eb;accent-color:#c5eaaa}input::placeholder,textarea::placeholder{color:#94aa98;opacity:1}input:focus,select:focus,textarea:focus{border-color:#b8e29e;box-shadow:0 0 0 3px #b8e29e20}input[type=range]{padding:0;background:transparent;min-height:28px}output,.range-grid output{color:#d5ecbf}input[type=checkbox]{accent-color:#b8e29e}.drop-zone{background:#1c3024;border-color:#66845b;color:#d5ecbf}.drop-zone strong{color:#f0f5eb}.result-area>textarea{background:#0d1b15;color:#f0f5eb}.result-head b{color:#f0f5eb}.result-head button{border:1px solid #405a42;min-height:40px}
.occasions button,.card-templates button{background:#1b3025;border:1px solid #3f5941;color:#c2d2bb;border-radius:9px;min-height:42px;font-size:12px;padding:10px 12px;transition:background .15s,border-color .15s}.occasions button.selected,.card-templates button.selected{background:#c5eaaa;color:#1d3220;border-color:#d9f2c4;font-weight:600}.occasions{gap:7px;margin-bottom:24px}.card-templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 24px}.card-templates button{position:relative;padding-top:25px;font-size:11px}.card-templates button::before{content:'';position:absolute;top:9px;left:calc(50% - 12px);width:24px;height:8px;border:1px solid currentColor;opacity:.65}.card-templates [data-template=royal]::before{border-style:double;border-width:3px;height:11px;top:6px}.card-templates [data-template=arch]::before{border-radius:20px 20px 0 0;height:11px;top:6px}.card-templates [data-template=festive]::before{border-style:dotted}.card-templates [data-template=minimal]::before{border-width:0 0 1px}.palette{flex-wrap:wrap;gap:10px}.palette #paletteLabel{flex-basis:100%;color:#d2e0c7;margin:0 0 5px}.swatch{width:33px;height:33px;min-width:33px;border:2px solid #52644f;box-shadow:none}.swatch.selected{outline:2px solid #dceec9;outline-offset:3px}.swatch.emerald{background:#174d3e}.swatch.lavender{background:#c2aee0}.swatch.terracotta{background:#be7057}.swatch.sky{background:#a4d2e6}.swatch.ivory{background:#f2ede1}
.mode-note,.photo-presets,.size-chips,.photo-empty,.photo-export-info,.passport-note,.tool-notice,.voice-support,.tool-notice p{background:#1b3025;color:#c0d4b7;border-color:#3c5540}.size-chips button,.passport-presets button,.passport-card,.passport-options button{background:#1b3025;color:#e2ecd9;border-color:#3c5540}.size-chips button:hover,.passport-card:hover{background:#2b4532}.photo-empty{border:1px dashed #506b4a}.photo-info,#photoInfo{color:#e2ecd9}.photo-canvas-wrap{background:#111e18}.tool-notice b,.passport-note b{color:#e6f3da}.tool-notice a{color:#c5eaaa}.mode-note{color:#c5eaaa}.photo-output .hint{color:#becdb8}
#translate.professional-translator{background:#14231e}.translator-heading{background:linear-gradient(120deg,#203d2b,#15271e);border-color:#395339;border-radius:12px;padding:24px}.translator-heading h2 em{color:#c5eaaa}.translator-heading p{color:#bcd5a8}.translator-badge,.session-badge{background:#203b28;color:#cce8b5;border-color:#46603d}.translator-modes{background:#0f1e16;border:1px solid #304933}.translator-modes>button{color:#bed0b4}.translator-modes>button.selected{background:#c5eaaa;color:#1b3020}.voice-language-bar label{color:#e5efdc}.voice-swap{background:#25412d;border-color:#405b3b;color:#d7ecc5}.voice-status-row,#voiceState{color:#c5eaaa}.voice-error,#voiceState.voice-error{color:#ffb29c}.speech-card{background:#13231a;border-color:#395338}.target-card{background:#203724}.speech-card-top,.speech-card-top>span{color:#d8ebc9}.speech-card-top button,.speech-card-footer button{color:#d1edb8}.speech-card textarea{background:transparent;color:#edf5e7}.speech-card-footer>span,.voice-interim,.voice-placeholder{color:#b3c6a6}.voice-target-text{color:#e4f2d8}.speech-card-footer{border-color:#395338}.mic-button{background:#1c3321;border-color:#47623f;color:#e2f1d4}.mic-button small,.voice-middle>span{color:#b8cca8}.mic-orb,.other-mic .mic-orb{background:#c5eaaa;color:#213820}.mic-button.recording{background:#482a24;border-color:#d39272}.recording .mic-orb{background:#e9a17d;color:#321b15}.voice-wave i{background:#789467}.voice-options,.conversation-header{border-color:#385037}.voice-support{background:#1d3423;color:#c6dab6;border-color:#3b573b}.voice-support.unsupported{background:#372f1c;color:#eadca9;border-color:#746242}.voice-privacy summary{color:#cae0b5}.voice-privacy p{color:#b9caae}.history-empty,.conversation-turn{background:#182c1e;border-color:#3d5838}.turn-head,.turn-original{color:#b9c9ac}.turn-translated{color:#e4f1d7}.conversation-turn.failed .turn-translated{color:#ffb6a0}.turn-actions button{color:#c5eaaa}.live-translation-toolbar{background:#223c28;border-color:#46633f}#translationState{color:#d1e9bd}#translationState.error{color:#ffb6a0}.translation-grid label{color:#e5efdc}.translation-grid textarea{background:#0f1f16;color:#eef5e8;border-color:#3e593d}.translation-grid textarea[readonly]{background:#203725;color:#e6f3da;border-color:#58764a}
.benefits{border-color:#304537}.benefits b{color:#e5efdb}.benefits>div>span{color:#bfdda9}.benefits p{color:#aec1a4}.site-footer{border-color:#304537}.footer-copy span,.footer-copy small,.legal-links a,.analytics-settings{color:#b6c8ab}.legal-links a:hover{color:#e8f5db}.legal-page,.legal-intro{color:#edf5e8}.legal-page section{border-color:#334b35}.legal-page h1,.legal-page h2{color:#e5f2d9}.legal-page code{background:#243b28;color:#dbeccd;padding:3px 6px;border-radius:4px}.legal-page blockquote{background:#203626;color:#d4e6c7}.analytics-choice{background:#1e3525;color:#edf5e8;border-color:#5a754c;box-shadow:0 10px 40px #0006}.analytics-choice p{color:#c3d2b9}.analytics-choice b{color:#e9f4df}#status{background:#c5eaaa;color:#1b3020}#status.error{background:#eaa68c;color:#321b14}#fileDownload{background:#203b29;border-color:#6a8656;color:#edf5e8}#fileDownload>button{color:#e2f2d4}.menu-toggle{color:#dfedd5;background:#203824;border-color:#405a3d}.main-nav.menu-open,#mainNav.menu-open{background:#182c20;border-color:#3d573d}
/* Invitation palettes stay independent from the dark editor and export exactly as shown. */
.invitation{color:#405738;background:#f7f4e9;border-color:#b9c3a1;box-shadow:0 15px 35px #0004}.invitation p{color:inherit}.invitation.emerald{background:#174d3e;color:#f0e5b9;border-color:#6c9380}.invitation.lavender{background:#eee5f7;color:#604579;border-color:#b9a1ce}.invitation.terracotta{background:#f7e6dd;color:#854730;border-color:#d09c83}.invitation.sky{background:#e2f0f5;color:#305a70;border-color:#96bdca}.invitation.ivory{background:#f5f0e5;color:#272e2b;border-color:#9b9f91}.invitation[data-language=ur]{font-family:'Noto Naskh Arabic',serif}.invitation[data-language=ur] #cardNames{font-family:'Noto Naskh Arabic',serif;line-height:1.6;margin:12px 0}.invitation[data-language=ur] #cardKicker,.invitation[data-language=ur] .card-bottom{font-family:'Noto Naskh Arabic',serif;letter-spacing:0;font-size:12px}.invitation[data-language=zh-CN]{font-family:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif}.invitation[data-language=zh-CN] #cardKicker,.invitation[data-language=zh-CN] .card-bottom{font-family:inherit;letter-spacing:1px;font-size:9px}.invitation #cardKicker{line-height:1.4}.invitation #cardDate{letter-spacing:.5px}.invitation #cardVenue{max-width:100%;font-size:10px}.invitation #cardMessage{max-width:100%}.invitation.template-minimal .corner,.invitation.template-editorial .corner{display:none}.invitation.template-minimal .card-inner{border:0}.invitation.template-minimal .card-rule{width:75px}.invitation.template-royal .card-inner{border:4px double currentColor;padding:18px 13px}.invitation.template-royal #cardSymbol{font-size:34px}.invitation.template-arch .card-inner{border-radius:130px 130px 0 0;padding-top:35px}.invitation.template-arch .corner{display:none}.invitation.template-festive .card-inner{border:2px dotted currentColor}.invitation.template-festive .corner{font-size:95px;opacity:.16}.invitation.template-editorial .card-inner{align-items:flex-start;text-align:left;border:0;border-top:3px solid currentColor;border-bottom:1px solid currentColor;padding:20px 5px}.invitation.template-editorial[dir=rtl] .card-inner{align-items:flex-end;text-align:right}.invitation.template-editorial #cardKicker{letter-spacing:1px}.invitation.template-editorial #cardNames{font-weight:700}
@media(min-width:900px){.hero>div:first-child{animation:studio-enter .7s ease-out}.hero-art{animation:studio-enter .95s ease-out}.art-card{animation:card-float 7s ease-in-out infinite}.art-sticker{animation:sticker-float 8s ease-in-out infinite}}
.panel.active{animation:panel-enter .3s ease-out}.primary,.secondary,.occasions button,.card-templates button{transition:background .18s,box-shadow .18s,border-color .18s}.drop-zone:hover{border-color:#c5eaaa;box-shadow:0 0 0 3px #c5eaaa0d}
@keyframes studio-enter{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes panel-enter{from{opacity:.5}to{opacity:1}}@keyframes card-float{0%,100%{transform:rotate(-9deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-10px)}}@keyframes sticker-float{0%,100%{transform:rotate(12deg) translateY(0)}50%{transform:rotate(7deg) translateY(7px)}}
@media(max-width:760px){.hero{min-height:auto}.translator-heading{padding:20px 16px}.tool-tabs{overflow-x:auto;scrollbar-width:thin}.card-templates{grid-template-columns:repeat(3,minmax(0,1fr))}.editor{padding:24px 18px}.occasions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.occasions button{font-size:12px}.palette{justify-content:flex-start}.panel{border-radius:14px}.voice-language-bar{gap:8px}.voice-language-bar select{font-size:16px;padding:10px 7px}.voice-dock{gap:8px}.mic-button{padding:15px 8px}.result-head{flex-wrap:wrap;gap:10px}.result-head>div{display:flex;flex-wrap:wrap;gap:5px}.result-head button{margin-left:0}.photo-controls,.tool-intro,.result-area{padding:24px 18px}.translator-heading h2{font-size:30px}.hero-links{flex-wrap:wrap}.drop-zone input{max-width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.canvas-wrap{background:#0f1c15;border-color:#40583e}.target-presets button,.passport-grid button,.import-label{background:#203826;color:#e2eed7;border-color:#466040}.target-presets button:hover,.passport-grid button:hover{background:#2d4930}.crop-details summary,.text-meta,#photoEmpty{color:#d6e8c7}.photo-export{border-color:#3d563b}.photo-export #photoExportInfo{background:#1c3323;color:#d4e7c3}.passport-grid h3{color:#e6f2db}.passport-grid p{color:#bdcfb0}.mobile-jump{color:#d4ebbd;background:#213a27;border-color:#48633f}.import-label input{color:#e1eed7}.legal-page table{color:#dcebd1}.legal-page a{color:#c5eaaa}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c5eaaa;outline-offset:4px}

.passport-intro{background:#14231e}.passport-intro h2 em{color:#c5eaaa}.passport-sizes button{background:#203826;border-color:#45603e;color:#e8f3df}.passport-sizes button:hover{background:#2e4930;border-color:#8fae7a}.passport-sizes span{color:#bfd2b3}.passport-demo{background:#1c3023}.legal-page p,.legal-intro p{color:#bdceb5}.invitation.dense #cardSymbol{margin-bottom:7px;font-size:24px}.invitation.dense #cardNames{margin:10px 0}.invitation.dense #cardMessage{margin-bottom:8px;line-height:1.35}.invitation.dense .card-bottom{padding-top:8px}.invitation.dense .card-inner{padding:16px 12px}.invitation.dense.template-arch .card-inner{padding-top:28px}

/* Clear controls across every tool, including the browser's file-picker button. */
.primary{background:#d3f4b4;color:#122a18;border:1px solid #e2ffcb;box-shadow:0 5px 20px #a1d57522}.secondary,.result-head button,.focus-toggle,.stop-voice,.target-presets button,.mobile-jump{background:#34573c;color:#f5ffe8;border:1px solid #83aa68;font-weight:600;box-shadow:0 2px 8px #0002}.text-button,.inline-actions .text-button,.speech-card-top button,.speech-card-footer button,.turn-actions button{color:#e2ffc5}.text-button:hover,.result-head button:hover,.secondary:hover,.target-presets button:hover{background:#426b47;color:#fff;border-color:#cef2ac}.tool-tabs button{color:#e2efda}.nav{color:#d5e7cb}.tool-icon{color:#c5eaaa}.occasions button,.card-templates button{background:#2b4732;border-color:#6c925e;color:#f0ffdf}.occasions button.selected,.card-templates button.selected,.tool-tabs button.active{background:#d3f4b4;color:#152d1c;border-color:#e2ffcb}.swatch{border:2px solid #bfcca6}.swatch.selected{outline:3px solid #efffcd}.drop-zone input::file-selector-button,.import-label input::file-selector-button{background:#d3f4b4;color:#142b1b;border:1px solid #e3ffce;border-radius:6px;padding:9px 13px;margin-right:10px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.drop-zone input::file-selector-button:hover,.import-label input::file-selector-button:hover{background:#e5ffcf}button:disabled{opacity:.72;cursor:wait;box-shadow:none}.speech-card-top button{background:#2c4b34;border-color:#87ac70}.analytics-settings,.legal-links a{color:#d1e9bb}
/* Movement follows interactions; exported artwork and editor canvases remain still. */
button,a{transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}.primary:hover,.secondary:hover,.result-head button:hover,.occasions button:hover,.card-templates button:hover,.target-presets button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0004}button:active{transform:translateY(1px)}.tool-tabs button.active{animation:tab-settle .35s ease-out}.panel.active{animation:tool-open .4s ease-out}.panel.active>.editor,.panel.active>.tool-intro,.panel.active>.photo-controls,.panel.active>.passport-intro{animation:content-arrive .4s ease-out}.panel.active>.preview,.panel.active>.result-area,.panel.active>.photo-output,.panel.active>.passport-demo{animation:content-arrive .5s ease-out}.drop-zone{transition:background .2s,border-color .2s,box-shadow .2s}.drop-zone:hover{background:#263e2c}.brand>span{display:inline-block;animation:brand-glimmer 7s ease-in-out infinite}.scroll-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease var(--reveal-delay,0ms),transform .5s ease var(--reveal-delay,0ms)}.scroll-reveal.is-visible{opacity:1;transform:none}.benefits>div{border-radius:12px;padding:15px;transition:background .2s,transform .3s}.benefits>div:hover{background:#1e3525;transform:translateY(-3px)}#status:not([hidden]),#fileDownload:not([hidden]){animation:toast-arrive .25s ease-out}
@keyframes tool-open{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes content-arrive{from{opacity:.4;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes tab-settle{from{transform:scale(.97)}to{transform:scale(1)}}@keyframes brand-glimmer{0%,100%{opacity:1;transform:rotate(0)}50%{opacity:.7;transform:rotate(25deg)}}@keyframes toast-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(hover:none){button:hover{transform:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1;transform:none}}
/* Azzy signature: custom monogram, warm accent and a compact mobile wordmark. */
.brand-premium{gap:12px;min-width:0;line-height:1;text-decoration:none}.brand-premium>span{animation:none}.brand-premium .brand-mark{width:55px;height:55px;flex:0 0 55px;display:block;border-radius:19px;box-shadow:0 5px 20px #0003;transition:box-shadow .3s,transform .3s;animation:signature-glow 8s ease-in-out infinite}.brand-mark svg{display:block;width:100%;height:100%}.brand-premium .brand-wordmark{display:flex;flex-direction:column;gap:8px;animation:none}.brand-premium .brand-wordmark b{font:700 29px 'DM Sans',sans-serif;letter-spacing:-1.4px;color:#f4ffe9;display:flex;align-items:baseline;gap:5px}.brand-premium .brand-wordmark .studio{font-weight:400;color:#dfd3a5;letter-spacing:-1.2px}.brand-wordmark small{font:500 8px 'DM Sans',sans-serif;letter-spacing:2px;color:#b6ce9e}.brand-premium:hover .brand-mark{transform:translateY(-2px) rotate(-3deg);box-shadow:0 8px 25px #a3ce7433}.site-footer .brand-premium .brand-mark{width:43px;height:43px;flex-basis:43px}.site-footer .brand-wordmark b{font-size:25px}.site-footer .brand-wordmark small{font-size:7px;letter-spacing:1.6px}
.hero-art{isolation:isolate}.hero-art::before,.hero-art::after{content:'';position:absolute;z-index:-1;width:280px;height:280px;border:1px solid #b8d79529;border-radius:50%;pointer-events:none}.hero-art::before{border-top:1px solid #b8d79580;border-left:1px solid #eed29a50;animation:orbit-line 22s linear infinite}.hero-art::after{width:340px;height:340px;border-style:dashed;border-color:#eed29a25;animation:orbit-line 35s linear infinite reverse}.panel.active .tool-icon{animation:tool-breathe 7s ease-in-out infinite}.eyebrow{line-height:1.5}.tool-notice{border-radius:10px}.panel{scroll-margin-top:165px}
@keyframes signature-glow{0%,100%{box-shadow:0 5px 20px #0003}50%{box-shadow:0 5px 25px #a3ce7430}}@keyframes orbit-line{to{transform:rotate(360deg)}}@keyframes tool-breathe{0%,100%{translate:0 0;opacity:1}50%{translate:0 -3px;opacity:.8}}
@media(max-width:760px){header{padding:15px 16px;gap:10px}.brand-premium{gap:9px}.brand-premium .brand-mark{width:45px;height:45px;flex-basis:45px;border-radius:15px}.brand-premium .brand-wordmark{gap:7px}.brand-premium .brand-wordmark b{font-size:25px;letter-spacing:-1px}.brand-wordmark small{font-size:6.5px;letter-spacing:1.3px}.menu-toggle{min-width:70px;min-height:44px;margin-left:auto}.hero-art::before{width:210px;height:210px}.hero-art::after{width:250px;height:250px}.tool-tabs{background:#172c20f5;border-color:#4f7046;box-shadow:0 6px 20px #0005}.tool-tabs button{min-height:58px;touch-action:manipulation}.tool-tabs button span{font-size:11px}input:not([type=checkbox]):not([type=range]),textarea,select{font-size:16px;min-width:0}input[type=file]{font-size:12px!important;width:100%;overflow:hidden}button,.download-actions button,.inline-actions button{min-height:44px;touch-action:manipulation}.card-templates button{min-height:55px}.swatch{width:38px;height:38px;min-width:38px;min-height:38px}.palette{gap:12px}.translation-grid,.form-grid{min-width:0}.tool-intro h2,.photo-controls h2{font-size:29px;line-height:1.25}.result-head button{padding:10px 12px}.download-actions{flex-wrap:wrap;gap:10px}.result-area textarea{min-height:220px}.hero-links{gap:12px}.panel{scroll-margin-top:155px}.brand-premium .brand-mark,.panel.active .tool-icon{animation:none}}
@media(max-width:370px){header{padding:13px 12px}.brand-premium .brand-mark{width:40px;height:40px;flex-basis:40px}.brand-premium .brand-wordmark b{font-size:23px}.brand-wordmark small{font-size:6px}.menu-toggle{min-width:63px;font-size:12px}.tool-tabs button span{font-size:10px}}
@media(max-height:500px) and (max-width:900px){.tool-tabs{position:relative;top:auto}.panel{scroll-margin-top:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1;transform:none}}
.passport-panel.active{display:block}.passport-panel>.passport-intro{padding:28px 32px;border-bottom:1px solid #3e5c3c}.passport-panel .passport-intro h2{font-size:35px;margin:12px 0}.passport-panel .passport-intro>p{margin-bottom:14px}.passport-panel .passport-sizes{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.passport-panel .passport-sizes button{min-height:95px;padding:15px}.passport-sizes button.selected{background:#d3f4b4;color:#16301e;border-color:#edffd9;box-shadow:0 0 0 2px #b8dd8c33}.passport-sizes button.selected span{color:#365333}.passport-editor{display:grid;grid-template-columns:1fr 1fr;min-width:0}.passport-editor .photo-controls{border-right:1px solid #304a38}.passport-editor .photo-output{min-width:0}.passport-panel>.tool-notice{margin:20px 28px}.zoom-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 8px}.zoom-toolbar>button:not(.text-button){font-size:24px;min-width:46px;min-height:44px;padding:3px 12px}.zoom-toolbar output{min-width:55px;text-align:center;font:600 14px 'DM Sans',sans-serif}.zoom-help{text-align:center;line-height:1.7}.size-selector{display:block;margin:14px 0}.canvas-wrap.photo-ready{cursor:grab;touch-action:none;user-select:none}.canvas-wrap.photo-ready:active{cursor:grabbing}.photo-output{gap:0}.passport-editor .photo-controls h2{font-size:29px}.passport-editor .photo-controls>.eyebrow{display:none}.photo-output .zoom-toolbar button:disabled{cursor:default}
@media(max-width:760px){.passport-panel>.passport-intro{padding:23px 18px}.passport-panel .passport-intro h2{font-size:29px}.passport-panel .passport-sizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.passport-panel .passport-sizes b{font-size:20px}.passport-panel .passport-sizes span{font-size:10px}.passport-editor{grid-template-columns:minmax(0,1fr)}.passport-editor .photo-controls{border-right:0;border-bottom:1px solid #304a38}.passport-panel>.tool-notice{margin:18px}.zoom-toolbar{gap:10px;flex-wrap:wrap}.zoom-help{font-size:12px}.passport-panel .passport-intro>.hint{font-size:11px}.passport-editor .photo-controls,.passport-editor .photo-output{padding:23px 18px}}
/* Unified photo workspace and readable tab states. */
.tool-tabs button:hover,.tool-tabs button:focus-visible{background:#2c4c34;color:#f0ffe0;box-shadow:inset 0 0 0 1px #86ab6c}.tool-tabs button.active:hover,.tool-tabs button.active:focus-visible{background:#d3f4b4;color:#152d1c}.nav:hover,.nav:focus-visible{background:#29472f;color:#efffde;border-radius:7px}.photo-passport-options{margin:18px 0;border:1px solid #45613e;border-radius:12px;padding:16px;background:#1b3023}.photo-passport-options .passport-sizes{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.photo-passport-options .passport-sizes button{min-height:86px;padding:14px}.photo-passport-options .passport-sizes b{font-size:20px}.photo-passport-options .hint{margin-bottom:0}.card-frame{width:var(--card-width,324px);max-width:100%;aspect-ratio:auto;height:calc(var(--card-height,432px)*var(--preview-scale,1))}.card-frame .invitation{width:var(--card-width,324px);height:var(--card-height,432px)}.card-main,.card-details{display:contents}
.invitation[data-orientation=landscape] .card-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;padding:16px 12px;text-align:center}.invitation[data-orientation=landscape] .card-main,.invitation[data-orientation=landscape] .card-details{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;overflow-wrap:anywhere}.invitation[data-orientation=landscape] .card-details{border-left:1px solid currentColor;padding-left:16px}.invitation[data-orientation=landscape][dir=rtl] .card-details{border-left:0;border-right:1px solid currentColor;padding-left:0;padding-right:16px}.invitation[data-orientation=landscape] #cardSymbol{font-size:24px;margin-bottom:9px}.invitation[data-orientation=landscape] #cardNames{margin:12px 0;line-height:1.3}.invitation[data-orientation=landscape] #cardMessage{margin-bottom:0}.invitation[data-orientation=landscape] .card-bottom{margin-top:18px;padding-top:0}.invitation[data-orientation=landscape].template-arch .card-inner{border-radius:80px 80px 0 0;padding-top:24px}
.swatch.aurora,.invitation.aurora{background:linear-gradient(135deg,#deeed3,#ede3f8);color:#374c43;border-color:#9fabab}.swatch.sunset,.invitation.sunset{background:linear-gradient(135deg,#ffead2,#f3d6e4);color:#75413e;border-color:#c59987}.swatch.ocean,.invitation.ocean{background:linear-gradient(135deg,#dae9ff,#c6e9df);color:#244f5c;border-color:#89b7b9}.swatch.jewel,.invitation.jewel{background:linear-gradient(130deg,#342448,#164c40);color:#f4e9c4;border-color:#b19b69}.swatch.pearl,.invitation.pearl{background:linear-gradient(130deg,#faf7ee,#e8debd);color:#514a32;border-color:#b8ab85}.invitation.template-duotone{background-image:linear-gradient(135deg,#ffffff30 0 49%,#00000012 49% 100%)}.invitation.template-duotone .card-inner{border:0;border-top:3px solid currentColor;border-bottom:3px solid currentColor}.invitation.template-geometric .corner{display:none}.invitation.template-geometric .card-inner{outline:1px solid currentColor;outline-offset:-7px;border-radius:22px 0 22px 0}.invitation.template-floral .corner{font-size:95px;opacity:.17}.invitation.template-floral .card-inner{border-radius:100px 100px 40px 40px;padding-top:26px}.invitation.template-ribbon .card-inner{border:0;border-top:10px solid currentColor;border-bottom:1px solid currentColor}.invitation.template-ribbon #cardKicker{padding:6px 8px;border-bottom:1px solid currentColor}.invitation.template-ribbon .corner{opacity:.09}
/* More movement in navigation and notices; canvas and printable cards stay still. */
.tool-tabs button{position:relative;overflow:hidden}.tool-tabs button::after{content:'';position:absolute;bottom:4px;left:25%;right:25%;height:2px;background:currentColor;opacity:0;transform:scaleX(.3);transition:opacity .2s,transform .25s}.tool-tabs button:hover::after,.tool-tabs button.active::after{opacity:.65;transform:scaleX(1)}.photo-passport-options,.card-templates{animation:options-enter .5s ease-out}.tool-notice:hover{box-shadow:0 4px 18px #0003;border-color:#718d5d}.hero h1 em{animation:accent-breathe 9s ease-in-out infinite}.menu-toggle[aria-expanded=true]{animation:tab-settle .3s ease-out}
@keyframes options-enter{from{opacity:.4;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes accent-breathe{0%,100%{color:#c5eaaa}50%{color:#e1edbe}}
@media(max-width:760px){.photo-passport-options{padding:13px}.photo-passport-options .passport-sizes b{font-size:18px}.photo-passport-options .passport-sizes span{font-size:10px}.card-frame{margin-inline:auto}.preview-top{flex-wrap:wrap;gap:8px}.card-templates{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scroll-reveal{opacity:1;transform:none}}
.invitation.template-duotone{background-image:none}.invitation.template-duotone.aurora{background:linear-gradient(135deg,#deeed3,#ede3f8)}.invitation.template-duotone.sunset{background:linear-gradient(135deg,#ffead2,#f3d6e4)}.invitation.template-duotone.ocean{background:linear-gradient(135deg,#dae9ff,#c6e9df)}.invitation.template-duotone.jewel{background:linear-gradient(130deg,#342448,#164c40)}.invitation.template-duotone.pearl{background:linear-gradient(130deg,#faf7ee,#e8debd)}.invitation.template-duotone::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#ffffff20 0 49%,#00000010 49% 100%);pointer-events:none}.invitation.template-duotone .card-inner{position:relative}
.ai-photo-box{margin:20px 0;padding:20px;border:1px solid #557751;border-radius:18px;background:linear-gradient(135deg,#203c2c,#152a22)}.ai-photo-box p{margin:10px 0}.ai-photo-box .inline-actions{flex-wrap:wrap}.ai-photo-box button{min-height:48px}#photoCustomBg{height:48px;padding:5px;width:100%;cursor:pointer}#canvasWrap.photo-ready{background-color:#13271e;background-image:linear-gradient(45deg,#264135 25%,transparent 25%),linear-gradient(-45deg,#264135 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#264135 75%),linear-gradient(-45deg,transparent 75%,#264135 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}#photoAIStatus{line-height:1.6;overflow-wrap:anywhere}@media(max-width:600px){.ai-photo-box{padding:16px}.ai-photo-box .inline-actions button{flex:1 1 140px}}

.photo-effects{margin-top:24px;padding-top:22px;border-top:1px solid #456040;min-width:0}.photo-effects h3{margin:0 0 18px;font:600 20px 'DM Sans',sans-serif;color:#efffe1}.photo-effects>label{display:block;margin-top:16px}.photo-effects .ai-photo-box{margin:18px 0;padding:18px}.photo-effects .ai-photo-box>label{display:block;margin-top:14px}.photo-effects .inline-actions{gap:12px}.photo-effects .hint{font-size:12px;line-height:1.6}.photo-effects input[type=range]{width:100%;margin-top:10px}.photo-output .canvas-wrap{flex:0 0 auto}@media(max-width:760px){.photo-effects{margin-top:20px;padding-top:18px}.photo-effects h3{font-size:18px}.photo-effects .ai-photo-box{padding:16px}}
/* Aurora studio: expressive motion, still and readable working surfaces. */
body::before{content:'';position:fixed;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 10%,#50834726,transparent 45%),radial-gradient(ellipse at 86% 25%,#b29a5920,transparent 40%),radial-gradient(ellipse at 58% 92%,#437e6926,transparent 45%);animation:aurora-drift 22s ease-in-out infinite alternate;transform:translate3d(0,0,0)}
.hero{isolation:isolate}.hero-art{translate:var(--px,0px) var(--py,0px);transition:translate .45s ease-out}.hero-art .art-card{animation:invitation-float 8s ease-in-out infinite;box-shadow:0 22px 55px #0005,0 0 50px #aacd7c16}.hero-art .art-sticker{animation:sticker-sway 6s ease-in-out infinite}.hero h1 em{background:linear-gradient(100deg,#b7df96,#eef4bf,#a6d9b7,#b7df96);background-size:230% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:title-sheen 9s ease-in-out infinite}.hero-sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-sparkles i{position:absolute;left:var(--sx);top:var(--sy);width:5px;height:5px;border-radius:50%;background:#eddfa6;box-shadow:0 0 12px #d5eca9;opacity:0;animation:sparkle-dance 5s ease-in-out var(--sd) infinite}.hero-sparkles i:nth-child(3n){width:8px;height:8px;background:#b4e5a2}.hero-sparkles i:nth-child(2n){animation-duration:7s}
header{position:relative}header::after{content:'';position:absolute;left:7%;right:7%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#bbd58c,#ecd3a0,transparent);transform-origin:center;animation:header-light 8s ease-in-out infinite}.brand-mark svg{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.brand:hover .brand-mark svg{transform:rotate(-7deg) scale(1.06)}.motion-toggle{font-size:11px;padding:8px 10px;border:1px solid #527247;border-radius:24px;background:#20372a;color:#e4f8d0;white-space:nowrap;min-height:36px}.motion-toggle:hover{background:#35573b;color:#fff}
.tool-tabs{box-shadow:0 10px 28px #0002}.tool-tabs button.active{box-shadow:0 0 22px #bcdf8a20}.tool-tabs button.active::after{animation:nav-glow 3s ease-in-out infinite}.panel.active{animation:studio-arrival .55s cubic-bezier(.2,.8,.2,1)}.photo-effects{animation:studio-arrival .65s ease-out}.ai-photo-box{box-shadow:inset 0 1px 0 #d7efb915,0 8px 22px #0002;transition:border-color .3s,box-shadow .3s}.ai-photo-box:hover{border-color:#95b879;box-shadow:inset 0 1px 0 #d7efb920,0 10px 28px #0003}.primary{transition:transform .2s,box-shadow .25s,background .2s}.primary:hover{box-shadow:0 9px 28px #bfdf9425;transform:translateY(-3px)}.primary:hover span{display:inline-block;transform:translate(2px,-2px)}.card-templates button,.palette,.passport-sizes button{transition:transform .25s,border-color .25s,box-shadow .25s}.card-templates button:hover,.passport-sizes button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}.palette:hover{transform:scale(1.08)}
.mask-brush{margin-top:18px;border-top:1px solid #4c6b48;padding-top:16px}.mask-brush>label{display:block;margin-top:12px}.canvas-wrap.brush-active,.canvas-wrap.brush-active:active{cursor:crosshair}.mask-brush select{min-height:46px}
@keyframes aurora-drift{from{transform:translate3d(-1%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.05)}}@keyframes invitation-float{0%,100%{translate:0 0;rotate:-6deg}50%{translate:0 -10px;rotate:-3deg}}@keyframes sticker-sway{0%,100%{rotate:8deg;translate:0 0}50%{rotate:3deg;translate:0 -5px}}@keyframes title-sheen{0%,100%{background-position:0% center}50%{background-position:100% center}}@keyframes sparkle-dance{0%,100%{opacity:0;transform:translateY(7px) scale(.5)}45%,65%{opacity:.75;transform:translateY(-5px) scale(1)}}@keyframes header-light{0%,100%{opacity:.35;transform:scaleX(.86)}50%{opacity:.9;transform:scaleX(1)}}@keyframes nav-glow{0%,100%{opacity:.4}50%{opacity:.9}}@keyframes studio-arrival{from{opacity:.5;translate:0 12px}to{opacity:1;translate:0 0}}
.motion-sleep *,.motion-sleep::before,.hero-out-of-view *,.hero-out-of-view::before,.hero-out-of-view::after{animation-play-state:paused!important}.motion-paused *,.motion-paused *::before,.motion-paused *::after,.motion-paused::before{animation:none!important;transition:none!important}.motion-paused .scroll-reveal{opacity:1;transform:none}.motion-paused .hero-art{translate:0 0}
@media(max-width:760px){body::before{animation:none}.hero-sparkles i:nth-child(n+7){display:none}.hero-art .art-card{animation-duration:11s}.motion-toggle{margin-left:auto;font-size:10px;padding:6px 9px}.hero-art{translate:0 0}.photo-effects .mask-brush .inline-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-art{translate:0 0}.hero h1 em{background:none;color:#d5edb8}.scroll-reveal{opacity:1;transform:none}}
/* Mobile Tools menu: explicit paired colours override the older light menu rules. */
@media(max-width:760px){
 #mainNav.menu-open{background:#172c20;border:1px solid #46633d;border-radius:14px;padding:12px;margin-top:12px;gap:9px;box-shadow:0 12px 28px #0003;min-width:0}
 #mainNav .nav{background:#294733;color:#f0ffe2;border:1px solid #658650;border-radius:10px;min-height:50px;padding:13px 10px;font-size:14px;font-weight:600;line-height:1.35;text-align:center;opacity:1;white-space:normal;overflow-wrap:anywhere;-webkit-appearance:none;appearance:none;box-shadow:none;transform:none}
 #mainNav .nav:hover,#mainNav .nav:active,#mainNav .nav:focus-visible{background:#365c3d;color:#fff8e8;border-color:#a4c880;box-shadow:inset 0 0 0 1px #a4c880;transform:none}
 #mainNav .nav.active,#mainNav .nav.active:hover,#mainNav .nav.active:active,#mainNav .nav.active:focus-visible{background:#d3f4b4;color:#152d1c;border-color:#efffd9;box-shadow:0 0 0 1px #a7cd7d}
 #mainNav .nav:last-child:nth-child(odd){grid-column:1/-1}
 #mainNav .nav:focus-visible{outline:3px solid #e6d9a6;outline-offset:2px}
 #mainNav .nav:disabled{opacity:.7;color:#f0ffe2}#mainNav .nav.active:disabled{color:#152d1c}
}

/* Image to text: scoped controls keep other studios unchanged. */
#ocr .ocr-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}#ocr .ocr-options label{min-width:0}#ocr .ocr-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}#ocr .ocr-state{padding:12px 14px;border-radius:12px;background:#213a2b;color:#dfefd4;min-height:46px;overflow-wrap:anywhere}#ocr .ocr-state:empty{display:none}#ocr .ocr-canvas{display:block;width:100%;height:auto;max-width:100%;border:1px solid #66845b;border-radius:12px;margin:14px 0;background:#fff}#ocr .ocr-canvas[hidden]{display:none}#ocr .ocr-canvas.selecting{touch-action:none;cursor:crosshair}#ocr .ocr-crop,#ocr .ocr-review{padding:14px;border:1px solid #405a42;border-radius:12px;margin:14px 0;color:#dfebd9}#ocr summary{cursor:pointer;font-weight:650;min-height:28px}#ocr .ocr-checkbox{display:flex;align-items:center;gap:8px;margin:0}#ocr .ocr-checkbox input{width:20px;height:20px;margin:0}#ocrReview{margin-top:12px;overflow-wrap:anywhere}#ocrReview span{display:inline-block;padding:4px 8px;margin:3px;border:1px solid #a09058;background:#3e3824;color:#fff0bb;border-radius:7px}#ocr .result-area{min-width:0}#ocr .result-area>textarea{min-height:420px;width:100%}#ocr select{width:100%;max-width:100%}#ocr .ocr-review[hidden]{display:none}#ocr #imagePreview{display:none}@media(max-width:760px){#ocr .ocr-options{grid-template-columns:1fr}#ocr .ocr-actions button{min-height:44px}#ocr .result-area>textarea{min-height:300px}}

/* PDF controls and persistent page feedback. */
#pdf .pdf-state{padding:12px 14px;background:#213a2b;color:#dfefd4;border-radius:12px;overflow-wrap:anywhere}#pdf .pdf-state:empty{display:none}#pdf .pdf-advanced{padding:14px;border:1px solid #405a42;border-radius:12px;margin:14px 0;color:#dfebd9}#pdf summary{cursor:pointer;font-weight:650;min-height:28px}#pdf select,#pdf input{max-width:100%}#pdf .pdf-checkbox{display:flex;align-items:flex-start;gap:10px}#pdf .pdf-checkbox input{width:20px;height:20px;margin:3px 0;flex-shrink:0}#pdfPageReport p{padding:8px 0;margin:0;border-bottom:1px solid #3a5441;overflow-wrap:anywhere}#pdfPageReport .pdf-page-error{color:#ffcebd}#pdf .result-area{min-width:0}#pdfResult{min-height:460px}#pdf .download-actions{flex-wrap:wrap;gap:10px}#pdf button{min-height:44px}@media(max-width:760px){#pdfResult{min-height:300px}#pdf .download-actions{display:flex}#pdf .download-actions button{flex:1 1 130px}}

.home-tools-intro .home-live-tv{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;padding:12px 20px;min-height:46px;border:1px solid #88ad69;border-radius:30px;background:#294a32;color:#eeffdb;font:600 14px system-ui;text-decoration:none;transition:background .2s,transform .2s}.home-tools-intro .home-live-tv:hover{background:#385e3c;transform:translateY(-2px)}.home-tools-intro .home-live-tv:focus-visible{outline:3px solid #e6d9a6;outline-offset:3px}
