:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f5f3;--color-surface:#fff;--color-text:#202124;--color-muted:#696b72;--color-separator:#e1e2e4;--color-accent:#8f3ff1;--color-error:#a33b35;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--radius-control:12px;--space-unit:4px;--motion-duration:.14s}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.shell{min-height:100svh}.app-bar{border-bottom:1px solid var(--color-separator);background:#ffffffe0;justify-content:space-between;gap:20px;min-height:62px;padding:20px 32px;font-size:13px;font-weight:600;display:flex}.phase{color:var(--color-muted);font-weight:400}.workspace{max-width:720px;margin:0 auto;padding:84px 32px}.eyebrow{letter-spacing:.04em;color:var(--color-muted);margin:0 0 20px;font-size:12px}h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,5vw,44px);font-weight:600}.subtitle{color:var(--color-muted);margin:14px 0 48px;font-size:18px}.status-panel{border-top:1px solid var(--color-separator)}dl{margin:0}.status-row{border-bottom:1px solid var(--color-separator);justify-content:space-between;gap:24px;padding:19px 0;font-size:14px;display:flex}dd{color:var(--color-muted);margin:0}dd[data-status=UP]{color:var(--color-accent)}dd[data-status=DOWN]{color:var(--color-error)}.status-footer{color:var(--color-muted);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:12px;display:flex}button{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-separator);border-radius:var(--radius-control);cursor:pointer;transition:background var(--motion-duration);padding:8px 12px}button:hover:not(:disabled){background:#eeeef0}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}@media (max-width:480px){.app-bar{padding:18px 20px}.workspace{padding:56px 24px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.login-shell{place-items:center;min-height:100svh;padding:40px 24px;display:grid}.login-form{width:min(100%,340px)}.form-stack{gap:20px;display:grid}label{gap:8px;font-size:14px;display:grid}input,textarea,select{width:100%;font:inherit;color:var(--color-text);background:#fff;border:1px solid #d7d8dd;border-radius:7px;padding:12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:2px}button.primary{color:#fff;background:linear-gradient(135deg,#9b47f5,#7d36ec);border-color:#0000;padding:12px 18px;box-shadow:0 8px 22px #7e36ec2e}button.primary:hover:not(:disabled){background:linear-gradient(135deg,#8c3aeb,#6f2cdb)}.error-message{color:var(--color-error);min-height:20px;margin:0;font-size:14px}a{color:inherit;text-underline-offset:4px}.project-workspace{max-width:960px;padding-top:56px}.product-greeting{align-items:center;gap:18px;margin-bottom:52px;display:flex}.product-greeting .hello-mark{flex:none;width:60px;height:60px}.product-greeting p{margin:0 0 3px;font-size:22px}.product-greeting h1{font-size:40px}.product-greeting span:not(.hello-mark){color:var(--color-muted);margin-top:8px;display:block}.inline-form{align-items:end;gap:12px;margin:36px 0 16px;display:flex}.inline-form label{flex:1}.project-list{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;display:grid}.project-list a{background:#fff;border-radius:18px;grid-template-rows:54px 1fr;grid-template-columns:54px 1fr;align-items:center;min-height:150px;padding:20px;text-decoration:none;display:grid;box-shadow:0 12px 36px #1e20240f}.project-list a i{color:#8b3def;background:#f0e6ff;border-radius:14px;place-items:center;width:48px;height:48px;font-size:22px;font-style:normal;display:grid}.project-list a strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-list a span{grid-column:1/3;align-self:end}.project-list a:hover{transform:translateY(-2px);box-shadow:0 16px 42px #1e20241a}.project-list span,.muted{color:var(--color-muted);font-size:14px}.workspace-links{gap:20px;padding:24px 0;display:flex}.gallery-workspace{max-width:1440px;margin:auto;padding:44px 40px}.gallery-workspace h1{font-size:30px}.upload-row{flex-wrap:wrap;align-items:center;gap:20px;margin:28px 0 16px;display:flex}.upload-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#9b47f5,#7d36ec);border-radius:12px;padding:12px 20px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 8px 22px #7e36ec29}.upload-button:hover{background:#7d36ec}.upload-button:focus-within{outline:2px solid var(--color-accent);outline-offset:3px}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;display:grid}.asset-tile{text-align:left;background:0 0;border:none;padding:0;overflow:hidden}.asset-tile>span{text-overflow:ellipsis;white-space:nowrap;padding:12px 0;display:block;overflow:hidden}.thumb{aspect-ratio:4/3;background:#fff;border:1px solid #dedfe2;border-radius:16px;place-items:center;display:grid;overflow:hidden;box-shadow:0 10px 30px #1e20240f}.thumb img{object-fit:contain;width:100%;height:100%}.thumb span{padding:24px;font-size:13px}.image-view{border-bottom:1px solid var(--color-separator);margin:20px 0 36px;padding-bottom:24px}.image-view>img{object-fit:contain;width:100%;height:auto;max-height:65vh;margin-top:20px;display:block}.image-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.image-actions strong{flex:1;min-width:150px}.empty-gallery{text-align:center;border-top:1px solid var(--color-separator);padding:96px 20px}.empty-gallery h2{font-size:20px;font-weight:500}.edit-studio{border-top:1px solid var(--color-separator);grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:40px;padding:24px 0 48px;display:grid}.edit-preview{background:#fff;border:1px solid #dedfe2;border-radius:10px;place-items:center;min-height:520px;display:grid;position:relative;overflow:hidden}.edit-preview img{object-fit:contain;width:100%;height:100%;max-height:70vh}.edit-preview span{background:#ffffffe6;border-radius:5px;padding:6px 10px;font-size:12px;position:absolute;bottom:14px;left:14px}.edit-controls{padding:16px 0}.edit-controls h2{margin:0 0 28px;font-size:24px}.edit-controls textarea{resize:vertical;line-height:1.6}.reference-picker{border-bottom:1px solid var(--color-separator);margin:0 0 24px;padding:0 0 22px}.reference-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.reference-heading span,.reference-empty{color:var(--color-muted);font-size:12px}.reference-strip{scroll-snap-type:x proximity;grid-auto-columns:116px;grid-auto-flow:column;gap:10px;padding:2px 2px 10px;display:grid;overflow-x:auto}.reference-option{scroll-snap-align:start;text-align:left;transition:border-color var(--motion-duration),box-shadow var(--motion-duration),transform var(--motion-duration);background:#fff;border-color:#dedfe2;gap:7px;padding:6px;display:grid}.reference-option:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.reference-option.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #8f3ff124}.reference-option:disabled{cursor:not-allowed}.reference-image{aspect-ratio:4/3;background:#fff;border:1px solid #ececef;border-radius:7px;place-items:center;width:100%;display:grid;overflow:hidden}.reference-image img{object-fit:contain;width:100%;height:100%}.reference-image>span{color:var(--color-muted);font-size:11px}.reference-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.reference-option.selected .reference-name{color:var(--color-accent);font-weight:700}.reference-empty{margin:0;padding:16px 0}.task-stage{border-top:1px solid var(--color-separator);border-bottom:1px solid var(--color-separator);gap:7px;margin:24px 0 14px;padding:16px 0;display:grid}.task-stage span,.credit-line{color:var(--color-muted);font-size:13px}.task-stage p{color:var(--color-error);margin:4px 0 0}.task-stage[data-status=SUCCEEDED] strong{color:var(--color-accent)}.edit-buttons{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.feedback-panel{background:#fff;border-radius:18px;gap:12px;margin:18px 0;padding:18px;display:grid;box-shadow:0 10px 30px #1e202412}.feedback-actions{gap:10px;display:flex}.feedback-actions button{border-radius:14px;min-width:48px;min-height:44px;font-size:21px}.feedback-actions button.selected{background:#efe4ff;border-color:#cda7ff}.feedback-state,.feedback-toast{color:var(--color-muted);font-size:13px}.feedback-toast{color:#6f2cdb;font-weight:600}.feedback-popover{background:#f2f2f1;border-radius:14px;gap:14px;padding:16px;display:grid}.feedback-popover>div{gap:10px;display:flex}.admin-shell{background:var(--color-background);min-height:100svh}.admin-bar{border-bottom:1px solid var(--color-separator);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5;background:#ffffffe0;justify-content:space-between;align-items:center;height:72px;padding:12px clamp(20px,4vw,56px);display:flex;position:sticky;top:0}.admin-bar nav{align-items:center;gap:24px;font-size:14px;display:flex}.brand-mark{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark span,.hello-mark{color:#8940e8;background:#eee4ff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.link-button{background:0 0;border:0;padding:4px}.admin-content{width:min(1120px,100% - 40px);margin:0 auto;padding:72px 0 100px}.admin-content.wide{width:min(1520px,100% - 40px)}.admin-title,.detail-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;display:flex}.admin-title h1,.admin-content>h1,.detail-heading h1{font-size:clamp(34px,5vw,54px)}.admin-title p{color:var(--color-muted);margin:10px 0 0}.purple-action{color:#fff;background:linear-gradient(135deg,#9b47f5,#7d36ec);border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;text-decoration:none;display:inline-flex;box-shadow:0 10px 28px #7e36ec33}.metric-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.metric{background:#ffffffe6;border-radius:22px;grid-template-rows:48px 1fr;grid-template-columns:48px 1fr;align-items:center;min-height:170px;padding:24px;display:grid;box-shadow:0 14px 40px #41246112}.metric-icon{color:#8a3def;background:#f0e6ff;border-radius:13px;place-items:center;width:44px;height:44px;font-size:21px;display:grid}.metric small{color:var(--color-muted)}.metric strong{letter-spacing:-.03em;grid-column:1/3;align-self:end;font-size:30px}.provider-strip{color:#fff;background:linear-gradient(120deg,#8e42ef,#7130dd);border-radius:22px;justify-content:space-between;gap:30px;margin-top:20px;padding:30px;display:flex}.provider-strip h2{margin:7px 0}.provider-strip p{opacity:.8;margin:0}.provider-strip dl{align-items:center;gap:46px;display:flex}.provider-strip dt{opacity:.7;font-size:12px}.provider-strip dd{color:#fff;margin-top:6px}.admin-login{background:var(--color-background)}.admin-login .login-form{background:#fffffff0;border-radius:24px;padding:36px;box-shadow:0 22px 70px #1e202417}.hello-mark{margin-bottom:28px}.filter-bar{grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;margin:32px 0 22px;display:grid}.user-feedback{gap:12px;display:grid}.feedback-rating{color:#7431cf;background:#efe4ff;border-radius:999px;width:fit-content;padding:7px 11px;font-weight:700}.table-wrap{background:#fff;border-radius:18px;overflow-x:auto;box-shadow:0 12px 38px #1e20240f}table{border-collapse:collapse;width:100%;font-size:13px}th{color:var(--color-muted);text-align:left;white-space:nowrap;font-weight:600}th,td{vertical-align:top;border-bottom:1px solid #ececef;padding:15px 14px}tbody tr:hover{background:#f7f7f6}.status-pill{background:#eee9f4;border-radius:999px;padding:5px 8px;font-size:11px;display:inline-block}.status-pill.succeeded{color:#247345;background:#e2f6e9}.status-pill.failed{color:#a33b35;background:#fde7e5}.status-pill.processing,.status-pill.queued{color:#7431cf;background:#eee4ff}.empty-state{text-align:center;color:var(--color-muted);padding:50px}.detail{width:min(1120px,100% - 40px)}.detail-heading{align-items:center}.detail-heading h1{overflow-wrap:anywhere;font-size:clamp(21px,3vw,34px)}.detail>section{background:#fffffff0;border-radius:20px;margin:20px 0;padding:30px;box-shadow:0 10px 35px #1e20240e}.detail>section h2{margin:0 0 22px;font-size:18px}.detail-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.detail-field dt{color:var(--color-muted);margin-bottom:6px;font-size:12px}.detail-field dd{color:var(--color-text);overflow-wrap:anywhere}.instruction-text{white-space:pre-wrap;line-height:1.7}.media-row{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.media-row figure{margin:0}.media-row img{object-fit:contain;background:#fff;border:1px solid #dedfe2;border-radius:14px;width:100%;height:240px}.media-row figcaption{color:var(--color-muted);margin-top:9px;font-size:12px}.timeline{border-left:2px solid #e8dcf8;margin:0;padding:0;list-style:none}.timeline li{justify-content:space-between;gap:20px;padding:0 0 20px 22px;display:flex;position:relative}.timeline li:before{content:"";background:#9343f3;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.timeline time{color:var(--color-muted);font-size:12px}.evaluation{grid-template-columns:repeat(4,1fr);align-items:end;gap:14px;display:grid}.evaluation .notes{grid-column:1/-1}.evaluation span{color:var(--color-accent);font-size:13px}.error-block{border:1px solid #f1c9c5}@media (max-width:600px){.gallery-workspace{padding:32px 20px}.inline-form{flex-wrap:wrap}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (max-width:900px){.edit-studio{grid-template-columns:1fr;gap:12px}.edit-preview{min-height:360px}}@media (max-width:800px){.metric-grid{grid-template-columns:repeat(2,1fr)}.provider-strip,.provider-strip dl{flex-direction:column;align-items:stretch}.filter-bar,.detail-grid,.evaluation{grid-template-columns:1fr 1fr}.project-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.metric-grid{grid-template-columns:1fr}.admin-title{flex-direction:column;align-items:stretch}.filter-bar,.detail-grid,.evaluation{grid-template-columns:1fr}.provider-strip dl{gap:20px}.admin-bar b{display:none}.project-list{grid-template-columns:1fr}.product-greeting h1{font-size:32px}}
