:root{font-family:Hiragino Sans,Noto Sans JP,sans-serif;color:#14213d;background:radial-gradient(circle at top left,rgba(244,162,97,.35),transparent 35%),radial-gradient(circle at bottom right,rgba(42,157,143,.25),transparent 40%),#f7f3eb}*{box-sizing:border-box}body{margin:0;min-height:100vh}button{font:inherit}.page-shell{min-height:100vh;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;padding:24px}.hero-card{align-self:center;width:min(760px,100%);background:#fffcf6e6;border:1px solid rgba(20,33,61,.08);border-radius:28px;padding:32px;box-shadow:0 24px 60px #14213d1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-footer{width:min(760px,100%);padding-top:16px;color:#14213db3;font-size:.82rem;line-height:1.5;text-align:center}.eyebrow{margin:0 0 12px;color:#2a9d8f;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.hero-card h1{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.lead{margin:16px 0 0;font-size:1rem;line-height:1.8;color:#3b4a68}.hero-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px}.utility-actions{position:relative;display:flex;flex-wrap:wrap;gap:10px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.primary-button,.secondary-button,.retry-button,.utility-button{border-radius:999px;padding:10px 16px;border:none;cursor:pointer}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed}.primary-button{background:#14213d;color:#fff}.secondary-button,.retry-button{background:#e9c46a;color:#14213d}.utility-button{background:transparent;color:#52617a;border:1px solid rgba(20,33,61,.12)}.menu-toggle{display:inline-flex;align-items:center;gap:8px}.menu-toggle-icon{font-size:1rem;line-height:1}.menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;padding:8px;display:grid;gap:4px;border-radius:18px;background:#fffaf1;border:1px solid rgba(20,33,61,.1);box-shadow:0 18px 40px #14213d1f;z-index:10}.menu-item{text-align:left;padding:12px 14px;border:none;border-radius:12px;background:transparent;color:#14213d;cursor:pointer;transition:transform .18s ease,background-color .22s ease,box-shadow .22s ease}.menu-item:hover{background:#2a9d8f14;transform:translateY(-1px);box-shadow:0 10px 20px #14213d0f}.menu-item-danger{color:#9f2a2a}.loading-card,.retry-panel,.screen-card{border-radius:18px;background:#fffaf1;border:1px solid rgba(20,33,61,.08);padding:16px}.loading-card,.retry-panel{margin-top:20px}.screen-shell{margin-top:28px}.session-page{place-items:start center;padding:36px 24px}.session-page .hero-card{width:min(1040px,100%);background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.session-page .hero-card h1{font-size:clamp(2rem,4vw,2.8rem)}.session-page .lead{margin-top:8px}.session-page .hero-toolbar{margin-top:14px}.session-page .screen-shell{width:100%;margin-top:28px;padding-top:24px;border-top:1px solid rgba(20,33,61,.12)}.session-page .screen-card{background:transparent;border:none;border-radius:0;padding:0}.screen-label{margin:0 0 8px;color:#2a9d8f;font-size:.84rem;font-weight:700}.screen-card h2{margin:0}.app-page{place-items:start center;padding:36px 24px}.app-page .hero-card{width:min(1040px,100%);background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-page .hero-card h1{font-size:clamp(2.3rem,5vw,4rem)}.app-page .hero-toolbar{margin-top:22px}.app-page .screen-shell{width:100%;margin-top:28px;padding-top:24px;border-top:1px solid rgba(20,33,61,.12)}.app-page .screen-card{background:transparent;border:none;border-radius:0;padding:0}.home-screen{display:grid;gap:18px}.home-screen>p{margin:0}.home-screen h2{font-size:clamp(2rem,4vw,3rem)}.home-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(20,33,61,.12);border-radius:8px;background:#14213d1f}.home-status>div{display:grid;gap:8px;padding:18px;background:#fffaf1c7}.status-label{color:#52617a;font-size:.86rem;font-weight:700}.home-status strong{color:#14213d;font-size:1.6rem;line-height:1.2}.billing-screen{display:grid;gap:18px}.billing-screen>p{max-width:42rem;margin:0;color:#3b4a68;line-height:1.8}.billing-screen h2{font-size:clamp(2rem,4vw,3rem)}.billing-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px;border-radius:8px;background:linear-gradient(135deg,#e9c46a3d,#2a9d8f1f),#fffaf1db;border:1px solid rgba(20,33,61,.12)}.billing-plan h3{margin:0;color:#14213d;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2}.billing-plan p{max-width:34rem;margin:12px 0 0;color:#3b4a68;line-height:1.75}.billing-price{display:grid;justify-items:end;gap:4px;color:#52617a;font-weight:700}.billing-price strong{color:#14213d;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.billing-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(20,33,61,.12);border-radius:8px;background:#14213d1f}.billing-benefits>div{display:grid;gap:8px;padding:18px;background:#fffaf1c7}.billing-benefits strong{color:#14213d;font-size:1.45rem;line-height:1.2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#14213d57}.confirm-dialog{position:relative;width:min(480px,100%);padding:28px;border:1px solid rgba(20,33,61,.12);border-radius:8px;background:#fffaf1fa;box-shadow:0 24px 70px #14213d3d}.confirm-dialog h2{margin:0;color:#14213d;font-size:clamp(1.5rem,4vw,2rem);line-height:1.3}.confirm-dialog>p:not(.screen-label){margin:16px 0 0;color:#3b4a68;line-height:1.8}.dialog-actions{justify-content:flex-end}.dialog-close-button{position:absolute;top:14px;right:14px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid rgba(20,33,61,.12);border-radius:999px;background:transparent;color:#52617a}.login-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.login-page{place-items:center;background:linear-gradient(135deg,rgba(42,157,143,.18),transparent 34%),radial-gradient(circle at 82% 18%,rgba(233,196,106,.26),transparent 28%),#f7f3eb}.login-page .hero-card{width:min(940px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,420px);gap:24px 32px;align-items:center;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.login-page .hero-card>.eyebrow,.login-page .hero-card>h1,.login-page .hero-card>.lead,.top-features{grid-column:1}.login-page .hero-card>h1{max-width:9em;font-size:clamp(2.6rem,6vw,4.5rem);white-space:nowrap}.login-page .hero-card>.lead{max-width:34rem;font-size:1.05rem}.login-page .screen-shell{grid-column:2;grid-row:1 / span 4;margin-top:0;width:100%;min-width:0}.top-features{display:grid;gap:10px;margin-top:8px}.top-feature-card{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;padding:14px 0;border-top:1px solid rgba(20,33,61,.1)}.top-feature-card:last-child{border-bottom:1px solid rgba(20,33,61,.1)}.top-feature-number{grid-row:1 / span 2;min-width:34px;color:#2a9d8f;font-size:.78rem;font-weight:800}.top-feature-card h2{margin:0;color:#14213d;font-size:1rem;line-height:1.45}.top-feature-card p{margin:0;color:#52617a;font-size:.92rem;line-height:1.7}.login-screen-card{width:100%;box-sizing:border-box;min-height:360px;display:grid;align-content:center;gap:14px;padding:32px;border-radius:8px;background:#fff;border:1px solid rgba(20,33,61,.1);box-shadow:0 18px 44px #14213d21}.login-screen-card h2{font-size:1.65rem;line-height:1.35}.login-screen-card p{margin:0;color:#3b4a68;line-height:1.8}.login-screen-card .screen-label{color:#2a9d8f}.login-screen-card .login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.login-screen-card .primary-button,.login-screen-card .secondary-button{width:100%;min-height:48px;border-radius:8px;font-weight:700}.login-footnote{font-size:.86rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:8px;background:#f4efe5}.auth-tab{min-height:38px;border:none;border-radius:6px;background:transparent;color:#52617a;cursor:pointer;font-weight:700}.auth-tab:disabled{cursor:not-allowed;opacity:.55}.auth-tab-active{background:#fff;color:#14213d;box-shadow:0 6px 14px #14213d14}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:6px;color:#14213d;font-size:.9rem;font-weight:700}.auth-form input{width:100%;min-height:44px;border:1px solid rgba(20,33,61,.16);border-radius:8px;padding:10px 12px;background:#fffdf8;color:#14213d;font:inherit}.auth-form input:focus{outline:3px solid rgba(42,157,143,.2);border-color:#2a9d8f}.input-help{font-size:.82rem}.section-note{margin:12px 0 0;color:#52617a;font-size:.92rem}.card-grid,.mock-list{display:grid;gap:12px;margin-top:16px}.reflection-grid{display:grid;gap:12px;margin-top:18px}.reflection-card{padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(20,33,61,.08)}.reflection-card p:last-child{margin:0}.reflection-card-label{margin:0 0 8px;color:#2a9d8f;font-size:.92rem;font-weight:700}.cta-block{margin-top:18px}.cta-button{width:100%;justify-content:center;padding:14px 20px;font-weight:600;letter-spacing:.01em}.secondary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mock-list-item{display:flex;gap:12px;align-items:center}.mock-list-item.selected,.selected-button{outline:2px solid rgba(42,157,143,.45)}.mock-list-item .list-item-button{flex:1;display:grid;gap:4px}.list-item-meta{color:#4a5875;font-size:.88rem;font-weight:500}.history-detail-panel{margin-top:24px;padding-top:20px;border-top:1px solid rgba(20,33,61,.08)}.history-detail-panel h3{margin:0}.reflection-summary{margin-top:18px}.reflection-summary h4{margin:0 0 10px;font-size:.98rem}.compact-list{gap:8px}.conversation-box{margin-top:16px;padding:16px;border-radius:16px;background:#fff;border:1px dashed rgba(20,33,61,.18)}.realtime-panel{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px;border-radius:14px;background:#fff;border:1px solid rgba(20,33,61,.1)}.session-top-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,.9fr);gap:18px;align-items:end}.session-top-row .realtime-panel{margin-top:0}.audio-guard-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#52617a;font-size:.9rem;font-weight:700}.audio-guard-toggle input{width:18px;height:18px;accent-color:#2a9d8f}.realtime-meter{width:78px;height:52px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:8px;padding:8px;border-radius:12px;background:#14213d}.realtime-meter span{display:block;height:18px;border-radius:999px;background:#2a9d8f}.realtime-meter-connected span,.realtime-meter-starting span{animation:realtime-bars .9s infinite ease-in-out}.realtime-meter span:nth-child(2){animation-delay:.12s}.realtime-meter span:nth-child(3){animation-delay:.24s}.realtime-meter-error span{background:#d9485f}.realtime-status{margin:0;font-weight:700}.realtime-log{display:grid;gap:8px}.session-conversation-log{min-height:168px;max-height:min(46vh,430px);overflow-y:auto;scroll-behavior:smooth}.conversation-heading{margin:0 0 10px;color:#14213d;font-size:.9rem;font-weight:800}.empty-conversation{margin:0;color:#52617a;font-size:.92rem}.realtime-log p{margin:0;color:#3b4a68;font-size:.9rem}.chat-row+.chat-row{margin-top:14px}.chat-row.user-row{display:flex;flex-direction:column;align-items:flex-end}.chat-speaker{margin:0 0 6px;color:#52617a;font-size:.86rem;font-weight:700}.chat-bubble{max-width:min(100%,680px);padding:14px 16px;border-radius:18px;line-height:1.7;word-break:break-word}@media (max-width: 760px){.page-shell{padding:12px}.app-footer{padding-top:12px;font-size:.78rem}.hero-card,.session-page .hero-card{padding:18px}.session-page .hero-card{padding:0}.session-top-row{grid-template-columns:1fr;gap:12px}.session-conversation-log{max-height:48vh}}.assistant-bubble{background:#eef4ff;border-top-left-radius:8px}.user-bubble{background:#fff4de;border-top-right-radius:8px}.partial-indicator{color:#52617a}.form-stack{display:grid;gap:8px;margin-top:16px}.selected-file-name{margin:0;color:#3b4a68;font-size:.92rem}.upload-button{width:fit-content;margin-top:4px}.inline-error,.form-error{margin:0;color:#dc2626;font-size:.92rem;font-weight:700}.login-screen-card p.inline-error{color:#dc2626}.inline-success{margin:0;color:#24796f;font-size:.92rem;font-weight:700}.danger-button{background:#d9485f;color:#fff}.utility-link-button{margin-top:12px;padding:0;border:none;background:transparent;color:#2a9d8f;font-weight:700;cursor:pointer}.list-item-button{text-align:left;padding:12px 14px;border-radius:14px;border:1px solid rgba(20,33,61,.1);background:#fff;cursor:pointer}.loading-body,.retry-panel p{margin:8px 0 0;color:#4a5875}.loading-dots{display:inline-flex;gap:6px;margin-top:14px}.loading-dots span{width:10px;height:10px;border-radius:999px;background:#2a9d8f;animation:pulse 1.2s infinite ease-in-out}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes realtime-bars{0%,to{height:14px}50%{height:34px}}@media (max-width: 640px){.login-page .hero-card{grid-template-columns:1fr;gap:22px}.login-page .screen-shell,.login-page .hero-card>.eyebrow,.login-page .hero-card>h1,.login-page .hero-card>.lead,.top-features{grid-column:1;grid-row:auto}.login-page .hero-card>h1{white-space:normal}.login-screen-card{min-height:auto;padding:22px}.login-screen-card .login-actions{grid-template-columns:1fr}.app-page{padding:24px}.home-status,.billing-plan{grid-template-columns:1fr}.billing-price{justify-items:start}.billing-benefits{grid-template-columns:1fr}.hero-card{padding:24px}.hero-toolbar{align-items:stretch}.utility-actions,.actions{width:100%}.utility-actions .utility-button,.actions button,.hero-toolbar>.primary-button{flex:1 1 auto}}
