:root{font-family:Inter,Segoe UI,Noto Sans JP,sans-serif;color:#19382f;background:#f7f8f3;font-synthesis:none;line-height:1.7;font-size:16px;--accent: #245d50;--muted: #586b63;--border: #dce4da;--surface: #fffefa;--danger: #a32931}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:9px 18px;cursor:pointer;color:inherit;transition:background .16s}button:hover{background:#edf1e9}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:var(--danger);border-color:#dcb9bb}button.text{border-color:transparent;background:transparent;padding-left:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd7a2b;outline-offset:3px}a{color:var(--accent)}h1{font-size:clamp(27px,3vw,42px);font-weight:550;letter-spacing:-.04em;line-height:1.4;margin:12px 0 20px}h2{font-size:20px;font-weight:600;margin:0 0 18px}h3{font-size:16px;margin-top:32px}p{margin:12px 0 20px}em{font-style:normal;color:var(--accent)}small,.fine{font-size:13px;color:var(--muted)}small{display:block}.layout{display:grid;grid-template-columns:242px 1fr;min-height:100dvh}aside{padding:40px 26px;border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;background:#fff}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:27px;font-weight:600;letter-spacing:-1px;flex-wrap:nowrap}.brand img{width:36px;height:36px;border-radius:11px}.brand .brand-wordmark{width:130px;height:auto;border-radius:0}.brand span{font-size:9px;letter-spacing:4px;flex-basis:100%;padding-left:46px;margin-top:-10px}.aside-note{font-size:12px;color:var(--muted);margin:30px 0 50px}nav{display:flex;flex-direction:column;gap:8px}nav button{text-align:left;border-color:transparent;background:transparent}nav button[aria-current=page]{background:#e0e9dd;color:var(--accent);font-weight:600}footer{margin-top:auto;display:flex;flex-direction:column;gap:12px;font-size:12px}footer a{text-decoration:none}footer small{font-size:10px;margin-top:16px}main{width:100%;max-width:1350px;padding:38px clamp(22px,5vw,82px) 64px;min-width:0}header{display:flex;justify-content:space-between;gap:12px;margin-bottom:64px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.1px;color:var(--muted)}.status{font-size:11px;color:var(--muted)}.welcome{max-width:650px;margin:60px auto}.welcome h1{font-size:clamp(38px,5vw,64px);margin:25px 0}.pill{display:inline-block;border:1px solid var(--border);border-radius:30px;padding:5px 13px;font-size:12px}.lead{color:var(--muted);margin-bottom:36px}.welcome .card{max-width:460px;margin-top:36px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;margin-bottom:24px;min-width:0}label{display:flex;flex-direction:column;font-size:13px;gap:8px;margin-bottom:18px}input,select,textarea{border:1px solid #c8d3c7;border-radius:8px;padding:10px 12px;min-height:46px;background:#fffefa;color:inherit;min-width:0;width:100%}textarea{resize:vertical;min-height:80px}.muted{font-size:14px;color:var(--muted)}.page-title{display:flex;justify-content:space-between;gap:24px;align-items:center}.persona-select{min-width:150px;max-width:220px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:24px}.connection-list{max-width:850px}.connection-list .card{text-align:center;padding:55px 20px}.empty-symbol{display:grid;place-items:center;width:72px;height:72px;background:#edf1e7;border:1px solid var(--border);border-radius:50%;margin:0 auto 25px;font-family:Georgia,serif;font-size:38px;color:#68866a}.connection{display:flex;align-items:center;width:100%;gap:20px;padding:24px;margin-bottom:12px;text-align:left;border-radius:16px}.avatar{display:grid;place-items:center;background:#e5ecdf;width:52px;height:52px;border-radius:50%;font-size:22px}.arrow{margin-left:auto;color:var(--muted)}.error{padding:16px;border:1px solid #c87b80;background:#fff1f0;border-radius:10px;margin-bottom:24px;color:#87272d;display:flex;justify-content:space-between;gap:16px}.notice{background:#edf1e7;border-radius:8px;padding:12px 16px;font-size:13px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.share{padding:24px 0;overflow-wrap:anywhere}.confirmation-code{font-size:32px;font-variant-numeric:tabular-nums;letter-spacing:8px;font-weight:650}.consent-check{display:flex;flex-direction:row;align-items:flex-start;gap:12px}.consent-check input{width:24px;min-width:24px;min-height:24px;height:24px}.callback-link{display:inline-block;padding:12px 18px;background:var(--accent);color:#fff;border-radius:10px;text-decoration:none;margin-bottom:20px}.share img{display:block;max-width:100%;height:auto;margin:0 auto 20px}.messages{height:clamp(250px,45dvh,600px);overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.message{align-self:flex-start;max-width:85%;padding:12px 18px;border:1px solid var(--border);border-radius:15px;background:#f1f3ec;overflow-wrap:anywhere;white-space:pre-wrap}.message p{margin:0 0 4px}.message.mine{align-self:flex-end;background:#e4eee0}.message small{font-size:10px}.compose{display:flex;gap:12px;align-items:flex-end;margin:20px 0}.compose label{flex:1;margin:0}.compose button{margin-bottom:4px}details{border-top:1px solid var(--border);padding-top:20px}summary{cursor:pointer;min-height:44px}details button{margin:8px 8px 0 0}.handoff{border-top:1px solid var(--border);padding-top:20px}.handoff button{margin:4px}form button+button{margin-left:8px}@media(max-width:760px){.layout{display:block}aside{position:static;height:auto;padding:calc(18px + env(safe-area-inset-top)) 20px 18px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:23px}.brand span{display:none}.brand img{width:30px;height:30px}.aside-note,footer{display:none}nav{flex-direction:row;overflow:auto;margin:16px -6px 0;gap:4px}nav button{white-space:nowrap;padding:8px 12px;font-size:13px}main{padding:24px 20px calc(32px + env(safe-area-inset-bottom))}header{margin-bottom:32px;flex-wrap:wrap}.page-title{display:block}.persona-select{max-width:100%}.welcome{margin:32px auto}.card{padding:22px}.grid{gap:0}.status{font-size:10px}.compose{align-items:stretch;flex-direction:column}.compose button{align-self:flex-end}.connection{padding:18px}.page-title h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
