@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&display=swap";:root{--bg:#fbf3e8;--ink:#2d2118;--muted:#7d6b5b;--card:#fffaf3;--line:#eadcc9;--brand:#d96b3b;--brand2:#f0aa5b;--green:#687b52;--shadow:0 24px 80px #4a2d1521}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 20% 0,#fff7d8,#0000 34%),linear-gradient(135deg,#fff8ee,#f6e3cf);margin:0;font-family:Noto Sans SC,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}.page{max-width:1180px;min-height:100vh;margin:0 auto;padding:28px}.nav{justify-content:space-between;align-items:center;margin-bottom:42px;display:flex}.brand{color:var(--brand);align-items:center;gap:8px;font-weight:900;display:inline-flex}.brand.small{border:1px solid var(--line);background:#fff7eb;border-radius:99px;padding:8px 12px}.hero-grid{grid-template-columns:1fr 520px;align-items:center;gap:48px;display:grid}.badge{color:#9b5a22;background:#fff4dc;border:1px solid #f2d4a0;border-radius:99px;align-items:center;gap:8px;padding:8px 14px;font-weight:700;display:inline-flex}.hero h1,.header h1{letter-spacing:-2px;margin:22px 0 18px;font-size:64px;line-height:1.02}.lead{max-width:620px;font-size:25px;font-weight:700;line-height:1.45}.sublead,.header p{color:var(--muted);font-size:17px;line-height:1.8}.primary,.secondary{border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:15px 22px;font-weight:900;transition:all .2s;display:inline-flex}.primary{background:linear-gradient(135deg,var(--brand),#ef9651);color:#fff;box-shadow:0 12px 30px #d96b3b47}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{color:var(--ink);border:1px solid var(--line);background:#fff8ee}.hero .primary{margin:20px 0;font-size:18px}.proofs{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.proofs span{color:var(--muted);background:#fff9;border-radius:12px;align-items:center;gap:6px;padding:8px 10px;display:flex}.preview-wrap{perspective:1200px}.mini-grid{width:500px;filter:drop-shadow(var(--shadow));grid-template-columns:repeat(3,1fr);gap:10px;display:grid;transform:rotateY(-8deg)rotateX(4deg)}.mini-card{aspect-ratio:3/4;color:#fff;background:#fff;border:1px solid #fff9;border-radius:20px;flex-direction:column;justify-content:flex-end;padding:16px;font-weight:900;display:flex;position:relative;overflow:hidden}.cover-mini{background:linear-gradient(145deg,#f4a261,#e76f51)}.cover-mini span{font-size:13px}.cover-mini b{font-size:22px;line-height:1.15}.photo:before{content:"";background:linear-gradient(to top,#0000006b,transparent),var(--g);position:absolute;inset:0}.photo{z-index:0;justify-content:flex-end}.photo>*{z-index:1}.one{--g:linear-gradient(135deg,#d0b08a,#6f8c73)}.two{--g:linear-gradient(135deg,#8cc8df,#f3dfb6)}.three{--g:linear-gradient(135deg,#576f46,#d1a46d)}.tips{background:#6f7d56}.family{background:#c77d45}.narrow{max-width:860px}.header{text-align:center;margin:8px auto 28px}.header h1{margin:16px 0 10px;font-size:42px}.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);background:#fffaf3d1;border:1px solid #eadcc9e6;border-radius:32px;padding:28px}.form-panel{gap:22px;display:grid}.field{gap:10px;display:grid}.field>span{font-weight:900}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.input{border:1px solid var(--line);height:52px;color:var(--ink);background:#fffaf5;border-radius:16px;padding:0 16px}.segmented,.chips{flex-wrap:wrap;gap:10px;display:flex}.segmented button,.chips button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:14px;padding:11px 15px;font-weight:700}.segmented button.active,.chips button.active{color:#fff;background:#2d2118;border-color:#2d2118}.full{width:100%;margin-top:8px}.upload-panel{gap:20px;display:grid}.dropzone{text-align:center;min-height:360px;color:var(--muted);background:#fffaf4;border:2px dashed #d8b993;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;overflow:hidden}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone b{color:var(--ink);font-size:22px}.dropzone img{object-fit:contain;width:100%;height:100%;max-height:520px}.tips-box{color:#6e563e;background:#fff4e1;border:1px solid #efd2a4;border-radius:22px;padding:18px}.tips-box ul{margin:8px 0 0;padding-left:20px;line-height:1.8}.actions{justify-content:space-between;gap:14px;display:flex}.generating{place-items:center;display:grid}.loader-card{text-align:center;border:1px solid var(--line);width:min(560px,90vw);box-shadow:var(--shadow);background:#fffaf3;border-radius:34px;padding:42px}.spin{color:var(--brand);animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bar{background:#f0dfc9;border-radius:99px;height:13px;margin:24px 0 10px;overflow:hidden}.bar i{background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:99px;height:100%;transition:all .3s;display:block}.result-page{max-width:1280px}.result-actions,.cut-list{flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0;display:flex}.grid-stage{background:#ffffff57;border-radius:30px;padding:18px;overflow:auto}.lookbook{background:#f6eadc;border:1px solid #ead8c0;grid-template-rows:repeat(2,512px);grid-template-columns:repeat(3,384px);gap:0;width:1152px;height:1024px;margin:0 auto;display:grid}.card{aspect-ratio:3/4;background:#fff9f0;border:1px solid #ffffffbf;padding:22px;position:relative;overflow:hidden}.card-label{color:var(--brand);letter-spacing:.5px;font-size:15px;font-weight:900}.cover-card{background:linear-gradient(145deg,#fff4df,#f1c08f)}.cover-card h2{margin:18px 0 14px;font-size:32px;line-height:1.15}.cover-photos{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.cover-photo{color:#fff;background:linear-gradient(to top,#00000059,transparent),var(--g);border-radius:18px;align-items:end;height:154px;padding:12px;font-weight:900;display:flex}.p1{--g:linear-gradient(135deg,#a78362,#5e765b)}.p2{--g:linear-gradient(135deg,#75bdd7,#f2cc9b)}.p3{--g:linear-gradient(135deg,#466a4a,#c1965e)}.heartline{font-size:18px;font-weight:900;line-height:1.45}.qr-box{background:#ffffffeb;border-radius:14px;align-items:center;gap:8px;max-width:170px;padding:8px;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 8px 24px #0000001f}.qr-box img{width:54px;height:54px}.qr-box span{font-size:10px;font-weight:900;line-height:1.2}.look-card{background:#ddd;padding:0}.scene-photo{background:linear-gradient(to top,#00000059,transparent),var(--scene);align-items:end;height:62%;padding:18px;display:flex;position:relative}.city{--scene:linear-gradient(135deg,#d7b995,#78926d)}.sea{--scene:linear-gradient(135deg,#78c4df,#f2d7a4)}.camp{--scene:linear-gradient(135deg,#4b6e45,#d7af78)}.town{--scene:linear-gradient(135deg,#b08663,#e6d2b4)}.party{--scene:linear-gradient(135deg,#d99b9b,#7b6e95)}.person{background:linear-gradient(#f3c9aa 0 20%,#f7f2e9 20% 43%,#6f87a1 43% 75%,#f8f4ea 75%);border-radius:48px 48px 30px 30px;width:92px;height:250px;position:absolute;bottom:30px;left:128px;box-shadow:0 20px 40px #0000002e}.person:before{content:"";background:#f0c2a5;border-radius:50%;width:48px;height:48px;position:absolute;top:-38px;left:22px}.person span:before,.person span:after{content:"";background:#2d2118;border-radius:99px;width:16px;height:74px;position:absolute;bottom:-48px}.person span:before{left:25px}.person span:after{right:25px}.scene-title{color:#fff;text-shadow:0 2px 14px #00000059;font-size:24px;font-weight:900;position:relative}.look-info{background:#fffaf3f5;height:38%;padding:16px 18px 80px}.look-info b{margin-bottom:4px;font-size:19px;display:block}.look-info span{color:#fff;background:#2d2118;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-block}.look-info p{margin:8px 0 4px;font-weight:700;line-height:1.45}.look-info em{color:var(--muted);font-size:13px;font-style:normal;line-height:1.4}.guide-card{background:linear-gradient(145deg,#fffaf0,#e8f0dc)}.guide-card h3{margin:16px 0;font-size:28px;line-height:1.2}.guide-block{background:#ffffffad;border:1px solid #fffc;border-radius:18px;margin:11px 0;padding:13px}.guide-block b{color:var(--green);margin-bottom:4px;display:block}.guide-block span{font-size:14px;line-height:1.5}.family-card{background:#fffaf3}.wardrobe-frame{border:1px solid var(--line);background:#f1e4d3;border-radius:22px;height:335px;margin:14px 0;position:relative;overflow:hidden}.wardrobe-frame img{object-fit:cover;filter:saturate(1.04);width:100%;height:100%}.family-card p{font-weight:800;line-height:1.5}.dot{color:#fff;background:#e85d3f;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:grid;position:absolute;box-shadow:0 4px 12px #00000040}.d1{top:12%;left:9%}.d2{top:18%;left:28%}.d3{top:13%;left:52%}.d4{top:20%;left:72%}.d5{top:42%;left:15%}.d6{top:45%;left:41%}.d7{top:43%;left:66%}.d8{top:50%;left:83%}.d9{top:74%;left:12%}.d10{top:72%;left:35%}.d11{top:76%;left:58%}.d12{top:73%;left:78%}@media (width<=900px){.page{padding:20px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:46px}.lead{font-size:21px}.mini-grid{width:100%;transform:none}.two-col{grid-template-columns:1fr}.actions{flex-direction:column}.grid-stage{border-radius:0;margin:0 -20px}.lookbook{transform-origin:0 0;height:1024px;margin:0;transform:scale(.72)}.grid-stage{height:780px}}.api-panel{background:#fff7eb;border:1px solid #efd5ad;border-radius:24px;gap:14px;padding:18px;display:grid}.api-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.api-head b{font-size:18px;display:block}.api-head span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.switch{white-space:nowrap;align-items:center;gap:10px;font-weight:900;display:flex}.switch input{display:none}.switch i{background:#d6c4ad;border-radius:99px;width:46px;height:26px;position:relative}.switch i:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+i{background:var(--brand)}.switch input:checked+i:before{left:23px}.api-grid{grid-template-columns:1.3fr 1fr;gap:12px;display:grid}.api-grid label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.api-grid input{border:1px solid var(--line);height:44px;color:var(--ink);background:#fff;border-radius:13px;padding:0 12px}.api-key{grid-column:1/-1}.error-box{color:#8a2e1b;background:#fff0ed;border:1px solid #f1b7a8;border-radius:20px;gap:6px;max-width:900px;margin:16px auto;padding:16px;display:grid}.error-box b{font-size:18px}.error-box span{word-break:break-word}.ai-image-panel{border:1px solid var(--line);max-width:980px;box-shadow:var(--shadow);background:#fff;border-radius:26px;margin:18px auto 26px;padding:14px;position:relative}.ai-image-panel>img{border-radius:18px;width:100%;display:block}.ai-qr-overlay{position:absolute;bottom:26px;right:26px}.ai-qr-overlay .qr-box{position:static}.task-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf3;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:16px;margin:0 0 28px;padding:18px;display:grid}.task-card b{font-size:20px;display:block}.task-card span{color:var(--muted);margin-top:4px;font-weight:800;display:block}.task-card p{color:var(--muted);margin:8px 0 0}.task-card.done{background:#f6fff1;border-color:#9fc48b}.task-card.failed{background:#fff0ed;border-color:#f1b7a8}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.template-option{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:6px;padding:14px;display:grid}.template-option b{font-size:15px}.template-option span{color:var(--muted);font-size:13px;font-weight:800}.template-option.active{border-color:var(--brand);box-shadow:0 0 0 2px #d96b3b29}.admin-page{max-width:1120px}.admin-title{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.admin-title h1{margin:16px 0 8px;font-size:44px}.admin-title p{color:var(--muted);font-size:17px}.admin-token{grid-template-columns:1fr auto;gap:12px;margin-bottom:14px;display:grid}.admin-message{background:#fff7eb;border:1px solid #efd5ad;border-radius:16px;margin-bottom:14px;padding:12px 14px;font-weight:800}.admin-section{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf3db;border-radius:28px;margin:18px 0;padding:22px}.section-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.section-head h2{margin:0;font-size:26px}.section-head span{color:var(--muted);font-weight:800}.transaction-head{margin-top:24px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.admin-grid label,.template-editor label{color:var(--muted);gap:8px;font-weight:900;display:grid}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-grid div{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.metric-grid b{font-size:24px;display:block}.metric-grid span{color:var(--muted);font-weight:800}.prompt-admin{grid-template-columns:280px 1fr;gap:18px;display:grid}.template-list{align-content:start;gap:10px;display:grid}.template-list button{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;gap:5px;padding:12px;display:grid}.template-list button.active{border-color:var(--brand);box-shadow:0 0 0 2px #d96b3b29}.template-list b{font-size:15px}.template-list span{color:var(--muted);font-size:12px;font-weight:800}.template-editor{gap:12px;display:grid}.template-editor textarea{border:1px solid var(--line);min-height:150px;color:var(--ink);font:inherit;background:#fffaf5;border-radius:16px;padding:12px;line-height:1.6}.checkline{align-items:center;gap:8px;display:flex!important}.admin-note{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:16px;padding:16px;font-weight:800}.admin-note p{margin:6px 0}.user-table,.transaction-list{gap:10px;display:grid}.user-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:2fr repeat(3,1fr);align-items:center;gap:12px;padding:14px;display:grid}.user-row b,.transaction-row b{display:block}.user-row span,.transaction-row span{color:var(--muted);word-break:break-all;font-size:12px;font-weight:800;display:block}.adjust-grid{grid-column:1/-1;grid-template-columns:120px 140px 1fr auto;gap:10px;display:grid}.adjust-grid .input{height:42px}.transaction-row{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1.5fr 1fr 2fr;align-items:center;gap:12px;padding:14px;display:grid}.plus{color:#4d7b32}.minus{color:#9a3a25}@media (width<=900px){.api-head{flex-direction:column;align-items:flex-start}.api-grid,.template-grid,.admin-grid,.prompt-admin,.metric-grid,.user-row,.transaction-row,.adjust-grid{grid-template-columns:1fr}.ai-qr-overlay{margin-top:10px;position:static}.ai-qr-overlay .qr-box{max-width:none}.task-card,.admin-token,.admin-title{grid-template-columns:1fr;display:grid}.section-head{display:block}}.admin-nav{flex-wrap:wrap;gap:8px;margin:-4px 0 16px;display:flex}.admin-nav button{border:1px solid var(--line);height:42px;color:var(--muted);background:#fff;border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-weight:900;display:inline-flex}.admin-nav button.active{background:var(--ink);border-color:var(--ink);color:#fff}.admin-nav button:hover{border-color:var(--brand);color:var(--ink)}.admin-nav button.active:hover{color:#fff}@media (width<=900px){.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-nav button{justify-content:center;padding:0 10px}.admin-nav button:first-child{grid-column:1/-1}}.history-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;margin-top:28px;padding:18px}.history-head{justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px;display:flex}.history-head h2{margin:0;font-size:22px}.history-head span{color:var(--muted);font-weight:800}.history-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.history-card{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fffaf5;border-radius:16px;grid-template-columns:84px 1fr;align-items:center;gap:12px;padding:10px;display:grid}.history-card:hover{border-color:var(--brand);box-shadow:0 0 0 2px #d96b3b1f}.history-card.processing{background:#fff7eb}.history-card.failed{background:#fff0ed}.history-thumb{aspect-ratio:1;width:84px;color:var(--muted);background:#efe3d2;border-radius:12px;place-items:center;display:grid;overflow:hidden}.history-thumb img{object-fit:cover;width:100%;height:100%}.history-card b{font-size:14px;display:block}.history-card span,.history-card small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800;display:block}@media (width<=900px){.history-head{display:block}.history-grid{grid-template-columns:1fr}.history-card{grid-template-columns:72px 1fr}.history-thumb{width:72px}}.upload-preview-grid{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;padding:10px;display:grid}.upload-preview-grid img{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%;max-height:none}.album-panel{border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px}.album-head{grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:12px;display:grid}.album-head b{font-size:18px}.album-head span{color:var(--muted);font-weight:900}.album-head div{gap:8px;display:flex}.album-head .secondary{border-radius:12px;padding:9px 12px}.album-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.album-grid button{aspect-ratio:1;background:#efe3d2;border:2px solid #0000;border-radius:14px;padding:0;position:relative;overflow:hidden}.album-grid button.active{border-color:var(--brand)}.album-grid img{object-fit:cover;width:100%;height:100%;display:block}.album-grid span{color:#fff;background:#2d2118db;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:900;position:absolute;bottom:6px;right:6px}.wardrobe-frame.multi{grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.wardrobe-frame.multi img{min-width:0;min-height:0}@media (width<=900px){.album-head{grid-template-columns:1fr}.album-head div{grid-template-columns:1fr 1fr;display:grid}.album-grid{grid-template-columns:repeat(3,1fr)}}.account-trigger{border:1px solid var(--line);color:var(--ink);background:#fffaf3;border-radius:999px;padding:8px 14px;font-weight:900;box-shadow:0 10px 26px #4a2d1514}.account-trigger:hover{border-color:var(--brand);color:var(--brand)}.account-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:1fr 220px auto;align-items:center;gap:12px;margin:-22px 0 22px;padding:12px 14px;display:grid}.account-panel b{font-size:18px;display:block}.account-panel span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:800;display:block}.account-panel .input{height:42px}.account-panel .secondary{border-radius:13px;height:42px;padding:0 14px}@media (width<=900px){.account-panel{grid-template-columns:1fr;margin:0 0 18px}.account-trigger{white-space:normal;text-align:right;max-width:62vw}}.template-option.disabled{color:#938579;cursor:not-allowed;box-shadow:none;opacity:.72;background:#f0ede9;border-color:#ded3c6}.template-option.disabled span{color:#9b9188}.admin-token{grid-template-columns:1fr auto auto}.upload-add-button{width:100%;height:48px}.dropzone #wardrobe-file-input{display:none}.upload-preview-item{background:#efe3d2;border-radius:14px;position:relative;overflow:hidden}.upload-preview-item img{display:block}.upload-preview-item button,.album-delete{color:#fff;background:#2d2118d1;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:6px;right:6px}.album-item{aspect-ratio:1;background:#efe3d2;border:2px solid #0000;border-radius:14px;position:relative;overflow:hidden}.album-item.active{border-color:var(--brand)}.album-grid .album-select{aspect-ratio:auto;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;position:static;overflow:visible}.album-select img{object-fit:cover;width:100%;height:100%;display:block}.album-select span{color:#fff;background:#2d2118db;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:900;position:absolute;bottom:6px;right:6px}.album-grid .album-delete{aspect-ratio:auto;border:0;width:auto;height:auto;position:absolute;top:6px;bottom:auto;right:6px}.album-grid .album-item button{cursor:pointer}@media (width<=900px){.admin-token{grid-template-columns:1fr}.upload-preview-item button,.album-delete{padding:7px 10px}}
