:root{--ink:#1a1a1a;--paper:#f4f1ea;--panel:#fff;--line:#d9d2c4;--accent:#8a3a2e;--accent2:#b5651d;--muted:#6b6355;--user:#2b3a4a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Hiragino Mincho ProN,Hiragino Kaku Gothic ProN,Yu Gothic,system-ui,sans-serif;line-height:1.75}.wrap{max-width:860px;margin:0 auto;padding:0 16px 96px}.hd{border-bottom:2px solid var(--ink);margin-bottom:14px;padding:22px 0 12px}.hd h1{letter-spacing:.12em;margin:0;font-size:26px;font-weight:800}.hd .sub{color:var(--muted);letter-spacing:.04em;margin-top:4px;font-size:12.5px}.gate{text-align:center;max-width:380px;margin:16vh auto 0}.gate h1{letter-spacing:.2em}.gate input{border:1px solid var(--line);background:var(--panel);border-radius:10px;width:100%;margin:14px 0;padding:13px;font-size:16px}.gate button{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:13px;font-size:15px;font-weight:700}.gate .err{color:var(--accent);min-height:18px;font-size:13px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tab{border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--muted);border-radius:999px;padding:8px 14px;font-size:13px}.tab.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--ink);border-radius:8px;padding:6px 12px;font-size:12.5px}.chip.on{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.hint{color:var(--muted);margin:2px 0 12px;font-size:12px}.mlist{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.mitem{text-align:left;border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;padding:11px 13px}.mitem:hover{border-color:var(--accent2)}.mitem .mt{font-size:14px;font-weight:700}.mitem .mm{color:var(--muted);margin-top:2px;font-size:12px}.mtag{color:#fff;border-radius:999px;margin-right:6px;padding:1px 8px;font-size:11px;display:inline-block}.mtag.yakuin{background:var(--accent)}.mtag.zemi{background:var(--accent2)}.mtag.other{background:var(--muted)}.chat{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:13px 15px;font-size:15px}.msg.user{background:var(--user);color:#f4f1ea;border-bottom-right-radius:3px;align-self:flex-end;max-width:82%}.msg.assistant{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:3px;align-self:flex-start;max-width:96%}.msg.assistant .who{color:var(--accent);letter-spacing:.1em;margin-bottom:5px;font-size:11px;font-weight:800}.cursor:after{content:"▍";color:var(--accent);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.composer{background:linear-gradient(transparent, var(--paper) 22%);padding:22px 16px 16px;position:fixed;bottom:0;left:0;right:0}.composer .box{align-items:flex-end;gap:8px;max-width:860px;margin:0 auto;display:flex}.composer textarea{resize:none;border:1px solid var(--line);background:var(--panel);border-radius:12px;flex:1;max-height:180px;padding:12px 14px;font-family:inherit;font-size:15px;line-height:1.6}.composer button{background:var(--ink);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:12px 18px;font-weight:700}.composer button:disabled{opacity:.4;cursor:default}.small{color:var(--muted);font-size:12px}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.hero{align-items:center;gap:16px;display:flex}.avatar-lg{object-fit:cover;object-position:50% 15%;border:2px solid var(--accent);border-radius:50%;flex:none;width:72px;height:72px;box-shadow:0 4px 14px #0000002e}.msg.assistant .who{align-items:center;gap:7px;display:flex}.ava{object-fit:cover;object-position:50% 15%;border-radius:50%;flex:none;width:22px;height:22px}.splash{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px 0 6px;display:flex}.splash img{aspect-ratio:3/4;object-fit:cover;object-position:50% 10%;border:1px solid var(--line);border-radius:18px;width:220px;max-width:66vw;box-shadow:0 12px 34px #0000003d}.splash .stext{letter-spacing:.02em;font-size:21px;font-weight:800;line-height:1.5}.splash .stext span{color:var(--muted);margin-top:7px;font-size:13.5px;font-weight:500;display:block}.hero h1{letter-spacing:.05em;font-size:22px}@media (max-width:420px){.hero h1{font-size:19px}.avatar-lg{width:60px;height:60px}}body{font-size:16.5px;line-height:1.85}.msg{padding:15px 17px;font-size:16.5px;line-height:1.9}.hd .sub{font-size:13.5px}.hero h1{font-size:24px}.tab{padding:10px 17px;font-size:14.5px}.chip{padding:8px 14px;font-size:14px}.hint{font-size:13.5px}.small{font-size:13px}.mitem{padding:13px 15px}.mitem .mt{font-size:16px}.mitem .mm{font-size:13px}.mtag{padding:2px 9px;font-size:12px}.msg.assistant .who{font-size:12.5px}.ava{width:24px;height:24px}.composer textarea{padding:14px 15px;font-size:16.5px}.composer button{padding:14px 20px;font-size:16px}.splash .stext span{font-size:15px}@media (max-width:420px){.hero h1{font-size:20px}.splash img{width:200px}}.wrap{padding-bottom:132px}.hd{padding:18px 0 12px}.hd .sub{color:#574f43;font-size:13.5px;line-height:1.6}.splash{gap:12px;padding:10px 0 4px}.splash img{width:150px;max-width:44vw;box-shadow:0 8px 24px #0003}.splash .stext{font-size:20px}.splash .stext span{color:#574f43;margin-top:5px;font-size:14px}.composer{padding:16px 16px calc(14px + env(safe-area-inset-bottom,0px))}
