:root{color-scheme:dark;--bg: #0f101a;--panel: #181b29;--panel-border: #242a3c;--panel-border-strong: #313a5a;--surface-elevated: #111425;--surface-subtle: #1a1d2b;--surface-subtle-hover: #262d45;--surface-subtle-active: #313a5a;--surface-overlay: rgba(18, 20, 32, .96);--text: #f2f5ff;--muted: #c0c7da;--muted-strong: #8f98b5;--text-inverse: #f8f9ff;--focus-ring: rgba(111, 123, 255, .45);--shadow-elevated: 0 16px 38px rgba(18, 20, 32, .55);--shadow-floating: 0 18px 40px rgba(0, 0, 0, .48);--brand-gradient-soft: rgba(123, 133, 255, .5);--brand-gradient-start: #5b6dff;--brand-gradient-end: #9365ff;--brand-gradient-hover-start: #6f7bff;--brand-gradient-hover-end: #a368ff;--brand-gradient: linear-gradient(135deg, var(--brand-gradient-start), var(--brand-gradient-end));--brand-gradient-hover: linear-gradient(135deg, var(--brand-gradient-hover-start), var(--brand-gradient-hover-end))}*{box-sizing:border-box}html,body{height:100%;width:100%;max-width:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto;display:flex;flex-direction:column;min-height:0;overflow:hidden;height:100dvh;min-height:100dvh;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%}@supports (height: 100svh){body{height:100svh;min-height:100svh}}body.modal-open{overflow:hidden;touch-action:none;overscroll-behavior:none;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.layout{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabbar{display:flex;gap:8px;padding:10px;background:var(--panel);border-bottom:1px solid var(--panel-border);position:sticky;top:0;z-index:20;align-items:center}.tabbar-tabs{display:flex;gap:8px;flex:1;min-width:0}.tab-btn{flex:1;background:var(--surface-subtle);color:var(--text);border:1px solid var(--panel-border);padding:8px;border-radius:8px;font:inherit;cursor:pointer;transition:background .2s,border-color .2s}.tab-btn.active{background:var(--surface-subtle-active);border-color:var(--panel-border-strong)}.menu-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.menu-trigger--compact{flex:0 0 auto;width:42px;height:38px;border-radius:10px;border:1px solid var(--panel-border);background:var(--surface-subtle)}.menu-trigger--compact:hover,.menu-trigger--compact:focus-visible{background:var(--surface-subtle-hover);border-color:var(--panel-border-strong);color:var(--text);outline:none}.menu-trigger--compact:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.menu-trigger--compact[aria-expanded=true]{background:var(--surface-subtle-active);border-color:var(--panel-border-strong)}.menu-icon{display:inline-flex;flex-direction:column;gap:4px}.menu-icon span{display:block;width:18px;height:2px;background:currentColor;border-radius:999px;transition:opacity .2s ease,transform .2s ease}.menu-trigger--compact[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}.menu-trigger--compact[aria-expanded=true] .menu-icon span:first-child{transform:translateY(6px) rotate(45deg)}.menu-trigger--compact[aria-expanded=true] .menu-icon span:last-child{transform:translateY(-6px) rotate(-45deg)}.menu-trigger-desktop{display:none;gap:6px}.menu-trigger-desktop svg{width:12px;height:12px;display:block}.menu-trigger-desktop[aria-expanded=true]{background:var(--surface-subtle-active);border-color:var(--panel-border-strong);color:var(--text)}#saveGraalButton{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}#saveGraalButton svg{width:14px;height:14px;display:block}.menu-popup{position:fixed;top:68px;right:12px;width:min(240px,calc(100% - 24px));background:var(--surface-overlay);border:1px solid var(--panel-border);border-radius:14px;padding:12px 10px;box-shadow:var(--shadow-floating);display:flex;flex-direction:column;gap:6px;z-index:1600}.menu-popup.menu-popup--desktop{position:absolute;top:52px;right:12px;left:auto;width:min(260px,calc(100% - 24px))}.menu-popup[hidden]{display:none}.menu-account{padding:6px 10px 10px;border-bottom:1px solid rgba(48,54,82,.6);margin-bottom:6px;color:var(--muted);font-size:12px;line-height:1.4}.menu-account__name{font-weight:600;color:var(--text);margin-bottom:4px;font-size:13px}.menu-account__link{color:var(--brand-gradient-end);text-decoration:none;font-size:12px}.menu-account__link:hover,.menu-account__link:focus-visible{text-decoration:underline;color:var(--brand-gradient-start);outline:none}.menu-account__hint{color:var(--muted);font-size:12px}.menu-account__action{background:none;border:none;padding:0;margin-top:2px;color:var(--brand-gradient-end);font:inherit;font-size:12px;cursor:pointer;text-align:left}.menu-account__action:hover,.menu-account__action:focus-visible{color:var(--brand-gradient-start);text-decoration:underline;outline:none}.menu-item{width:100%;background:transparent;border:none;color:var(--text);text-align:left;padding:10px 12px;border-radius:10px;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto;cursor:pointer;transition:background .2s ease,color .2s ease;text-decoration:none}.menu-item:hover,.menu-item:focus-visible{background:color-mix(in srgb,var(--brand-gradient-start) 24%,transparent);color:var(--text);outline:none}.menu-item:active{background:color-mix(in srgb,var(--brand-gradient-end) 32%,transparent)}.app{flex:1;display:flex;flex-direction:column;gap:10px;padding:10px;min-height:0;overflow:hidden}.tab-panel{display:none;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}.tab-panel.active{display:flex}aside{background:var(--panel);padding:10px;overflow:auto;border:1px solid var(--panel-border);border-radius:10px}.tab-panel>aside,.tab-panel>.panel{flex:1;min-height:0}h1{margin:.2rem 0;font-size:18px}h2{margin:.6rem 0 .3rem;font-size:14px;color:var(--muted)}details.control-section{background:#141826;border:1px solid var(--panel-border);border-radius:12px;margin-top:14px;overflow:hidden}details.control-section:first-of-type{margin-top:16px}details.control-section summary{list-style:none;padding:12px 14px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:linear-gradient(180deg,#202436e6,#141723e6);color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none}details.control-section summary::-webkit-details-marker{display:none}details.control-section summary:after{content:"▼";font-size:11px;color:var(--muted);transition:transform .2s ease;margin-left:12px;flex:0 0 auto}details.control-section[open] summary:after{transform:rotate(180deg)}details.control-section summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.section-body{padding:10px 14px 16px;display:flex;flex-direction:column;gap:12px}.section-heading{margin:.4rem 0 .2rem;font-size:13px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.section-body .section-heading:first-child{margin-top:0}.section-block{display:flex;flex-direction:column;gap:8px}details.color-section{border:1px solid var(--panel-border);border-radius:10px;background:#111524;margin-top:4px;overflow:hidden}details.color-section:first-of-type{margin-top:0}details.color-section summary{list-style:none;margin:0;padding:12px 14px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:space-between;color:var(--text);cursor:pointer;background:linear-gradient(180deg,#1e2234eb,#111320eb)}details.color-section summary::-webkit-details-marker{display:none}details.color-section summary:after{content:"▼";font-size:10px;color:var(--muted);transition:transform .2s ease;margin-left:10px;flex:0 0 auto}details.color-section[open] summary:after{transform:rotate(180deg)}.color-content{padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px;background:#0a0c14d9}label{display:block;margin:.35rem 0;color:var(--muted)}.button{background:var(--surface-subtle);border:1px solid var(--panel-border-strong);color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer}.button.primary{background:var(--brand-gradient);border:none;color:var(--text-inverse);font-weight:600}.button.primary:hover,.button.primary:focus-visible{background:var(--brand-gradient-hover);outline:none}.button.secondary{background:transparent;border:1px solid var(--panel-border);color:var(--muted);font-weight:500}.button.secondary:hover,.button.secondary:focus-visible{border-color:var(--brand-gradient-start);color:var(--text);outline:none}.button[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.two{display:grid;grid-template-columns:1fr;gap:8px}.two>*{min-width:0}.panel{background:var(--surface-elevated);border:1px solid var(--panel-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.mask-panel{gap:12px;overflow:auto}.viewer-panel{padding:0;position:relative;overflow:visible}.viewer-panel .panel-toolbar{position:absolute;top:12px;right:12px;margin:0;z-index:5}.viewer-panel.no-webgl{align-items:center;justify-content:center}.commission-btn{position:absolute;left:50%;bottom:max(16px,calc(env(safe-area-inset-bottom,0px) + 12px));transform:translate(-50%);background:var(--brand-gradient);color:#f8f9ff;border:1px solid var(--brand-gradient-soft);border-radius:999px;padding:10px 22px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px #14162466;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;z-index:6;display:flex;align-items:center;gap:8px;white-space:nowrap;max-width:calc(100% - 32px)}.commission-btn:hover,.commission-btn:focus-visible{transform:translate(-50%) translateY(-2px);box-shadow:var(--shadow-elevated);background:var(--brand-gradient-hover);outline:none}.commission-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring),var(--shadow-elevated)}.viewer-panel.no-webgl .commission-btn{display:none}@media (max-width: 480px){.commission-btn{font-size:13px;padding:9px 18px;gap:6px}}.viewer-fallback{display:none;flex:1;align-items:center;justify-content:center;text-align:center;color:var(--muted);padding:24px;font-size:13px;line-height:1.5}.viewer-panel.no-webgl .viewer-fallback{display:flex}.viewer-panel.no-webgl .gl{display:none}.panel-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:6px}.panel-toolbar.desktop-only{display:none}.viewer-panel .panel-toolbar.desktop-only{display:flex}.panel-toggle{background:var(--surface-subtle);border:1px solid var(--panel-border-strong);color:var(--text);padding:6px 12px;border-radius:999px;font:12px/1.2 system-ui,-apple-system,Segoe UI,Roboto;cursor:pointer;transition:background .2s,border-color .2s,color .2s;letter-spacing:.01em}.panel-toggle:hover{background:var(--surface-subtle-hover);border-color:var(--panel-border-strong);color:var(--text)}.panel-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.panel-toggle[aria-pressed=true]{background:var(--surface-subtle-active);border-color:var(--panel-border-strong);color:var(--text)}.share-trigger{display:inline-flex;align-items:center;gap:6px}.share-trigger svg{width:14px;height:14px;display:block}.share-popup{position:absolute;top:52px;right:12px;width:min(280px,calc(100% - 24px));background:var(--surface-overlay);border:1px solid var(--panel-border);border-radius:14px;padding:16px;box-shadow:var(--shadow-floating);display:flex;flex-direction:column;gap:10px;z-index:1600}.share-popup[hidden]{display:none}.share-popup-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:600;color:var(--text)}.share-close{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--muted-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}.share-close:hover,.share-close:focus-visible{background:#2d335099;color:var(--text);outline:none}.share-message{margin:0;font-size:12px;color:var(--muted-strong)}.share-url{width:100%;background:var(--surface-subtle);border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px;font:13px/1.3 system-ui,-apple-system,Segoe UI,Roboto;color:var(--text)}.share-hint{margin:0;font-size:11px;color:#6f789b}@media (max-width:959px){#viewer3dToggle{display:none}}@media (max-width:959px){.menu-trigger-desktop{display:none}}@media (min-width:960px){.menu-trigger--compact{display:none}.menu-trigger-desktop{display:inline-flex}}.mask-tip{margin-bottom:6px}.mask-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap}.mask-header .mask-tip{margin:0;flex:1 1 auto}.mask-header .panel-toolbar{margin:0;flex:0 0 auto}.mask-header .panel-toggle{white-space:nowrap}.mask-canvases{flex:1;display:flex;flex-direction:column;gap:8px;min-height:0}.mask-split{flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-height:0}.mask-comp{flex:0 0 32%;min-height:120px}canvas,.gl{display:block;background:#0b0d14;border-radius:8px;border:1px solid var(--panel-border);width:100%;height:100%}.hidden{opacity:0;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#090b13d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2500;transition:opacity .25s ease,visibility .25s ease;touch-action:pan-y;overscroll-behavior:contain;overflow-y:auto;overflow-x:hidden}.modal-backdrop.hidden{opacity:0;visibility:hidden}.modal-card{background:var(--surface-elevated);border:1px solid var(--panel-border-strong);border-radius:18px;padding:24px;box-shadow:0 30px 120px #00000073;width:min(420px,92vw);max-width:500px;display:flex;flex-direction:column;gap:16px;color:var(--muted);max-height:calc(100dvh - 48px);overflow:hidden}.modal-card--gallery{width:min(1024px,96vw);max-width:1100px;max-height:calc(100dvh - 40px)}.modal-card--wide{width:min(900px,96vw);max-width:960px}.modal-card:focus{outline:none}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-title{margin:0;font-size:18px;color:var(--text)}.modal-close{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--panel-border-strong);background:var(--surface-subtle);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.modal-close:hover,.modal-close:focus-visible{background:var(--surface-subtle-active);border-color:var(--panel-border-strong);color:var(--text);outline:none}.modal-body{font-size:14px;color:var(--muted-strong);display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.modal-card--gallery .modal-body{gap:20px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable both-edges}.modal-card--wide .modal-body{flex-direction:row;gap:18px}.modal-body h3{margin:8px 0 0;font-size:15px;color:var(--text)}.modal-body p{margin:0;line-height:1.6}.modal-body ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.modal-body li{line-height:1.55}.modal-body strong{color:var(--text)}.modal-body a:not(.gallery-edit-link){color:#8aa8ff;text-decoration:none}.modal-body a:not(.gallery-edit-link):hover,.modal-body a:not(.gallery-edit-link):focus-visible{text-decoration:underline;outline:none}.auth-tabs{display:inline-flex;background:#1d2030cc;border:1px solid var(--panel-border);border-radius:999px;padding:4px;margin-bottom:6px}.auth-tab{flex:1;min-width:110px;background:transparent;border:none;color:var(--muted);padding:6px 14px;border-radius:999px;font:13px/1.2 system-ui,-apple-system,Segoe UI,Roboto;cursor:pointer;transition:background .2s ease,color .2s ease}.auth-tab.active{background:var(--brand-gradient);color:var(--text-inverse);font-weight:600}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:6px}.auth-form.hidden{display:none}.auth-form input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);background:#111422cc;color:var(--text)}.auth-form input:focus-visible{outline:2px solid var(--focus-ring)}.auth-provider-block{display:flex;flex-direction:column;gap:6px;margin-top:6px}.auth-provider{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border-radius:999px;border:1px solid var(--panel-border-strong);background:var(--surface-subtle);color:var(--text);padding:6px 16px;font:13px/1.2 system-ui,-apple-system,Segoe UI,Roboto;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none}.auth-provider:hover,.auth-provider:focus-visible{background:var(--surface-subtle-hover);border-color:var(--focus-ring);box-shadow:0 6px 20px #0e122059;outline:none}.auth-provider:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-provider__icon{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#fff;color:#202124;align-items:center;justify-content:center;font-size:14px}.auth-provider__hint{text-align:center;color:var(--muted);margin:0}.auth-divider{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}.auth-divider span{white-space:nowrap}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--panel-border)}.auth-feedback{font-size:12px;min-height:18px}.auth-feedback[data-status=error]{color:#ff8a9a}.auth-feedback[data-status=success]{color:#8df8c6}.auth-hint{margin:-4px 0 0;font-size:12px;color:var(--muted-strong)}.profile-form{display:flex;flex-direction:column;gap:12px;margin-top:4px}.profile-form input,.profile-form textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--panel-border);background:#111422d9;color:var(--text)}.profile-form input:focus-visible,.profile-form textarea:focus-visible{outline:2px solid var(--focus-ring)}.profile-form textarea{resize:vertical;min-height:96px}.profile-form__actions{display:flex;justify-content:flex-end;margin-top:4px}.profile-form__actions .button{flex:0 0 auto}.profile-form__hint{margin:0;font-size:12px;color:var(--muted-strong)}.profile-form__hint code{background:#20243499;padding:2px 6px;border-radius:6px;color:var(--text)}.profile-avatar{border:1px solid var(--panel-border);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#111422b8}.profile-avatar legend{font-size:14px;font-weight:600;color:var(--text);padding:0 4px}.profile-avatar__control{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.profile-avatar__preview{width:72px;height:72px;border-radius:16px;border:1px dashed var(--panel-border);display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);color:var(--muted);font-size:12px;text-align:center;padding:8px;overflow:hidden}.profile-avatar__preview img{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover;display:none}.profile-avatar__preview[data-has-image=true]{border-style:solid;color:transparent}.profile-avatar__preview[data-has-image=true] img{display:block}.profile-avatar__preview[data-has-image=true] span{display:none}.profile-avatar__inputs{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px}.profile-avatar__mode{display:flex;border:1px solid var(--panel-border);border-radius:10px;overflow:hidden}.profile-avatar__mode button{flex:1;background:transparent;border:none;padding:8px 10px;color:var(--muted);font-weight:600;font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.profile-avatar__mode button:focus-visible{outline:2px solid #8aa8ff;outline-offset:-4px}.profile-avatar__mode button.is-active{background:var(--surface-subtle);color:var(--text)}.profile-avatar__option{display:none;flex-direction:column;gap:6px}.profile-avatar__option:not([hidden]){display:flex}.profile-avatar__file-label input{margin-top:6px}.profile-avatar__remove{align-self:flex-start}.profile-avatar__status{font-size:12px;color:var(--muted);min-height:1em}.profile-avatar__status[data-tone=error]{color:#ff8f8f}.profile-avatar__status[data-tone=success]{color:#7df8c9}.profile-feedback{font-size:12px;min-height:18px}.profile-feedback[data-status=error]{color:#ff8a9a}.profile-feedback[data-status=success]{color:#8df8c6}#profileSlugPreview[data-valid=false]{color:#ffb674}.saved-graals{display:flex;gap:18px;min-height:360px}.saved-graals__list{flex:0 0 300px;display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:16px;border:1px solid var(--panel-border);background:linear-gradient(160deg,#141828f2,#0e101ce6)}.saved-graals__toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center}.saved-graals__items{list-style:none;margin:0;padding:0;flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.saved-graals__item{padding:10px 12px;border-radius:14px;border:1px solid var(--panel-border);background:linear-gradient(135deg,#1e2234e6,#121420d9);display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.saved-graals__item:hover{transform:translateY(-1px);border-color:var(--brand-gradient-soft)}.saved-graals__item[aria-selected=true],.saved-graals__item.active{border-color:var(--brand-gradient-start);box-shadow:0 10px 30px #1216288c;background:linear-gradient(135deg,#283052f2,#181e36eb)}.saved-graals__item-layout{display:flex;gap:12px;align-items:flex-start}.saved-graals__item-thumb{width:72px;height:72px;border-radius:12px;overflow:hidden;flex:0 0 auto;position:relative;background:radial-gradient(circle at 20% 20%,#ffffff0f,#fff0);border:1px solid var(--panel-border)}.saved-graals__item-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;opacity:.95;filter:saturate(1.05)}.saved-graals__item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.saved-graals__item-title{font-size:14px;font-weight:700;color:var(--text)}.saved-graals__item-meta{font-size:12px;color:var(--muted)}.saved-graals__item-description{font-size:12px;color:var(--muted-strong);line-height:1.5;max-height:48px;overflow:hidden;text-overflow:ellipsis}.saved-graals__empty{padding:16px;border-radius:12px;border:1px dashed var(--panel-border);text-align:center;color:var(--muted);background:#12142099}.saved-graals__editor{flex:1 1 auto;display:flex}.saved-graals__form{flex:1;display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:16px;background:linear-gradient(145deg,#14182ad9,#0e101ce6);border:1px solid var(--panel-border);box-shadow:0 10px 28px #0a0c148c}.saved-graals__field{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--muted-strong)}.saved-graals__input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(135deg,#161826f2,#10121ee6);color:var(--text);box-shadow:inset 0 1px #ffffff0a;transition:border-color .18s ease,box-shadow .18s ease}.saved-graals__input:focus-visible{outline:none;border-color:var(--brand-gradient-start);box-shadow:0 0 0 3px #6f85ff2e}.saved-graals__input--multiline{min-height:110px;resize:vertical}.saved-graals__actions{display:flex;flex-wrap:wrap;gap:8px}.saved-graals__actions .button{flex:1 0 160px;text-align:center}.saved-graals__meta{font-size:12px;color:var(--muted-strong);min-height:36px}.saved-graal-meta__link{margin-top:6px}#modal-about .modal-title{font-size:20px;line-height:1.4;color:var(--text);font-weight:600}#modal-about .modal-body h3{font-size:14px;line-height:1.6;color:var(--text);font-weight:600;margin:12px 0 0}#modal-about .modal-lead{font-size:14px;color:var(--muted-strong)}.gallery-grid{display:flex;flex-direction:column;gap:28px;min-height:0}.gallery-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.8vw,16px);align-items:start}.gallery-copy{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;color:var(--muted)}.gallery-copy h3{margin:0;font-size:18px;color:var(--text)}.gallery-copy p{margin:0;line-height:1.6;font-size:14px;color:var(--muted-strong)}.gallery-figure{margin:0;background:#111424c2;border:1px solid var(--panel-border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}.gallery-figure img{width:100%;height:auto;border-radius:12px;display:block}.gallery-figure figcaption{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.gallery-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8b94b8;font-weight:600}.gallery-actions{display:block;margin-top:8px}.gallery-edit-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 20px;border-radius:999px;background:var(--brand-gradient);color:#fff;font-weight:600;font-size:14px;line-height:1;text-decoration:none;border:1px solid var(--brand-gradient-soft);box-shadow:0 10px 26px #14162466;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;text-shadow:none;text-align:center}.gallery-edit-link:hover,.gallery-edit-link:focus-visible{color:#fff;text-decoration:none;outline:none;transform:translateY(-2px);box-shadow:var(--shadow-elevated);background:var(--brand-gradient-hover)}@media (max-width:720px){.modal-card--gallery{width:100%;max-width:660px}.modal-card--gallery .modal-body{gap:16px;padding-right:0}.gallery-grid{gap:16px}.gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-figure{padding:10px;gap:8px}.modal-card--wide{width:100%;max-width:660px}.modal-card--wide .modal-body,.saved-graals{flex-direction:column}.saved-graals__list{flex:0 0 auto}}.modal-lead{font-size:15px;line-height:1.6;color:var(--muted)}.profile-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface-elevated);border-bottom:1px solid var(--panel-border)}.profile-header__brand{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--muted)}.profile-header__home{color:var(--text);text-decoration:none;font-weight:600;font-size:18px}.profile-header__home:hover,.profile-header__home:focus-visible{text-decoration:underline;outline:none}.profile-header__divider{color:var(--muted-strong)}.profile-header__nav{display:flex;gap:12px}.profile-header__link{color:var(--brand-gradient-end);text-decoration:none;font-weight:600}.profile-header__link:hover,.profile-header__link:focus-visible{text-decoration:underline;outline:none}.profile-main{padding:20px;display:flex;flex-direction:column;gap:24px;flex:1;min-height:0;overflow:auto;background:var(--bg)}.profile-summary{max-width:720px}.profile-summary__badge{margin-bottom:12px}.profile-badge{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;border:1px solid var(--panel-border);background:#121422cc;box-shadow:0 12px 30px #06080e4d}.profile-badge--menu{flex-direction:column;align-items:flex-start;gap:10px;background:#10121eeb;box-shadow:none}.profile-badge__avatar{width:48px;height:48px;border-radius:14px;background:var(--brand-gradient);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;text-transform:uppercase;overflow:hidden}.profile-badge__avatar[data-has-image=true]{padding:0;background:var(--surface-elevated);color:transparent;border:1px solid var(--panel-border)}.profile-badge__avatar[data-has-image=true] img{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover;display:block}.profile-badge--menu .profile-badge__avatar{width:40px;height:40px;border-radius:50%}.profile-badge__text{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-badge__name{font-size:16px;font-weight:600;color:var(--text)}.profile-badge__slug{font-size:13px;color:var(--muted-strong)}.profile-badge__slug a{color:inherit;text-decoration:none}.profile-badge__slug a:hover,.profile-badge__slug a:focus-visible{text-decoration:underline;outline:none}.profile-badge__hint{font-size:12px;color:var(--muted)}.profile-badge__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.profile-badge__action{border-radius:999px;border:1px solid var(--panel-border);background:transparent;color:var(--text);padding:6px 14px;font-size:13px;cursor:pointer;text-decoration:none;line-height:1.2}.profile-badge__action:hover,.profile-badge__action:focus-visible{background:#ffffff0f;outline:none}.profile-title{margin:0 0 6px;font-size:28px;color:var(--text)}.profile-bio{margin:0 0 12px;font-size:15px;color:var(--muted)}.profile-status{margin:0;font-size:13px;color:var(--muted-strong)}.profile-gallery__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,min(24vw,320px)));gap:18px;justify-content:center}.profile-card{background:var(--surface-elevated);border:1px solid var(--panel-border);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;max-width:320px;width:100%}.profile-card__image{width:100%;aspect-ratio:1;border-radius:12px;-o-object-fit:cover;object-fit:cover;border:1px solid var(--panel-border-strong);background:#0f1220}.profile-card__title{margin:0;font-size:16px;color:var(--text)}.profile-card__meta{margin:0;font-size:12px;color:var(--muted)}.profile-card__actions{display:flex;gap:10px;flex-wrap:wrap}.profile-card__actions a{flex:1;text-align:center;text-decoration:none;display:inline-flex;justify-content:center}.profile-empty{padding:24px;border:1px dashed var(--panel-border);border-radius:16px;text-align:center;font-size:14px;color:var(--muted)}@media (max-width:720px){.profile-main{padding:16px}.profile-header{flex-direction:column;align-items:flex-start;gap:12px}.profile-header__nav{width:100%;justify-content:flex-end}}.profile-viewer{max-width:min(1040px,96vw);width:100%;max-height:min(96vh,940px);display:flex;flex-direction:column}.profile-viewer__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:24px;align-items:flex-start}.profile-viewer__media{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.profile-viewer__media img{width:100%;height:auto;border-radius:16px;border:1px solid var(--panel-border-strong);background:#0f1220;max-height:min(72vh,720px);-o-object-fit:contain;object-fit:contain}.profile-viewer__placeholder{margin:0;font-size:14px;color:var(--muted);padding:32px 16px;border-radius:12px;border:1px dashed var(--panel-border);text-align:center}.profile-viewer__details{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.profile-viewer__title{margin:0;font-size:20px;color:var(--text)}.profile-viewer__meta{margin:0;font-size:13px;color:var(--muted-strong)}.profile-viewer__description{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.profile-viewer__share{display:flex;flex-direction:column;gap:6px}.profile-viewer__share-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-strong)}.profile-viewer__share-row{display:flex;gap:8px;align-items:center}.profile-viewer__share-input{flex:1;padding:8px 10px;border-radius:10px;border:1px solid var(--panel-border);background:var(--surface-subtle);color:var(--text);font-size:13px}.profile-viewer__share-input:focus-visible{outline:2px solid var(--brand-gradient-start)}.profile-viewer__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}.profile-viewer__actions .gallery-edit-link{flex:0 0 auto}.profile-viewer__remix{width:100%;max-width:320px}@media (max-width:900px){.profile-viewer{max-height:none}.profile-viewer__body{grid-template-columns:minmax(0,1fr)}.profile-viewer__media,.profile-viewer__details{flex:unset}.profile-viewer__media img{max-height:min(55vh,520px)}.profile-viewer__actions{justify-content:center}.profile-viewer__remix{max-width:none}}.modal-feature-list{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.modal-feature-list li{line-height:1.6}.modal-feature-list strong{color:var(--text)}.install-cta{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.install-cta p{margin:0}.install-button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);color:#101223;font-weight:700;padding:10px 26px;border-radius:999px;border:none;cursor:pointer;font-size:15px;box-shadow:0 12px 30px #d6297673;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.install-button:hover,.install-button:focus-visible{transform:translateY(-2px);box-shadow:0 18px 40px #962fbf80;outline:none}.install-button[disabled]{cursor:not-allowed;opacity:.65;transform:none;box-shadow:0 8px 20px #1416244d}.install-cta.is-installed .install-button{background:linear-gradient(135deg,#7cffa7,#52e0c5,#45c6ff,#6f8bff,#9e6bff);box-shadow:0 14px 34px #6f8bff73;color:#0f1326}.install-cta.is-installed .install-button[disabled]{opacity:1;cursor:default}.install-status{display:flex;align-items:flex-start;gap:8px}.install-cta.is-installed .install-status:before{content:"✔";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#7cffa7;color:#0f1326;font-size:12px;line-height:1;margin-top:2px;box-shadow:0 4px 10px #7cffa759}.install-hint{color:var(--muted-strong)}.welcome-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;background:#090b13d1;display:flex;align-items:center;justify-content:center;z-index:2000;transition:opacity .28s ease,visibility .28s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(10px,2.6vh,18px);overflow:hidden;touch-action:none;overscroll-behavior:contain}.welcome-backdrop.hidden{visibility:hidden}.welcome-card{position:relative;width:min(820px,92vw);max-width:880px;max-height:min(720px,calc(100dvh - clamp(12px,3.6vh,32px)));background:var(--surface-elevated);border:1px solid #262a40;border-radius:18px;padding:clamp(16px,2.1vw,28px);box-shadow:0 30px 120px #00000073;display:flex;flex-direction:column;align-items:stretch;gap:clamp(12px,1.15vw,18px);text-align:center;overflow:hidden}.welcome-brand{font-size:32px;font-weight:700;letter-spacing:.03em;background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);-webkit-background-clip:text;color:transparent;text-transform:capitalize}.welcome-tagline{margin:0;color:#c8cee0;font-size:15px;line-height:1.5}.welcome-steps{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.1vw,16px);justify-content:center;align-content:start;list-style:none;padding:0;margin:clamp(4px,1vh,12px) 0 0;min-height:0;width:100%;flex:1 0 auto}@media (min-width: 900px){.welcome-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 460px){.welcome-card{width:min(360px,94vw)}}.welcome-steps li{position:relative;display:flex;flex-direction:column;align-items:center;background:#20243ab8;border-radius:14px;padding:clamp(9px,1.2vw,13px);padding-top:clamp(14px,1.5vw,18px);gap:clamp(7px,.85vw,10px);color:#e6e9f5;font-weight:500;text-align:center;min-height:0;height:auto}.welcome-step-image{width:min(100%,clamp(72px,min(22vw,24vh),144px));aspect-ratio:1 / 1;flex:0 0 auto;margin:0 auto;border-radius:12px;background-size:cover;background-position:center;background-repeat:no-repeat;border:2px solid rgba(80,88,126,.4);box-shadow:0 10px 30px #0006;transition:transform .2s ease,box-shadow .2s ease;min-height:0;z-index:1}.welcome-step-image:hover{transform:scale(1.02);box-shadow:0 18px 36px #0000007a}.welcome-step-label{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.32;font-size:14px;padding:4px 8px 6px;min-height:clamp(26px,4.5vh,38px);width:100%;flex-shrink:0}.welcome-step-number{position:absolute;top:clamp(10px,1.8vw,16px);left:clamp(10px,1.8vw,16px);display:inline-flex;align-items:center;justify-content:center;width:clamp(26px,3.2vw,32px);height:clamp(26px,3.2vw,32px);border-radius:50%;background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);color:#0f1120;font-weight:700;font-size:clamp(12px,1.6vw,15px);box-shadow:0 6px 16px #00000059;z-index:2}.welcome-step-image.step-upload{background-image:url(./madagascar_wedding-C32xQOeJ.webp)}.welcome-step-image.step-customize{background-image:url(./graal_ui1-jqBfnTcv.webp)}.welcome-step-image.step-preview{background-image:url(./graal_3d-DDyVAFMt.webp)}.welcome-step-image.step-order{background-image:url(./graal_result-EGhvSJco.webp)}.welcome-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:auto;align-self:center;justify-self:center}.welcome-action{flex:0 0 auto;border-radius:999px;font-weight:700;padding:10px 26px;font-size:15px;cursor:pointer;border:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.welcome-start{background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);border:none;color:#101223;box-shadow:0 12px 30px #d6297673}.welcome-start:hover,.welcome-start:focus-visible{transform:translateY(-2px);box-shadow:0 18px 40px #962fbf80;outline:none}.welcome-secondary{background:#f5f6ff1f;border:1px solid rgba(245,246,255,.22);color:#f5f6ff;box-shadow:none}.welcome-secondary:hover,.welcome-secondary:focus-visible{transform:translateY(-2px);background:#f5f6ff33;border-color:#f5f6ff59;outline:none}.welcome-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:#20243ae6;color:#f5f6ff;font-size:22px;font-weight:700;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}@supports (padding: max(0px)){.welcome-card{padding-bottom:max(20px,env(safe-area-inset-bottom))}}.brand-heading{font-size:22px;font-weight:700;background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5);-webkit-background-clip:text;color:transparent;margin:.2rem 0}.small{font-size:12px;color:var(--muted)}#toast{position:fixed;right:12px;top:12px;background:#1e2337;color:#e6eeff;padding:8px 10px;border:1px solid #2a3150;border-radius:10px;box-shadow:0 6px 24px #00000059;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;z-index:999;pointer-events:none}.vessel-editor{display:flex;flex-direction:column;gap:12px;margin-top:6px;padding:12px;border:1px solid #1c2233;border-radius:12px;background:#101321}.vessel-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.vessel-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.vessel-field span{font-size:12px;color:var(--muted)}.vessel-field select,.vessel-field input[type=range]{width:100%}.vessel-height-value{font-variant-numeric:tabular-nums;color:var(--text)}.vessel-count-control{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #1a1f30;border-radius:8px;background:#0c0f1a}.vessel-count-control .count-label{min-width:58px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}.button.ghost{background:#181c2a;border-color:#24293a;color:var(--text)}.button.ghost:hover{background:#1f2232}.vessel-canvas{position:relative;background:#0b0d14;border:1px solid var(--panel-border);border-radius:12px;overflow:hidden}.vessel-canvas canvas{display:block;width:100%;height:300px}.profile-hint{position:absolute;left:12px;bottom:12px;font-size:12px;color:#e5e9f894;pointer-events:none}.pill{display:inline-block;padding:4px 8px;border:1px solid #313551;border-radius:999px;cursor:pointer}.pill.active{background:#394060}.bar{display:flex;gap:8px;flex-wrap:wrap}.grad-controls{display:flex;flex-direction:column;gap:8px;margin-top:8px}.grad-control label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:4px}.grad-controls input[type=range]{width:100%}.grad-stops{display:flex;flex-direction:column;gap:10px;margin-top:8px}.grad-add-stop{margin-top:12px}.grad-stop-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:stretch;padding:10px;background:#151826;border:1px solid #232842;border-radius:10px}.grad-stop-row input[type=color]{width:44px;height:40px;padding:0;border:none;background:none}.grad-stop-row input[type=range]{width:100%}.grad-stop-meta{font-size:12px;color:var(--muted);text-align:right;width:100%;display:block}.grad-stop-remove{background:#2a2f44;border:1px solid #313551;color:#f3f6ff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.grad-stop-remove[disabled]{opacity:.35;cursor:default}.grad-stop-swatchwrap{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.grad-stop-panel{display:none;flex-direction:column;gap:8px;width:100%}.grad-stop-panel.active{display:flex}.grad-stop-panel-rgb,.grad-stop-panel-glass{align-items:flex-start}.grad-stop-ref{width:72px;height:72px;border-radius:10px;-o-object-fit:cover;object-fit:cover;border:1px solid #232842;background:#0b0d14}.grad-stop-ref.placeholder{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);padding:6px;text-align:center}.grad-stop-color-chip{width:72px;height:24px;border-radius:8px;border:1px solid #232842;background:var(--chip-color,#ffffff)}.grad-stop-hex{font-size:12px;color:var(--muted)}.grad-stop-info{display:flex;flex-direction:column;gap:8px;font-size:12px}.grad-stop-mode-toolbar{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;min-width:0}.grad-stop-mode-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-subtle);border:1px solid var(--panel-border);min-width:0;flex:0 0 auto}.grad-stop-mode-btn{border:none;background:transparent;color:#a9b2d0;padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.grad-stop-mode-btn.active{background:var(--surface-subtle-active);color:var(--text)}.grad-stop-mode-extra{display:inline}.grad-stop-mode-panels{display:flex;flex-direction:column;gap:10px;width:100%}.grad-stop-mode-panel{display:none;flex-direction:column;gap:8px}.grad-stop-mode-panel.active{display:flex}.grad-stop-material-name{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px}.grad-stop-material-subtitle{font-size:12px;color:#aeb6d4}.grad-stop-library{background:#1f2440;border:1px solid #2c3150;color:#f3f7ff;padding:4px;border-radius:999px;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:0;width:32px;height:32px;line-height:1;transition:background .2s ease,border-color .2s ease,color .2s ease}.grad-stop-library>span{pointer-events:none}.grad-stop-mode-toolbar .grad-stop-library{margin-left:auto}.grad-stop-library:disabled{opacity:.4;cursor:default}.material-badges{display:flex;flex-wrap:wrap;gap:6px}.material-badge{padding:2px 8px;border-radius:999px;font-size:11px;text-transform:capitalize;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#d9def4;letter-spacing:.02em}.material-badge-transparent{background:#1ed6ff1f;border-color:#1ed6ff59;color:#9be5ff}.material-badge-translucent{background:#8ec4ff1f;border-color:#8ec4ff59;color:#c8ddff}.material-badge-opal{background:#faeaa21f;border-color:#faeaa259;color:#f6e4a8}.material-badge-opaque{background:#ffc18f24;border-color:#ffc18f61;color:#ffd8b8}.material-badge-metallic{background:#c4c0ff24;border-color:#c4c0ff66;color:#d9d2ff}.material-badge-custom{background:#78809633;border-color:#78809666;color:#b8c0de}.grad-stop-attributes{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grad-stop-attr{display:flex;flex-direction:column;gap:2px;background:#121420a6;border:1px solid #1d2136;border-radius:8px;padding:6px 10px}.grad-stop-attr .attr-label{font-size:11px;color:#8f97b7;text-transform:uppercase;letter-spacing:.04em}.grad-stop-attr .attr-value{color:#d9def4;font-size:12px;word-break:break-word}.material-meta{position:relative;margin-top:6px;border:1px solid rgba(33,39,64,.7);border-radius:12px;background:#0d0f188c;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.material-meta[open]{background:#11131ec7;border-color:#464f7899;box-shadow:0 14px 40px #07090f66}.material-meta summary{list-style:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;width:100%;padding:8px 12px 7px;margin:0;cursor:pointer;text-align:left}.material-meta summary::-webkit-details-marker{display:none}.material-meta summary::marker{content:""}.material-meta summary:after{display:none;content:""}.material-meta summary>*{width:100%}.material-meta summary:focus-visible{outline:2px solid rgba(104,119,210,.8);outline-offset:2px;border-radius:10px}.material-meta[open] summary{background:#141724c7;border-bottom:1px solid rgba(255,255,255,.05);border-radius:12px 12px 0 0}.material-meta:not([open]) summary{background:transparent}.material-meta-summary-heading{display:flex;align-items:flex-start;gap:10px;width:100%}.material-meta-title{flex:1;font-size:13px;font-weight:600;color:#e4e9ff;line-height:1.3;text-align:left}.material-meta-subtext{font-size:11px;color:#9ba3c1;line-height:1.3;text-align:left}.material-meta[open] .material-meta-subtext{color:#b6bdd9}.material-meta-summary-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;justify-content:flex-start}.material-meta summary .material-badge{font-size:10px;padding:2px 6px}@media (max-width:540px){.grad-stop-mode-extra{display:none}.grad-stop-mode-tabs{flex:0 0 auto}}.material-meta-summary-icon{margin-left:auto;width:22px;height:22px;border-radius:999px;background:#1b1f32eb;border:1px solid rgba(46,52,78,.9);box-shadow:0 2px 6px #06080f66;display:inline-flex;align-items:center;justify-content:center;color:#9da5c6;font-size:11px;transition:transform .2s ease,background .2s ease,color .2s ease}.material-meta:not([open]) summary:hover .material-meta-summary-icon,.material-meta:not([open]) summary:focus-visible .material-meta-summary-icon{background:#292d46eb;color:#c3c9e5}.material-meta[open] .material-meta-summary-icon{background:#1c1f30cc;border-color:#3a405ce6;color:#cbd2ec;transform:rotate(0)}.material-meta:not([open]) .material-meta-summary-icon{transform:rotate(180deg)}.material-meta-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}.grad-stop-empty{font-size:12px;color:#8b94b8;background:#121420a6;border:1px dashed #2c3150;border-radius:8px;padding:8px 10px}.grad-stop-offset-wrap{display:flex;flex-direction:column;gap:6px;align-items:stretch}.grad-stop-offset-wrap input[type=range]{width:100%}.material-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#090b13d1;display:none;align-items:center;justify-content:center;z-index:1500;padding:clamp(8px,2.5vh,18px);box-sizing:border-box;overflow:hidden;touch-action:none;overscroll-behavior:none}.material-picker-backdrop.active{display:flex}.material-picker-shell{position:relative;width:min(100%,920px);max-width:94vw;height:100%;max-height:calc(100dvh - (2*clamp(8px,2.5vh,18px)));display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:visible;flex:1 1 auto;min-height:0}.material-picker-close{position:absolute;top:-12px;right:-12px;background:#1b2034;border:1px solid #262a40;color:#f5f8ff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px #00000059;z-index:240}.material-picker{background:var(--surface-elevated);border:1px solid #262a40;border-radius:18px;display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);overflow:hidden;box-shadow:0 30px 120px #00000073;width:100%;height:100%;max-height:100%;max-width:100%;min-height:0}.material-picker-list{background:#0e101d;border-right:1px solid var(--panel-border);overflow:auto;display:flex;flex-direction:column;padding-bottom:16px}.material-picker-toolbar{position:sticky;top:0;display:flex;flex-direction:column;gap:12px;padding:12px 16px;background:#0e101d;border-bottom:1px solid var(--panel-border);z-index:5}.material-picker-toolbar-row{display:flex;gap:10px;align-items:center}.material-picker-toolbar-top{flex-direction:column;align-items:stretch}.material-picker-toolbar-top .material-picker-search{flex:1;min-width:0;width:100%}.material-picker-toolbar-top .material-picker-series-select{flex:0 0 auto;min-width:140px;width:100%}.material-picker-filter-row{margin:0 -4px}.material-picker-search{width:100%;display:flex}.material-picker-search input{width:100%;background:#14182a;border:1px solid #242a41;border-radius:10px;padding:8px 12px;color:#e4e8ff;font:inherit}.material-picker-search input::-moz-placeholder{color:#6f789b}.material-picker-search input::placeholder{color:#6f789b}.material-picker-filter-group{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:0 4px 4px;-webkit-overflow-scrolling:touch}.material-picker-filter-group::-webkit-scrollbar{height:4px}.material-picker-filter-group::-webkit-scrollbar-thumb{background:#5a669666;border-radius:999px}.material-picker-filter-group{scrollbar-width:thin;scrollbar-color:rgba(90,102,150,.4) transparent}.material-picker-filter{background:#151a2b;border:1px solid #252c43;border-radius:999px;color:#8f97b7;padding:3px 10px;font-size:11px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;flex:0 0 auto;white-space:nowrap}.material-picker-filter.active{background:var(--surface-subtle-active);border-color:#3b4470;color:var(--text)}.material-picker-series-select{display:flex;flex-direction:column;gap:2px;color:#8f97b7;font-size:11px}.material-picker-series-select span{display:block;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.material-picker-series-select select{background:#151a2b;border:1px solid #252c43;color:#e4e8ff;border-radius:8px;padding:6px 30px 6px 10px;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:34px}.material-picker-groups{display:flex;flex-direction:column;gap:18px;padding:16px}.material-picker-group-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6e7594;display:flex;align-items:center;gap:6px}.material-picker-group-count{background:#1b2134;color:#a5accb;font-size:11px;padding:2px 8px;border-radius:999px}.material-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:8px}.material-picker-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-subtle);border:1px solid #20263c;border-radius:12px;color:#d6dcf2;text-align:left;padding:12px;cursor:pointer;font:inherit;display:flex;gap:12px;align-items:center;transition:transform .18s ease,border-color .18s ease,background .18s ease}.material-picker-item:hover{transform:translateY(-1px);border-color:#2f3752}.material-picker-item.active{border-color:#4f6bff;background:#4f6bff2e}.material-picker-item-swatch{width:42px;height:42px;border-radius:10px;border:1px solid #252c3e;background:var(--swatch-color,#ffffff);display:flex;align-items:center;justify-content:center;overflow:hidden}.material-picker-item-swatch img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.material-picker-item-text{display:flex;flex-direction:column;gap:2px}.material-picker-name{font-size:14px;font-weight:600;color:var(--text)}.material-picker-item .material-picker-meta{font-size:12px;color:#8b93b2}.material-picker-empty{padding:24px;text-align:center;color:#8b94b8}.material-picker-detail{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:16px;min-height:0}.material-picker-header{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.material-picker-preview{width:180px;height:180px;border-radius:16px;border:1px solid #262a40;background:#090b12;display:flex;align-items:center;justify-content:center;overflow:hidden}.material-picker-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.material-picker-preview.placeholder{color:#8188a8;font-size:12px;padding:12px;text-align:center}.material-picker-thumbs{display:flex;flex-direction:column;gap:8px;align-self:flex-start}.material-thumb{background:#151a2b;border:1px solid #262d45;border-radius:10px;padding:2px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.material-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.material-thumb.active{border-color:#7f8cff;box-shadow:0 6px 16px #4f6bff59;transform:translateY(-1px)}.material-picker-title{font-size:20px;margin:0;font-weight:600;color:var(--text)}.material-picker-meta-line{font-size:13px;color:#9ea6c7}.material-picker-summary{display:flex;flex-direction:column;gap:12px;min-width:0}.material-picker-info-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));font-size:12px;color:#aeb6d4}.info-cell{display:flex;flex-direction:column;gap:2px;background:#121420a6;border:1px solid #1d2136;border-radius:10px;padding:8px 10px}.info-cell.info-wide{grid-column:1/-1}.info-label{font-size:11px;color:#8f97b7;text-transform:uppercase;letter-spacing:.04em}.info-value{color:#d9def4;display:block}.info-value ul{margin:4px 0 0;padding-left:18px}.info-value em{color:#8990af}.material-picker-footer{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#aeb6d4}.material-picker-footer a{color:#9bc9ff}.material-picker-actions{display:flex;justify-content:flex-end;align-items:stretch;gap:10px;position:sticky;bottom:0;left:0;right:0;background:linear-gradient(180deg,#11142500,#111425f055%);padding-top:10px;margin-top:auto;border-top:1px solid rgba(44,49,76,.55);z-index:20}#materialPickerApply{flex:1;background:linear-gradient(135deg,#586bff,#9b52ff);border:1px solid rgba(140,156,255,.6);box-shadow:0 18px 36px #5b6eff52;color:var(--text);font-size:15px;font-weight:600;padding:12px 18px;border-radius:14px;letter-spacing:.01em;min-width:0}#materialPickerApply:hover{background:linear-gradient(135deg,#6a7aff,#a864ff)}#materialPickerApply:focus-visible{outline:2px solid rgba(255,255,255,.55);outline-offset:3px}.solid-controls{display:flex;flex-direction:column;gap:10px;margin-top:8px}.solid-picker{display:flex;flex-direction:column;gap:8px}.solid-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.solid-controls .grad-stop-row{grid-template-columns:auto minmax(0,1fr);gap:12px}.solid-controls .grad-stop-remove{display:none}#loadingBadge{position:fixed;left:12px;top:12px;background:#0d1224;color:#cfe1ff;padding:6px 8px;border:1px solid #273059;border-radius:8px;box-shadow:0 6px 24px #00000059;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;z-index:999;pointer-events:none}.cselect{position:relative;display:block}.cselect.is-open .cselect-menu{display:block}.cselect-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--surface-subtle);color:#eef1f6;border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px;cursor:pointer}.cselect-trigger:after{content:"▾";opacity:.8}.cselect-menu{position:fixed;display:none;background:#0f1220;border:1px solid var(--panel-border);border-radius:8px;z-index:10000;max-height:60vh;overflow:auto;box-shadow:0 8px 24px #0006}.cselect-option{padding:8px 10px;cursor:pointer}.cselect-option:hover,.cselect-option[aria-selected=true]{background:var(--surface-subtle-active)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}@media (max-width:720px){.tabbar{gap:6px;padding:8px}.tabbar-tabs{gap:6px}.tab-btn{flex:1 1 0;min-width:0;font-size:13px;padding:8px 6px}.menu-trigger{width:38px;height:34px}.app{padding:12px 10px 18px;gap:12px}aside{padding:14px 12px}.section-body{padding:10px 12px 14px}.bar{flex-wrap:wrap;gap:6px}.bar .pill{flex:1 1 calc(50% - 4px);text-align:center}select,input[type=range],input[type=file]{width:100%}.vessel-toolbar{flex-direction:column;align-items:stretch;gap:10px}.vessel-field{min-width:0;width:100%}.vessel-count-control{width:100%;justify-content:space-between}.vessel-count-control .button{flex:0 0 auto;width:auto}.mask-comp{flex-basis:auto}.share-popup{right:0;width:min(92vw,calc(100% - 12px))}.welcome-card{width:min(420px,96vw);padding:16px 14px;gap:14px}}@media (max-width: 560px){.welcome-card{padding:14px 14px 18px;gap:12px;max-height:calc(100dvh - clamp(10px,3.4vh,28px))}.welcome-brand{font-size:28px}.welcome-tagline{font-size:14px}.welcome-steps{gap:10px}.welcome-steps li{padding:10px 10px 11px;gap:7px}.welcome-step-image{width:min(100%,clamp(68px,min(24vw,24vh),116px))}.welcome-step-label{font-size:13px;min-height:clamp(24px,4vh,34px)}.welcome-actions{gap:10px}.welcome-action{padding:8px 20px;font-size:14px}}@media (max-width: 420px){.welcome-card{padding:12px 12px 16px;gap:10px;max-height:calc(100dvh - clamp(8px,3.2vh,24px))}.welcome-brand{font-size:26px}.welcome-tagline{font-size:13px}.welcome-steps{gap:9px}.welcome-steps li{padding:9px 9px 10px;gap:6px}.welcome-step-image{width:min(100%,clamp(62px,min(24vw,22vh),104px))}.welcome-step-label{font-size:12.5px;min-height:clamp(22px,3.6vh,30px)}.welcome-actions{gap:9px}.welcome-action{padding:7px 18px;font-size:13.5px}}@media (max-width: 360px){.welcome-card{padding:11px 11px 14px;gap:9px}.welcome-brand{font-size:24px}.welcome-tagline{font-size:12.5px}.welcome-steps{gap:8px}.welcome-steps li{padding:8px 8px 9px;gap:5px}.welcome-step-image{width:min(100%,clamp(56px,min(24vw,20vh),96px))}.welcome-step-label{font-size:12px;min-height:clamp(20px,3.4vh,28px)}.welcome-actions{gap:8px}.welcome-action{padding:6px 16px;font-size:13px}}@media (max-height: 640px){.welcome-card{padding:14px 14px 16px;gap:12px}.welcome-brand{font-size:28px}.welcome-tagline{font-size:14px}.welcome-steps{gap:10px}.welcome-step-image{width:min(100%,clamp(84px,min(24vw,26vh),116px))}.welcome-step-label{font-size:13px}.welcome-action{padding:9px 22px;font-size:14px}}@media (max-height: 520px){.welcome-card{padding:12px 12px 14px;gap:10px}.welcome-brand{font-size:26px}.welcome-tagline{font-size:13px}.welcome-steps{gap:9px}.welcome-step-image{width:min(100%,clamp(72px,min(22vw,24vh),100px))}.welcome-step-label{font-size:12.5px}.welcome-action{padding:8px 20px;font-size:13px}}@media (max-height: 460px){.welcome-card{padding:10px 11px 12px;gap:8px}.welcome-brand{font-size:24px}.welcome-tagline{font-size:12.5px}.welcome-steps{gap:8px}.welcome-steps li{padding:9px 9px 8px;gap:6px}.welcome-step-image{width:min(100%,clamp(64px,min(22vw,24vh),92px))}.welcome-step-label{font-size:12px;padding:2px 6px 4px}.welcome-action{padding:7px 18px;font-size:12.5px}}@media (max-height: 400px){.welcome-card{padding:8px 10px 10px;gap:6px}.welcome-brand{font-size:22px}.welcome-tagline{font-size:12px}.welcome-steps{gap:6px}.welcome-steps li{padding:8px 8px 7px;gap:5px}.welcome-step-image{width:min(100%,clamp(58px,min(22vw,22vh),84px))}.welcome-step-label{font-size:11.5px;padding:2px 5px 4px}.welcome-action{padding:6px 16px;font-size:12px}}@media (max-height: 340px){.welcome-card{padding:7px 9px 9px;gap:5px}.welcome-brand{font-size:20px}.welcome-tagline{font-size:11.5px}.welcome-steps{gap:5px}.welcome-steps li{padding:7px 7px 6px;gap:4px}.welcome-step-image{width:min(100%,clamp(52px,min(20vw,20vh),76px))}.welcome-step-label{font-size:10.8px}.welcome-action{padding:6px 14px;font-size:11.5px}}@media (max-height: 320px){.welcome-card{padding:6px 8px 8px}.welcome-step-image{width:min(100%,clamp(48px,min(18vw,18vh),70px))}.welcome-step-label{font-size:10.5px}.welcome-action{padding:5px 12px;font-size:11px}}@media (min-width:600px){.two,.mask-split{grid-template-columns:1fr 1fr}}@media (max-width:600px){.material-picker-backdrop{padding:0}.material-picker-shell{width:100vw;max-width:100vw;max-height:100dvh}.material-picker{border-radius:0}.material-picker-actions{padding:12px 16px 18px}}@media (max-width:480px){.material-picker-backdrop{align-items:stretch;justify-content:flex-start}.material-picker-shell{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;justify-content:flex-start}.material-picker{border-radius:0;box-shadow:none;flex:1 1 auto}.material-picker-toolbar{padding:12px 16px 12px 14px}.material-picker-actions{padding:16px 18px 20px}#materialPickerApply{width:100%}}@supports (height: 100svh){@media (max-width:480px){.material-picker-shell{height:100svh;max-height:100svh}}}@media (max-width:840px){.material-picker-backdrop{padding:0;align-items:stretch}.material-picker-shell{height:100%;max-height:none;max-width:none}.material-picker{display:flex;flex-direction:column;height:100%;max-height:none;border-radius:0}.material-picker-close{top:12px;right:12px}.material-picker-toolbar{padding:10px 62px 10px 14px;gap:10px}.material-picker-toolbar-top{flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:8px}.material-picker-toolbar-top .material-picker-series-select{min-width:120px;width:auto}.material-picker-series-select{font-size:10px}.material-picker-series-select select{min-height:32px}.material-picker-filter-group{gap:5px;padding-bottom:2px}.material-picker-list{flex:1 1 65%;min-height:0;padding-bottom:12px}.material-picker-detail{flex:0 0 auto;min-height:0;max-height:40vh;padding:14px 16px 12px;gap:14px}.material-picker-header{gap:14px}.material-picker-preview{width:140px;height:140px}.material-picker-thumbs{flex-direction:row;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.material-thumb{width:48px;height:48px;flex:0 0 auto}.material-picker-actions{padding-top:12px}}@media (max-width:520px){.material-picker-toolbar-top{flex-wrap:wrap;align-items:stretch;position:relative}.material-picker-toolbar-top .material-picker-series-select{min-width:0;width:100%}.material-picker-toolbar-top .material-picker-search{padding-right:52px}.material-picker-toolbar-top .material-picker-search input{width:100%}.material-picker-toolbar{padding-right:16px}.material-picker-series-select{flex-direction:row;align-items:center;gap:8px;font-size:11px}.material-picker-series-select span{display:inline-flex}.material-picker-series-select select{width:100%}.material-picker-preview{width:120px;height:120px}}@media (min-width:960px){body{display:flex;height:100vh;min-height:100vh;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%}@supports (height: 100svh){body{height:100svh;min-height:100svh}}.layout{height:100vh}.tabbar{display:none}.panel-toolbar.desktop-only{display:flex}.app{height:100%;display:grid;grid-template-columns:minmax(320px,420px) 1fr 1fr;grid-template-rows:1fr;gap:10px;padding:16px}.tab-panel{display:flex}.tab-panel[data-tab=editor]{grid-column:1;grid-row:1}.tab-panel[data-tab=mask2d]{grid-column:2;grid-row:1}.tab-panel[data-tab=viewer3d]{grid-column:3;grid-row:1}#appGrid[data-view-mode=mask] .tab-panel[data-tab=mask2d]{grid-column:2 / 4}#appGrid[data-view-mode=mask] .tab-panel[data-tab=viewer3d]{display:none}#appGrid[data-view-mode=viewer] .tab-panel[data-tab=viewer3d]{grid-column:2 / 4}#appGrid[data-view-mode=viewer] .tab-panel[data-tab=mask2d]{display:none}aside{border-radius:12px}}#commissionModal[aria-hidden=true]{display:none}#commissionModal{--modal-padding: clamp(14px, 4vh, 28px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;display:flex;align-items:center;justify-content:center;padding:var(--modal-padding);background:#060810c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.commission-modal__dialog{width:min(720px,96vw);max-width:960px;height:calc(100vh - (var(--modal-padding) * 2));max-height:none;background:#101321;border:1px solid rgba(92,104,180,.35);border-radius:18px;box-shadow:0 30px 120px #0000008c;display:flex;flex-direction:column;overflow:hidden;position:relative}@supports (height: 100svh){.commission-modal__dialog{height:calc(100svh - (var(--modal-padding) * 2))}}.commission-modal__header{padding:clamp(16px,3.2vw,22px) clamp(20px,4vw,28px) clamp(10px,2.8vw,16px);display:flex;flex-direction:column;gap:6px}.commission-modal__title{font-size:clamp(20px,2.8vw,26px);margin:0}.commission-modal__subtitle{margin:0;color:var(--muted);font-size:14px}.commission-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(123,133,255,.4);background:#181b2ee6;color:#f6f7ff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px;transition:transform .18s ease,background .18s ease}.commission-modal__close:hover,.commission-modal__close:focus-visible{transform:scale(1.05);background:#22263cf2;outline:none}.commission-modal__body{padding:0 clamp(18px,4vw,26px) clamp(18px,4vw,28px);display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.commission-preview{background:#131624cc;border:1px solid rgba(80,88,126,.35);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0}.commission-preview__frame{position:relative;border-radius:10px;border:1px solid rgba(92,102,160,.35);background:#05060c;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}.commission-preview__refresh{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(114,126,204,.55);background:#141828e6;color:#f0f3ff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.commission-preview__refresh:hover,.commission-preview__refresh:focus-visible{transform:translateY(-1px);background:#21263ef2;box-shadow:0 12px 32px #0c0e1880;outline:2px solid rgba(124,134,255,.6);outline-offset:2px}.commission-preview__refresh svg{width:18px;height:18px}.commission-preview__img{width:100%;height:min(50vh,320px);max-height:50vh;-o-object-fit:contain;object-fit:contain;display:block}.commission-preview__meta{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:#0c0e18e6;border:1px solid rgba(70,82,138,.4);color:#d6dcff;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,monospace;max-height:clamp(120px,18vh,180px);overflow-y:auto}.commission-form{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0}.commission-form label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.commission-form input,.commission-form textarea{width:100%;border-radius:10px;border:1px solid rgba(74,82,128,.45);background:#0e101ce6;color:var(--text);padding:10px 12px;font:inherit;resize:vertical;min-height:44px}.commission-form input:focus,.commission-form textarea:focus{outline:2px solid rgba(123,133,255,.55);outline-offset:2px}.commission-form textarea{min-height:80px}.commission-form__actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}.commission-form__actions button{background:linear-gradient(135deg,#6f7bff,#9a6dff);border:none;color:#fff;padding:12px 18px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.commission-form__actions button:hover,.commission-form__actions button:focus-visible{transform:translateY(-1px);box-shadow:0 14px 36px #181a2c99;outline:none}.commission-status{min-height:20px;font-size:13px}@media (min-width: 960px){#commissionModal{--modal-padding: clamp(18px, 3vh, 32px)}.commission-modal__dialog{width:min(1040px,94vw)}.commission-modal__body{flex-direction:row;align-items:stretch;gap:clamp(18px,2vw,32px);overflow:hidden}.commission-preview{flex:0 0 clamp(260px,36%,360px);height:auto}.commission-preview__frame{height:100%}.commission-preview__img{height:auto;max-height:none}}@media (max-width: 600px){#commissionModal{--modal-padding: clamp(12px, 4vh, 20px)}.commission-modal__dialog{width:min(94vw,420px);border-radius:16px}.commission-modal__header{padding:clamp(14px,5vw,20px) clamp(16px,6vw,24px) clamp(10px,4vw,16px);gap:4px}.commission-modal__title{font-size:clamp(18px,5.6vw,24px)}.commission-modal__subtitle{font-size:13px}.commission-modal__body{padding:0 clamp(14px,6vw,22px) clamp(14px,6vw,22px);gap:16px}.commission-preview{padding:12px;gap:8px}.commission-preview__refresh{width:34px;height:34px}.commission-preview__img{height:min(48vh,260px);max-height:48vh}.commission-form{gap:10px}.commission-form label{font-size:12px;gap:4px}.commission-form input,.commission-form textarea{min-height:40px;padding:9px 11px;font-size:13px}.commission-form textarea{min-height:72px}.commission-form__actions button{padding:11px 16px;font-size:14px}}
