:root{--page-start:#5a1012;--page-end:#141518;--shell:#18191d;--shell-edge:#2d2f35;--stage:#0c0c0f;--stage-edge:#2c2d31;--panel:#101114;--input:#111215;--text:#f5f1e8;--muted:#a9a097;--subtle:#72757d;--line:rgba(255,255,255,0.08);--accent:#ff1d11;--accent-strong:#d7140a;--shadow:0 24px 80px rgba(0,0,0,0.34)}*{box-sizing:border-box}html{background:linear-gradient(90deg,var(--page-start) 0,#281112 18%,var(--page-end) 62%)}body{margin:0;min-height:100vh;color:var(--text);font-family:Segoe UI,Arial,sans-serif}button,textarea{font:inherit}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.monza-page{min-height:100vh;padding:14px}.monza-shell{width:min(1120px,calc(100vw - 28px));min-height:calc(100vh - 28px);margin:0 auto;display:grid;grid-template-rows:84px minmax(0,1fr) 40px;border:1px solid var(--shell-edge);border-radius:28px;background:linear-gradient(180deg,#1b1c20,#15161a);box-shadow:var(--shadow);overflow:hidden}.monza-header{justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.brand-lockup,.monza-header{display:flex;align-items:center}.brand-lockup{color:#ffffff}.brand-mark{width:92px;height:auto;display:block}.composer-submit,.header-action{border:0;border-radius:999px;background:var(--accent);box-shadow:none;cursor:pointer}.header-action{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:1.9rem;line-height:1}.chat-stage{margin:18px;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--stage-edge);border-radius:20px;background:linear-gradient(180deg,#0b0b0d,#0d0e11);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.composer-submit svg{width:100%;height:100%}.messages-stage{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:34px 56px 28px}.messages-stage.intro{align-items:center;justify-content:center;padding-bottom:34px}.message-card{max-width:min(760px,100%)}.welcome-message{max-width:650px}.message-meta{margin:0 0 8px;color:var(--subtle);font-size:.8rem}.message-body{margin:0;white-space:pre-wrap;line-height:1.5;font-size:1rem}.welcome-message .message-body{color:#f3e7d6;text-align:center;font-weight:600;font-size:clamp(1.2rem,1.45vw,1.55rem);line-height:1.28}.assistant-message,.user-message{width:-moz-fit-content;width:fit-content;padding:14px 16px;border-radius:16px}.assistant-message{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.user-message{align-self:flex-end;margin-left:auto;background:rgba(255,29,17,.1);border:1px solid rgba(255,29,17,.32)}.pending-message{opacity:.82}.composer-shell{padding:16px 20px 18px}.composer-row{width:min(780px,calc(100% - 116px));margin:0 auto 10px;display:grid;grid-template-columns:minmax(0,1fr) 52px;grid-gap:12px;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(16,17,20,.92);padding:6px 6px 6px 14px}.composer-input{width:100%;min-height:26px;max-height:160px;resize:none;border:0;outline:none;background:transparent;color:var(--text);padding:10px 0}.composer-input::placeholder{color:#9e9288}.composer-submit{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px}.composer-submit:disabled,.header-action:disabled{opacity:.7;cursor:wait}.shell-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-top:1px solid var(--line);color:#a8a6a1;font-size:.92rem}.shell-footer p{margin:0}.error-inline{color:#ff8f87;text-align:right}@media (max-width:900px){.monza-page{padding:10px}.monza-shell{width:calc(100vw - 20px);min-height:calc(100vh - 20px);grid-template-rows:78px minmax(0,1fr) auto;border-radius:22px}.monza-header{padding:0 14px}.brand-mark{width:78px}.header-action{width:42px;height:42px}.chat-stage{margin:12px}.messages-stage{padding:28px 18px 22px}.welcome-message .message-body{font-size:1.02rem}.composer-row{width:100%}.shell-footer{align-items:flex-start;flex-direction:column;padding:10px 14px 14px;font-size:.82rem}.error-inline{text-align:left}}