:root{--bg:#fff;--ink:#15171c;--ink-2:#4a4f5a;--ink-3:#8a909c;--accent:#e5383b;--accent-2:#ff7a45;--line:#14182114;--glass:#ffffff85;--glass-strong:#ffffffb8;--glass-edge:#ffffffd9;--glass-shadow:0 10px 40px #1e243c14, 0 2px 8px #1e243c0d;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--radius-l:26px;--safe-b:env(safe-area-inset-bottom);--safe-t:env(safe-area-inset-top);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0}body{-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.7}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}textarea{font:inherit}:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:2px}.ambient{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient i{filter:blur(60px);opacity:.45;will-change:transform;border-radius:50%;width:60vmax;height:60vmax;animation:26s ease-in-out infinite alternate drift;position:absolute}.ambient i:first-child{background:radial-gradient(circle,#ffb199 0%,#0000 65%);top:-28vmax;left:-18vmax}.ambient i:nth-child(2){background:radial-gradient(circle,#ffd6a5 0%,#0000 65%);animation-duration:32s;animation-delay:-8s;bottom:-30vmax;right:-22vmax}.ambient i:nth-child(3){opacity:.22;background:radial-gradient(circle,#c9dcff 0%,#0000 65%);width:40vmax;height:40vmax;animation-duration:38s;animation-delay:-14s;top:30%;left:40%}@keyframes drift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(6vmax,4vmax)scale(1.08)}to{transform:translate(-4vmax,7vmax)scale(.96)}}.glass{-webkit-backdrop-filter:blur(22px)saturate(180%);backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--glass-edge);box-shadow:inset 0 1px 0 #fffffff2, inset 0 -1px 1px #ffffff59, inset 0 0 18px #ffffff59, var(--glass-shadow);isolation:isolate;background:linear-gradient(160deg,#ffffffb3,#ffffff61);position:relative}.glass:before{content:"";border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(240px circle at var(--mx,30%) var(--my,0%), #ffffffe6, transparent 60%);opacity:.55;transition:opacity .4s;position:absolute;inset:0}.glass:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(120deg,#0000 35%,#ffffff80 50%,#0000 65%) 120% 0/250% 100%;position:absolute;inset:0}.glass.shine:after{animation:sheen 1.1s var(--ease-out)}@keyframes sheen{0%{opacity:0;background-position:120% 0}30%{opacity:1}to{opacity:0;background-position:-30% 0}}.app{z-index:1;height:100dvh;animation:appIn .6s var(--ease-out);flex-direction:column;display:flex;position:relative}@keyframes appIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.header{z-index:20;margin:max(12px, var(--safe-t)) 16px 0;height:52px;transition:transform .45s var(--spring), height .35s var(--ease-out);border-radius:26px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;display:flex;position:sticky;top:0}.header.compact{transform:translateY(-4px)scale(.98)}.brand{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700;display:flex}.brand img{width:22px;height:22px}.brand-area{color:var(--ink-2);margin-left:-2px;font-size:12px;font-weight:500}.icon-btn{width:36px;height:36px;transition:transform .35s var(--spring), background .2s ease;border-radius:50%;place-items:center;display:grid}.icon-btn:hover{background:#fff9}.icon-btn:active{transform:scale(.88)}.avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.avatar-fallback{color:#fff;background:linear-gradient(140deg, var(--accent-2), var(--accent));border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.badge{white-space:nowrap;color:var(--accent);font-variant-numeric:tabular-nums;animation:popIn .5s var(--spring);background:#e5383b14;border:1px solid #e5383b29;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.right{align-items:center;gap:6px;display:flex}.thread{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;padding:20px 16px 24px;overflow-y:auto}.thread-inner{flex-direction:column;gap:14px;max-width:720px;margin:0 auto;display:flex}.msg{max-width:88%;animation:msgIn .55s var(--spring) both;transform-origin:0 100%;align-self:flex-start}.msg.user{transform-origin:100% 100%;align-self:flex-end}@keyframes msgIn{0%{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.94)}to{opacity:1;filter:none;transform:none}}.bubble{word-break:break-word;border-radius:22px;padding:12px 16px}.user .bubble{color:#fff;white-space:pre-wrap;background:linear-gradient(150deg, var(--accent-2), var(--accent));border-bottom-right-radius:8px;box-shadow:0 8px 24px #e5383b38,inset 0 1px #ffffff59}.assistant .bubble{border-bottom-left-radius:8px}.md h3{margin:10px 0 4px;font-size:15px}.md h3:first-child{margin-top:0}.md p{margin:0 0 8px}.md p:last-child,.md ul:last-child,.md ol:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:1.3em}.md li{margin:2px 0}.md strong{color:#000;font-weight:700}.cite{min-width:18px;height:18px;color:var(--accent);vertical-align:2px;font-variant-numeric:tabular-nums;background:#e5383b1a;border-radius:999px;place-items:center;margin:0 2px;padding:0 4px;font-size:10.5px;font-weight:700;display:inline-grid}.sources{border-radius:18px;margin-top:6px;padding:8px 14px;font-size:13px;animation:.4s .15s both fadeIn}.sources summary{cursor:pointer;color:var(--ink-2);font-weight:600;list-style:none}.sources summary::-webkit-details-marker{display:none}.sources summary:after{content:"＋";color:var(--ink-3);transition:transform .3s var(--spring);margin-left:6px;display:inline-block}.sources[open] summary:after{transform:rotate(45deg)}.sources ol{flex-direction:column;gap:6px;margin:8px 0 2px;padding:0;list-style:none;display:flex}.sources li{animation:chipIn .45s var(--spring) both;align-items:baseline;gap:6px;display:flex}.sources a{color:var(--ink-2);border-bottom:1px solid var(--line);text-decoration:none}.caret{vertical-align:-.15em;background:var(--accent);border-radius:2px;width:7px;height:1.05em;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.typing{gap:5px;padding:6px 2px;display:inline-flex}.typing span{background:var(--ink-3);width:7px;height:7px;animation:bounce 1.2s var(--ease-out) infinite;border-radius:50%}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.msg-actions{gap:4px;margin-top:4px;padding-left:6px;animation:.4s .2s both fadeIn;display:flex}.mini-btn{color:var(--ink-3);transition:background .2s, color .2s, transform .3s var(--spring);border-radius:999px;padding:4px 8px;font-size:12px}.mini-btn:hover{color:var(--ink-2);background:#0000000a}.mini-btn:active{transform:scale(.92)}.empty{flex-direction:column;flex:1;justify-content:flex-end;gap:10px;width:100%;max-width:720px;margin:0 auto;padding-bottom:6px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--ink-2);animation:chipIn .6s var(--spring) both;transition:transform .35s var(--spring), color .2s;border-radius:999px;padding:10px 14px;font-size:14px}.chip:hover{color:var(--ink);transform:translateY(-2px)}.chip:active{transform:scale(.95)}@keyframes chipIn{0%{opacity:0;transform:translateY(16px)scale(.9)}to{opacity:1;transform:none}}.composer-wrap{z-index:10;padding:6px 16px max(10px, var(--safe-b));position:relative}.composer{max-width:720px;transition:box-shadow .35s ease, transform .45s var(--spring);border-radius:28px;align-items:flex-end;gap:8px;margin:0 auto;padding:6px 6px 6px 18px;display:flex}.composer.focus{box-shadow:inset 0 1px 0 #fffffff2, 0 0 0 4px #e5383b14, var(--glass-shadow);transform:translateY(-2px)}.composer textarea{resize:none;color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-height:44px;max-height:168px;padding:10px 0;font-size:16px;line-height:1.5}.composer textarea::placeholder{color:var(--ink-3)}.send{color:#fff;background:linear-gradient(150deg, var(--accent-2), var(--accent));width:44px;height:44px;transition:transform .4s var(--spring), opacity .25s ease, filter .25s ease;border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 6px 18px #e5383b4d,inset 0 1px #fff6}.send:disabled{opacity:.35;filter:grayscale(.4);cursor:default;box-shadow:none;transform:scale(.9)}.send:not(:disabled):active{transform:scale(.86)}.send svg{transition:transform .45s var(--spring)}.send.busy svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.note{text-align:center;max-width:720px;color:var(--ink-3);margin:6px auto 0;font-size:11px;line-height:1.5}.note a{color:inherit}.ripple{pointer-events:none;background:#ffffff8c;border-radius:50%;animation:.6s ease-out ripple;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(2.6)}}.rp{position:relative;overflow:hidden}.scrim{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14161e2e;animation:.3s both fadeIn;position:fixed;inset:0}.scrim.out{animation:.28s both fadeOut}.sheet{left:8px;right:8px;bottom:max(8px, var(--safe-b));z-index:41;max-width:560px;max-height:82dvh;animation:sheetIn .6s var(--spring) both;background:linear-gradient(170deg,#ffffffdb,#ffffffb3);border-radius:30px;margin:0 auto;padding:10px 20px 22px;position:fixed;overflow-y:auto}.sheet:focus{outline:none}.sheet.out{animation:sheetOut .3s var(--ease-out) both}@keyframes sheetIn{0%{opacity:.4;transform:translateY(110%)scale(.96)}to{opacity:1;transform:none}}@keyframes sheetOut{to{opacity:.4;transform:translateY(110%)}}.grab{background:#0000001f;border-radius:3px;width:40px;height:5px;margin:0 auto 14px}.sheet h2{margin:4px 0 6px;font-size:18px}.sheet p{color:var(--ink-2);margin:0 0 14px;font-size:14px}.stagger>*{animation:chipIn .55s var(--spring) both}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.btn{width:100%;min-height:50px;transition:transform .4s var(--spring), box-shadow .25s ease, opacity .2s;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{color:#fff;background:linear-gradient(150deg, var(--accent-2), var(--accent));box-shadow:0 8px 22px #e5383b47,inset 0 1px #ffffff59}.btn-google{color:var(--ink);border:1px solid var(--line);background:#fff;box-shadow:0 4px 14px #0000000f}.btn-ghost{color:var(--ink-2);border:1px solid var(--line);background:#ffffff80}.price{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.2}.price small{color:var(--ink-2);margin-left:4px;font-size:14px;font-weight:600}.terms{color:var(--ink-3);margin-top:12px;font-size:12px;line-height:1.6}.terms a{color:var(--ink-2)}.list{flex-direction:column;gap:4px;margin:6px 0 14px;display:flex}.row{text-align:left;width:100%;transition:background .2s, transform .3s var(--spring);border-radius:14px;align-items:center;gap:10px;padding:12px;font-size:15px;display:flex}.row:hover{background:#00000009}.row:active{transform:scale(.98)}.row .t{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.row.active{color:var(--accent);background:#e5383b12}.section-label{color:var(--ink-3);margin:10px 4px 2px;font-size:12px;font-weight:600}.links{flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:12px;display:flex}.links a{color:var(--ink-3)}.sk-row{height:44px;margin:4px 0}.toast{left:50%;top:max(76px, calc(var(--safe-t) + 70px));z-index:60;animation:toastIn .5s var(--spring) both;border-radius:999px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-16px)scale(.9)}to{opacity:1;transform:translate(-50%)}}.legal{z-index:1;max-width:720px;animation:appIn .5s var(--ease-out);margin:0 auto;padding:24px 16px 60px;position:relative}.legal .card{border-radius:24px;padding:22px 20px}.legal h1{margin:0 0 14px;font-size:20px}.legal h2{margin:18px 0 6px;font-size:15px}.legal p,.legal li{color:var(--ink-2);font-size:14px}.legal dl{margin:0}.legal dt{margin-top:12px;font-size:13px;font-weight:700}.legal dd{color:var(--ink-2);margin:2px 0 0;font-size:14px}.back{color:var(--ink-2);align-items:center;gap:4px;margin-bottom:14px;font-size:14px;text-decoration:none;display:inline-flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ambient i{animation:none}}.handoff{border-radius:18px;margin-top:8px;padding:12px 14px;font-size:13px;animation:.4s .2s both fadeIn}.handoff strong{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}.handoff p{color:var(--ink-2);margin:0 0 10px;line-height:1.6}.handoff.lane-bengoshi p{margin-bottom:0}.handoff .btn{width:auto;padding:10px 16px;font-size:14px}.handoff-done{color:var(--ink-2);background:#1418210d;border-radius:999px;padding:6px 12px;font-weight:600;display:inline-block}.handoff-form label{color:var(--ink-2);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.handoff-form input:not([type=checkbox]),.handoff-form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);resize:vertical;background:#fffc;border-radius:12px;outline:0;padding:10px 12px;font-size:16px;font-weight:400}.handoff-form input:focus,.handoff-form textarea:focus{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.handoff-form .consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.6}.handoff-form .consent input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:4px}
