:root{color:#18342f;font-synthesis:none;text-rendering:optimizelegibility;--green-950:#102e28;--green-800:#1e4b40;--green-700:#2b6354;--green-100:#dcebe5;--cream:#fbf7ed;--paper:#fffdf7f5;--gold:#d89d35;--line:#1e4b4029;background:#f4f1e8;font-family:Noto Sans JP,Yu Gothic UI,Yu Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,textarea,select{font:inherit}button{cursor:pointer}body{background:radial-gradient(circle at 8% 8%,#d89d3521,#0000 26rem),radial-gradient(circle at 90% 86%,#50907d24,#0000 30rem),#f4f1e8;min-width:320px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{color:#fff;background:linear-gradient(120deg, var(--green-950), var(--green-800));align-items:center;gap:14px;min-height:78px;padding:12px clamp(18px,4vw,56px);display:flex;box-shadow:0 8px 28px #09241d2e}.brand-mark{color:#fff1bd;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;place-items:center;width:46px;height:46px;font-size:23px;display:grid}.topbar h1{letter-spacing:.04em;margin:1px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(20px,2.2vw,30px)}.topbar h1 span{color:#c7e4d9;margin-left:8px;font-family:inherit;font-size:.52em;font-weight:500}.eyebrow{color:#d4e8df;letter-spacing:.18em;margin:0;font-size:11px}.mode-switch{background:#00000026;border:1px solid #ffffff2b;border-radius:999px;gap:3px;margin-left:auto;padding:3px;display:flex}.mode-switch button{color:#d8e8e2;background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:11px;font-weight:800}.mode-switch button[data-active=true]{color:var(--green-950);background:#fff9e9;box-shadow:0 2px 9px #00000026}.topbar-status{background:#00000029;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:7px 11px;font-size:12px;display:flex}.mode-switch+.topbar-status{margin-left:0}.topbar-status span{background:#e5c36f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e5c36f1f}.topbar-status[data-online=true] span{background:#78d6a5;box-shadow:0 0 0 4px #78d6a524}.workspace{flex:1;grid-template-columns:minmax(330px,42%) 1fr;min-height:calc(100vh - 78px);display:grid}.avatar-panel{border-right:1px solid var(--line);background:linear-gradient(150deg,#f8f5eaed,#e2eee8d4);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:clamp(20px,3vw,42px);display:flex}.avatar-shell{flex-direction:column;align-items:center;width:min(100%,560px);display:flex;position:relative}.avatar-glow{filter:blur(24px);background:radial-gradient(circle,#5a978438,#0000 68%);border-radius:50%;position:absolute;inset:7% 8% 14%}.avatar-frame{aspect-ratio:1;background:#fffaf0;border:1px solid #ffffffdb;border-radius:38px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 70px #193f352e,inset 0 0 0 6px #ffffff59}.avatar-base,.avatar-layer{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.avatar-layer{will-change:opacity}.avatar-mouth{clip-path:inset(54% 30.5% 27.5% round 30%);animation:76ms ease-out mouth-in}.avatar-eyes{clip-path:inset(38.5% 22.5% 42% round 13%);opacity:0;transition:opacity 62ms ease-in-out}.avatar-eyes[data-visible=true]{opacity:1}@keyframes mouth-in{0%{opacity:.25}to{opacity:1}}.avatar-shell[data-speaking=true] .avatar-frame{box-shadow:0 24px 74px #193f3538,0 0 0 5px #d89d3521}.avatar-state{color:#fff;background:var(--green-800);border-radius:999px;align-items:center;gap:8px;margin-top:-18px;padding:9px 15px;font-size:13px;display:flex;position:relative;box-shadow:0 8px 22px #0f372d38}.state-dot{background:#efcc72;border-radius:50%;width:8px;height:8px}.avatar-shell[data-speaking=true] .state-dot{animation:.85s infinite pulse}@keyframes pulse{50%{opacity:.5;transform:scale(1.45)}}.voice-card{border:1px solid var(--line);background:#ffffffad;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:min(100%,560px);padding:14px 16px;display:flex}.voice-card strong,.voice-card small{display:block}.voice-card strong{font-size:14px}.voice-card small{color:#668179;margin-top:3px;font-size:11px}.sound-switch{white-space:nowrap;color:var(--green-800);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.sound-switch input{accent-color:var(--green-700)}.expression-test{color:#647c75;width:min(100%,560px);font-size:12px}.expression-test summary{cursor:pointer;text-align:center}.viseme-buttons{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:9px;display:flex}.viseme-buttons button{border:1px solid var(--line);min-width:38px;color:var(--green-800);background:#fff;border-radius:9px;padding:6px 9px}.viseme-buttons button[data-active=true]{color:#fff;background:var(--green-700)}.conversation-panel{background:#fffdf8e6;grid-template-rows:auto 1fr auto;min-width:0;display:grid}.profile-strip{border-bottom:1px solid var(--line);background:#ffffffb8;flex-wrap:wrap;align-items:end;gap:10px 14px;padding:16px clamp(18px,3vw,38px);display:flex}.profile-strip label{color:#6e817b;gap:5px;font-size:11px;font-weight:700;display:grid}.profile-strip select{border:1px solid var(--line);min-width:140px;color:var(--green-950);background:#fff;border-radius:10px;padding:8px 30px 8px 10px}.topic-picker{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.topic-picker button{border:1px solid var(--line);color:#557069;background:#fff;border-radius:999px;padding:7px 10px;font-size:11px}.topic-picker button[data-selected=true]{color:#fff;border-color:var(--green-700);background:var(--green-700)}.message-list{scroll-behavior:smooth;min-height:0;padding:26px clamp(18px,3.5vw,48px) 32px;overflow-y:auto}.welcome-card{background:linear-gradient(135deg,#fffaf0,#f4f8f5);border:1px solid #d89d353d;border-radius:18px;gap:15px;max-width:760px;margin:0 auto 28px;padding:20px;display:flex}.welcome-spark{color:var(--gold);font-size:24px}.welcome-card h2{color:var(--green-950);margin:0 0 7px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px}.welcome-card p{color:#60756f;margin:0;font-size:13px;line-height:1.75}.message{max-width:760px;margin:0 auto 22px}.message>span{color:#73847f;margin:0 0 6px 5px;font-size:11px;font-weight:700;display:block}.user-message{flex-direction:column;align-items:flex-end;display:flex}.user-message p{color:#fff;background:var(--green-700);border-radius:18px 18px 4px;max-width:82%;margin:0;padding:13px 16px;font-size:14px;line-height:1.7;box-shadow:0 8px 22px #1e4b401f}.reply-card{border:1px solid var(--line);color:#314b44;background:#fff;border-radius:4px 20px 20px;padding:19px 20px;font-size:14px;line-height:1.82;box-shadow:0 10px 30px #193f3514}.reply-card p{margin:0 0 12px}.reply-principle{color:var(--green-800);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:17px;font-weight:700}.key-term{color:#163f34;background:linear-gradient(#0000 62%,#e5c36f6b 62%);padding:0 .12em;font-family:Yu Gothic UI,Yu Gothic,sans-serif;font-weight:850}.actions-box{border-left:3px solid var(--gold);background:#fbf7ea;border-radius:8px;margin:15px 0;padding:14px 16px}.actions-box strong{color:#7b5b24;font-size:12px}.actions-box ol{margin:7px 0 0;padding-left:22px}.actions-box li+li{margin-top:4px}.capability{background:#eaf3ef;border-radius:10px;gap:9px;padding:9px 12px;display:flex}.capability span{color:var(--green-700);flex:none;font-size:11px;font-weight:800}.boundary{color:#82674c;font-size:12px}.reply-question{color:var(--green-950);font-weight:700;margin-top:16px!important}.reply-summary{background:#eef7f1;border:1px solid #c8ded3;border-radius:10px;margin:16px 0;padding:13px 15px}.reply-summary strong{color:var(--green-700);margin-bottom:6px;font-size:13px;display:block}.reply-summary p{margin:0}.reply-safety{background:#fff8f7;border-color:#d7a2a2}.reply-tools{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding-top:10px;display:flex}.text-button{color:var(--green-700);background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:700}.reply-mode{color:#71837e;background:#eef3f1;border-radius:999px;padding:3px 7px;font-size:9px}.typewriter-cursor{vertical-align:-.18em;background:var(--gold);width:2px;height:1.15em;margin-left:2px;animation:.72s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.reply-tools details{color:#71837e;flex:1;min-width:180px;font-size:11px}.reply-tools details summary{cursor:pointer;text-align:right}.reply-tools ul{margin:10px 0 0;padding-left:18px}.reply-tools li+li{margin-top:7px}.reply-tools small{color:#93a09d;display:block}.thinking{color:#6b817a;align-items:center;gap:5px;max-width:760px;margin:0 auto;font-size:12px;display:flex}.thinking i{background:var(--green-700);border-radius:50%;width:7px;height:7px;animation:1s infinite think}.thinking i:nth-child(2){animation-delay:.16s}.thinking i:nth-child(3){animation-delay:.32s}.thinking span{margin-left:5px}@keyframes think{50%{opacity:.45;transform:translateY(-4px)}}.composer{border-top:1px solid var(--line);background:#ffffffdb;padding:16px clamp(18px,3.5vw,48px) 20px}.textarea-wrap{position:relative}.composer textarea{resize:none;border:1px solid var(--line);width:100%;color:var(--green-950);background:#fffdfa;border-radius:15px;outline:none;padding:13px 102px 13px 15px;line-height:1.65;box-shadow:inset 0 1px 2px #14322a0a}.composer textarea:focus{border-color:#2b63548c;box-shadow:0 0 0 4px #2b635414}.microphone-button{color:var(--green-700);background:#eef5f2;border:1px solid #2b635433;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:800;display:flex;position:absolute;bottom:10px;right:10px}.microphone-button span{color:#c7564e;font-size:9px}.microphone-button[data-listening=true]{color:#fff;background:#b9544d;border-color:#a34742;animation:1.2s infinite mic-pulse}.microphone-button[data-listening=true] span{color:#fff}.microphone-button:disabled{cursor:not-allowed;opacity:.4}@keyframes mic-pulse{50%{box-shadow:0 0 0 7px #b9544d1f}}.listening-note{color:#a34c46;align-items:center;gap:7px;margin:7px 2px 0;font-size:11px;display:flex}.listening-note i{background:#c7564e;border-radius:50%;width:8px;height:8px;animation:.85s infinite pulse}.composer-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:9px;display:flex}.composer-footer small{color:#7a8c87;font-size:10px}.composer-footer button{color:#fff;background:linear-gradient(135deg, var(--green-700), var(--green-800));border:0;border-radius:12px;flex:none;padding:10px 19px;font-weight:700;box-shadow:0 7px 18px #1e4b4033}.composer-footer button:disabled{cursor:default;opacity:.45;box-shadow:none}.notice{color:#8a672c;margin:0 0 8px;font-size:11px}.app-shell[data-mode=simple]{height:100vh;min-height:620px;overflow:hidden}.simple-workspace{background:linear-gradient(160deg,#f1f6f1f5,#fbf7edf5);grid-template-rows:minmax(214px,38vh) minmax(0,1fr);height:calc(100vh - 78px);min-height:542px;display:grid;overflow:hidden}.simple-avatar-area{z-index:2;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 62%,#58978333,#0000 18rem),linear-gradient(145deg,#faf7edf5,#e5f0eaf0);justify-content:center;align-items:center;min-height:0;padding:10px 20px 7px;display:flex;position:relative;box-shadow:0 8px 26px #14372e14}.simple-avatar-area .avatar-shell{width:min(29vh,290px);max-height:100%}.simple-avatar-area .avatar-frame{border-radius:27px}.simple-avatar-area .avatar-state{margin-top:-22px;padding:7px 13px;font-size:11px}.simple-avatar-controls{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd1;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;display:flex;position:absolute;bottom:12px;right:clamp(14px,4vw,48px);box-shadow:0 5px 16px #12372d14}.simple-reset{border:0;border-left:1px solid var(--line);color:#667d76;background:0 0;padding:2px 2px 2px 10px;font-size:11px;font-weight:700}.simple-talk-panel{background:#fffdf8e0;grid-template-rows:minmax(0,1fr) auto;width:min(100%,900px);min-height:0;margin:0 auto;display:grid;box-shadow:0 0 46px #1e4b400e}.simple-message-list{scroll-behavior:smooth;min-height:0;padding:20px clamp(16px,4vw,48px) 14px;overflow-y:auto}.simple-start-card{background:linear-gradient(135deg,#fffaf0,#f3f8f5);border:1px solid #d89d3547;border-radius:17px;align-items:center;gap:13px;max-width:650px;margin:5px auto 18px;padding:15px 17px;display:flex;box-shadow:0 9px 27px #193f3512}.simple-start-card>div{flex:1}.simple-start-card strong{color:var(--green-950);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:15px;display:block}.simple-start-card p{color:#72847f;margin:4px 0 0;font-size:11px}.simple-start-card button{color:#fff;background:linear-gradient(135deg, var(--green-700), var(--green-800));border:0;border-radius:12px;flex:none;padding:9px 14px;font-size:12px;font-weight:800;box-shadow:0 6px 16px #1e4b402e}.simple-message{max-width:780px;margin-bottom:15px}.simple-assistant-prompt>p{border:1px solid var(--line);color:#314b44;background:#fff;border-radius:4px 18px 18px;max-width:88%;margin:0;padding:13px 16px;font-size:14px;line-height:1.75;display:inline-block;box-shadow:0 8px 24px #193f3512}.simple-composer{border-top:1px solid var(--line);background:#fffffff0;padding:11px clamp(16px,4vw,48px) 13px}.simple-composer textarea{resize:none;border:1px solid var(--line);width:100%;min-height:54px;max-height:120px;color:var(--green-950);background:#fffdfa;border-radius:15px;outline:none;padding:11px 102px 11px 14px;line-height:1.55}.simple-composer textarea:focus{border-color:#2b63548c;box-shadow:0 0 0 4px #2b635414}.simple-composer textarea:disabled{color:#81908c;cursor:default;background:#f4f3ee}.simple-composer-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:7px;display:flex}.simple-composer-footer small{color:#7a8c87;font-size:10px}.simple-composer-footer button{color:#fff;background:linear-gradient(135deg, var(--green-700), var(--green-800));border:0;border-radius:12px;flex:none;padding:9px 20px;font-weight:700;box-shadow:0 7px 18px #1e4b4033}.simple-composer-footer button:disabled{cursor:default;opacity:.45;box-shadow:none}@media (width<=980px){.workspace{grid-template-columns:330px 1fr}.avatar-panel{justify-content:flex-start;padding:22px 18px}.topic-picker{flex-basis:100%;justify-content:flex-start}}@media (width<=760px){.topbar{min-height:68px;padding:10px 15px}.brand-mark{width:39px;height:39px}.topbar-status{padding:6px 8px;font-size:10px}.topbar h1 span{display:none}.mode-switch{margin-left:auto}.mode-switch button{padding:6px 9px;font-size:10px}.app-shell[data-mode=simple]{min-height:540px}.simple-workspace{grid-template-rows:minmax(180px,32vh) minmax(0,1fr);height:calc(100vh - 68px);min-height:472px}.simple-avatar-area{padding:8px 12px 5px}.simple-avatar-area .avatar-shell{width:min(25vh,218px)}.simple-avatar-area .avatar-frame{border-radius:22px}.simple-avatar-area .avatar-state{margin-top:-18px;padding:6px 10px;font-size:10px}.simple-avatar-controls{padding:6px 8px;bottom:8px;right:10px}.simple-avatar-controls .sound-switch,.simple-reset{font-size:10px}.simple-message-list{padding:14px 13px 10px}.simple-start-card{gap:9px;padding:12px}.simple-start-card .welcome-spark{display:none}.simple-start-card strong{font-size:13px}.simple-start-card button{padding:8px 10px;font-size:11px}.simple-message{margin-bottom:12px}.simple-assistant-prompt>p{max-width:94%;padding:11px 13px;font-size:13px}.simple-composer{padding:9px 12px 10px}.simple-composer-footer{justify-content:flex-end}.simple-composer-footer small{display:none}.workspace{display:block}.avatar-panel{border-right:0;border-bottom:1px solid var(--line);padding:15px;position:relative}.avatar-shell{width:min(70vw,340px)}.avatar-frame{border-radius:28px}.voice-card,.expression-test{width:min(100%,520px)}.conversation-panel{grid-template-rows:auto minmax(360px,1fr) auto;min-height:720px}.profile-strip{padding:13px 15px}.profile-strip label{flex:1}.profile-strip select{width:100%;min-width:0}.topic-picker{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.topic-picker button{flex:none}.message-list{padding:20px 15px 26px}.composer{padding:13px 15px 16px;position:static}.composer-footer small{display:none}.user-message p{max-width:92%}}@media (width<=520px){.topbar{gap:9px}.topbar-status{display:none}.topbar h1{font-size:18px}.eyebrow{font-size:9px}.mode-switch button{padding:6px 8px}}
