*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--surface:#111;--border:#1f1f1f;--text:#f0f0f0;--muted:#8a8a8a;--accent:#f0f0f0;--gold:#B38F52;--gold-bright:#E7C381;--gold-pale:#F5E8D2;--gold-glow:rgba(179,143,82,.18);--gold-glow-strong:rgba(231,195,129,.32)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.auth-wrap,body{min-height:100vh}.auth-wrap{display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{width:100%;max-width:380px;text-align:center}.auth-brand-logo{width:42px;height:auto;display:block;margin:0 auto 1.25rem;filter:drop-shadow(0 0 8px rgba(179,143,82,.35))}.auth-card h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--gold)}.auth-card p{color:var(--muted);margin-bottom:2rem;font-size:.95rem}.auth-card h1+p{color:var(--gold)}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-form input[type=email]{padding:.75rem 1rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;font-size:1rem;outline:none;width:100%;transition:border-color .15s}.auth-form input[type=email]:focus{border-color:#555}.auth-form button{padding:.75rem 1rem;background:var(--accent);color:var(--bg);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.auth-form button:disabled{opacity:.5;cursor:not-allowed}.auth-hint{margin-top:1rem;font-size:.82rem;color:var(--muted)}.auth-link{color:var(--muted);font-size:.9rem;text-decoration:none}.auth-link:hover{color:var(--text)}.dash-layout{display:flex;flex-direction:column;min-height:100vh}.dash-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.dash-header h1{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--gold)}.dash-user{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--muted)}.btn-signout{padding:.35rem .75rem;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:6px;font-size:.82rem;cursor:pointer}.btn-signout:hover{border-color:#555;color:var(--text)}.dash-main{padding:3rem 1.5rem;max-width:720px;margin:0 auto;width:100%}.dash-main--studio{max-width:none;padding:0;flex:1 1;display:flex;flex-direction:column}.dash-empty{color:var(--muted);font-size:.95rem}.studio{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:hidden}.constellation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.studio-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3rem 1.5rem 4rem;gap:0;width:100%;max-width:680px;margin:0 auto}.studio-content{width:100%;margin-top:2.5rem}@keyframes beacon-breathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.04);opacity:1}}@keyframes beacon-ignite{0%,to{transform:scale(1);filter:drop-shadow(0 0 12px var(--gold)) drop-shadow(0 0 32px var(--gold-glow-strong))}50%{transform:scale(1.06);filter:drop-shadow(0 0 24px var(--gold-bright)) drop-shadow(0 0 60px var(--gold-glow-strong))}}@keyframes beacon-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes aura-expand{0%{transform:scale(.8);opacity:.6}to{transform:scale(1.8);opacity:0}}@media (prefers-reduced-motion:reduce){.beacon-aura,.beacon-core{animation:none!important}}.beacon-core{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(88px,14vw,120px);height:clamp(88px,14vw,120px)}.beacon-aura{position:absolute;inset:-18px;border-radius:50%;border:1px solid rgba(179,143,82,.55);background:radial-gradient(circle,rgba(179,143,82,.07) 0,transparent 68%);opacity:0;pointer-events:none}.beacon--confirm .beacon-aura--1,.beacon--idle .beacon-aura--1,.beacon--listening .beacon-aura--1,.beacon--ready .beacon-aura--1{opacity:.28}.beacon--idle .beacon-spire{animation:beacon-breathe 3.5s ease-in-out infinite;filter:drop-shadow(0 0 6px var(--gold-glow))}.beacon--listening .beacon-spire{animation:beacon-breathe 2.5s ease-in-out infinite;filter:drop-shadow(0 0 10px var(--gold-glow))}.beacon--processing .beacon-spire{animation:beacon-ignite 1.6s ease-in-out infinite}.beacon--processing .beacon-aura--1{animation:aura-expand 1.6s ease-out infinite}.beacon--processing .beacon-aura--2{animation:aura-expand 1.6s ease-out .5s infinite}.beacon--processing .beacon-aura--3{animation:aura-expand 1.6s ease-out 1s infinite}.beacon--ready .beacon-spire{animation:beacon-pulse 2.8s ease-in-out infinite;filter:drop-shadow(0 0 8px var(--gold-glow))}.beacon--confirm .beacon-spire{animation:beacon-pulse 3.5s ease-in-out infinite;filter:drop-shadow(0 0 6px var(--gold-glow))}.beacon--error .beacon-spire{opacity:.35;filter:none}.beacon-spire{display:block;width:clamp(40px,6vw,56px);height:auto;object-fit:contain}.compose-wrap{display:flex;flex-direction:column;gap:.75rem;width:100%}.compose-label{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.compose-area{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;color:var(--text);font-size:1rem;line-height:1.6;resize:none;min-height:80px;max-height:42vh;overflow-y:auto;outline:none;transition:border-color .2s;font-family:inherit}.compose-area:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}.compose-area--center{text-align:center}.compose-area--left{text-align:left}.compose-area::placeholder{color:var(--muted)}.compose-hint{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.compose-shortcut{font-family:monospace;font-size:.75rem;background:var(--surface);padding:.1rem .4rem;border-radius:4px;border:1px solid var(--border)}.compose-limit{font-size:.78rem;color:var(--gold);text-align:right}.btn-run{align-self:flex-end;padding:.55rem 1.4rem;background:var(--gold);color:#0a0a0a;border:none;border-radius:8px;font-size:.92rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn-run:hover:not(:disabled){opacity:.88}.btn-run:active{transform:scale(.97)}.btn-run:disabled{opacity:.35;cursor:not-allowed}.status-wrap{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem 0 0}.status-msg{color:var(--text);font-size:.95rem}.status-elapsed{color:var(--muted);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.beacon-progress-ring{position:absolute;width:calc(100% + 50px);height:calc(100% + 50px);left:-25px;top:-25px;transform:rotate(-90deg);pointer-events:none;z-index:3}.beacon-progress-arc{filter:drop-shadow(0 0 4px rgba(179,143,82,.55))}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted)}.status-dot--active{background:var(--gold)}.cards-wrap{display:flex;flex-direction:column;gap:1.25rem}.cards-header{text-align:center}.cards-title{font-size:1rem;font-weight:600;margin-bottom:.25rem}.cards-sub{font-size:.85rem;color:var(--muted)}.cards-list{gap:1rem}.card,.cards-list{display:flex;flex-direction:column}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;gap:.75rem}.card--unanswered{border-color:#2a2a2a}.card-header{gap:.5rem;flex-wrap:wrap}.card-header,.card-index{display:flex;align-items:center}.card-index{width:22px;height:22px;border-radius:50%;background:var(--border);justify-content:center;font-size:.72rem;color:var(--muted);flex-shrink:0}.card-required{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:.1rem .35rem}.card-dim{font-size:.72rem;color:var(--muted);text-transform:capitalize;margin-left:auto}.card-question{font-size:.95rem;font-weight:500;line-height:1.5}.card-why{font-size:.8rem;color:var(--muted);line-height:1.5}.card-options{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.4rem .85rem;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--muted);font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;display:flex;align-items:center;gap:.35rem}.chip:hover{border-color:var(--gold);color:var(--text)}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip--selected{border-color:var(--gold);color:var(--gold);background:rgba(179,143,82,.08)}.chip--recommended{border-color:var(--gold);color:var(--text)}.chip--recommended.chip--selected{color:var(--gold)}.chip--custom{font-style:italic}.chip-star{color:var(--gold);font-size:.75rem}.chip-label{font-size:.7rem;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:0 .3rem;line-height:1.4}.card-custom{margin-top:-.25rem}.card-custom-input{width:100%;background:transparent;border:1px solid var(--border);border-radius:8px;padding:.45rem .75rem;color:var(--text);font-size:.85rem;outline:none}.card-custom-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}.card-answered{font-size:.78rem;color:var(--gold)}.window-control{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.window-label{font-size:.88rem;font-weight:500;color:var(--text)}.window-options{display:flex;flex-wrap:wrap;gap:.5rem}.window-chip{padding:.35rem .8rem;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--muted);font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;display:flex;align-items:center;gap:.35rem}.window-chip:hover{border-color:var(--gold);color:var(--text)}.window-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.window-chip--selected{border-color:var(--gold);color:var(--gold);background:rgba(179,143,82,.08)}.window-chip--recommended{border-color:var(--gold);color:var(--text)}.window-chip--recommended.window-chip--selected{color:var(--gold)}.window-custom{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.window-custom-label{font-size:.82rem;color:var(--muted)}.window-custom-date{padding:.35rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.82rem;outline:none}.window-custom-date:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}.window-custom-info{font-size:.78rem;color:var(--muted)}.window-selected-summary{font-size:.82rem;color:var(--muted);border-top:1px solid var(--border);padding-top:.75rem}.confirm-wrap{display:flex;flex-direction:column;gap:1.25rem}.confirm-header{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.confirm-plan{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.confirm-plan-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.confirm-plan-summary{font-size:.92rem;line-height:1.6}.confirm-brief-details{font-size:.82rem;color:var(--muted)}.confirm-brief-details summary{cursor:pointer}.confirm-brief-text{margin-top:.5rem;white-space:pre-wrap;font-size:.8rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;max-height:200px;overflow-y:auto}.confirm-actions{display:flex;gap:.75rem;flex-wrap:wrap}.handoff-wrap{display:flex;flex-direction:column;gap:1rem}.handoff-header{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--gold);text-transform:uppercase;letter-spacing:.05em}.handoff-msg{font-size:.95rem}.handoff-id{font-size:.72rem;color:var(--muted);font-family:monospace}.error-wrap{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}.error-msg{font-size:.92rem;color:var(--muted)}.error-actions{display:flex;gap:.75rem}.btn-primary{padding:.6rem 1.5rem;background:var(--gold);color:#0a0a0a;border:none;border-radius:8px;font-size:.92rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-primary:hover:not(:disabled){opacity:.88}.btn-ghost{padding:.6rem 1.25rem;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;font-size:.88rem;cursor:pointer;transition:border-color .15s,color .15s}.btn-ghost:hover{border-color:var(--gold);color:var(--text)}@media (max-width:480px){.studio-inner{padding:2rem 1rem 3rem}.chip-label{display:none}.btn-run{align-self:stretch}.confirm-actions{flex-direction:column}}