@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root{--brand-primary:#2563eb;--brand-light:#5182ef;--brand-dark:#1a46a5;--light-bg:#f6f8ff;--light-border:#e2e8f8;--dark-bg:#0f172a;--ink:#0f172a;--muted:#64748b;--panel:#fff;--page:#edf1f7}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--page);color:var(--ink);margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.login-page{background:radial-gradient(circle at top, #2563eb24, transparent 34%), var(--page);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce3ef;border-radius:10px;gap:16px;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 24px 80px #0f172a24}.login-brand{color:var(--brand-primary);margin-bottom:16px;font-size:13px;font-weight:800;display:inline-flex}.login-card h1{letter-spacing:-.4px;margin:0;font-size:28px}.login-card p{color:var(--muted);margin:8px 0 0}.login-card label{letter-spacing:1.2px;text-transform:uppercase;color:#475569;font-size:12px;font-weight:800}.login-card input{width:100%;height:44px;color:var(--ink);background:#f8fafc;border:1px solid #cfd8e6;border-radius:8px;outline:none;padding:0 12px}.login-card input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1f}.app-shell{grid-template-columns:minmax(320px,430px) minmax(420px,1fr);min-height:100vh;display:grid}.control-panel{background:#fff;border-right:1px solid #dce3ef;flex-direction:column;gap:22px;padding:28px;display:flex}.brand-head{align-items:center;gap:12px;display:flex}.brand-head h1{letter-spacing:-.2px;margin:0;font-size:18px;line-height:1.2}.brand-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.topic-form{flex-direction:column;gap:12px;display:flex}.topic-form label{letter-spacing:1.2px;text-transform:uppercase;color:#475569;font-size:12px;font-weight:800}.topic-form textarea{resize:vertical;width:100%;min-height:190px;color:var(--ink);background:#f8fafc;border:1px solid #cfd8e6;border-radius:8px;outline:none;padding:14px;line-height:1.45}.topic-form textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1f}.primary-button,.secondary-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:800;display:inline-flex}.primary-button{background:var(--brand-primary);color:#fff}.secondary-button{color:#1e293b;background:#e9eef8}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.button-loading{align-items:center;gap:9px;display:inline-flex}.button-loading span{background:#fff;border-radius:50%;width:10px;height:10px;animation:.9s ease-in-out infinite pulse-dot}.meta-grid{color:#475569;gap:9px;font-size:13px;display:grid}.meta-grid div{border-bottom:1px solid #edf1f7;justify-content:space-between;gap:18px;padding-bottom:9px;display:flex}.meta-grid strong{color:var(--ink);text-align:right;font-weight:800}.result-box,.error-box{border-radius:8px;padding:12px;font-size:12px;line-height:1.45}.result-box{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.error-box{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.path-list{margin:8px 0 0;padding-left:16px}.preview-area{place-items:start center;min-width:0;padding:28px;display:grid;overflow:auto}.preview-stack{justify-items:center;gap:14px;display:grid}.open-link{color:var(--brand-primary);font-size:13px;font-weight:800;text-decoration:none}.ig-frame{background:#fff;border-radius:18px;width:420px;overflow:hidden;box-shadow:0 24px 80px #0f172a2e}.ig-header{border-bottom:1px solid #eef2f7;align-items:center;gap:10px;height:58px;padding:0 16px;display:flex}.handle{font-size:13px;font-weight:800;display:block}.subtitle{color:#7a8494;margin-top:2px;font-size:11px;display:block}.carousel-viewport{aspect-ratio:4/5;cursor:grab;touch-action:pan-y;width:420px;overflow:hidden}.carousel-track{will-change:transform;height:100%;transition:transform .35s;display:flex}.slide{flex:0 0 420px;width:420px;height:525px;position:relative;overflow:hidden}.slide:before{content:"";z-index:1;opacity:.45;background-color:#0000;background-image:linear-gradient(90deg,#ffffff0f 1px,#0000 1px),linear-gradient(#ffffff0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.slide.light:before{opacity:.55;background:linear-gradient(90deg,#2563eb12 1px,#0000 1px),linear-gradient(#2563eb12 1px,#0000 1px)}.hf-safe-content{z-index:2;width:420px;height:420px;position:absolute;top:52px;left:0;overflow:hidden}.logo-lockup{z-index:4;letter-spacing:.2px;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;top:34px;left:32px}.logo-lockup:after{content:"";opacity:.28;background:currentColor;width:46px;height:1px;margin-left:12px}.slide-number{z-index:4;letter-spacing:-1px;font-size:34px;font-weight:300;line-height:1;position:absolute;top:30px;right:32px}.slide-content{z-index:5;flex-direction:column;height:420px;padding:78px 36px 28px;display:flex;position:relative}.slide-content.centered{justify-content:flex-start}.slide-content.bottom{justify-content:flex-start;padding-top:78px}.tag{letter-spacing:2px;opacity:.9;border:1px solid;border-radius:999px;align-self:flex-start;margin-bottom:12px;padding:5px 10px;font-size:10px;font-weight:800;display:inline-block}.slide h2{letter-spacing:-.7px;max-width:326px;margin:0;font-size:28px;font-weight:800;line-height:1.02}.body{max-width:300px;margin:10px 0 0;font-size:13px;line-height:1.34}.quote-box{background:#0000002e;border:1px solid #ffffff1a;border-radius:12px;margin-top:14px;padding:12px;box-shadow:0 14px 40px #00000029}.slide.light .quote-box{border-color:var(--light-border);background:#ffffffb8;box-shadow:0 18px 50px #2563eb1f}.quote-label{color:#ffffff8c;margin:0 0 6px;font-size:12px}.slide.light .quote-label{color:#64748b}.quote-text{color:#fff;margin:0;font-size:14px;font-style:italic;font-weight:700;line-height:1.42}.slide.light .quote-text{color:var(--brand-dark)}.rows{margin-top:10px}.row{align-items:flex-start;gap:12px;padding:5px 0;display:flex}.row-icon{text-align:center;background:#ffffff14;border-radius:8px;place-items:center;width:24px;min-width:24px;height:22px;font-size:15px;font-weight:800;line-height:1.2;display:grid}.row-label{font-size:12px;font-weight:800;line-height:1.25;display:block}.row-desc{margin-top:2px;font-size:11px;line-height:1.18;display:block}.cta-button{background:var(--light-bg);color:var(--brand-dark);border-radius:28px;align-self:flex-start;align-items:center;gap:8px;margin-top:24px;padding:12px 28px;font-size:14px;font-weight:800;display:inline-flex}.ig-dots{justify-content:center;align-items:center;gap:6px;height:34px;display:flex}.dot{background:#cbd5e1;border:0;border-radius:50%;width:6px;height:6px;padding:0}.dot.active{background:var(--brand-primary);border-radius:20px;width:18px}.ig-actions{align-items:center;gap:17px;height:38px;padding:0 14px;display:flex}.ig-actions .bookmark{margin-left:auto}.ig-caption{padding:0 14px 16px;font-size:13px;line-height:1.42}.ig-caption strong{font-weight:800}.ig-caption .time{color:#98a2b3;letter-spacing:.4px;margin-top:9px;font-size:10px;display:block}.empty-preview{background:#fff;border:1px solid #dce3ef;border-radius:10px;width:min(520px,100%);padding:44px}.empty-preview h2{letter-spacing:-.4px;margin:0;font-size:28px}.empty-preview p{color:var(--muted);margin:10px 0 0;line-height:1.55}.skeleton-frame{background:#fff;border-radius:18px;width:420px;overflow:hidden;box-shadow:0 24px 80px #0f172a2e}.skeleton-header{border-bottom:1px solid #eef2f7;align-items:center;gap:10px;height:58px;padding:0 14px;display:flex}.skeleton-header-copy{gap:7px;display:grid}.skeleton-viewport{background:linear-gradient(165deg,#f6f8ff 0%,#eef4ff 48%,#fff 100%);width:420px;height:525px;padding:94px 36px 58px;position:relative;overflow:hidden}.skeleton-viewport:after{content:"AI";color:#2563eb0e;letter-spacing:-12px;font-size:176px;font-weight:800;line-height:1;position:absolute;top:58px;right:-16px}.skeleton-tag{border-radius:20px;width:92px;height:10px;margin-bottom:18px}.skeleton-title{border-radius:8px;width:320px;height:34px;margin-bottom:9px}.skeleton-title-short{width:250px}.skeleton-body{gap:9px;margin-top:18px;display:grid}.skeleton-line{border-radius:20px;width:300px;height:12px}.skeleton-line-sm{width:116px}.skeleton-line-xs{width:86px;height:9px}.skeleton-line-md{width:220px}.skeleton-card{border-radius:12px;width:100%;height:96px;margin-top:28px}.skeleton-progress{z-index:3;align-items:center;gap:10px;padding:16px 28px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.skeleton-progress-track{background:#00000014;border-radius:2px;flex:1;height:3px;overflow:hidden}.skeleton-progress-fill{background:var(--brand-primary);border-radius:2px;width:18%;height:100%;animation:1.8s ease-in-out infinite progress-grow}.skeleton-progress span{color:#0000004d;font-size:11px;font-weight:600}.skeleton-dots{justify-content:center;align-items:center;gap:6px;height:34px;display:flex}.skeleton-dots span{background:#cbd5e1;border-radius:50%;width:6px;height:6px}.skeleton-dots .active{background:var(--brand-primary);border-radius:20px;width:18px}.skeleton-actions{align-items:center;gap:17px;height:38px;padding:0 14px;display:flex}.skeleton-actions span{background:#e2e8f0;border-radius:7px;width:22px;height:22px}.skeleton-actions .bookmark{margin-left:auto}.skeleton-caption{gap:8px;padding:0 14px 16px;display:grid}.skeleton-status{color:#475569;font-size:13px;font-weight:800}.skeleton-shimmer{background:linear-gradient(90deg,#dbe4f0 0%,#f8fafc 42%,#dbe4f0 84%) 0 0/220% 100%;animation:1.35s linear infinite shimmer}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes pulse-dot{0%,to{opacity:.65;transform:scale(.78)}50%{opacity:1;transform:scale(1)}}@keyframes progress-grow{0%,to{width:18%}50%{width:72%}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.control-panel{border-bottom:1px solid #dce3ef;border-right:0}}@media (max-width:520px){.preview-area{padding:18px 0}.control-panel{padding:22px}.preview-stack{transform-origin:top;transform:scale(.86)}}
