:root{font-family:"Avenir Next","Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,system-ui,sans-serif;color:#202020;background:#fff;font-synthesis:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#fff}
header,main,footer{width:min(820px,calc(100% - 32px));margin:auto}
header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#071d50}
.brand img{width:34px;height:34px;object-fit:contain;border-radius:50%;background:#101014}
.brand strong{font-size:21px;line-height:1.1;font-weight:700}
.brand span{font-size:10px;letter-spacing:.06em;color:#637682}
.interior-page:not(.show-landing) .brand{display:flex}
body:not(.interior-page) header .brand{display:none}
.interior-page .hero,.interior-page .intro-copy{display:none}
.trial-label{font-size:13px;font-weight:700;color:#24617a;background:#eaf5fa;border-radius:7px;padding:6px 10px}
main{padding:clamp(22px,5vw,44px) 0 64px}
.hero{min-height:520px;padding:22px 24px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;border-radius:28px;color:#fff;background:radial-gradient(ellipse at 50% 38%,#252529 0,#121214 58%,#09090a 100%);box-shadow:0 18px 48px #10101420}
.hero-robot{display:block;width:min(43vw,360px);height:clamp(190px,28vw,290px);object-fit:contain;margin:-6px auto 4px;filter:drop-shadow(0 12px 16px #0007)}
.hero h1{font-size:clamp(42px,7vw,58px);line-height:1.05;letter-spacing:-.035em;margin:0 0 12px;font-weight:750}
.hero-specialty{margin:0;color:#d1d1d3;font-size:clamp(16px,3vw,22px);letter-spacing:.04em}
.hero-trial-label{margin-top:20px;padding:9px 24px;border-radius:99px;background:#28282b;color:#f6f6f6;font-size:18px;font-weight:600}
.hero-tagline{margin:20px 0 0;color:#fff;font-size:clamp(19px,3.5vw,28px);font-weight:650;letter-spacing:.06em}
.intro-copy{text-align:center;color:#637682;margin:20px 0 24px;line-height:1.7}
.eyebrow{margin:0 0 7px;color:#48788b;font-size:12px;font-weight:700;letter-spacing:.08em}
.card{background:white;border:1px solid #dce4eb;border-radius:16px;padding:clamp(20px,4vw,30px);box-shadow:0 8px 28px #27354a08}
.card h2{font-size:21px;font-weight:500;margin:0 0 10px;color:#071d50}
.card>p{color:#637682;line-height:1.7}
form{display:grid;gap:15px;margin-top:20px}
label{display:grid;gap:7px;font-size:14px;font-weight:600}
input,textarea{width:100%;border:1px solid #c9d3e2;border-radius:10px;padding:12px;font:inherit;color:#071d50;background:#fff}
input:focus,textarea:focus{outline:2px solid #0c8bf766;border-color:#0c8bf7}
textarea{resize:vertical;min-height:90px}
button,.button{border:0;border-radius:12px;background:#222;color:white;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}
button:disabled{opacity:.55;cursor:wait}
form>button,.chat-form button{background:linear-gradient(105deg,#0757ed 0%,#0c8bf7 49%,#16c9ed 100%)}
.text-button{background:transparent;color:#071d50;padding:10px 0;font-size:14px}
.status{min-height:1.5em;color:#637682;font-size:14px;line-height:1.5}
.chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.chat-head>div{min-width:0}
.chat-head>.text-button{flex:0 0 auto;white-space:nowrap}
.chat-head h2{margin:0}
.messages{height:55vh;min-height:250px;overflow:auto;padding:8px 0}
.bubble{padding:12px 14px;border-radius:14px;margin:10px 0;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.bubble.user{background:#eaf7ff;margin-left:12%}
.bubble.assistant{background:#fff;margin-right:8%}
.history{display:grid;gap:8px;margin:16px 0}
.history button{width:100%;background:#fff;color:#071d50;border:1px solid #dce4eb;text-align:left;font-size:14px;font-weight:500}
.history button.selected{border-color:#0c8bf7;background:#f7fbff}
.expired-card{text-align:center;padding:clamp(20px,4vw,34px)}
.expired-card h2{font-size:clamp(21px,4.8vw,27px);font-weight:700;color:#202020;margin:0 0 8px}
.expired-card>p{margin:12px 0;color:#777}
.paid-offer{display:grid;gap:3px;align-items:center;justify-items:center;border:1px solid #e3e5e8;border-radius:14px;padding:13px 12px;margin:18px 0 12px;color:#202020}
.paid-offer span{font-size:14px;font-weight:700}
.paid-offer strong{font-size:clamp(22px,5vw,28px);line-height:1.35}
.paid-cta{display:block;width:100%;min-height:48px;margin:12px 0;background:#1769e8}
.paid-cta:disabled{background:#eef0f3;color:#85878a;opacity:1;cursor:not-allowed}
.paid-link-status{font-size:12px;margin:8px 0!important}
.history-tools{margin:14px 0 6px!important}
.expired-card .history{margin-top:12px;text-align:left}
.chat-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;margin-top:14px}
.chat-form textarea{min-height:66px;max-height:220px;border-radius:14px}
.chat-form button{width:46px;height:46px;padding:0;border-radius:50%}
.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}
fieldset{border:1px solid #dce4eb;border-radius:10px;margin:0;padding:14px}
fieldset p{white-space:pre-wrap;max-height:12rem;overflow:auto;color:#637682;line-height:1.6}
.consent-check{display:flex;align-items:flex-start;gap:9px}
.consent-check input{width:auto;margin-top:4px}
footer{padding:0 0 28px;color:#637682}
@media(max-width:600px){header{height:60px}.brand img{width:28px;height:28px}.brand strong{font-size:18px}.brand span{display:none}main{padding-top:14px}.hero{min-height:460px;padding:18px 16px 24px;border-radius:22px}.hero-robot{width:min(68vw,300px);height:clamp(205px,60vw,270px)}.hero h1{font-size:46px}.hero-specialty{font-size:16px}.hero-trial-label{font-size:16px;margin-top:16px}.hero-tagline{font-size:20px;margin-top:17px}.intro-copy{margin:16px 4px 20px}.card{border-radius:12px}.chat-head{align-items:flex-start}.bubble.user{margin-left:4%}.bubble.assistant{margin-right:2%}.messages{height:52vh}}
.history-search-label{margin-top:14px}.branch-action{display:block;margin-top:8px;padding:7px 10px;font-size:12px;background:#f0f7fb;color:#24617a;border:1px solid #cbdce4}.branch-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.branch-links button{min-height:36px;padding:7px 12px;font-size:13px;background:#edf5f8;color:#234b5e}
