
:root{--bg:#fff;--side:#f9f9f9;--ink:#212121;--muted:#7d7d7d;--line:#e5e5e5;--card:#f4f4f4;--green:#267458;--pale:#ebebeb;--hover:#efefef}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:14px;display:flex;height:100dvh;overflow:hidden}body.dark{--bg:#212121;--side:#171717;--ink:#ececec;--muted:#aaa;--line:#424242;--card:#303030;--green:#8dccae;--pale:#303030;--hover:#252525}button,a,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #898989;outline-offset:3px}a{text-decoration:none;color:inherit}.sprite{position:absolute;width:0;height:0}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:var(--muted)}.icon-button:hover{background:var(--hover);color:var(--ink)}.logo{position:relative;display:inline-block;color:var(--green);flex-shrink:0}.logo>svg{width:100%;height:100%}.face{position:absolute;width:47%;height:47%;top:26.5%;left:26.5%;border-radius:50%;overflow:hidden;background:#fff;border:2px solid var(--bg)}.face img{position:absolute;width:210%;max-width:none;left:-55%;top:-43%}.small{width:35px;height:35px}.small .face{border-width:1px}aside{width:260px;flex-shrink:0;background:var(--side);padding:16px 12px 15px;display:flex;flex-direction:column;transition:width .15s,padding .15s;overflow:hidden}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin:0 3px 20px}.brand{display:flex}.nav-action{border-radius:8px;min-height:43px;padding:10px 12px;display:flex;align-items:center;gap:12px;text-align:left;white-space:nowrap;font-size:14px}.nav-action:hover{background:var(--hover)}.section-label{font-size:12px;color:var(--muted);margin:31px 12px 13px;white-space:nowrap}#history{overflow:auto;flex:1}.empty-history{font-size:12px;line-height:1.8;color:var(--muted);padding:4px 12px}.history-item{display:flex;align-items:center;border-radius:8px;margin-bottom:2px}.history-item.active{background:var(--pale)}.history-item:hover{background:var(--hover)}.history-open{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;font-size:13px;padding:12px}.history-delete{padding:8px;color:var(--muted);font-size:16px;visibility:hidden}.history-item:hover .history-delete,.history-item:focus-within .history-delete{visibility:visible}#history-search{padding:8px 7px}#history-query{width:100%;font:inherit;font-size:12px;padding:10px;border-radius:8px;border:1px solid var(--line);color:var(--ink);background:var(--bg)}.sidebar-bottom{padding:12px 7px 0}.theme{font-size:13px;padding:12px 6px;width:100%;text-align:left;border-radius:8px;white-space:nowrap}.theme:hover{background:var(--hover)}.theme span{margin-left:8px}.profile{display:flex;gap:10px;align-items:center;margin-top:13px;font-size:12px;white-space:nowrap}.profile-icon{position:relative;border-radius:50%;width:34px;height:34px;background:#f0ede5;flex-shrink:0}.profile-icon .face{inset:0;width:100%;height:100%;border:0}.profile small{display:block;color:var(--muted);font-size:10px;margin-top:4px}main{flex:1;min-width:0;position:relative;display:flex;flex-direction:column}header{height:64px;flex-shrink:0;padding:0 24px 0 18px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:12px}.header-title{font-size:19px;font-weight:600;color:var(--ink)}.chevron{color:var(--muted);margin-left:3px;font-size:19px}.parody-label{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:7px 11px;border-radius:20px}#menu{display:none}#scroll-area{min-height:0;overflow-y:auto;scroll-behavior:smooth;flex:0 1 auto;margin-top:auto}#welcome{max-width:800px;margin:auto;text-align:center;padding:20px 24px 0}.hero-logo{width:58px;height:58px;margin-bottom:18px}h1{font-size:29px;line-height:1.4;font-weight:600;letter-spacing:-.7px;margin:0 0 10px}.intro{font-size:13px;color:var(--muted);margin:0;line-height:1.8}.composer-zone{width:100%;max-width:814px;padding:0 24px;margin:24px auto auto;flex-shrink:0}#composer{background:var(--card);border:1px solid transparent;border-radius:28px;padding:17px 20px 13px;box-shadow:0 1px 2px #00000005}#composer:focus-within{border-color:var(--line)}textarea{display:block;border:0;background:transparent;font:inherit;color:var(--ink);width:100%;resize:none;outline:none;font-size:16px;line-height:1.7;max-height:140px;min-height:31px}textarea::placeholder{color:var(--muted)}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.composer-hint{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.hint-dot{width:7px;height:7px;border:1px solid var(--muted);border-radius:50%}#send{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:23px;display:grid;place-items:center;line-height:1}#send:disabled{background:#d7d7d7;color:#fff}.dark #send:disabled{background:#555;color:#aaa}.suggestions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:21px}.suggestions button{display:flex;align-items:center;gap:7px;padding:11px 13px;border:1px solid var(--line);border-radius:22px;font-size:12px;color:var(--muted);white-space:nowrap;transition:background .15s}.suggestions button:hover{background:var(--side);color:var(--ink)}.suggestions .icon{width:16px;height:16px}.food{color:#ae8353}.bubble{color:#7295b3}.star{color:#9e82b8}.disclaimer{font-size:11px;line-height:1.7;color:var(--muted);text-align:center;flex-shrink:0;padding:15px 24px 12px}.disclaimer>span{display:block;font-size:10px;opacity:.85}.chatting #scroll-area{flex:1;margin-top:0}.chatting .composer-zone{margin:0 auto;flex-shrink:0}.chatting .suggestions{display:none}#messages{max-width:800px;margin:auto;padding:30px 24px 20px}.message{margin-bottom:33px;animation:appear .2s ease}.message.user{display:flex;justify-content:flex-end}.user .message-body{background:var(--card);padding:12px 19px;border-radius:23px;max-width:85%;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.assistant .byline{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;margin-bottom:10px}.byline .logo{width:30px;height:30px}.assistant .message-body{padding-left:39px;font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.message-actions{padding-left:34px;display:flex;gap:7px;margin-top:11px}.message-actions button{font-size:11px;color:var(--muted);padding:5px 7px;border-radius:5px}.message-actions button:hover{background:var(--side)}.dots{color:var(--muted);font-size:11px}.dots span{animation:pulse 1s infinite;display:inline-block;margin-right:4px}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}.thinking-note{font-size:11px;color:var(--muted);margin-left:10px}#toast{position:absolute;bottom:175px;left:50%;transform:translateX(-50%);padding:10px 20px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:12px;box-shadow:0 3px 16px #0001}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.sidebar-closed aside{width:0;padding-left:0;padding-right:0}.sidebar-closed #menu{display:grid}@keyframes pulse{50%{opacity:.2}}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){aside{width:240px}.suggestions{gap:7px}.suggestions button{font-size:11px;padding:10px 11px}}@media(max-width:760px){aside{position:fixed;top:0;bottom:0;left:0;z-index:20;width:270px;transform:translateX(-100%);transition:transform .2s}.sidebar-closed aside{width:270px;padding-left:12px;padding-right:12px}body.menu-open aside{transform:translateX(0)}.shade{position:fixed;inset:0;background:#0005;z-index:19}#menu{display:grid}header{height:58px;padding:0 14px 0 10px}.header-left{gap:7px}.header-title{font-size:17px}.parody-label{font-size:9px;padding:6px 9px}#welcome{padding:16px 18px 0}.hero-logo{width:53px;height:53px;margin-bottom:19px}h1{font-size:24px;letter-spacing:-.7px}.intro{font-size:11px}.composer-zone{padding:0 14px;margin-top:22px}#composer{padding:15px 17px 12px;border-radius:24px}.suggestions{gap:8px;max-width:360px;margin:20px auto 0}.suggestions button{font-size:11px;padding:10px 12px}.suggestions .icon{width:15px;height:15px}.composer-hint{font-size:11px}.disclaimer{font-size:9px;padding:16px 18px max(12px,env(safe-area-inset-bottom))}.disclaimer>span{font-size:8px}#messages{padding:24px 19px}.assistant .message-body{font-size:15px;padding-left:0}.message-actions{padding-left:0}.message.user .message-body{max-width:90%;font-size:14px}.chatting #composer{border-radius:24px}.history-delete{visibility:visible}}@media(max-height:550px){.hero-logo{display:none}#welcome{padding-top:5px}.composer-zone{margin-top:10px}.suggestions{margin-top:10px}.disclaimer{padding-top:9px}.intro{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.logo .logo-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:22%;background:#fff}.hero-logo{width:76px;height:76px}
