:root{--ink-900:#1b1f2a;--ink-700:#2f3846;--ink-500:#606a7a;--accent:#1f4aa8;--accent-2:#2c7e5a;--paper:#f7f2ea;--panel:#fff;--line:#d9dee7;--shadow:0 18px 40px rgba(23,26,34,.12);--radius-lg:18px;--radius-md:14px;--radius-sm:10px;--font-body:"STKaitiSC","STKaiti","Kaiti SC",serif;--font-display:"STKaitiSC","STKaiti","Kaiti SC",serif}@font-face{font-family:STKaitiSC;src:url(/fonts/STKaitiSC-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}body{margin:0;color:var(--ink-900);background:radial-gradient(circle at top,rgba(39,92,175,.12),transparent 55%),radial-gradient(circle at 10% 20%,rgba(44,126,90,.12),transparent 50%),linear-gradient(180deg,#f9f6f0,#f2f6fb);min-height:100vh;font-family:var(--font-body)}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(90deg,rgba(27,31,42,.035) 1px,transparent 0),linear-gradient(180deg,rgba(27,31,42,.035) 1px,transparent 0);background-size:28px 28px;pointer-events:none;opacity:.55;z-index:0}.app-shell{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{width:240px;background:hsla(0,0%,100%,.95);border-right:1px solid rgba(27,31,42,.08);padding:24px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:8px 0 24px rgba(15,18,24,.06)}.sidebar-header{gap:12px}.brand-badge,.sidebar-header{display:flex;align-items:center}.brand-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1f4aa8,#2c7e5a);color:#fff;justify-content:center;font-weight:700;letter-spacing:.04em}.brand-title{font-size:14px;font-weight:700;color:var(--ink-900)}.brand-subtitle,.sidebar-section{font-size:12px;color:var(--ink-500)}.sidebar-section{text-transform:uppercase;letter-spacing:.16em}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{border:none;background:transparent;padding:10px 12px;border-radius:12px;text-align:left;font-size:14px;color:var(--ink-700);cursor:pointer;transition:all .2s ease}.nav-item:hover{background:rgba(31,74,168,.08)}.nav-item.active{background:linear-gradient(135deg,rgba(31,74,168,.18),rgba(44,126,90,.12));color:var(--ink-900);font-weight:600}.sidebar-footer{margin-top:auto}.status-pill{background:rgba(31,74,168,.08);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-700)}.status-pill span{font-weight:600;font-size:14px;color:var(--ink-900)}.main{flex:1 1;padding:32px 40px 80px}.main.single{max-width:1120px;margin:0 auto}.tab-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.tab-btn{border:1px solid rgba(27,31,42,.12);background:hsla(0,0%,100%,.8);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink-700)}.tab-btn.active{background:linear-gradient(135deg,#1f4aa8,#2760c4);color:#fff;border-color:transparent}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:24px}.topbar-card{background:hsla(0,0%,100%,.9);border-radius:16px;border:1px solid rgba(27,31,42,.08);padding:16px 18px;min-width:200px;box-shadow:0 12px 28px rgba(25,32,49,.12);display:grid;grid-gap:6px;gap:6px}.topbar-label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-500)}.topbar-value{color:var(--ink-900)}.hero-eyebrow,.topbar-value{font-size:14px;font-weight:600}.hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;margin:0 0 8px;color:var(--accent)}.hero-title{font-family:var(--font-display);font-size:clamp(28px,5vw,42px);margin:0 0 12px}.hero-subtitle{margin:0;max-width:520px;color:var(--ink-500);line-height:1.6}.content{display:flex;flex-direction:column;gap:24px}.progress-banner{margin:0 0 16px;padding:12px 16px;border-radius:12px;border:1px solid rgba(31,74,168,.18);background:linear-gradient(135deg,rgba(31,74,168,.12),rgba(44,126,90,.1));color:var(--ink-700);font-weight:600}.card{background:var(--panel);border-radius:var(--radius-lg);border:1px solid rgba(27,31,42,.08);box-shadow:var(--shadow);padding:24px}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.card-header h2{margin:0;font-size:18px;font-weight:600}.card-icon{width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:inline-block}.input-row{display:flex;align-items:center;gap:16px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink-500)}.field-full{flex:1 1}.field-hint{font-size:12px;color:var(--ink-500);text-align:right}input,select,textarea{border-radius:var(--radius-sm);border:1px solid #d8dee9;padding:12px 14px;font-size:15px;font-family:var(--font-body);color:var(--ink-900);background:#fbfcfe;transition:border .2s ease,box-shadow .2s ease}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(31,74,168,.6);box-shadow:0 0 0 3px rgba(31,74,168,.15)}.pill{background:rgba(31,74,168,.08);padding:10px 14px;font-size:13px;color:var(--ink-700)}.file-button,.pill{border-radius:999px}.file-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;background:#eef3ff;color:#1f4aa8;cursor:pointer;font-weight:600;gap:8px;border:1px solid rgba(31,74,168,.2)}.file-button input{display:none}.button-row{display:flex;gap:12px;flex-wrap:wrap}.btn{border:none;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#1f4aa8,#2760c4);color:#fff;box-shadow:0 12px 24px rgba(31,74,168,.25)}.btn-ghost{background:#f1f3f7;color:#3b4454}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px rgba(23,26,34,.12)}.sheet{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(27,31,42,.1);padding:18px;display:flex;flex-direction:column;gap:12px}.sheet-header{font-size:18px;font-weight:600;color:var(--ink-700);padding-bottom:12px;border-bottom:1px solid rgba(27,31,42,.08)}.sheet-grid{display:flex;flex-direction:column;gap:10px}.sheet-row-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed rgba(27,31,42,.08);padding-bottom:6px}.sheet-row-block{display:grid;grid-gap:6px;gap:6px;padding:10px 12px;border-radius:12px;border:1px solid rgba(27,31,42,.08);background:#fbfcfe}.asset-preview{display:grid;grid-gap:16px;gap:16px}.asset-block{display:grid;grid-gap:8px;gap:8px}.asset-title{font-size:14px;font-weight:600;color:var(--ink-700)}.asset-preview img,.asset-preview video{width:100%;max-width:420px;border-radius:var(--radius-md);border:1px solid rgba(27,31,42,.1);background:#fff}.library-toolbar{display:flex;align-items:flex-end;gap:14px;margin-top:24px;flex-wrap:wrap}.library-actions{padding-bottom:1px}.library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.library-card{display:grid;grid-gap:8px;gap:8px;padding:10px;border-radius:14px;border:1px solid rgba(27,31,42,.08);background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(247,250,255,.92));box-shadow:0 12px 28px rgba(25,32,49,.08);min-width:0}.library-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid rgba(27,31,42,.08);background:#fff}.library-meta{display:grid;grid-gap:6px;gap:6px;min-width:0}.library-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.library-title-row strong{font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-prompt{font-size:12px;line-height:1.45;color:var(--ink-500);background:rgba(31,74,168,.06);border-radius:8px;padding:8px 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(44,126,90,.1);color:var(--accent-2);font-size:11px;font-weight:600}.library-card .button-row{gap:8px}.library-card .btn{padding:8px 12px;font-size:12px}.muted{color:var(--ink-500);font-size:14px}.reveal{opacity:0;transform:translateY(18px);animation:rise .8s ease forwards;animation-delay:var(--delay,0ms)}.stream-box{margin-top:14px;max-height:260px;overflow:auto;background:#0f172a;color:#d1fae5;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.app-shell{flex-direction:column}.sidebar{width:100%;align-items:center}.sidebar,.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-footer{width:100%}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:840px){.topbar{flex-direction:column;align-items:flex-start}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.main{padding:24px 18px 64px}.input-row{flex-direction:column;align-items:stretch}.topbar-card{width:100%}.library-toolbar{align-items:stretch}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}