@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=IBM+Plex+Mono:wght@400;500&family=Syne:wght@700;800&display=swap";.tool-page{--radius: 24px;--radius-sm: 14px;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.tool-header{text-align:center;margin-bottom:2.5rem}.tool-header h1{margin:0 0 .5rem;font-family:var(--font-display);font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:.01em}.tool-subtitle{margin:0;color:var(--text-muted);font-size:1.05rem}.back-link{display:inline-block;margin-bottom:1rem;font-size:.85rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;transition:color .15s}.back-link:hover{color:var(--accent)}.tool-layout{display:flex;flex-direction:column;gap:2rem}.panel.controls{display:flex;flex-direction:column;gap:1.5rem}.controls-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem 2rem;align-items:start;width:100%}.controls-container>.section{flex:1 1 0;min-width:min(100%,200px);margin-bottom:0}.panel.controls .actions,.panel.controls .progress,.panel.controls .error-banner{width:100%}.panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 12px #0000000a}[data-theme=dark] .panel{box-shadow:0 4px 24px #0003}.section{margin-bottom:1.5rem}.section:last-child{margin-bottom:0}.section h2{margin:0 0 .65rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.hint{margin:.45rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.4}.option-btn-group{display:flex;flex-wrap:wrap;gap:.45rem}.option-btn{flex:1;min-width:fit-content;padding:.6rem .85rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.85rem;font-weight:600;transition:all .15s}.option-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.option-btn-icon{display:inline-flex;flex-shrink:0;line-height:0}.option-btn-icon svg{width:1rem;height:1rem}.option-btn:hover:not(:disabled){border-color:var(--text-muted)}.option-btn.active{background:var(--accent);border-color:var(--accent);color:var(--btn-primary-text)}.option-btn:disabled{opacity:.5;cursor:not-allowed}.size-preview{margin:.65rem 0 0;font-size:.85rem;color:var(--text-muted)}.size-preview strong{color:var(--text);font-weight:700}.actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}button.primary{width:100%;padding:.95rem 1.25rem;border:none;border-radius:999px;background:var(--accent);color:var(--btn-primary-text);font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:.04em;transition:opacity .15s,transform .15s}button.primary:hover:not(:disabled){transform:translateY(-1px)}button.primary:disabled{opacity:.45;cursor:not-allowed;transform:none}button.ghost{padding:.5rem 0;border:none;border-radius:0;background:transparent;color:var(--text-muted);font-size:.85rem;text-decoration:underline;text-underline-offset:3px;transition:color .15s}button.ghost:hover:not(:disabled){color:var(--text)}.progress{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--surface);font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted)}.error-banner{margin-top:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid rgba(248,113,113,.3);color:var(--danger);font-size:.85rem;line-height:1.45}.preview-area{min-width:0}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 700px){.preview-grid{grid-template-columns:1fr}}.preview-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;min-height:400px;box-shadow:0 2px 12px #0000000a;transition:box-shadow .2s}[data-theme=dark] .preview-card{box-shadow:0 4px 24px #0003}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.preview-header h3{margin:0;font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.meta{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);background:var(--surface);padding:.25rem .6rem;border-radius:999px}.dropzone,.result-zone{flex:1;border-radius:calc(var(--radius) - 4px);border:1.5px dashed var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:300px;transition:border-color .15s,background .15s}.dropzone{cursor:pointer}.dropzone:hover,.dropzone.dragging{border-color:var(--text-muted);background:var(--surface)}.dropzone.has-image,.result-zone.has-image{border-style:solid;border-color:var(--border);background:var(--image-well)}.dropzone img,.result-zone img{width:100%;height:100%;object-fit:contain;max-height:360px}.dropzone-content{text-align:center;padding:2rem 1.5rem;color:var(--text-muted)}.upload-icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text)}.dropzone-content p{margin:0 0 .35rem;color:var(--text);font-weight:500}.dropzone-content span{font-family:var(--font-mono);font-size:.75rem}.placeholder{text-align:center;padding:2rem;color:var(--text-muted)}.placeholder p{margin:.75rem 0 0;font-size:.9rem}.download-btn{margin-top:1rem;width:100%;padding:.85rem 1.25rem;border-radius:999px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-display);font-size:.85rem;font-weight:800;letter-spacing:.04em;transition:background .15s,color .15s}.download-btn:hover{background:var(--accent);color:var(--btn-primary-text)}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner.large{width:36px;height:36px;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.tool-page .custom-select-trigger{padding:.5rem 0;border:none;border-bottom:1px solid var(--text);border-radius:0;background:transparent}.tool-page .custom-select-trigger:hover:not(:disabled){border-bottom-color:var(--accent)}.tool-page .custom-select-trigger:focus-visible{border-bottom-color:var(--accent)}.tool-page .custom-select-list{border-radius:var(--radius-sm);box-shadow:0 8px 32px #0000001f}[data-theme=dark] .tool-page .custom-select-list{box-shadow:0 8px 32px #0006}@media (max-width: 640px){.tool-page{padding:2rem 1rem 4rem}}.variations-layout{align-items:stretch}.variations-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;min-height:400px;box-shadow:0 2px 12px #0000000a}[data-theme=dark] .variations-panel{box-shadow:0 4px 24px #0003}.variations-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:2rem;color:var(--text-muted);border-radius:calc(var(--radius) - 4px);border:1.5px dashed var(--border)}.variations-empty p{margin:.75rem 0 0;font-size:.9rem}.variations-grid{display:grid;gap:1rem;flex:1}.variations-grid[data-count="1"]{grid-template-columns:1fr}.variations-grid[data-count="2"],.variations-grid[data-count="3"]{grid-template-columns:1fr 1fr}.variation-item{display:flex;flex-direction:column;min-width:0}.variation-item .result-zone{min-height:200px}.variation-item .download-btn{margin-top:.75rem;font-size:.78rem;padding:.7rem 1rem}@media (max-width: 700px){.variations-grid[data-count="2"],.variations-grid[data-count="3"]{grid-template-columns:1fr}}:root{--radius: 14px;--radius-sm: 10px;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Syne", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--danger: #f87171;--danger-bg: rgba(248, 113, 113, .1);font-family:var(--font-body);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{--bg: #faf8f5;--surface: #f0eeeb;--surface-raised: #ffffff;--border: #ddd9d3;--text: #0a0a0a;--text-muted: #6b6560;--accent: #0a0a0a;--accent-dim: #333333;--accent-glow: rgba(0, 0, 0, .06);--btn-primary-text: #ffffff;--image-well: #e8e4de;--landing-hero-bg: #ffffff;--landing-tools-bg: #faf8f5;--landing-footer-bg: #f0eeeb;color:var(--text);background:var(--bg)}[data-theme=dark]{--bg: #1a0f2e;--surface: #261845;--surface-raised: #322055;--border: #3d2d66;--text: #f5f5f5;--text-muted: #a89bc4;--accent: hsla(88.35, 94.07%, 73.53%, 1);--accent-dim: hsla(88.35, 94.07%, 63.53%, 1);--accent-glow: hsla(88.35, 94.07%, 73.53%, .15);--btn-primary-text: #1a0f2e;--image-well: #120a22;--landing-hero-bg: #1a0f2e;--landing-tools-bg: #1a0f2e;--landing-footer-bg: #261845;color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text);transition:background .2s,color .2s}[data-theme=dark] body{background:radial-gradient(ellipse 80% 50% at 50% -20%,hsla(88.35,94.07%,73.53%,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(99,102,241,.06),transparent),var(--bg)}#root{min-height:100vh}button,input,select{font:inherit;font-family:var(--font-body)}button{cursor:pointer}img{display:block;max-width:100%}a{color:inherit}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:color-mix(in srgb,var(--bg) 50%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.login-card{position:relative;width:100%;max-width:400px;background:var(--surface-raised);border:1px solid var(--border);border-radius:24px;padding:2rem;box-shadow:0 8px 40px #0000001f}.login-modal-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer}.login-modal-close:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.login-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme=dark] .login-card{box-shadow:0 8px 40px #00000073}.login-card h1{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.75rem;font-weight:800}.login-subtitle{margin:0 0 1.5rem;color:var(--text-muted);font-size:.95rem;line-height:1.45}.login-error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:14px;background:var(--danger-bg);border:1px solid rgba(248,113,113,.3);color:var(--danger);font-size:.85rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field span{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.login-field input{padding:.75rem 0;border:none;border-bottom:1px solid var(--text);background:transparent;color:var(--text);font-size:1rem}.login-field input:focus{outline:none;border-bottom-color:var(--accent)}.pin-input-group{display:flex;gap:.65rem;justify-content:center;margin-top:.25rem}.pin-input-box{width:3.25rem;height:3.25rem;padding:0;border:1.5px solid var(--border)!important;border-radius:14px;background:var(--surface);color:var(--text);font-family:var(--font-mono);font-size:1.35rem;font-weight:600;text-align:center;caret-color:var(--accent)}.pin-input-box:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.pin-input-box:disabled{opacity:.6}.login-status{margin:0;text-align:center;font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted)}.login-back-btn{align-self:center;margin-top:.25rem}.auth-loading{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted)}.theme-toggle{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);transition:color .15s,background .15s}.theme-toggle-btn:hover{color:var(--text)}.theme-toggle-btn.active{background:var(--accent-glow);color:var(--accent)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem}.site-header-actions{display:flex;align-items:center;gap:1rem}.site-mark{font-family:var(--font-display);font-size:1.35rem;font-weight:800;text-decoration:none;color:var(--text);line-height:1;transition:color .15s}.site-mark:hover{color:var(--accent)}@media (max-width: 640px){.site-header-inner{padding:1rem}}.site-header-credits{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);white-space:nowrap}.site-header-user{display:flex;align-items:center;gap:.75rem}.site-header-logout{border:none;background:transparent;color:var(--text-muted);font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}.site-header-logout:hover{color:var(--text)}.layout-shell{min-height:100vh;display:flex;flex-direction:column;--site-header-height: 4.25rem}.site-main{flex:1;padding-top:var(--site-header-height)}.site-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);text-align:center;background:var(--surface)}.site-copyright{font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.site-copyright:hover{color:var(--accent)}.contact-section{display:flex;flex-direction:column;justify-content:center;gap:1.5rem;max-width:420px}.contact-heading{margin:0;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.65;color:var(--text)}.contact-email{font-family:var(--font-display);font-size:clamp(1rem,4vw,1.5rem);font-weight:800;color:var(--text);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;transition:color .15s;word-break:break-all}.contact-email:hover{color:var(--accent)}.request-tool-section{scroll-margin-top:calc(var(--site-header-height) + 1rem)}.request-tool-heading{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}.request-tool-subtitle{margin:0 0 2rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);letter-spacing:.02em}.request-tool-notice,.request-tool-success,.request-tool-error{margin:0 0 1.25rem;font-size:.85rem;line-height:1.45}.request-tool-notice{color:var(--text-muted)}.request-tool-success{color:var(--accent)}.request-tool-error{color:var(--danger)}.request-tool-form{display:flex;flex-direction:column;gap:1.75rem;max-width:100%}.request-tool-field{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.request-tool-field input{padding:.35rem 0;border:none;border-bottom:1px solid var(--text);border-radius:0;background:transparent;color:var(--text);transition:border-color .15s}.request-tool-field input:focus{outline:none;border-bottom-color:var(--accent)}.request-tool-field input:disabled{opacity:.5;cursor:not-allowed}.request-tool-submit{width:100%;margin-top:.5rem;padding:1rem 1.5rem;border:none;border-radius:999px;background:var(--accent);color:var(--btn-primary-text);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.06em;transition:opacity .15s,transform .15s}.request-tool-submit:hover:not(:disabled){transform:translateY(-1px)}.request-tool-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.tool-card{flex:0 0 auto;width:clamp(260px,30vw,350px);min-height:380px;display:flex;flex-direction:column;padding:1.5rem;border-radius:24px;background:var(--card-bg);text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s;scroll-snap-align:start}.tool-card:hover{filter:brightness(1.1)}[data-theme=dark] .tool-card:hover{filter:brightness(1.2)}.tool-card-index{font-size:.8rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em;font-family:var(--font-mono)}.tool-card-icon-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem 0}.pixel-icon{display:flex;color:var(--text)}.tool-card-footer{margin-top:auto}.tool-card-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.1rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.tool-card-desc{margin:0;font-size:.85rem;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tool-carousel{position:relative}.tool-carousel-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 0 1rem;scrollbar-width:none;-ms-overflow-style:none}.tool-carousel-track::-webkit-scrollbar{display:none}.tool-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:2.75rem;height:2.75rem;border:none;border-radius:50%;background:var(--text-muted);color:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 4px 16px #00000026}.tool-carousel-arrow--prev{left:-.5rem}.tool-carousel-arrow--next{right:-.5rem}.tool-carousel-arrow:hover{background:var(--text);transform:translateY(-50%) scale(1.05)}@media (max-width: 640px){.tool-carousel-arrow--prev{left:.25rem}.tool-carousel-arrow--next{right:.25rem}}.tool-carousel--grid .tool-carousel-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none}.tool-carousel--grid .tool-card{width:auto}@media (max-width: 900px){.tool-carousel--grid .tool-carousel-track{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.tool-carousel--grid .tool-carousel-track{grid-template-columns:1fr}}.landing-shell{min-height:100vh;display:flex;flex-direction:column}.landing-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative}.landing-hero-band{background:var(--landing-tools-bg);flex:1}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:min(50vh,500px);padding:3rem 0 4rem;position:relative}.landing-side-label{position:absolute;left:1.5rem;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:center;margin:0;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.12em;color:var(--text-muted);white-space:nowrap;pointer-events:none}.landing-title{font-family:var(--font-display);font-size:clamp(3rem,12vw,7rem);font-weight:800;margin:0 0 .75rem;letter-spacing:-.02em;line-height:.95;color:var(--text)}.landing-tagline{margin:0;max-width:420px;font-size:clamp(.95rem,2.5vw,1.1rem);color:var(--text-muted);line-height:1.6}.landing-tools-band{background:var(--landing-tools-bg);padding:3rem 0 4rem}.tools-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.tools-section-title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,8vw,3.5rem);font-weight:500;letter-spacing:-.03em;line-height:1;color:var(--text)}.tools-section-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.tools-view-toggle{display:inline-flex;align-items:center;gap:.15rem;padding:.2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.tools-view-toggle-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.tools-view-toggle-btn:hover{color:var(--text)}.tools-view-toggle-btn.active{background:var(--accent-glow);color:var(--accent)}.request-tool-link{flex-shrink:0;padding:0;border:none;background:none;font-family:var(--font-body);font-size:clamp(.9rem,2vw,1.05rem);font-weight:500;color:var(--text);text-decoration:underline;text-underline-offset:4px;cursor:pointer;transition:color .15s}.request-tool-link:hover{color:var(--accent)}.landing-footer-band{background:var(--landing-hero-bg);padding:4rem 0 5rem;scroll-margin-top:calc(var(--site-header-height) + 1rem)}.landing-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 4rem;align-items:start}@media (max-width: 900px){.landing-footer-grid{grid-template-columns:1fr;gap:3rem}}@media (max-width: 768px){.landing-side-label{display:none}.landing-hero{min-height:auto;padding:2rem 0 3rem}}@media (max-width: 640px){.landing-inner{padding:0 1rem}.tools-section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.tools-section-actions{width:100%;justify-content:space-between}.landing-tools-band{padding:2rem 0 3rem}.landing-footer-band{padding:3rem 0 4rem}}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);text-align:left;outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select-trigger:hover:not(:disabled){border-color:var(--text-muted)}.custom-select-trigger:focus-visible{border-color:var(--accent-dim)}.custom-select-trigger:disabled{opacity:.5;cursor:not-allowed}.custom-select-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s}.custom-select-chevron.open{transform:rotate(180deg)}.custom-select-list{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.35rem;list-style:none;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000059;z-index:50;max-height:220px;overflow-y:auto}.custom-select-option{padding:.55rem .75rem;border-radius:calc(var(--radius-sm) - 4px);cursor:pointer;color:var(--text);transition:background .1s}.custom-select-option:hover,.custom-select-option.highlighted{background:var(--accent-glow)}.custom-select-option.selected{color:var(--accent);font-weight:600}.mask-editor-upload{flex:1;border-radius:calc(var(--radius) - 4px);border:1.5px dashed var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:300px;cursor:pointer;transition:border-color .15s,background .15s}.mask-editor-upload:hover,.mask-editor-upload.dragging{border-color:var(--text-muted);background:var(--surface)}.mask-editor-upload .dropzone-content{text-align:center;padding:2rem 1.5rem;color:var(--text-muted)}.mask-editor-upload .upload-icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text)}.mask-editor-upload .dropzone-content p{margin:0 0 .35rem;color:var(--text);font-weight:500}.mask-editor-upload .dropzone-content span{display:block;font-family:var(--font-mono);font-size:.75rem}.mask-editor-upload .mask-hint{margin-top:.75rem;font-family:inherit;font-size:.85rem;color:var(--text-muted)}.mask-editor{position:relative;flex:1;min-height:360px;height:360px;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--image-well);overflow:hidden;touch-action:none;cursor:url(/brush-cursor.svg) 3 29,crosshair}.mask-editor.eraser-mode{cursor:url(/eraser-cursor.svg) 3 28,cell}.mask-editor.disabled{opacity:.6;pointer-events:none}.mask-editor img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.mask-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.prompt-input{width:100%;min-height:72px;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.45;resize:vertical;transition:border-color .15s}.prompt-input:focus{outline:none;border-color:var(--accent)}.prompt-input:disabled{opacity:.5;cursor:not-allowed}.prompt-input::placeholder{color:var(--text-muted)}.brush-control-stack{display:grid;gap:.75rem}button.ghost.inline-action{margin-top:.65rem;padding:0}.text-to-image-preview .revised-prompt-hint{margin-top:1rem;line-height:1.45}
