:root{--c-1: #0ea5b7;--c-2: #22d3ee;--c-3: #6366f1;--c-4: #a78bfa;--ink: #051528;--ink-2: rgba(5, 21, 40, .68);--ink-3: rgba(5, 21, 40, .48);--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .75);--line: rgba(255, 255, 255, .7);--danger: #dc2626;--success: #047857;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;background:radial-gradient(ellipse 800px 600px at 0% 0%,#99f6e4 0%,transparent 55%),radial-gradient(ellipse 700px 600px at 100% 10%,#c7d2fe 0%,transparent 55%),radial-gradient(ellipse 900px 700px at 50% 100%,#a5f3fc 0%,transparent 60%),linear-gradient(180deg,#ecfeff,#eef2ff);background-attachment:fixed}code{background:#0ea5b71a;color:var(--c-1);padding:.1em .35em;border-radius:4px;font-size:.95em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:12px;background:conic-gradient(from 200deg at 60% 40%,var(--c-1),var(--c-2),var(--c-3),var(--c-4),var(--c-1));display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 6px 16px -4px #0ea5b78c,inset 0 0 0 1px #ffffff4d}.brand-name{font-weight:700;font-size:18px;letter-spacing:-.01em;background:linear-gradient(135deg,var(--c-1),var(--c-3));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:100%;max-width:420px;background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:24px;padding:32px 28px;box-shadow:0 20px 60px -24px #0ea5b74d;display:flex;flex-direction:column;gap:16px}.auth-card h2{margin:8px 0 0;font-size:22px;letter-spacing:-.015em;font-weight:700}.auth-card .lead{margin:0;color:var(--ink-2);font-size:14px}.form-stack{display:flex;flex-direction:column;gap:12px;margin-top:4px}.form-stack label{display:flex;flex-direction:column;gap:4px}.form-stack label>span{font-size:12.5px;color:var(--ink-2);font-weight:600}.form-stack input[type=email],.form-stack input[type=password],.form-stack input[type=text]{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--glass-strong);font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.form-stack input:focus{border-color:var(--c-1);box-shadow:0 0 0 3px #0ea5b72e}.form-stack input[type=file]{font:inherit;font-size:13px}.btn{padding:9px 18px;border-radius:12px;font-weight:600;font-size:13.5px;cursor:pointer;border:1px solid var(--line);background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .12s,transform .12s,filter .12s;font-family:inherit}.btn:hover:not(:disabled){background:var(--glass-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn.secondary{background:var(--glass-strong)}.link-btn{background:none;border:none;padding:4px 0;color:var(--c-1);font-size:13px;font-weight:600;cursor:pointer;text-align:left;font-family:inherit;align-self:flex-start}.link-btn:hover{color:var(--c-3);text-decoration:underline}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.1);font:inherit;font-size:14px;font-weight:600;color:#3c4043;cursor:pointer;transition:box-shadow .12s,background .12s}.google-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #00000014}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;font-weight:600;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#05152814}.auth-tabs{display:flex;gap:4px;padding:4px;background:var(--glass);border-radius:12px;border:1px solid var(--line)}.auth-tabs button{flex:1;padding:7px 12px;border-radius:8px;background:transparent;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s}.auth-tabs button:hover{color:var(--ink)}.auth-tabs button.active{background:var(--glass-strong);color:var(--ink);box-shadow:0 1px 3px #0000000f}.recovery-toggle{margin-top:8px;border-top:1px solid rgba(5,21,40,.06);padding-top:14px}.recovery-toggle summary{cursor:pointer;color:var(--ink-3);font-size:12.5px;font-weight:600;-webkit-user-select:none;user-select:none;list-style:none}.recovery-toggle summary::-webkit-details-marker{display:none}.recovery-toggle summary:hover{color:var(--ink-2)}.recovery-toggle[open] summary{color:var(--ink-2)}.alert{padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.5}.alert.error{background:#dc262614;border:1px solid rgba(220,38,38,.18);color:#991b1b}.alert.success{background:#04785714;border:1px solid rgba(4,120,87,.18);color:var(--success)}.alert p{margin:0}.alert p+p{margin-top:6px}.boot{min-height:100vh;display:grid;place-items:center}.boot-spinner{width:32px;height:32px;border-radius:50%;border:3px solid rgba(14,165,183,.18);border-top-color:var(--c-1);animation:boot-spin .8s linear infinite}@keyframes boot-spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1300px;width:100%;margin:0 auto;padding:24px;flex:1}.hero{max-width:1300px;margin:16px auto 12px;padding:0 24px}.hero h1{margin:0;font-size:34px;font-weight:700;letter-spacing:-.025em;background:linear-gradient(120deg,#042f4a 0%,var(--c-1) 45%,var(--c-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin:6px 0 0;color:var(--ink-2);max-width:60ch}.placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}@media(max-width:880px){.placeholder-grid{grid-template-columns:1fr}}.dashboard-grid{max-width:1300px;margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:22px;align-items:start}@media(max-width:880px){.dashboard-grid{grid-template-columns:1fr}}.panel{background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 20px 60px -24px #0ea5b74d}.panel h3{margin:0 0 8px;font-size:16px;font-weight:700}.q-panel{padding:22px;display:flex;flex-direction:column;min-height:600px}.q-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.q-head h2{margin:0;font-size:16px;font-weight:700}.q-count{background:#0ea5b726;color:var(--c-1);padding:2px 9px;border-radius:999px;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums}.filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.chip{padding:5px 12px;border-radius:999px;background:#ffffff80;border:1px solid var(--line);color:var(--ink-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s}.chip:hover{background:#ffffffbf}.chip.active{background:linear-gradient(135deg,var(--c-1),var(--c-3));color:#fff;border-color:transparent}ul.q{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1}ul.q li{padding:12px 14px;border-radius:14px;background:#fff6;border:1px solid var(--line);cursor:pointer;transition:transform .12s,background .12s}ul.q li:hover{background:#ffffffb3;transform:translateY(-1px)}ul.q li.active{background:linear-gradient(135deg,#0ea5b72e,#6366f124);border-color:#0ea5b759}ul.q li .row1{display:flex;align-items:center;justify-content:space-between;gap:10px}ul.q li .title{font-weight:600;font-size:13.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.q li .pill{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase;background:#fff9;border:1px solid var(--line);color:var(--ink-2);flex-shrink:0}ul.q li.scheduled .pill{background:#22d3ee33;color:#0e7490;border-color:#22d3ee59}ul.q li.draft .pill{background:#6366f129;color:#4338ca;border-color:#6366f14d}ul.q li.published .pill{background:#22c55e2e;color:#166534;border-color:#22c55e59}ul.q li.failed .pill{background:#dc26262e;color:#991b1b;border-color:#dc262666}ul.q li.cancelled .pill{background:#94a3b840;color:#475569;border-color:#94a3b873}ul.q li .meta{margin-top:5px;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.q-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 8px;color:var(--ink-3)}.q-empty-text{margin:0;font-size:13.5px;text-align:center}.q-empty-spinner{width:24px;height:24px;border-radius:50%;border:2px solid rgba(14,165,183,.2);border-top-color:var(--c-1);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer{padding:26px;display:flex;flex-direction:column;min-height:600px}.composer-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.composer-head h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.015em}.composer-head .sub{color:var(--ink-2);margin-top:4px;font-size:13.5px}.author{display:flex;gap:12px;align-items:center;padding:10px 14px;background:#ffffff8c;border-radius:14px;border:1px solid var(--line);margin-bottom:16px}.author .av{width:40px;height:40px;border-radius:12px;background:conic-gradient(from 0deg,var(--c-2),var(--c-3),var(--c-1),var(--c-2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;box-shadow:inset 0 0 0 2px #fff6}.author .who{font-weight:700}.author .role{color:var(--ink-2);font-size:12.5px}.editor-wrap{position:relative;background:#ffffffb3;border-radius:16px;border:1px solid var(--line);padding:4px;flex:1}textarea.editor{width:100%;min-height:320px;background:transparent;border:none;outline:none;padding:16px 18px;font:inherit;font-size:15px;line-height:1.6;color:var(--ink);resize:vertical;font-family:inherit}textarea.editor::placeholder{color:var(--ink-3)}.toolbar{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ico{width:34px;height:34px;border-radius:10px;background:#ffffff80;color:var(--ink-2);border:1px solid var(--line);cursor:pointer;display:grid;place-items:center;font-size:14px;font-family:inherit;padding:0}.ico:hover:not(:disabled){background:#fffc;color:var(--c-1)}.ico:disabled{opacity:.4;cursor:not-allowed}.toolbar .spacer{flex:1}.char-count{color:var(--ink-3);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;min-width:84px;text-align:right;display:inline-block}.muted{color:var(--ink-3);font-size:13.5px;margin:0}.topbar-wrap{padding:18px 24px 0;position:relative;z-index:50}.topbar-nav{max-width:1300px;margin:0 auto;background:var(--glass);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:18px;padding:10px 14px 10px 22px;display:flex;align-items:center;gap:18px;box-shadow:0 12px 40px -16px #0ea5b74d}.topbar-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.topbar-spacer{flex:1}.topbar-avatar-wrap{position:relative}.topbar-avatar{width:36px;height:36px;border-radius:12px;border:0;padding:0;cursor:pointer;background:conic-gradient(from 0deg,var(--c-2),var(--c-3),var(--c-1),var(--c-2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;font-family:inherit;box-shadow:inset 0 0 0 2px #fff6}.topbar-avatar:hover{filter:brightness(1.05)}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--glass-strong);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 20px 60px -20px #0ea5b759,0 4px 12px -4px #0000001a;z-index:100;display:flex;flex-direction:column;gap:2px}.avatar-menu-header{padding:10px 12px 8px}.avatar-menu-handle{font-weight:700;font-size:14px;color:var(--ink);word-break:break-all}.avatar-menu-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.avatar-menu-divider{height:1px;background:#05152814;margin:2px 0}.avatar-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:9px;background:transparent;border:none;font:inherit;font-size:13.5px;font-weight:500;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left;font-family:inherit}.avatar-menu-item:hover{background:#0ea5b71a}.avatar-menu-item--danger{color:var(--danger)}.avatar-menu-item--danger:hover{background:#dc262614}.avatar-menu-ext{font-size:12px;color:var(--ink-3)}.topbar-balance{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:4px 12px;border-radius:12px;background:#fff6;border:1px solid var(--line);font-variant-numeric:tabular-nums}.topbar-balance-main{font-size:12.5px;color:var(--ink-2);white-space:nowrap}.topbar-balance-main b{color:var(--ink);font-weight:700;letter-spacing:-.005em}.topbar-balance-sub{font-size:10.5px;color:var(--ink-3);font-weight:500}.btn{padding:7px 14px;border-radius:10px;border:1px solid var(--line);background:#ffffff8c;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .12s,transform .08s}.btn:hover{background:#ffffffd9}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,var(--c-1),var(--c-3));color:#fff;border-color:transparent;box-shadow:0 8px 24px -8px #0ea5b799}.btn.primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-small{padding:6px 12px;font-size:12.5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05152873;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:1000;padding:24px}.modal{width:min(640px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--glass-strong);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:22px;padding:26px 28px;box-shadow:0 30px 80px -20px #05152880}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.modal-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-close{background:#fff6;border:1px solid var(--line);width:32px;height:32px;border-radius:10px;font-size:18px;line-height:1;cursor:pointer;color:var(--ink-2);font-family:inherit;display:grid;place-items:center}.modal-close:hover{background:#ffffffb3;color:var(--ink)}.modal-lead{margin:0 0 18px;color:var(--ink-2);font-size:13.5px;line-height:1.55}.modal-context{margin-bottom:14px;padding:10px 14px;border-radius:12px;background:#fef3c7b3;color:#92400e;font-size:13px;border:1px solid rgba(245,158,11,.35)}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:640px){.pack-grid{grid-template-columns:1fr}}.pack-card{position:relative;padding:18px 16px 16px;background:#ffffff8c;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}.pack-card--highlight{background:linear-gradient(155deg,#22d3ee2e,#6366f129);border-color:#6366f166;box-shadow:0 14px 38px -16px #6366f180}.pack-badge{position:absolute;top:-10px;right:12px;background:linear-gradient(135deg,var(--c-1),var(--c-3));color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px;border-radius:999px;box-shadow:0 6px 18px -6px #0ea5b78c}.pack-label{font-size:12.5px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}.pack-price{margin-top:4px;font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.pack-credits{margin-top:6px;font-size:13px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.pack-bonus{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#0ea5b726;color:var(--c-1);font-size:11px;font-weight:700}.pack-tagline{margin-top:10px;font-size:12.5px;color:var(--ink-3);line-height:1.4;flex:1}.alert.error{background:#fee2e2b3;color:#991b1b;border:1px solid rgba(220,38,38,.4);padding:10px 14px;border-radius:12px;font-size:13px}.btn-ghost-danger{background:transparent;border-color:#dc262640;color:#b91c1c}.btn-ghost-danger:hover:not(:disabled){background:#dc26261a;border-color:#dc262680;color:#991b1b}.btn-danger{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border-color:transparent;box-shadow:0 8px 24px -8px #dc262680}.btn-danger:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.modal--narrow{width:min(440px,100%)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.delete-confirm-excerpt{margin:4px 0 16px;padding:12px 14px;background:#ffffff80;border:1px solid var(--line);border-radius:12px;font-style:italic;color:var(--ink-2);font-size:13.5px;line-height:1.5}.settings-grid{max-width:920px;margin:0 auto;padding:0 24px 40px;display:flex;flex-direction:column;gap:18px}.settings-card{background:var(--glass);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--line);border-radius:20px;padding:24px 26px;box-shadow:0 20px 60px -24px #0ea5b74d}.settings-card--meta{background:#fff6}.settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.settings-card-head h3{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}.settings-card h3{margin:0 0 8px;font-size:16px;font-weight:700}.settings-card-lead{margin:8px 0 18px;color:var(--ink-2);font-size:13.5px;line-height:1.6}.settings-card-lead a{color:var(--c-1);text-decoration:none;font-weight:600}.settings-card-lead a:hover{text-decoration:underline}.settings-loading{color:var(--ink-3);font-size:13px;font-style:italic;padding:6px 0}.status-pill{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase;background:#fff9;border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;flex-shrink:0}.status-pill--scheduled{background:#22d3ee33;color:#0e7490;border-color:#22d3ee59}.status-pill--draft{background:#6366f129;color:#4338ca;border-color:#6366f14d}.status-pill--published{background:#22c55e2e;color:#166534;border-color:#22c55e59}.settings-readonly{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#fff6;border:1px solid var(--line);border-radius:14px}.settings-meta-row{display:flex;gap:12px;font-size:13px;align-items:baseline;flex-wrap:wrap}.settings-meta-label{color:var(--ink-3);font-weight:600;min-width:110px}.settings-meta-row code{background:#ffffffb3;border:1px solid var(--line);padding:1px 6px;border-radius:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--ink);word-break:break-all}.settings-did{font-size:11px!important}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field-label{font-size:12.5px;font-weight:600;color:var(--ink-2);letter-spacing:.01em}.settings-field input{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffffd9;font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}.settings-field input:focus{border-color:#0ea5b78c;box-shadow:0 0 0 3px #0ea5b726}.settings-field input:disabled{opacity:.6;cursor:not-allowed}.settings-form-actions{display:flex;gap:10px;justify-content:flex-end}
