:root{--bg0:#070a12;--bg1:#0b1220;--card:#ffffff0f;--stroke:#ffffff1f;--text:#ffffffeb;--muted:#ffffffa8;--accent:#7c5cff;--accent2:#22d3ee;--shadow:0 18px 60px #0000008c;--radius:18px;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 700px at 18% 0%,#7c5cff33,transparent 60%),radial-gradient(900px 600px at 82% 18%,#22d3ee24,transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.45}.page{min-height:100vh;position:relative}.bg{pointer-events:none;background:radial-gradient(900px 520px at 10% 10%,#7c5cff24,#0000 65%),radial-gradient(760px 520px at 92% 22%,#22d3ee1a,#0000 55%);position:absolute;inset:0}.shell{width:min(1040px,100% - 44px);margin:0 auto;padding:32px 0 36px;position:relative}.topbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.brand{align-items:center;gap:12px;display:flex}.mark{background:radial-gradient(circle at 30% 30%,#ffffff59,#0000 45%),linear-gradient(135deg,#7c5cfff2,#22d3eee0);border-radius:16px;width:44px;height:44px;box-shadow:0 22px 64px #7c5cff2e,0 10px 30px #22d3ee1a}.brandName{letter-spacing:.2px;font-weight:900}.brandSub{color:var(--muted);margin-top:2px;font-size:12px}.envPill{-webkit-backdrop-filter:blur(12px);color:var(--muted);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:inline-flex}.dot{background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #7c5cff1f}.card{background:linear-gradient(#ffffff0f,#ffffff08);border:1px solid #ffffff1a;border-radius:10px;overflow:hidden;box-shadow:0 26px 90px #00000059,0 8px 24px #0003}.cardInner{flex-direction:column;gap:0;display:flex}.label{color:#ffffffb8;letter-spacing:.2px;margin-bottom:10px;font-size:13px;display:block}.inputWrap{-webkit-backdrop-filter:blur(14px);background:radial-gradient(1200px 260px at 20% -20%,#7c5cff1a,#0000 55%),linear-gradient(#ffffff12,#ffffff09);border:1px solid #ffffff1a;border-radius:18px;padding:12px 12px 10px;transition:border-color .16s,transform .16s,background .16s;position:relative}.inputWrap:before{content:"";-webkit-mask-composite:xor;opacity:.3;pointer-events:none;background:linear-gradient(135deg,#7c5cff8c,#22d3ee4d,#ffffff1a);border-radius:18px;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.inputWrap:focus-within{border-color:#7c5cff80;transform:translateY(-1px)}.textbox{resize:none;color:#ffffffeb;background:0 0;border:none;outline:none;width:100%;padding:6px 4px;font-size:15px;line-height:1.55}.textbox::placeholder{color:#ffffff73}.actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}button{cursor:pointer;border:none;font-family:inherit}.btnGhost{color:#ffffffeb;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;padding:10px 12px;transition:transform .14s,background .14s,border-color .14s}.btnGhost:hover{background:#ffffff12;border-color:#ffffff24;transform:translateY(-1px)}.btnGhost:active{transform:translateY(0)}.btnGhost:disabled{opacity:.5;cursor:not-allowed;transform:none}.btnPrimary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0b1020;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:900;transition:transform .14s,filter .14s;display:inline-flex;box-shadow:0 22px 70px #7c5cff38,0 10px 28px #22d3ee1a}.btnPrimary:hover{filter:brightness(1.03);transform:translateY(-1px)}.btnPrimary:active{filter:brightness(.99);transform:translateY(0)}.btnPrimary:disabled{opacity:.55;cursor:not-allowed;transform:none}.spinner{border:2px solid #0b102040;border-top-color:#0b1020f2;border-radius:999px;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.divider{background:linear-gradient(90deg,#0000,#ffffff24,#0000);height:1px;margin:18px 0 16px}.grid2{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:16px;display:grid}@media (max-width:920px){.grid2{grid-template-columns:1fr}}.panel{background:radial-gradient(900px 260px at 10% -10%,#7c5cff14,#0000 55%),linear-gradient(#ffffff0f,#ffffff08);border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;height:clamp(360px,55vh,560px);padding:14px;display:flex;overflow:hidden;box-shadow:0 20px 70px #00000047}.panelTitle{letter-spacing:.25px;color:#ffffffe6;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:900;display:flex}.panelBody{flex:1;padding-right:8px;overflow:auto}.panelBody::-webkit-scrollbar{width:10px}.panelBody::-webkit-scrollbar-thumb{background:#ffffff29;border:2px solid #00000026;border-radius:999px}.panelBody::-webkit-scrollbar-thumb:hover{background:#ffffff38}.narrationText{white-space:pre-wrap;color:#ffffffeb;font-size:15px;line-height:1.65}.empty{color:#ffffffb3;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:12px;font-size:14px}.alert{background:linear-gradient(#ff4d6d24,#ffffff08);border:1px solid #ff4d6d59;border-radius:16px;padding:12px}.alertTitle{margin-bottom:6px;font-weight:900}.alertBody{color:#ffdce2eb}.videoWrap{flex-direction:column;gap:10px;display:flex}.video{background:#0000004d;border:1px solid #ffffff1f;border-radius:16px;width:100%;box-shadow:0 22px 80px #00000061}.link{color:#ffffffeb;border-bottom:1px solid #ffffff2e;width:fit-content;text-decoration:none}.link:hover{border-bottom-color:#ffffff6b}.footer{margin-top:18px;padding-bottom:18px}.muted{color:#ffffffa6;font-size:12px}.mono{font-family:var(--mono)}.small{opacity:.75;font-size:11px}
