:root{--bg:#f3f1ec;--surface:#fff;--surface-2:#e9e6df;--fg:#1d2326;--muted:#5d676b;--line:#d9d5cc;--accent:#2f5d62;--accent-fg:#fff;--accent-soft:#dce8e8;--warn:#9a5b13;--warn-soft:#f6e8d4;--danger:#a33a32;--ok:#2e6b3f;--shadow:0 1px 2px #141e200f, 0 4px 16px #141e200f;--radius:14px;--font:system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;--font-en:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141a1c;--surface:#1d2528;--surface-2:#263033;--fg:#e9ecea;--muted:#9aa6a8;--line:#313c3f;--accent:#7fb3b0;--accent-fg:#0f1a1b;--accent-soft:#23393a;--warn:#e2a65c;--warn-soft:#3a2e1d;--danger:#e0786e;--ok:#7fc28f;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{max-width:480px;min-height:100%;padding-top:env(safe-area-inset-top,0px);flex-direction:column;margin:0 auto;display:flex}.screen{padding:20px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px));flex-direction:column;flex:1;gap:16px;display:flex}.screen.with-tabs{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.spacer{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.center{text-align:center}h1{text-wrap:balance;margin:0;font-size:24px;line-height:1.35}h2{margin:0;font-size:18px}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.en{font-family:var(--font-en)}.topbar{align-items:center;gap:8px;min-height:40px;display:flex}.back{color:var(--accent);background:0 0;border:0;padding:4px 8px 4px 0;font-size:24px}.steps{gap:6px;display:flex}.steps i{background:var(--line);border-radius:2px;width:24px;height:4px}.steps i.on{background:var(--accent)}.btn{border:1px solid var(--line);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.big{width:100%;min-height:60px;font-size:18px}.btn.block{width:100%}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.link{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:8px;text-decoration:underline}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list>*+*{border-top:1px solid var(--line)}.list-item{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 16px;display:flex}.list-item .chev{color:var(--muted);margin-left:auto}.section-label{color:var(--muted);letter-spacing:.04em;margin:8px 4px -4px;font-size:13px}.badge-ai{letter-spacing:.06em;color:var(--muted);vertical-align:middle;border:1px solid;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.pill{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.pill.warn{background:var(--warn-soft);color:var(--warn)}.field{flex-direction:column;gap:6px;display:flex}.input{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:52px;padding:12px 14px;font-size:18px}.input:focus{border-color:var(--accent);outline:none}.input.invalid{border-color:var(--danger)}.field-foot{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.error{color:var(--danger);font-size:14px}.segmented{background:var(--surface-2);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;display:grid}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:999px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.choice{text-align:left;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);align-items:center;gap:14px;width:100%;padding:16px;display:flex}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.bubble{background:var(--surface);box-shadow:var(--shadow);font-family:var(--font-en);border-radius:18px;padding:12px 16px;font-size:17px;position:relative}.bubble:before{content:"";background:var(--surface);width:14px;height:14px;position:absolute;top:18px;left:-6px;transform:rotate(45deg)}.toast{left:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);z-index:50;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;position:fixed;transform:translate(-50%)}.demo-banner{text-align:center;background:var(--warn-soft);color:var(--warn);padding:4px 8px;font-size:12px}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{grid-template-columns:repeat(3,1fr);width:100%;max-width:480px;display:grid}.tabbar a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;font-size:12px;text-decoration:none;display:flex}.tabbar a svg{width:24px;height:24px}.tabbar a.active{color:var(--accent);font-weight:700}.backdrop{z-index:30;background:#0a0f1073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;max-height:88%;padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;flex-direction:column;gap:14px;display:flex;overflow:auto}.sheet-handle{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 4px}.dialog-wrap{align-items:center;padding:16px}.dialog{background:var(--surface);border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:20px;display:flex}.avatar{border-radius:50%;flex:none;position:relative;overflow:hidden}.avatar svg{width:100%;height:100%;display:block}.avatar .eye{transform-origin:50%;transform-box:fill-box;animation:4.2s infinite blink}.avatar .mouth{transform-origin:50%;transform-box:fill-box;transition:transform .1s}.avatar.speaking .mouth{animation:.28s infinite alternate talk}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.3)}}.hello{font-size:22px;font-weight:700}.partner{align-items:center;gap:14px;display:flex}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}.stat b{font-variant-numeric:tabular-nums;font-size:22px}.loop{border-left:3px solid var(--accent);padding:4px 0 4px 12px}.call{background:var(--bg);flex-direction:column;min-height:100%;display:flex}.call-top{padding:12px max(16px, env(safe-area-inset-right,0px)) 8px max(16px, env(safe-area-inset-left,0px));align-items:center;gap:8px;display:flex}.timer{font-variant-numeric:tabular-nums;margin-left:auto;font-size:20px;font-weight:700}.timer.low{color:var(--warn)}.call-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:8px 16px;display:flex}.call-status{min-height:24px;color:var(--muted);font-size:14px}.wave{align-items:center;gap:5px;height:40px;display:flex}.wave i{background:var(--accent);border-radius:3px;width:5px;height:8px}.wave.on i{animation:.9s ease-in-out infinite wave}.wave.on i:nth-child(2){animation-delay:.1s}.wave.on i:nth-child(3){animation-delay:.2s}.wave.on i:nth-child(4){animation-delay:.3s}.wave.on i:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:8px}50%{height:34px}}.captions{flex-direction:column;gap:8px;width:100%;min-height:96px;display:flex}.cap{font-family:var(--font-en);border-radius:14px;max-width:92%;padding:10px 14px;font-size:17px;line-height:1.45}.cap.assistant{background:var(--surface);box-shadow:var(--shadow);align-self:flex-start}.cap.user{background:var(--accent-soft);align-self:flex-end}.call-controls{padding:12px max(16px, env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.help-btn{border:1.5px solid var(--accent);background:var(--surface);min-height:56px;color:var(--accent);border-radius:16px;justify-self:start;padding:0 14px;font-size:15px;font-weight:700}.mic{background:var(--accent);width:84px;height:84px;color:var(--accent-fg);touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.mic svg{width:32px;height:32px}.mic.on{box-shadow:0 0 0 8px var(--accent-soft)}.mic.off{background:var(--surface-2);color:var(--muted)}.more{justify-self:end}.choices{flex-direction:column;gap:8px;width:100%;padding:0 16px;display:flex}.choices button{border:1.5px solid var(--line);background:var(--surface);min-height:48px;font-family:var(--font-en);border-radius:12px;font-size:16px}.text-input{gap:8px;width:100%;padding:0 16px;display:flex}.text-input .input{min-height:48px;font-size:16px}.notice{background:var(--warn-soft);color:var(--warn);text-align:center;border-radius:12px;padding:8px 12px;font-size:14px}.help-answer{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:16px;display:flex}.help-answer .en{font-size:22px;font-weight:700;line-height:1.3}.saved{color:var(--ok);font-size:14px;font-weight:600}.expr{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.expr .en{font-size:19px;font-weight:700;line-height:1.35}.expr-actions{gap:8px;margin-top:6px;display:flex}.expr-actions .btn{min-height:40px;padding:0 14px;font-size:14px}.expr.mastered{opacity:.55}
