:root{--ink:#292927;--muted:#85847e;--accent:#884838;--paper:#e9e8e3;--layout-duration:.6s;--layout-ease:cubic-bezier(.22, 1, .36, 1);color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);overflow:hidden}button,input{font:inherit}.workspace-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));width:100vw;height:100svh;display:grid;overflow:hidden}.chat-shell{z-index:1;border-right:1px solid color-mix(in srgb, var(--ink) 28%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 28%, transparent);background:repeating-linear-gradient(97deg, transparent 0 6px, #14141203 7px), repeating-linear-gradient(3deg, transparent 0 3px, #ffffff29 4px), var(--paper);min-width:0;min-height:0;transition:grid-area var(--layout-duration) var(--layout-ease), padding var(--layout-duration) var(--layout-ease);grid-area:1/1/-1/-1;grid-template-rows:minmax(0,1fr) auto;padding:clamp(28px,5vw,84px);display:grid;overflow:hidden;container-type:inline-size}.response-stage{scrollbar-width:none;align-items:center;min-width:0;min-height:0;padding:clamp(24px,6vh,76px) 0;display:grid;position:relative;overflow:auto}.response-stage::-webkit-scrollbar{display:none}.response{will-change:opacity, transform;grid-area:1/1;width:min(100%,1080px);min-width:0;max-width:100%;overflow:hidden}.response--leaving{animation:.9s cubic-bezier(.4,0,.7,1) forwards response-out}.waiting-status{z-index:2;color:var(--muted);letter-spacing:-.01em;grid-area:1/1;align-items:center;gap:13px;font-family:Newsreader,serif;font-size:clamp(16px,14px + .4cqw,20px);font-style:italic;font-weight:300;display:flex}.loading-spinner{border:1px solid color-mix(in srgb, var(--ink) 20%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.85s linear infinite spin}.thinking-text{animation:.28s ease-out both thinking-text-in}.response-copy{min-width:0;max-width:100%;color:var(--ink);letter-spacing:-.018em;font-family:Newsreader,serif;font-size:clamp(18px,16px + 1.5cqw,38px);font-weight:400;line-height:1.25}.pretext-copy{contain:inline-size;opacity:0;width:100%;min-width:0;max-width:100%;min-height:1.25em;overflow:hidden}.pretext-copy--ready{opacity:1}.pretext-line{white-space:pre;max-width:100%;min-height:1.25em;display:block;overflow:hidden}.laid-out-word{color:var(--ink)}.pending-word{color:#0000}.stream-word{color:#0000;background-image:linear-gradient(90deg, var(--ink) 0%, var(--ink) 43%, transparent 57%, transparent 100%);background-position:100% 0;background-size:230% 100%;-webkit-background-clip:text;background-clip:text;animation:.26s cubic-bezier(.58,.04,.96,.48) forwards word-reveal}.prompt{border-top:1px solid color-mix(in srgb, var(--ink) 28%, transparent);padding-top:clamp(12px,2.5vh,24px)}.prompt-line{border-bottom:2px solid var(--ink);align-items:flex-end;gap:clamp(12px,2vw,24px);transition:border-color .18s;display:flex}.prompt input{min-width:0;color:var(--ink);caret-color:var(--accent);letter-spacing:-.035em;background:0 0;border:0;outline:0;flex:1;padding:2px 0 12px;font-family:Newsreader,serif;font-size:clamp(24px,18px + 3cqw,62px);font-weight:300;line-height:1}.prompt input::placeholder{color:#9d9c96;opacity:1}.prompt-line:focus-within{border-color:var(--accent)}.prompt button{color:var(--ink);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;margin-bottom:12px;padding:7px 0 4px;font-family:DM Mono,monospace;font-size:10px}.prompt button:disabled{color:var(--muted);cursor:default}.error-page{min-height:100svh;padding:10vw}@container (width<=520px){.response-stage{align-items:start;padding:54px 0 28px}}@keyframes response-out{0%{opacity:1;filter:blur()}55%{opacity:.42}to{opacity:0;filter:blur(2px);transform:translateY(-6px)}}@keyframes word-reveal{to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes thinking-text-in{0%{opacity:0;transform:translateY(2px)}}@media (width<=760px){.chat-shell{padding:20px}.prompt button{font-size:0}.prompt button span{font-size:16px}}@media (prefers-reduced-motion:reduce){.chat-shell{transition:none}.loading-spinner,.thinking-text{animation:none}.stream-word{background-position:0 0;animation:none}.response--leaving{opacity:0;animation:none}}
