:root{--bg:#120e1f;--ink:#efeaff;--dim:#a79fc4;--lamp:#ffb454;--line:#2d2547;--card:#1b1530}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 Instrument Sans,system-ui,sans-serif}.shell{max-width:760px;margin:0 auto;padding:0 20px 60px}header{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.logo{font:700 1.3rem Fraunces,serif;letter-spacing:.04em}.hero{position:relative;padding:48px 0 28px;text-align:center}.hero h1{position:relative;font:700 clamp(2.2rem,8vw,4rem)/1.05 Fraunces,serif;margin:0}.rings{position:absolute;left:50%;top:50%;width:min(520px,120%);transform:translate(-50%,-50%);fill:none;stroke:var(--lamp);stroke-width:1;opacity:.35}.rings circle{animation:pulse 4s ease-in-out infinite;transform-origin:center}@keyframes pulse{50%{opacity:.25;transform:scale(1.04)}}input{width:100%;padding:14px 16px;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px}input:focus,button:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}button{font:600 1rem inherit;font-family:inherit;padding:14px 22px;border:0;border-radius:12px;background:var(--lamp);color:#1a1020;cursor:pointer}button:disabled{opacity:.6}.link{background:none;color:var(--dim);padding:8px 0;text-decoration:underline}.auth,.ask{position:relative;display:grid;gap:12px;max-width:420px;margin:0 auto}.ask{max-width:none}.ask label{font:500 1.4rem Fraunces,serif;text-align:center}.auth h2{font:500 1.5rem Fraunces,serif;margin:0;text-align:center}.row{display:flex;gap:10px}.note{color:var(--lamp);margin:0}.box{border:1px solid var(--line);padding:14px;border-radius:12px}code{background:var(--card);padding:2px 6px;border-radius:6px}.hi{text-align:center;color:var(--dim);font-size:.9rem}.shelf{display:grid;gap:14px;margin-top:40px}.shelf>div{border-left:2px solid var(--lamp);padding:2px 0 2px 16px}.shelf h3{margin:0;font:500 1.15rem Fraunces,serif}.shelf p{margin:4px 0 0;color:var(--dim)}@media (min-width:700px){.shelf{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.rings circle{animation:none}}.chat{display:grid;gap:14px;padding-top:8px}.box{border:1px solid var(--line);padding:14px;border-radius:12px;display:grid;gap:10px}.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}.msgs{display:grid;gap:12px}.m{white-space:pre-wrap;padding:12px 14px;border-radius:12px;max-width:92%}.m.user{background:var(--card);justify-self:end;border:1px solid var(--line)}.m.assistant{border-left:2px solid var(--lamp);border-radius:0 12px 12px 0}.acts{display:flex;flex-wrap:wrap;gap:8px}.acts button{padding:8px 12px;font-size:.9rem}.bar{height:8px;background:var(--card);border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--lamp)}nav{display:flex;gap:14px;flex-wrap:wrap}nav .cur{color:var(--lamp)}.h2{font:500 1.6rem Fraunces,serif;margin:0}.graph{width:100%;aspect-ratio:4/3;background:var(--card);border:1px solid var(--line);border-radius:12px;touch-action:none;cursor:grab}.edge{stroke:var(--line);stroke-width:1.5}.edge.on{stroke:var(--lamp)}.node{cursor:pointer}.node circle{fill:var(--dim)}.node circle.sel{fill:var(--lamp)}.node text{fill:var(--ink);font-size:11px}.brain{display:grid;gap:12px}select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;flex:1;min-width:0}.opts{gap:8px}.caret{display:inline-block;width:7px;height:1em;background:var(--lamp);margin-left:2px;vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.m{will-change:contents;overflow-wrap:anywhere}.menu{position:relative;flex:1;min-width:0}.mbtn{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;padding:8px 12px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;gap:0 6px;font-weight:500}.mbtn small{grid-column:1/3;color:var(--dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.mbtn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbtn i{color:var(--lamp);font-style:normal}.mlist{position:absolute;z-index:20;left:0;min-width:100%;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#1f1838;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px #000a;max-height:50vh;overflow:auto}.mlist button{width:100%;text-align:left;background:none;color:var(--ink);padding:10px 12px;border-radius:9px;font-weight:500;white-space:nowrap}.mlist button.on{background:var(--line);color:var(--lamp)}.mlist em{color:var(--dim);font-size:.8em}header{position:relative;z-index:5}.rings{pointer-events:none}.hero{overflow:hidden}.hero h1{pointer-events:none}.soil{fill:#2a1d3d}.hole{fill:#0a0714;animation:grow 1.6s ease-in-out infinite;transform-origin:80px 52px}@keyframes grow{50%{transform:scaleX(1.25)}}.bunny{animation:dig .5s ease-in-out infinite;transform-origin:80px 50px}@keyframes dig{50%{transform:translateY(3px) rotate(-6deg)}}.dirt{fill:#7a5a3a;opacity:0;animation:fling .9s ease-out infinite}@keyframes fling{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--dx),-34px)}}.dig{display:grid;justify-items:center;gap:2px;color:var(--dim)}.m{animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.mlist{animation:rise .2s ease both}button{transition:transform .15s,opacity .15s}button:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.m,.mlist,.bunny,.hole,.dirt{animation:none}}body{background:radial-gradient(900px 520px at 50% -8%,#2b1f4d88,transparent),radial-gradient(560px 380px at 95% 85%,#ffb45414,transparent),var(--bg);background-attachment:fixed}.logo{font-size:1.05rem;letter-spacing:.28em}.hero{padding:56px 0 36px}.hero h1{text-shadow:0 0 40px #ffb45433}.ask input{padding:17px 20px;border-radius:18px;font-size:1.05rem;transition:box-shadow .3s,border-color .3s}.ask input:focus{outline:none;border-color:var(--lamp);box-shadow:0 0 0 5px #ffb45422,0 0 40px #ffb45422}.ask .row button{border-radius:18px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{background:#ffffff08;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:500;font-size:.88rem}.chip:hover{color:var(--ink);border-color:var(--lamp);transform:translateY(-2px)}.shelf>div{background:#ffffff06;border:1px solid var(--line);border-left:2px solid var(--lamp);border-radius:14px;padding:14px 16px;transition:transform .3s,border-color .3s,background .3s}.shelf>div:hover{transform:translateY(-3px);background:#ffffff0c}.opts{position:sticky;top:0;z-index:10;padding:10px 0;margin:0 -4px;background:linear-gradient(#120e1fee 70%,#120e1f00);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.m.user{background:linear-gradient(135deg,#2a2150,#1f1838)}.m.assistant{background:#ffffff06;box-shadow:inset 2px 0 0 var(--lamp)}.m{line-height:1.65}.dl{background:linear-gradient(160deg,#1f1838,#171229);border-radius:18px;padding:20px;animation:rise .5s ease both}.bar{height:10px}.bar i{background:linear-gradient(90deg,var(--lamp),#ffd9a0,var(--lamp));background-size:200% 100%;animation:shine 1.6s linear infinite;transition:width .4s ease}@keyframes shine{to{background-position:-200% 0}}.composer{view-transition-name:composer}::view-transition-group(composer){animation-duration:.7s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation:vout .5s ease both}::view-transition-new(root){animation:vin .7s ease both}@keyframes vout{to{opacity:0;transform:scale(.985)}}@keyframes vin{0%{opacity:0;transform:scale(1.01)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.bar i{animation:none}}
