@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Noto+Sans+SC:wght@400;500;600&display=swap";:root{--color-bg: #f3f0ea;--color-bg-soft: #e9e3d8;--color-surface: #fbfaf7;--color-paper: #fffdf8;--color-ink: #25231f;--color-muted: #777168;--color-faint: #a9a095;--color-border: #d8d0c3;--color-border-strong: #b9ad9e;--color-primary: #2d2a26;--color-primary-hover: #171512;--color-primary-text: #fffaf0;--color-accent: #b99a6b;--color-accent-soft: #e7dac8;--color-moss: #637a64;--color-rosewood: #8e5f58;--color-error: #a85f55;--shadow-paper: 0 18px 50px rgba(45, 42, 38, .12);--shadow-soft: 0 8px 28px rgba(45, 42, 38, .08);font-family:Noto Sans SC,PingFang SC,sans-serif;color:var(--color-ink);background:var(--color-bg)}*{box-sizing:border-box}html{min-height:100%;background:linear-gradient(110deg,rgba(99,122,100,.1),transparent 32%),linear-gradient(290deg,rgba(142,95,88,.08),transparent 34%),var(--color-bg)}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}button,textarea,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}img{display:block;max-width:100%}.app-shell{position:relative;min-height:100vh;padding:16px clamp(14px,2.4vw,30px) 28px;overflow:hidden}.login-shell{display:grid;place-items:center}.grain{pointer-events:none;position:fixed;inset:0;z-index:0;opacity:.32;background-image:radial-gradient(circle at 20% 30%,rgba(45,42,38,.08) 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,rgba(255,255,255,.9) 0 1px,transparent 1px);background-size:18px 18px,23px 23px;mix-blend-mode:multiply}.topbar,.studio-grid,.library-page,.toast,.error-ribbon{position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1280px;margin:0 auto 18px}.login-stage{position:relative;z-index:1;width:min(1240px,100%);display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,430px);gap:clamp(28px,5vw,84px);align-items:center}.login-stage:before,.login-stage:after{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(10px)}.login-stage:before{width:360px;height:360px;left:-80px;top:24px;background:radial-gradient(circle,#ffffff9e,#fff0)}.login-stage:after{width:260px;height:260px;right:240px;bottom:32px;background:radial-gradient(circle,#b99a6b24,#b99a6b00)}.login-story{position:relative;display:grid;grid-template-rows:auto 1fr;gap:22px;min-height:700px;padding:24px 0 0}.login-story-copy{max-width:640px;position:relative;z-index:1}.login-story-copy h1{margin:14px 0 18px;font-size:clamp(64px,7.2vw,98px);line-height:.95;letter-spacing:-.04em}.login-story-copy p{margin:0;max-width:540px;color:#25231fb8;font-size:clamp(22px,2vw,34px);line-height:1.3}.panel-kicker{display:inline-flex;align-items:center;gap:10px;color:#b99a6b;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.panel-kicker:before{content:"";width:42px;height:1px;background:#b99a6b85}.auth-story-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.auth-story-metrics div{min-width:160px;padding:14px 18px 15px;border-radius:999px;background:#fffdf8a3;box-shadow:0 10px 28px #2d2a260d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-story-metrics strong,.auth-story-metrics span{display:block}.auth-story-metrics strong{font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:28px;font-weight:600;line-height:1.1}.auth-story-metrics span{margin-top:6px;color:var(--color-muted);font-size:12px;letter-spacing:.02em}.login-polaroids{position:relative;align-self:end;display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,.72fr);gap:0;align-items:end;min-height:390px;padding-right:56px}.login-polaroids figure{margin:0;overflow:hidden;border-radius:30px;border:8px solid rgba(255,255,255,.72);background:#ffffffdb;box-shadow:0 24px 60px #2d2a2624;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-polaroids figure:first-child{transform:rotate(-4deg) translateY(-8px);transform-origin:center bottom}.login-polaroids figure:last-child{margin-left:-38px;transform:rotate(5deg) translateY(-34px);transform-origin:center bottom}.login-polaroids img{width:100%;aspect-ratio:4 / 5;object-fit:cover;filter:saturate(.9) contrast(.96)}.login-panel{position:relative;align-self:center;display:grid;align-content:start;gap:18px;width:min(100%,430px);margin-left:auto;padding:34px 34px 30px;border-radius:32px;background:linear-gradient(180deg,#fffdf8d1,#fffcf79e);box-shadow:0 28px 60px #2d2a261a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.loading-panel{width:min(420px,100%)}.login-panel-head{display:grid;gap:8px;margin-bottom:8px}.login-panel-head strong{display:block;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:32px;font-weight:600;line-height:1.2}.login-panel-head small{color:var(--color-muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.login-field{display:grid;gap:8px}.login-field span{color:var(--color-muted);font-size:13px}.login-input{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border:1px solid rgba(185,173,158,.5);border-radius:18px;background:#ffffffb8;box-shadow:inset 0 1px #ffffff73}.login-input svg{flex:0 0 auto;color:var(--color-faint)}.login-input input{width:100%;border:0;outline:none;background:transparent;color:var(--color-ink)}.login-input input::placeholder{color:var(--color-faint)}.login-submit{min-height:52px;margin-top:10px;border-radius:18px}.auth-panel{align-self:center}.auth-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.auth-switch button{min-height:38px;border:1px solid var(--color-border);background:#fffdf894;color:var(--color-muted)}.auth-switch button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.auth-flow,.auth-placeholder{display:grid;gap:14px}.auth-helper-copy{margin:-4px 0 2px;color:var(--color-muted);font-size:12px;line-height:1.6}.auth-helper-copy--solid{margin:0;padding:10px 12px;border:1px solid rgba(216,208,195,.78);border-radius:8px;background:#fffdf89e;color:var(--color-ink)}.auth-entry-tabs{display:inline-flex;gap:22px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(216,208,195,.74)}.auth-entry-tabs button{position:relative;min-height:32px;padding:0 0 10px;border:0;background:transparent;color:var(--color-muted);font-size:15px;font-weight:500;text-align:left}.auth-entry-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}.auth-entry-tabs button.active{color:var(--color-ink)}.auth-entry-tabs button.active:after{background:var(--color-primary)}.code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.code-send-button{min-width:120px;border-radius:16px}.auth-inline-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:2px;color:var(--color-muted);font-size:12px}.auth-inline-links button,.auth-mode-head button{padding:0;border:0;background:transparent;color:var(--color-muted);font-size:12px}.auth-inline-links button:hover,.auth-mode-head button:hover{color:var(--color-ink)}.auth-inline-link{display:inline-flex;align-items:baseline;gap:4px}.auth-inline-link--register strong{color:var(--color-accent);font-weight:600}.auth-inline-link--forgot{color:var(--color-ink)}.auth-inline-link--forgot:hover{color:var(--color-primary)}.auth-mode-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}.auth-mode-head strong{font-size:15px;font-weight:600;color:var(--color-ink)}.auth-placeholder{padding:4px 0 2px}.auth-placeholder ul{margin:0;padding-left:18px;color:var(--color-ink);display:grid;gap:8px}.auth-placeholder li{color:var(--color-ink);line-height:1.6}.auth-footnote{padding-top:10px;border-top:1px solid rgba(216,208,195,.72)}.auth-footnote span{color:var(--color-muted);font-size:12px;line-height:1.7}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--color-ink);background:transparent;text-align:left}.brand-copy{display:flex;align-items:center}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--color-border-strong);background:#fffdf899;color:var(--color-primary);font-family:Cormorant Garamond,serif;font-size:18px;box-shadow:var(--shadow-soft)}.brand strong{display:block;font-family:Cormorant Garamond,serif;font-size:25px;line-height:1}.nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav-actions>button:last-of-type{min-width:110px}.nav-actions button,.template-actions button,.text-button,.secondary-button,.ghost-icon{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--color-border);background:#fffdf894;color:var(--color-ink);transition:border-color .18s ease,background .18s ease,transform .18s ease}.credit-pill,.account-pill,.logout-button{transition:color .18s ease,opacity .18s ease}.credit-pill:hover,.account-pill:hover,.logout-button:hover{opacity:.82}.nav-actions button,.template-actions button,.text-button,.secondary-button{padding:0 13px}.nav-actions button:hover,.template-actions button:hover,.text-button:hover,.secondary-button:hover,.ghost-icon:hover{border-color:var(--color-accent);background:var(--color-paper);transform:translateY(-1px)}.nav-active{border-color:var(--color-primary)!important;background:var(--color-primary)!important;color:var(--color-primary-text)!important}.platform-topbar{gap:10px}.platform-nav{flex:1 1 auto;justify-content:center}.session-rail{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.credit-pill,.account-pill{display:grid;min-height:0;padding:0;border:0;background:transparent;color:var(--color-ink);text-align:left}.credit-pill span,.account-pill small{color:var(--color-muted);font-size:11px;text-transform:uppercase}.credit-pill strong,.account-pill strong{font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:18px;line-height:1.05;font-variant-numeric:lining-nums tabular-nums}.logout-button{min-width:0;padding:0;border:0;background:transparent}.studio-grid{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(420px,1.18fr);gap:clamp(18px,2.4vw,34px);max-width:1500px;margin:0 auto;align-items:start}.workspace-panel,.preview-panel,.library-page{border:1px solid rgba(185,173,158,.62);background:#fbfaf7b8;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-panel{padding:clamp(18px,2.2vw,30px)}.preview-panel{min-height:calc(100vh - 126px);padding:clamp(18px,2.2vw,28px)}.panel-kicker{margin-bottom:8px;color:var(--color-accent);font-size:12px;text-transform:uppercase;letter-spacing:0}.section-head{display:grid;gap:8px;margin-bottom:20px}h1,h2{margin:0;font-family:Cormorant Garamond,"Noto Serif SC",serif;font-weight:600;line-height:1.04}h1{font-size:clamp(36px,5vw,58px)}h2{font-size:clamp(26px,3vw,38px)}p{margin:0;color:var(--color-muted);line-height:1.7}.mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.mode-card{min-height:72px;padding:12px;border:1px solid var(--color-border);background:#fffdf88f;color:var(--color-ink);text-align:left}.mode-card strong,.mode-card span{display:block}.mode-card strong{margin-bottom:5px;font-weight:600}.mode-card span{color:var(--color-muted);font-size:12px;line-height:1.45}.mode-card.active{border-color:var(--color-accent);background:linear-gradient(180deg,#fffdf8f0,#e7dac857);box-shadow:inset 0 0 0 1px #b99a6b33}.upload-paper{position:relative;display:grid;min-height:260px;place-items:center;margin-bottom:10px;border:1px solid var(--color-border-strong);background:linear-gradient(145deg,#ffffffc2,#f2ece1b3),var(--color-paper);box-shadow:var(--shadow-paper);overflow:hidden}.upload-paper:before{content:"";position:absolute;inset:14px;border:1px solid rgba(185,173,158,.42);pointer-events:none}.upload-paper.has-image{min-height:320px}.upload-paper img{width:100%;height:100%;max-height:420px;object-fit:cover;filter:saturate(.96) contrast(.98);animation:develop .52s ease both}.upload-empty{position:relative;z-index:1;display:grid;place-items:center;gap:8px;color:var(--color-ink);background:transparent}.upload-empty small,.upload-meta small{color:var(--color-muted)}.upload-meta{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#fffdf8b8;border:1px solid rgba(216,208,195,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-ink);font-size:12px}.top-right{position:absolute;top:12px;right:12px}.ghost-icon{width:36px;height:36px;padding:0}.text-button{margin-bottom:16px;min-height:34px;font-size:13px}.field-label{display:block;margin:16px 0 8px;color:var(--color-muted);font-size:12px;text-transform:uppercase;letter-spacing:0}.prompt-box{width:100%;min-height:180px;resize:vertical;padding:16px;border:1px solid var(--color-border);outline:none;background:#fffdf8c2;color:var(--color-ink);line-height:1.72;transition:border-color .18s ease,box-shadow .18s ease}.prompt-box:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #b99a6b1f}.swatch-strip{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px}.swatch{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--color-border);background:#fffdf88f;color:var(--color-ink);white-space:nowrap}.swatch span{width:22px;height:10px;border:1px solid rgba(45,42,38,.12);background:linear-gradient(90deg,#f8f1e8,#b99a6b 55%,#637a64)}.swatch:nth-child(2) span{background:linear-gradient(90deg,#f7f7f2,#d8d0c3,#2d2a26)}.swatch:nth-child(3) span{background:linear-gradient(90deg,#d5bea2,#8e5f58,#25231f)}.swatch:nth-child(4) span{background:linear-gradient(90deg,#e4eee8,#8fa8a0,#d1a474)}.swatch:nth-child(5) span{background:linear-gradient(90deg,#f5f5f1,#777168,#171512)}.swatch.active{border-color:var(--color-accent);background:var(--color-paper)}.control-grid{display:grid;gap:12px;margin-top:8px}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button{min-width:58px;min-height:38px;padding:0 12px;border:1px solid var(--color-border);background:#fffdf885;color:var(--color-ink)}.segmented button small{display:block;color:var(--color-muted);font-size:10px}.segmented button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.segmented button.active small{color:#fffaf0bd}.primary-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;background:var(--color-primary);color:var(--color-primary-text);transition:background .18s ease,transform .18s ease}.primary-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.secondary-button.compact{min-height:36px}.preview-head,.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.main-preview{position:relative;display:grid;min-height:620px;place-items:center;border:1px solid var(--color-border-strong);background:linear-gradient(180deg,#fffdf8f5,#ebe6dca8),var(--color-paper);box-shadow:var(--shadow-paper);overflow:hidden}.main-preview>img{width:calc(100% - 36px);height:calc(100% - 36px);max-height:760px;object-fit:contain;border:14px solid var(--color-paper);box-shadow:0 16px 40px #2d2a2624;animation:develop .62s ease both}.sample-composition{position:relative;width:min(78%,560px);min-height:560px}.sample-composition img{position:absolute;width:58%;aspect-ratio:4 / 5;object-fit:cover;border:14px solid var(--color-paper);box-shadow:var(--shadow-paper);filter:saturate(.88) contrast(.98)}.sample-composition img:first-child{left:0;top:34px}.sample-composition img:last-child{right:0;bottom:28px}.developing{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf870;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.developing span{position:absolute;inset:0;background:linear-gradient(100deg,transparent 0 42%,rgba(255,255,255,.72) 50%,transparent 58% 100%);animation:scan 1.7s linear infinite}.developing strong{position:relative;z-index:1;padding:10px 14px;border:1px solid var(--color-border);background:#fffdf8c7;color:var(--color-processing, #9a8667);font-weight:500}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.result-thumb{position:relative;aspect-ratio:1;padding:0;border:1px solid var(--color-border);background:var(--color-paper);overflow:hidden}.result-thumb img{width:100%;height:100%;object-fit:cover}.result-thumb span{position:absolute;left:8px;bottom:8px;padding:3px 6px;background:#fffdf8c2;color:var(--color-ink);font-size:11px}.result-thumb.active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.prompt-receipt{margin-top:14px;padding:14px;border:1px solid var(--color-border);background:#fffdf88f}.prompt-receipt div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--color-muted);font-size:12px;text-transform:uppercase}.prompt-receipt button{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--color-ink)}.prompt-receipt p{max-height:120px;overflow:auto;color:var(--color-ink);font-size:13px}.library-page{max-width:1500px;min-height:calc(100vh - 126px);margin:0 auto;padding:clamp(18px,2.2vw,30px)}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.template-card{display:grid;grid-template-rows:280px 1fr;border:1px solid var(--color-border);background:#fffdf8b3;box-shadow:var(--shadow-soft)}.template-media{background:var(--color-bg-soft);overflow:hidden}.template-media img{width:100%;height:100%;object-fit:cover}.template-body{padding:14px}.template-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.template-title h2{font-size:26px}.template-title span,.template-meta span{color:var(--color-muted);font-size:12px}.template-body p{display:-webkit-box;min-height:74px;overflow:hidden;color:var(--color-ink);font-size:13px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.template-meta,.template-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.template-meta span{padding:4px 7px;border:1px solid var(--color-border);background:#fffdf899}.input-strip{display:flex;align-items:center;gap:8px;margin-top:12px;padding:7px;border:1px solid var(--color-border)}.input-strip img{width:38px;height:38px;object-fit:cover}.input-strip span{overflow:hidden;color:var(--color-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.empty-library{display:grid;min-height:360px;place-items:center;gap:8px;color:var(--color-muted)}.toast{position:fixed;top:86px;right:28px;padding:10px 14px;border:1px solid rgba(99,122,100,.3);background:#fffdf8db;color:var(--color-moss);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.error-ribbon{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1500px;margin:0 auto 18px;padding:11px 14px;border:1px solid rgba(168,95,85,.34);background:#fff7f4d1;color:var(--color-error)}.error-ribbon button{display:grid;width:30px;height:30px;place-items:center;background:transparent;color:var(--color-error)}.reveal{animation:rise .52s ease both}.reveal.delay{animation-delay:90ms}.spin{animation:spin 1s linear infinite}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes develop{0%{opacity:0;filter:blur(12px) saturate(.8) contrast(.82)}to{opacity:1;filter:blur(0) saturate(.96) contrast(.98)}}@keyframes scan{0%{transform:translate(-90%)}to{transform:translate(90%)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.studio-grid{grid-template-columns:1fr}.preview-panel{min-height:auto}.main-preview{min-height:540px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:14px 12px 32px}.topbar,.preview-head,.library-head{align-items:stretch;flex-direction:column}.nav-actions{justify-content:flex-start}.mode-row,.primary-actions{grid-template-columns:1fr}.upload-paper,.upload-paper.has-image{min-height:240px}.main-preview{min-height:420px}.sample-composition{width:94%;min-height:390px}.result-grid,.template-grid{grid-template-columns:1fr 1fr}.template-card{grid-template-rows:210px 1fr}h1{font-size:38px}}@media(max-width:460px){.result-grid,.template-grid{grid-template-columns:1fr}.brand strong{font-size:21px}.nav-actions button,.status-pill{flex:1 1 auto}}.compact-shell{padding-top:10px}.compact-topbar{margin-bottom:12px}.one-page-studio{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.88fr) minmax(390px,1.12fr);gap:12px;max-width:1240px;margin:0 auto;align-items:stretch}.generation-zone,.config-zone{border:1px solid rgba(185,173,158,.62);background:#fbfaf7b8;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.generation-zone{display:flex;flex-direction:column;min-height:calc(100vh - 154px);padding:12px}.config-zone{display:flex;flex-direction:column;padding:12px}.compact-preview-head{margin-bottom:8px}.compact-preview-head h1{font-size:clamp(24px,2.2vw,34px)}.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.header-tools span{display:inline-flex;align-items:center;min-height:28px;padding:0 8px;border:1px solid var(--color-border);background:#fffdf88f;color:var(--color-muted);font-size:10px}.credit-inline{color:var(--color-primary)!important;border-color:#b99a6b70!important;background:#fff9f0bd!important}.download-cluster{display:flex;align-items:center}.focus-preview{position:relative;display:grid;min-height:min(31vh,312px);max-height:320px;place-items:center;border:1px solid var(--color-border-strong);background:linear-gradient(180deg,#fffdf8f5,#ebe6dca8),var(--color-paper);box-shadow:var(--shadow-paper);overflow:hidden}.preview-timer-badge{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid rgba(216,208,195,.92);background:#fffdf8cc;color:var(--color-muted);font-size:10px;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-image-button{position:relative;display:grid;width:100%;height:100%;min-height:inherit;place-items:center;padding:12px;background:transparent}.hero-image-button img{max-width:100%;max-height:min(25vh,260px);border:8px solid var(--color-paper);object-fit:contain;box-shadow:0 16px 40px #2d2a2624;animation:develop .62s ease both}.hero-image-button span{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--color-border);background:#fffdf8c7;color:var(--color-ink);font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.compact-sample{width:min(54%,320px);min-height:min(24vh,220px)}.retouch-empty-state{display:grid;gap:8px;width:min(70%,320px);padding:22px 18px;border:1px dashed rgba(185,173,158,.78);background:#fffdf8a3;text-align:center}.retouch-empty-state strong{font-size:16px;font-weight:600}.retouch-empty-state span{color:var(--color-muted);font-size:12px;line-height:1.6}.compact-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}.compact-result-grid .result-thumb{aspect-ratio:4 / 3}.pending-thumb{display:grid;place-items:center;background:linear-gradient(180deg,#fffdf8d1,#ebe6dc94),#ebe6dc9e;overflow:hidden}.pending-thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 0 42%,rgba(255,255,255,.72) 50%,transparent 58% 100%);animation:scan 1.7s linear infinite}.pending-thumb:after{content:"正在显影";position:relative;z-index:1;padding:5px 8px;border:1px solid var(--color-border);background:#fffdf8c7;color:var(--color-muted);font-size:11px}.pending-thumb span{z-index:2}.compact-receipt{margin-top:10px}.compact-receipt pre{min-height:118px;max-height:154px;margin:0;overflow:auto;color:var(--color-ink);font:inherit;font-size:13px;line-height:1.68;white-space:pre-wrap}.adjust-panel{display:grid;gap:8px;margin-top:8px;padding:8px;border:1px solid rgba(185,173,158,.68);background:linear-gradient(180deg,#fffdf8c7,#ebe6dc61),#fffdf89e}.adjust-panel.disabled{background:#fffdf86b}.adjust-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.adjust-head span,.adjust-actions span{display:block;color:var(--color-muted);font-size:12px}.adjust-head strong{display:block;margin-top:2px;font-weight:600}.adjust-head button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border);background:#fffdf894;color:var(--color-ink)}.adjust-panel textarea{width:100%;min-height:64px;resize:vertical;padding:9px 10px;border:1px solid var(--color-border);outline:none;background:#fffdf8b8;color:var(--color-ink);line-height:1.65}.adjust-panel textarea:disabled{cursor:not-allowed;color:var(--color-muted);background:#ebe6dc57}.adjust-panel textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #b99a6b1f}.adjust-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.adjust-actions .primary-button{min-height:38px;padding:0 12px}.tight-head{gap:4px;margin-bottom:10px}.tight-head h2{font-size:31px}.tight-head p{font-size:13px}.compact-prompt{min-height:168px;max-height:248px;padding-bottom:52px}.prompt-box::placeholder{color:var(--color-faint)}.prompt-shell{position:relative}.prompt-optimize-button{position:absolute;left:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid rgba(185,173,158,.82);background:#fffdf8db;color:var(--color-muted);font-size:12px;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.prompt-optimize-button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-paper);color:var(--color-ink);transform:translateY(-1px)}.compact-swatches{margin-top:10px}.compact-controls{display:grid;grid-template-columns:.78fr 1.22fr;gap:10px;margin-top:4px}.workspace-mode-bar{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;margin-top:8px}.workspace-mode-bar button{min-height:34px;padding:0 12px;border:1px solid var(--color-border);background:#fffdf88a;color:var(--color-muted);font-size:12px}.workspace-mode-bar button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.workspace-mode-bar span{color:var(--color-muted);font-size:12px;line-height:1.5}.compact-controls .field-label,.config-zone .field-label{margin-top:10px}.ratio-groups{display:grid;gap:7px}.ratio-group{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:7px}.ratio-group>span{padding-top:9px;color:var(--color-muted);font-size:12px}.ratio-group>div{display:flex;flex-wrap:wrap;gap:6px}.ratio-group button{display:grid;grid-template-columns:18px auto;column-gap:6px;align-items:center;min-height:38px;padding:5px 9px;border:1px solid var(--color-border);background:#fffdf885;color:var(--color-ink);text-align:left}.ratio-group button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.ratio-mark{display:block;width:18px;height:18px;border:1px solid currentColor}.ratio-group button b,.ratio-group button small{display:block;grid-column:2;font-weight:500;line-height:1.05}.ratio-group button small{margin-top:2px;color:var(--color-muted);font-size:10px}.ratio-group button.active small{color:#fffaf0bd}.ratio-group button .ratio-mark{grid-row:1 / span 2;justify-self:center;background:#b99a6b29}.upload-stack{display:grid;gap:6px;margin-top:6px}.mini-upload{border:1px solid var(--color-border);background:#fffdf885;padding:7px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.mini-upload.disabled{opacity:.66;background:#ebe6dc47}.mini-upload:focus,.mini-upload:focus-within{border-color:var(--color-accent);background:#fffdf8b8;box-shadow:0 0 0 3px #b99a6b24}.mini-upload-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.mini-upload-head strong,.mini-upload-head span{display:block}.mini-upload-head strong{font-size:12px}.mini-upload-head span{color:var(--color-muted);font-size:11px}.mini-upload-head button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-ink)}.upload-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.upload-chip{position:relative;min-height:52px;margin:0;border:1px solid var(--color-border);background:var(--color-paper);overflow:hidden}.upload-chip img{width:100%;height:52px;object-fit:cover}.upload-chip figcaption{position:absolute;left:4px;bottom:4px;padding:2px 4px;background:#fffdf8bf;color:var(--color-muted);font-size:10px}.upload-chip button{position:absolute;top:3px;right:3px;display:grid;width:22px;height:22px;place-items:center;background:#2d2a26c7;color:var(--color-primary-text)}.upload-chip.add{display:grid;min-height:52px;place-items:center;border:1px dashed var(--color-border-strong);background:#fffdf86b;color:var(--color-muted)}.input-summary{display:flex;align-items:center;gap:8px;min-height:26px;color:var(--color-muted);font-size:12px}.action-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-top:6px}.compact-actions{grid-template-columns:1fr;margin-top:0;padding-top:0}.action-stack{display:grid;gap:8px;justify-items:end}.action-row{display:grid;grid-template-columns:repeat(2,max-content);gap:10px}.action-button-main{min-height:46px;min-width:240px;padding-inline:18px}.docked-actions{justify-items:end}.wallet-page,.account-page{position:relative;z-index:1;max-width:1500px;min-height:calc(100vh - 126px);margin:0 auto;padding:clamp(18px,2.2vw,30px);border:1px solid rgba(185,173,158,.62);background:#fbfaf7b8;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wallet-hero,.account-hero{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(620px,1.18fr);gap:22px;align-items:stretch;margin-bottom:24px}.wallet-balance-card,.account-badge{display:grid;align-content:center;padding:24px 28px;border:1px solid rgba(185,154,107,.44);background:linear-gradient(155deg,#fffc,#f2ece1a3),#fffdf8bd;box-shadow:var(--shadow-soft)}.wallet-balance-card{grid-template-columns:minmax(250px,.92fr) minmax(360px,1.08fr);gap:28px;min-height:158px}.wallet-balance-main{display:grid;gap:9px;align-content:center}.wallet-balance-card span,.wallet-balance-card small,.account-badge span{color:var(--color-muted)}.wallet-balance-card strong{font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:clamp(34px,4vw,52px);line-height:.98;color:var(--color-ink);font-variant-numeric:lining-nums tabular-nums}.wallet-balance-main small{display:inline-flex;align-items:center;gap:7px}.wallet-balance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;margin:0}.wallet-balance-stats div{display:grid;gap:10px;min-height:76px;padding-left:24px;border-left:1px solid rgba(216,208,195,.92)}.wallet-balance-stats dt{color:var(--color-muted);font-size:13px}.wallet-balance-stats dd{margin:0;color:var(--color-ink);font-size:20px;font-weight:700;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.account-badge{display:inline-flex;align-items:center;justify-content:center;gap:10px}.wallet-grid{display:grid;grid-template-columns:1fr;gap:16px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wallet-card{display:grid;gap:12px;padding:24px;border:1px solid rgba(216,208,195,.92);background:linear-gradient(180deg,#fffdf8d1,#ebe6dc75),#fffdf8ad;box-shadow:var(--shadow-soft)}.wallet-card-full{grid-column:1 / -1}.wallet-card-head{display:inline-flex;align-items:center;gap:8px;color:var(--color-muted);font-size:12px;text-transform:uppercase}.wallet-card h2{font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:clamp(28px,3vw,38px);font-variant-numeric:lining-nums tabular-nums}.recharge-card-wide{grid-column:1 / -1}.wallet-card-intro{margin:-4px 0 0;color:var(--color-muted);line-height:1.6}.recharge-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:12px}.recharge-product-card{position:relative;display:grid;gap:14px;align-content:start;min-height:338px;padding:28px 28px 26px;border:1px solid rgba(216,208,195,.92);border-radius:10px;background:linear-gradient(180deg,#fffdf8e0,#f7f2e8ad),#fffdf8c2;box-shadow:0 18px 34px #3e311f0f;overflow:hidden}.recharge-product-card:before{display:none}.recharge-product-card.recommended{border-color:#b98038db;background:radial-gradient(circle at 92% -10%,rgba(190,130,55,.18),transparent 38%),linear-gradient(180deg,#fffcf4f5,#f8f0e0c7);box-shadow:0 22px 44px #804b261f}.recharge-product-card.best-value{border-color:#b980389e;background:radial-gradient(circle at 92% -10%,rgba(190,130,55,.12),transparent 36%),linear-gradient(180deg,#fffdf8e6,#f7efe0b3)}.product-corner-badge{position:absolute;top:0;right:0;z-index:2;display:inline-flex;align-items:center;min-height:36px;padding:0 18px 0 22px;border-bottom-left-radius:18px;background:linear-gradient(135deg,#d0a063,#a86e2f);color:#fffdf8;font-size:13px;font-weight:700;box-shadow:0 12px 22px #804b2629}.recharge-product-card>strong{position:relative;z-index:1;font-size:22px}.recharge-product-card h2{position:relative;z-index:1;margin:8px 0 0;font-size:clamp(32px,3vw,46px);line-height:1;letter-spacing:-.03em}.recharge-product-card h2 small{font-size:18px;letter-spacing:0}.recharge-product-card h2.price-accent{color:#b77b37}.recharge-product-subcopy{min-height:26px;white-space:nowrap}.product-divider{height:1px;margin:8px 0 10px;background:#d8d0c3eb}.product-selling-points{position:relative;z-index:1;display:grid;gap:10px;min-height:54px;margin:0;padding:0;list-style:none;color:var(--color-ink)}.product-selling-points li{display:flex;align-items:center;gap:9px;line-height:1.5}.product-selling-points li:before{content:"";flex:0 0 auto;width:18px;height:18px;border:1px solid #b77b37;border-radius:50%;background:linear-gradient(135deg,transparent 45%,#b77b37 46% 56%,transparent 57%),#fffdf880}.recharge-product-card p,.payment-copy,.payment-hint{position:relative;z-index:1;color:var(--color-muted);line-height:1.6}.product-buy-button{position:relative;z-index:1;width:100%;margin-top:auto;min-height:52px}.product-buy-button:disabled{cursor:default}.wallet-refund-note{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:8px 11px;border:1px dashed rgba(185,154,107,.62);background:#fff9f0ad;color:var(--color-muted);font-size:12px;line-height:1.5}.payment-refund-note{width:100%}.wallet-rule-list{margin:0;padding-left:18px;display:grid;gap:8px}.wallet-rule-list li{color:var(--color-ink);line-height:1.6}.wallet-stats{display:grid;gap:12px;margin:0}.wallet-stats div{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(216,208,195,.72)}.wallet-stats div:last-child{padding-bottom:0;border-bottom:0}.wallet-stats dt{color:var(--color-muted);font-size:12px}.wallet-stats dd{margin:0;font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:26px;color:var(--color-ink);font-variant-numeric:lining-nums tabular-nums}.ledger-preview{display:grid;gap:10px}.wallet-accordion-card{gap:0;padding:0}.wallet-section-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:18px;background:transparent;color:inherit;text-align:left}.wallet-section-toggle:hover{background:#fffdf861}.wallet-section-main{display:grid;gap:6px}.wallet-section-main small,.wallet-section-side span{color:var(--color-muted);font-size:12px}.wallet-section-side{display:inline-flex;align-items:center;gap:10px;color:var(--color-muted);white-space:nowrap}.wallet-accordion-body{padding:0 18px 18px}.ledger-empty{display:flex;align-items:center;gap:10px;min-height:88px;padding:14px 0;color:var(--color-muted)}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid rgba(216,208,195,.72)}.ledger-copy{display:grid;gap:4px}.ledger-row:last-child{padding-bottom:0;border-bottom:0}.ledger-row strong,.ledger-row small{display:block}.ledger-row small,.account-copy,.account-list dt{color:var(--color-muted)}.ledger-meta{font-size:12px}.ledger-row span{font-family:Noto Sans SC,PingFang SC,sans-serif;font-size:24px;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}.order-row{align-items:flex-start}.order-actions{display:grid;justify-items:end;gap:8px}.order-actions span{font-family:IBM Plex Sans,Noto Sans SC,sans-serif;font-size:11px;color:var(--color-muted)}.secondary-button.mini{min-height:34px;padding:0 10px;font-size:12px}.payment-modal-backdrop{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:20px;background:#25231f57;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.payment-modal{position:relative;display:grid;gap:14px;width:min(520px,100%);padding:24px;border:1px solid rgba(216,208,195,.92);background:linear-gradient(180deg,#fffdf8eb,#ebe6dcdb),#fffdf8f0;box-shadow:var(--shadow-paper)}.payment-close{top:14px;right:14px}.payment-qr-shell{display:grid;place-items:center;min-height:264px;padding:18px;border:1px solid rgba(216,208,195,.92);background:#fffdf8b8}.payment-details{display:grid;gap:10px;margin:0}.payment-details div{display:grid;gap:4px}.payment-details dt{color:var(--color-muted);font-size:12px}.payment-details dd{margin:0;color:var(--color-ink);word-break:break-all}.payment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ledger-row.positive span{color:#145a42}.ledger-row.negative span{color:#8e3b2d}.account-card{align-content:start}.account-list{display:grid;gap:12px;margin:0}.account-list div{display:grid;gap:4px}.account-list dd{margin:0;color:var(--color-ink);font-weight:600}.stop-button{color:var(--color-error);border-color:#a85f5557}.confirm-modal-backdrop{position:fixed;inset:0;z-index:14;display:grid;place-items:center;padding:20px;background:#25231f4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-modal{display:grid;gap:12px;width:min(430px,100%);padding:20px;border:1px solid rgba(216,208,195,.94);background:linear-gradient(180deg,#fffdf8f5,#efe9deeb),var(--color-paper);box-shadow:var(--shadow-paper)}.confirm-modal>strong{font-size:20px;color:var(--color-ink)}.confirm-modal p{margin:0;color:var(--color-muted);line-height:1.7}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.group-mode-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:8px}.group-mode-bar button{min-height:34px;padding:0 11px;border:1px solid var(--color-border);background:#fffdf894;color:var(--color-ink)}.group-mode-bar button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.group-mode-bar span{color:var(--color-muted);font-size:12px}.group-stack{display:grid;gap:8px;max-height:min(34vh,320px);margin-top:8px;overflow:auto;padding-right:2px}.image-group{display:grid;gap:8px;padding:9px;border:1px solid rgba(216,208,195,.92);background:#fffdf866}.image-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.image-group-head strong{font-size:13px}.image-group-head button{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 8px;border:1px solid var(--color-border);background:#fffdf89e;color:var(--color-muted);font-size:12px}.image-group .mini-upload{padding:7px}.image-group .upload-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:32px;background:#25231fd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lightbox img{max-width:min(94vw,1280px);max-height:90vh;border:14px solid var(--color-paper);object-fit:contain;box-shadow:0 24px 70px #00000047}.lightbox-close{position:fixed;top:22px;right:22px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,250,240,.32);background:#fffdf824;color:var(--color-primary-text)}.template-media{border:0;padding:0;text-align:inherit}.mini-template-inputs{display:flex;gap:6px;margin-top:12px;min-height:34px}.mini-template-inputs img{width:34px;height:34px;border:1px solid var(--color-border);object-fit:cover}@media(max-width:1180px){.login-stage{grid-template-columns:1fr;gap:34px;width:min(760px,100%)}.login-story{min-height:auto;padding:8px 0 0}.login-panel{max-width:460px;width:100%;margin-left:0}.login-polaroids{min-height:360px;max-width:700px;padding-right:24px}.one-page-studio{grid-template-columns:1fr}.generation-zone,.config-zone{min-height:auto}.config-zone{order:-1}.wallet-grid,.account-grid{grid-template-columns:1fr}.recharge-card-wide{grid-column:auto}.wallet-hero,.wallet-balance-card{grid-template-columns:1fr}.wallet-balance-stats div:first-child{border-left:0;padding-left:0}.recharge-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-actions{grid-template-columns:1fr}}@media(max-width:720px){.login-stage{gap:28px}.login-story{padding:0;gap:28px}.login-story-copy h1{margin:10px 0 14px;font-size:clamp(48px,18vw,72px)}.login-story-copy p{font-size:18px}.auth-story-metrics div{flex:1 1 100%;min-width:0}.login-polaroids{min-height:290px;padding-right:0}.login-polaroids figure{border-width:6px;border-radius:22px}.login-polaroids figure:last-child{margin-left:-18px}.login-panel{padding:26px 20px 22px;border-radius:24px}.login-panel-head strong{font-size:28px}.auth-entry-tabs{width:100%;gap:18px}.code-row,.compact-controls,.compact-actions{grid-template-columns:1fr}.action-band{grid-template-columns:1fr;gap:10px}.action-row{grid-template-columns:1fr}.workspace-mode-bar{grid-template-columns:1fr 1fr}.workspace-mode-bar span{grid-column:1 / -1}.wallet-hero,.account-hero{grid-template-columns:1fr}.wallet-balance-card{padding:20px}.wallet-balance-stats{grid-template-columns:1fr;gap:10px}.wallet-balance-stats div{min-height:0;padding:10px 0 0;border-left:0;border-top:1px solid rgba(216,208,195,.92)}.recharge-product-grid{grid-template-columns:1fr}.platform-topbar{align-items:stretch}.platform-nav,.session-rail{justify-content:flex-start}.upload-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-preview{min-height:370px}.lightbox{padding:12px}}
