:root{--ink:#594a3d;--ink-soft:#806f61;--ink-muted:#a28d7c;--paper:#fbf6ed;--cream:#fff8ed;--glass:rgba(255,251,242,0.58);--glass-strong:rgba(255,250,240,0.78);--glass-faint:rgba(255,247,232,0.34);--shadow:0 30px 90px rgba(113,88,63,0.13);--shadow-soft:0 18px 48px rgba(121,92,66,0.09);--inner-glow:inset 0 1px 0 rgba(255,255,255,0.82),inset 0 -22px 42px rgba(255,244,226,0.24);--rose:#e98793;--apricot:#eca66d;--sage:#91b59a;--cyan:#8ebccd;--sun:#f0ca6b;--radius:34px;--radius-xl:46px;--motion-duration:250ms;--motion-ease:ease-in-out;--apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Hiragino Sans GB","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body,html{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--apple-font);background:radial-gradient(circle at 16% 10%,rgba(233,135,147,.2),transparent 28%),radial-gradient(circle at 82% 18%,rgba(142,188,205,.22),transparent 30%),radial-gradient(circle at 68% 78%,rgba(240,202,107,.18),transparent 28%),linear-gradient(135deg,#fffaf1,#fbf1e4 42%,#eef5ed);background-attachment:fixed}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}.site-shell{width:min(100%,1360px);min-height:100vh;margin:0 auto;padding:26px clamp(20px,4vw,54px);overflow:hidden}.topbar{position:fixed;top:18px;left:50%;z-index:30;display:flex;width:min(calc(100% - 48px),1252px);align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 10px 8px 24px;border-radius:999px;background:linear-gradient(135deg,rgba(255,251,244,.78),rgba(255,248,236,.42));box-shadow:var(--shadow-soft),var(--inner-glow);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);transform:translateX(-50%);transition:background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.brand-mark{color:var(--ink);font-family:var(--apple-font);font-size:1.5rem;font-weight:720;line-height:1;text-decoration:none;transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}.brand-mark:hover{opacity:.78;transform:translateY(-1px)}.icon-text-button,.modal-style-badge,.primary-button,.studio-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px}.studio-pill{min-height:42px;padding:0 16px;color:var(--ink);border:0;background:rgba(255,250,240,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 10px 30px rgba(121,92,66,.08);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-radius:999px;font-family:var(--apple-font);font-size:.82rem;transition:background var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}.studio-pill:hover{transform:translateY(-1px);background:rgba(255,250,240,.84)}.topbar-links{display:flex;align-items:center;gap:6px}.topbar-link{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;color:var(--ink-soft);border-radius:999px;background:transparent;font-family:var(--apple-font);font-size:.86rem;font-weight:720;text-decoration:none;transition:color var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}.topbar-link:hover{color:var(--ink);background:rgba(255,250,240,.5);transform:translateY(-1px)}.topbar-link.is-active{color:var(--ink);background:rgba(255,250,240,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 20px rgba(121,92,66,.07)}.hero-copy{position:relative;display:grid;grid-gap:16px;gap:16px;width:100%;margin:138px 0 62px;padding:0 6px;animation:card-rise var(--motion-duration) both var(--motion-ease)}.hero-copy:after{display:none}.eyebrow,.section-kicker{margin:0;color:#c96d72;font-family:var(--apple-font);font-size:.76rem;font-weight:800;text-transform:uppercase}.hero-copy h1{color:var(--ink);font-size:clamp(2.35rem,4.8vw,4.25rem);font-weight:650;line-height:1.08}.hero-copy h1,.hero-subtitle{position:relative;z-index:1;width:100%;margin:0;font-family:var(--apple-font);white-space:nowrap}.hero-subtitle{color:var(--ink-soft);font-size:clamp(.92rem,1.55vw,1.04rem);line-height:1.78}.gallery-section{display:flex;justify-content:center;padding:4px 0 92px}.gallery-grid{display:grid;width:min(980px,100%);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:26px;gap:26px}.style-card{position:relative;display:grid;aspect-ratio:.78;min-height:0;padding:0;overflow:hidden;text-align:left;color:#fff;border:0;border-radius:38px;background:rgba(255,248,235,.38);box-shadow:0 18px 52px rgba(111,83,58,.12),var(--inner-glow);backdrop-filter:blur(20px) saturate(1.16);-webkit-backdrop-filter:blur(20px) saturate(1.16);animation:card-rise var(--motion-duration) both var(--motion-ease);animation-delay:var(--delay);isolation:isolate;transition:transform var(--motion-duration) var(--motion-ease),opacity var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),filter var(--motion-duration) var(--motion-ease);will-change:transform,box-shadow}.style-card:before{border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.44),transparent 28%,rgba(255,247,229,.2) 68%,rgba(255,255,255,.38)),linear-gradient(180deg,rgba(255,255,255,.1),transparent 36%);opacity:.28}.style-card:after,.style-card:before{position:absolute;inset:0;z-index:2;content:"";pointer-events:none;transition:opacity var(--motion-duration) var(--motion-ease)}.style-card:after{background:linear-gradient(180deg,transparent 36%,rgba(70,48,35,.08) 58%,rgba(58,39,28,.45)),linear-gradient(145deg,rgba(255,255,255,.14),transparent 42%);opacity:.78}.style-card:focus-visible,.style-card:hover{opacity:.98;transform:translateY(-5px) scale(1.012);filter:brightness(1.025) saturate(1.03);background:rgba(255,250,239,.52);box-shadow:0 26px 66px rgba(111,83,58,.16),0 0 0 1px rgba(255,255,255,.18),0 0 38px color-mix(in srgb,var(--accent),transparent 68%),var(--inner-glow)}.style-card:focus-visible:before,.style-card:hover:before{opacity:.58}.style-card:focus-visible:after,.style-card:hover:after{opacity:.72}.icon-text-button:focus-visible,.modal-close:focus-visible,.preview-close:focus-visible,.primary-button:focus-visible,.round-action:focus-visible,.style-card:focus-visible,.upload-zone:focus-visible{outline:3px solid rgba(101,220,229,.7);outline-offset:3px}.card-plus{position:absolute;top:50%;left:50%;z-index:4;display:grid;width:82px;height:82px;place-items:center;color:var(--ink);background:rgba(255,250,240,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 18px 48px rgba(91,68,48,.14);backdrop-filter:blur(26px) saturate(1.24);-webkit-backdrop-filter:blur(26px) saturate(1.24);border:0;border-radius:999px;opacity:.7;transform:translate(-50%,-50%) scale(.92);transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.style-card:focus-visible .card-plus,.style-card:hover .card-plus{opacity:1;transform:translate(-50%,-50%) scale(1);background:rgba(255,251,244,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 24px 58px rgba(91,68,48,.18)}.icon-text-button:active,.primary-button:active,.round-action:active,.style-card:active,.upload-zone:active{transform:translateY(1px) scale(.992)}.card-copy{position:relative;z-index:3;align-self:end;display:grid;grid-gap:7px;gap:7px;margin:13px;padding:15px;border-radius:24px;background:linear-gradient(135deg,rgba(255,250,240,.4),rgba(255,244,227,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 10px 28px rgba(75,52,36,.1);backdrop-filter:blur(18px) saturate(1.16);-webkit-backdrop-filter:blur(18px) saturate(1.16);transition:background var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}.card-title{font-size:clamp(.98rem,1.08vw,1.1rem);font-weight:740;line-height:1.12}.card-subtitle{font-size:.66rem;font-weight:800;text-transform:uppercase}.card-description,.card-subtitle{color:rgba(255,255,255,.82);font-family:var(--apple-font)}.card-description{font-size:.76rem;line-height:1.48}.style-cover{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;filter:saturate(.98) contrast(.98);transform:scale(1.01);transition:transform var(--motion-duration) var(--motion-ease),filter var(--motion-duration) var(--motion-ease)}.style-card:focus-visible .style-cover,.style-card:hover .style-cover{filter:saturate(1.04) contrast(1);transform:scale(1.045)}.style-art{position:absolute;inset:0;z-index:1;display:block;overflow:hidden;background:#f7f4ef;opacity:.88;transition:opacity var(--motion-duration) var(--motion-ease),filter var(--motion-duration) var(--motion-ease)}.style-card:focus-visible .style-art,.style-card:hover .style-art{opacity:.96}.style-art:before{position:absolute;inset:0;content:"";background-image:radial-gradient(rgba(0,0,0,.12) .7px,transparent 0);background-size:7px 7px;opacity:.18;mix-blend-mode:multiply}.art-photo{position:absolute;left:16%;top:16%;width:68%;height:64%;overflow:hidden;border-radius:32px;background:radial-gradient(circle at 50% 28%,#ffd4c5 0 11%,transparent 11%),linear-gradient(150deg,rgba(255,255,255,.24),transparent),linear-gradient(180deg,#bac7d8,#ebd7c0 62%,#8da486);box-shadow:0 18px 44px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.34)}.art-face,.art-shoulder{position:absolute;left:50%;transform:translateX(-50%)}.art-face{top:17%;width:27%;height:20%;border-radius:46% 46% 42% 42%;background:#f3b599}.art-shoulder{top:38%;width:54%;height:34%;border-radius:48% 48% 18% 18%;background:var(--accent)}.art-detail,.art-layer{position:absolute;z-index:2;display:block}.art-caption{position:absolute;left:22px;bottom:22px;z-index:3;color:rgba(255,255,255,.62);font-size:.9rem}.style-art-magnet{background:linear-gradient(160deg,#fdf8ef,#f4f8ff)}.style-art-magnet .art-photo{left:23%;top:20%;width:54%;height:56%;border:14px solid #fff;border-radius:28px;box-shadow:0 24px 56px rgba(32,31,29,.18)}.style-art-magnet .art-layer-one{left:18%;top:18%;width:64%;height:62%;border:3px solid var(--accent);border-radius:34px}.style-art-citypop{background:linear-gradient(180deg,#07124d,#7732af 44%,#ff6fb3 74%,#ffd36b)}.style-art-citypop .art-photo{filter:saturate(1.7) contrast(1.15)}.style-art-citypop .art-layer-one{left:-12%;bottom:20%;width:124%;height:20%;border-top:8px solid #43f0ff;border-bottom:8px solid #ff4fb5;transform:rotate(-9deg)}.style-art-citypop .art-detail-one{right:18%;top:18%;width:86px;height:86px;border-radius:999px;background:#ffd36b;box-shadow:0 0 34px #ffd36b}.style-art-healing{background:linear-gradient(160deg,#fff7d6,#dcf4de 52%,#ffd9d9)}.style-art-healing .art-photo{filter:saturate(1.18) brightness(1.08)}.style-art-healing .art-layer-one{left:8%;top:16%;width:110px;height:110px;border-radius:999px;background:rgba(255,207,106,.75)}.style-art-healing .art-layer-two{right:8%;top:26%;width:142px;height:142px;border-radius:999px;background:rgba(114,189,154,.62)}.style-art-healing .art-detail-one{left:20%;bottom:24%;width:58%;height:46px;border-bottom:8px solid var(--accent);border-radius:50%}.style-art-pixel{image-rendering:pixelated;background:linear-gradient(90deg,rgba(255,255,255,.15) 10%,transparent 10% 20%),linear-gradient(180deg,#8bd4ff,#cfe6a8 55%,#7ab36c);background-size:32px 32px,auto}.style-art-pixel .art-photo{border-radius:0;filter:contrast(1.15) saturate(1.25)}.style-art-pixel .art-layer-one{left:7%;top:8%;width:86px;height:48px;background:rgba(0,0,0,.72)}.style-art-pixel .art-layer-two{right:8%;top:8%;width:104px;height:54px;background:rgba(0,0,0,.78)}.style-art-pixel .art-detail-one{left:18%;bottom:13%;width:64%;height:42px;background:repeating-linear-gradient(90deg,#161616 0 4px,#f7d35b 4px 36px,#fff 36px 68px)}.style-art-plog{background:linear-gradient(160deg,#e9ded1,#f6f2eb 52%,#d7e1d6)}.style-art-plog .art-photo{filter:saturate(.85) brightness(1.08)}.style-art-plog .art-layer-one{left:13%;top:18%;width:70%;height:54%;border:4px dashed #fff;border-radius:42px;transform:rotate(-4deg)}.style-art-plog .art-detail-one{left:18%;bottom:26%;width:120px;height:62px;border:4px solid #fff;border-top:0;border-left:0;transform:rotate(-16deg)}.style-art-plog .art-detail-two{right:15%;top:30%;width:86px;height:38px;border-bottom:4px solid #fff;transform:rotate(12deg)}.style-art-rembrandt{background:#070504}.style-art-rembrandt .art-photo{background:radial-gradient(circle at 34% 27%,#f3c08b 0 10%,transparent 18%),linear-gradient(90deg,rgba(245,158,72,.8),rgba(0,0,0,.9) 48%),#111;filter:contrast(1.35) saturate(.72)}.style-art-rembrandt .art-layer-one{left:-12%;top:16%;width:80%;height:42%;background:linear-gradient(90deg,rgba(242,174,95,.54),transparent);filter:blur(18px)}.style-art-rembrandt .art-detail-one{left:14%;bottom:18%;width:62%;height:7px;background:rgba(255,239,216,.5);filter:blur(6px)}.modal-backdrop,.preview-backdrop{position:fixed;inset:0;z-index:40;display:grid;padding:20px;overflow-y:auto;background:rgba(243,232,214,.42);backdrop-filter:blur(34px) saturate(1.18);-webkit-backdrop-filter:blur(34px) saturate(1.18)}.modal-backdrop{place-items:center}.generate-modal{position:relative;width:min(1040px,100%);max-height:calc(100vh - 40px);overflow-y:auto;border:0;border-radius:var(--radius-xl);background:radial-gradient(circle at 16% 0,rgba(255,255,255,.78),transparent 34%),radial-gradient(circle at 88% 8%,rgba(233,135,147,.12),transparent 28%),linear-gradient(135deg,rgba(255,250,240,.78),rgba(255,246,232,.48));box-shadow:0 26px 84px rgba(106,79,55,.16),var(--inner-glow);backdrop-filter:blur(34px) saturate(1.22);-webkit-backdrop-filter:blur(34px) saturate(1.22);animation:modal-in var(--motion-duration) both var(--motion-ease)}.modal-close,.preview-close{position:absolute;z-index:3;display:grid;width:40px;height:40px;place-items:center;color:var(--ink);border:0;border-radius:999px;background:rgba(255,250,240,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 28px rgba(106,79,55,.12);backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18);transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.modal-close:hover,.preview-close:hover{transform:translateY(-1px);background:rgba(255,250,240,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 38px rgba(106,79,55,.16)}.modal-close{top:18px;right:18px}.modal-style-header{display:grid;grid-gap:10px;gap:10px;padding:28px 32px 8px}.modal-style-header h2{margin:0;color:var(--ink);font-size:1.72rem;font-weight:720;line-height:1.08}.modal-style-header p{width:min(620px,100%);margin:0;color:var(--ink-soft);font-family:var(--apple-font);font-size:.92rem;line-height:1.62}.modal-style-badge{width:-moz-fit-content;width:fit-content;min-height:30px;padding:0 11px;border:0;border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--accent),#fff8ed 78%);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 10px 24px rgba(106,79,55,.08);font-family:var(--apple-font);font-size:.72rem;font-weight:800}.generate-form{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);grid-gap:18px;gap:18px;align-items:stretch;padding:18px 32px 32px}.creation-panel,.source-panel{display:grid;align-content:start;grid-gap:14px;gap:14px;min-width:0;border-radius:34px;background:rgba(255,250,240,.36);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 16px 42px rgba(106,79,55,.08);backdrop-filter:blur(20px) saturate(1.16);-webkit-backdrop-filter:blur(20px) saturate(1.16)}.source-panel{padding:16px}.creation-panel{grid-template-rows:auto auto auto minmax(230px,1fr) auto auto;padding:16px}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:32px;font-family:var(--apple-font)}.panel-heading span{color:var(--ink-muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.panel-heading strong{color:var(--ink);font-size:.98rem;font-weight:780}.upload-block{display:grid;grid-gap:10px;gap:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-zone{position:relative;display:grid;min-height:clamp(340px,50vh,560px);padding:16px;overflow:hidden;place-items:center;color:var(--ink);border:0;border-radius:28px;background:linear-gradient(135deg,rgba(255,250,240,.66),rgba(255,246,232,.34)),repeating-linear-gradient(45deg,rgba(89,74,61,.025) 0 8px,transparent 8px 16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),inset 0 -24px 54px rgba(255,244,226,.18),0 12px 34px rgba(106,79,55,.08);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease),opacity var(--motion-duration) var(--motion-ease)}.upload-zone:hover{transform:translateY(-2px);background:linear-gradient(135deg,rgba(255,252,246,.78),rgba(255,246,232,.44)),repeating-linear-gradient(45deg,rgba(89,74,61,.025) 0 8px,transparent 8px 16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -24px 54px rgba(255,244,226,.22),0 18px 44px rgba(106,79,55,.11)}.upload-zone.has-preview{min-height:clamp(380px,56vh,620px);background:rgba(24,24,28,.82)}.upload-zone img{width:100%;height:100%;max-height:440px;object-fit:contain;border-radius:22px}.upload-empty{display:grid;grid-gap:11px;gap:11px;place-items:center;color:var(--ink);font-family:var(--apple-font);font-weight:760}.upload-empty svg{width:46px;height:46px;padding:10px;border-radius:999px;color:rgba(25,25,29,.72);background:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 12px 28px rgba(70,74,86,.08)}.field-error,.ratio-note,.upload-empty small{font-family:var(--apple-font);font-size:.82rem}.ratio-note,.upload-empty small{color:var(--ink-soft)}.upload-action{right:16px;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;color:var(--ink);border:0;border-radius:999px;background:rgba(255,255,255,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 28px rgba(51,55,66,.12);backdrop-filter:blur(18px) saturate(1.16);-webkit-backdrop-filter:blur(18px) saturate(1.16);font-size:.82rem;font-weight:760}.upload-action,.upload-file-meta{position:absolute;bottom:16px;font-family:var(--apple-font)}.upload-file-meta{left:16px;display:grid;max-width:min(56%,360px);grid-gap:2px;gap:2px;padding:9px 12px;color:#f8f7f3;border-radius:18px;background:rgba(16,17,21,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.16);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);text-align:left}.upload-file-meta small,.upload-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-meta strong{font-size:.78rem;font-weight:760}.upload-file-meta small{color:rgba(255,255,255,.72);font-size:.68rem}.field-error{margin:0;color:#bf2f42;font-weight:760}.ratio-note{margin:0;line-height:1.5}.generation-status{display:grid;grid-gap:12px;gap:12px;position:relative;overflow:hidden;padding:13px 14px;border:0;border-radius:var(--radius);background:rgba(255,250,240,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 14px 38px rgba(106,79,55,.08);backdrop-filter:blur(20px) saturate(1.14);-webkit-backdrop-filter:blur(20px) saturate(1.14);transition:background var(--motion-duration) var(--motion-ease),opacity var(--motion-duration) var(--motion-ease)}.status-main{display:flex;align-items:center;gap:12px}.status-copy{min-width:0;flex:1 1 auto}.generation-status:after{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent,rgba(255,255,255,.34),transparent);opacity:0;transform:translateX(-100%);pointer-events:none}.generation-status:not(.is-error):not(.is-done):after{animation:status-sheen 1.8s ease-in-out infinite;opacity:1}.generation-status.is-error{border-color:rgba(191,47,66,.2);background:rgba(255,238,239,.8)}.generation-status.is-done{border-color:rgba(84,151,111,.22);background:rgba(237,249,242,.84)}.status-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:999px;background:rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.generation-status svg{color:var(--rose)}.generation-status:not(.is-error):not(.is-done) .status-icon svg{animation:spin 1.2s linear infinite}.primary-button svg{transition:transform var(--motion-duration) var(--motion-ease)}.generation-status small,.generation-status strong{display:block;font-family:var(--apple-font)}.generation-status strong{font-size:.92rem}.generation-status small{margin-top:4px;color:var(--ink-soft);line-height:1.45}.status-countdown{position:relative;z-index:1;display:grid;min-width:74px;flex:0 0 auto;place-items:center;padding:8px 10px;border-radius:20px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 10px 22px rgba(70,74,86,.08);text-align:center}.status-countdown span,.status-countdown strong{display:block;font-family:var(--apple-font)}.generation-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.generation-step{display:grid;grid-gap:6px;gap:6px;color:var(--ink-muted);font-family:var(--apple-font);font-size:.68rem;font-weight:780;text-align:center}.generation-step i{display:block;width:100%;height:5px;border-radius:999px;background:rgba(28,30,36,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}.generation-step.is-active,.generation-step.is-complete{color:var(--ink)}.generation-step.is-active i,.generation-step.is-complete i{background:color-mix(in srgb,var(--accent),white 24%)}.status-countdown span{color:var(--ink-muted);font-size:.62rem;font-weight:800}.status-countdown strong{margin-top:2px;color:var(--ink);font-size:.98rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.generation-options{display:grid;grid-gap:10px;gap:10px}.options-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;min-height:44px;padding:0 14px;color:var(--ink);border:0;border-radius:999px;background:rgba(255,250,240,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 12px 28px rgba(106,79,55,.07);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);font-family:var(--apple-font);text-align:left;transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.options-toggle:hover{transform:translateY(-1px);background:rgba(255,250,240,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 16px 34px rgba(106,79,55,.1)}.options-toggle>span{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:780}.options-toggle small{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.76rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.options-toggle>svg{transition:transform var(--motion-duration) var(--motion-ease)}.generation-options.is-open .options-toggle>svg{transform:rotate(180deg)}.options-panel{display:grid;grid-gap:14px;gap:14px;padding:14px;border-radius:28px;background:rgba(255,250,240,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 34px rgba(106,79,55,.07);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);animation:card-rise var(--motion-duration) both var(--motion-ease)}.options-panel[hidden]{display:none}.options-panel fieldset{display:grid;grid-gap:8px;gap:8px;min-width:0;margin:0;padding:0;border:0}.options-panel legend{padding:0;color:var(--ink-muted);font-family:var(--apple-font);font-size:.68rem;font-weight:820;text-transform:uppercase}.option-chip-grid,.option-chip-row{display:flex;flex-wrap:wrap;gap:8px}.option-chip{display:grid;grid-gap:2px;gap:2px;min-height:48px;min-width:74px;padding:8px 11px;color:var(--ink);border:0;border-radius:18px;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 8px 18px rgba(106,79,55,.06);font-family:var(--apple-font);text-align:left;transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.option-chip:hover{transform:translateY(-1px);background:rgba(255,255,255,.66)}.option-chip.is-selected{background:linear-gradient(135deg,rgba(233,135,147,.26),rgba(236,166,109,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 10px 24px rgba(201,109,114,.13)}.option-chip strong{font-size:.84rem}.option-chip span{color:var(--ink-soft);font-size:.68rem}.option-chip.compact{display:inline-flex;min-height:36px;min-width:auto;align-items:center;justify-content:center;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:760}.modal-actions,.result-actions,.results-header{display:flex;align-items:center}.modal-actions{justify-content:flex-end;gap:10px;align-self:end}.icon-text-button,.primary-button{min-height:42px;padding:0 16px;border-radius:999px;font-family:var(--apple-font);font-size:.9rem;font-weight:800;transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease),opacity var(--motion-duration) var(--motion-ease)}.primary-button{color:#fffaf3;border:0;background:linear-gradient(135deg,#dc7f82,#e9a061 56%,#91b59a);box-shadow:0 16px 38px rgba(201,109,114,.24),inset 0 1px 0 rgba(255,255,255,.28)}.primary-button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#e3898b,#eda76d 56%,#9dbf9f);box-shadow:0 22px 48px rgba(201,109,114,.3),inset 0 1px 0 rgba(255,255,255,.34)}.primary-button:disabled{opacity:.48}.icon-text-button{color:var(--ink);border:0;background:rgba(255,250,240,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 30px rgba(106,79,55,.08);backdrop-filter:blur(18px) saturate(1.14);-webkit-backdrop-filter:blur(18px) saturate(1.14)}.icon-text-button:hover{transform:translateY(-2px);background:rgba(255,250,240,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 18px 42px rgba(106,79,55,.12)}.icon-text-button.secondary{background:rgba(255,250,240,.28)}.icon-text-button.compact{min-height:34px;margin-left:auto;padding:0 12px;font-size:.8rem}.results-section{display:grid;grid-gap:14px;gap:14px;min-height:0}.results-header{justify-content:space-between;gap:14px}.results-header h3{margin:4px 0 0;font-size:1.08rem;font-weight:740}.mobile-save-tip{margin:0;padding:10px 12px;color:#5b4c18;border:0;border-radius:var(--radius);background:rgba(255,249,221,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 10px 24px rgba(110,92,40,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--apple-font);font-size:.84rem}.result-placeholder{display:grid;min-height:300px;place-items:center;padding:24px;border-radius:30px;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.76),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.44),rgba(255,255,255,.2));box-shadow:inset 0 1px 0 rgba(255,255,255,.66),0 14px 38px rgba(70,74,86,.07);text-align:center}.placeholder-icon{display:grid;width:62px;height:62px;place-items:center;color:var(--ink);border-radius:999px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 16px 34px rgba(70,74,86,.1)}.result-placeholder small,.result-placeholder strong{display:block;font-family:var(--apple-font)}.result-placeholder strong{margin-top:14px;color:var(--ink);font-size:1.08rem;font-weight:760}.result-placeholder small{width:min(300px,100%);margin-top:7px;color:var(--ink-soft);line-height:1.55}.result-placeholder.is-working .placeholder-icon{animation:soft-pulse 1.8s ease-in-out infinite}.result-card{position:relative;overflow:hidden;border:0;border-radius:28px;background:rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 18px 42px rgba(70,74,86,.12);backdrop-filter:blur(18px) saturate(1.14);-webkit-backdrop-filter:blur(18px) saturate(1.14);transition:transform var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.result-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.64),0 24px 58px rgba(70,74,86,.16)}.result-card img{display:block;width:100%;height:min(520px,58vh);aspect-ratio:4/5;object-fit:contain;background:rgba(20,21,25,.9)}.result-actions{position:absolute;right:14px;bottom:14px;gap:8px}.round-action{display:grid;width:38px;height:38px;place-items:center;color:#111;border:0;border-radius:999px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 10px 26px rgba(51,55,66,.14);backdrop-filter:blur(16px) saturate(1.18);-webkit-backdrop-filter:blur(16px) saturate(1.18);transition:transform var(--motion-duration) var(--motion-ease),background var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease)}.round-action:hover{transform:translateY(-2px);background:rgba(255,255,255,.86)}.round-action:disabled{cursor:not-allowed;opacity:.45}@keyframes soft-pulse{0%,to{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.035)}}.preview-backdrop{z-index:60;place-items:center}.preview-close{top:22px;right:22px}.preview-stage{display:grid;width:min(680px,100%);grid-gap:12px;gap:12px;justify-items:center}.preview-stage img{width:min(100%,520px);max-height:82vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 30px 120px rgba(50,54,66,.28),var(--inner-glow)}.preview-stage p{margin:0;color:#fff;font-family:var(--apple-font);font-size:.92rem}@keyframes card-rise{0%{opacity:0;transform:translateY(8px) scale(.996)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes status-sheen{0%{transform:translateX(-120%)}to{transform:translateX(120%)}}@keyframes shimmer-sweep{0%{transform:translateX(-100%) skewX(-12deg)}to{transform:translateX(200%) skewX(-12deg)}}.upload-shimmer{position:absolute;inset:0;z-index:2;border-radius:inherit;overflow:hidden;pointer-events:none}.upload-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent,transparent 38%,rgba(255,255,255,.28) 48%,rgba(255,255,255,.5) 52%,rgba(255,255,255,.28) 56%,transparent 62%,transparent);animation:shimmer-sweep 1.8s ease-in-out infinite}@media (max-width:1180px){.gallery-grid{width:min(920px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}@media (max-width:900px){.gallery-grid{width:min(660px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (max-width:760px){.site-shell{padding:16px}.topbar{top:12px;width:calc(100% - 32px);min-height:54px;padding-left:18px}.studio-pill{display:none}.hero-copy{margin:104px 0 34px;padding:0 2px}.hero-copy h1{font-size:2.18rem}.hero-copy h1,.hero-subtitle{white-space:normal}.gallery-grid{width:min(430px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.style-card{aspect-ratio:.74;border-radius:28px}.card-plus{width:58px;height:58px;opacity:1;transform:translate(-50%,-50%) scale(1)}.card-plus svg{width:34px;height:34px}.card-copy{gap:4px;margin:8px;padding:10px;border-radius:18px}.card-title{font-size:.88rem}.card-subtitle{font-size:.56rem}.card-description{display:none}.modal-backdrop{align-items:end;padding:0}.generate-modal{width:100%;max-height:94vh;border-right:0;border-bottom:0;border-left:0;border-radius:34px 34px 0 0}.generate-form,.modal-style-header{padding-right:18px;padding-left:18px}.modal-style-header{padding-top:26px}.modal-style-header h2{font-size:1.68rem}.generate-form{grid-template-columns:1fr;gap:14px;padding-top:14px;padding-bottom:22px}.creation-panel,.source-panel{border-radius:28px;padding:14px}.creation-panel{grid-template-rows:auto auto auto minmax(220px,auto) auto}.upload-zone,.upload-zone.has-preview{min-height:290px}.upload-file-meta{max-width:52%}.generation-status{align-items:stretch}.status-main{align-items:flex-start}.generation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;margin:4px -14px -16px;padding:12px 14px 16px;background:rgba(255,248,236,.76);backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18)}.icon-text-button.secondary,.primary-button{flex:1 1}.results-header{align-items:flex-start;flex-direction:column}.result-placeholder{min-height:220px}.result-card img{aspect-ratio:4/5;height:min(470px,58vh)}}@media (max-width:380px){.gallery-grid{gap:12px}.card-title{font-size:.82rem}}.empty-state{grid-gap:16px;gap:16px;min-height:60vh;text-align:center}.empty-icon,.empty-state{display:grid;place-items:center}.empty-icon{width:100px;height:100px;color:var(--ink-muted);border-radius:999px;background:rgba(255,250,240,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 18px 42px rgba(121,92,66,.09);backdrop-filter:blur(20px) saturate(1.16);-webkit-backdrop-filter:blur(20px) saturate(1.16)}.empty-title{margin:0;color:var(--ink);font-size:1.6rem;font-weight:720}.empty-desc{margin:0;color:var(--ink-soft);font-size:.94rem}.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:20px;gap:20px;padding-bottom:80px}.history-card{position:relative;overflow:hidden;border:0;border-radius:28px;background:rgba(255,250,240,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 16px 42px rgba(106,79,55,.09);backdrop-filter:blur(20px) saturate(1.14);-webkit-backdrop-filter:blur(20px) saturate(1.14);transition:transform var(--motion-duration) var(--motion-ease),box-shadow var(--motion-duration) var(--motion-ease);animation:card-rise var(--motion-duration) both var(--motion-ease)}.history-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 24px 56px rgba(106,79,55,.14)}.history-card.is-failed{opacity:.7}.history-card-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:rgba(20,21,25,.08)}.history-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.history-card:hover .history-card-image img{transform:scale(1.04)}.history-card-actions{position:absolute;right:10px;bottom:10px;opacity:0;transition:opacity var(--motion-duration) var(--motion-ease)}.history-card:hover .history-card-actions{opacity:1}.history-card-placeholder{display:grid;width:100%;height:100%;place-items:center;grid-gap:8px;gap:8px;color:var(--ink-muted);background:repeating-linear-gradient(45deg,rgba(89,74,61,.03) 0 8px,transparent 8px 16px);font-family:var(--apple-font);font-size:.82rem}.history-card-meta{display:grid;grid-gap:6px;gap:6px;padding:14px 16px}.history-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-style-badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;color:var(--ink);background:rgba(255,255,255,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);font-size:.7rem}.history-status-failed,.history-style-badge{border-radius:999px;font-family:var(--apple-font);font-weight:780}.history-status-failed{padding:2px 8px;color:#bf2f42;background:rgba(191,47,66,.1);font-size:.68rem}.history-time{margin:0;color:var(--ink-soft);font-family:var(--apple-font);font-size:.78rem}.history-tags{display:flex;flex-wrap:wrap;gap:4px}.history-tag{padding:2px 8px;color:var(--ink-muted);border-radius:999px;background:rgba(28,30,36,.06);font-size:.68rem;font-weight:760}.history-error,.history-tag{font-family:var(--apple-font)}.history-error{margin:0;color:#bf2f42;font-size:.72rem;line-height:1.4}.history-filename{margin:0;overflow:hidden;color:var(--ink-muted);font-family:monospace;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.history-loading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:20px;gap:20px;padding-bottom:80px}.history-card-skeleton{aspect-ratio:.85;border-radius:28px;background:rgba(255,250,240,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.56);animation:soft-pulse 1.8s ease-in-out infinite}@media (max-width:1180px){.history-grid,.history-loading{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.history-grid,.history-loading{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-card{border-radius:22px}.history-card-meta{padding:10px 12px}}@media (max-width:380px){.history-grid,.history-loading{grid-template-columns:1fr;gap:12px}}.site-footer{display:flex;justify-content:center;padding:32px 0 56px}.site-footer span{color:var(--ink-muted);font-family:var(--apple-font);font-size:.78rem;font-weight:600;letter-spacing:.04em}