:root{--paper:#faf6ee;--paper-2:#f4ede1;--ink:#3f3730;--ink-soft:#6d6058;--muted:#9c8f83;--accent:#a8503c;--accent-soft:#d9b8a5;--user-bg:#efe4d3;--line:#e6dac7}@media (prefers-color-scheme:dark){:root{--paper:#221f1d;--paper-2:#2b2724;--ink:#ece4d9;--ink-soft:#c4b8ab;--muted:#8d8175;--accent:#d98a71;--accent-soft:#6b4d40;--user-bg:#3a332d;--line:#3d3733}}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 18% 12%,#d8bea029,#0000 55%),radial-gradient(circle at 84% 78%,#becdbe24,#0000 55%);background-attachment:fixed;font-family:Hiragino Mincho ProN,Yu Mincho,serif;line-height:2}.wrap{flex-direction:column;max-width:620px;height:100dvh;margin:0 auto;padding:0 20px;display:flex}.head{text-align:center;padding:30px 0 10px}.motif{width:46px;height:auto;color:var(--accent-soft);opacity:.85;margin:13px auto 11px;display:block}.title{letter-spacing:.22em;text-indent:.22em;color:var(--ink);font-size:25px;font-weight:500}.rule{background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);width:54px;height:1px;margin:14px auto 12px}.sub{color:var(--muted);letter-spacing:.2em;text-indent:.2em;font-size:11.5px}.chat{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:18px 0 24px;overflow:hidden auto}.chat::-webkit-scrollbar{width:6px}.chat::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.row{min-width:0;margin:26px 0;animation:.5s both rise;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.row{animation:none}}.row.user{justify-content:flex-end}.row.assistant .bubble{letter-spacing:.04em;min-width:0;max-width:100%;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-left:1px solid var(--accent-soft);padding-left:18px;font-size:15.5px;position:relative}.row.opening{justify-content:center;margin:10px 0 34px}.row.opening .bubble{text-align:center;border-left:none;max-width:100%;padding:0 4px;line-height:2.15}.mark{align-items:center;gap:14px;margin:40px 0 34px;animation:.6s both rise;display:flex}.mark-line{background:linear-gradient(90deg, transparent, var(--accent-soft));flex:1;height:1px}.mark-line:last-child{background:linear-gradient(90deg, var(--accent-soft), transparent)}.mark-text{letter-spacing:.16em;color:var(--accent);opacity:.85;white-space:nowrap;flex:none;font-size:12px}.mark-text em{color:var(--muted);letter-spacing:.1em;margin-left:10px;font-size:11px;font-style:normal}.row.user .bubble{letter-spacing:.03em;min-width:0;max-width:84%;color:var(--ink-soft);background:var(--user-bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px 14px 3px;padding:13px 17px;font-size:15px;line-height:1.9}.bubble strong{color:var(--accent);font-weight:600}.typing{color:var(--muted);letter-spacing:.45em;animation:1.8s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}.err{color:var(--accent);text-align:center;letter-spacing:.05em;padding:10px;font-size:12.5px}.inputbar{background:linear-gradient(to top, var(--paper) 74%, transparent);align-items:flex-end;gap:10px;padding:12px 0 10px;display:flex;position:sticky;bottom:0}textarea{resize:none;border:1px solid var(--line);letter-spacing:.03em;background:var(--paper-2);color:var(--ink);border-radius:16px;flex:1;padding:12px 15px;font-family:inherit;font-size:15px;line-height:1.8;transition:border-color .25s,background .25s}textarea::placeholder{color:var(--muted);font-size:13.5px}textarea:focus{border-color:var(--accent-soft);background:var(--paper);outline:none}button{border:1px solid var(--accent-soft);color:var(--accent);letter-spacing:.16em;text-indent:.16em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:16px;padding:11px 20px;font-family:inherit;font-size:14.5px;transition:background .25s,color .25s,opacity .25s}button:hover:not(:disabled){background:var(--accent);color:var(--paper)}button:disabled{opacity:.35;cursor:default}.foot{text-align:center;color:var(--muted);letter-spacing:.09em;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:4px 0 18px;font-size:10.5px;display:flex}.foot .link{color:var(--muted);letter-spacing:.09em;text-indent:0;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-family:inherit;font-size:10.5px;text-decoration:underline;transition:color .2s}.foot .link:hover:not(:disabled){color:var(--accent);background:0 0}.foot .link:disabled{opacity:.4}.sheet-back{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#3a332e52;justify-content:center;align-items:center;padding:20px;animation:.25s both fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.sheet{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:18px;width:100%;max-width:400px;margin:auto;padding:32px 26px 24px;animation:.35s both rise}.sheet-lead{letter-spacing:.06em;margin-bottom:14px;font-size:15.5px}.sheet-note{color:var(--ink-soft);letter-spacing:.03em;margin-bottom:24px;font-size:12.5px;line-height:2}.sheet-list{text-align:left;border-top:1px solid var(--line);list-style:none}.sheet-list li{border-bottom:1px solid var(--line);padding:14px 2px}.sheet-name{letter-spacing:.04em;color:var(--ink);font-size:13px;display:block}.sheet-tel{letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--accent-soft);margin:5px 0 3px;font-size:18px;text-decoration:none;display:inline-block}.sheet-sub{color:var(--muted);letter-spacing:.03em;font-size:11px;display:block}.sheet-fine{color:var(--muted);letter-spacing:.03em;margin-top:18px;font-size:11px;line-height:1.95}.sheet-fine a{color:var(--ink-soft)}.sheet-fine strong{color:var(--accent);font-size:12.5px;font-weight:500}.sheet-close{width:100%;margin-top:24px;padding:12px 20px}.gate{flex:1;min-height:0;padding:10px 0 30px;display:flex;overflow-y:auto}.gate-inner{text-align:center;width:100%;max-width:330px;margin:auto}.gate-lead{letter-spacing:.06em;margin-bottom:16px;font-size:15.5px}.gate-note{color:var(--ink-soft);letter-spacing:.04em;margin-bottom:26px;font-size:13px;line-height:2.1}.gate-inner input{border:1px solid var(--line);letter-spacing:.04em;background:var(--paper-2);width:100%;color:var(--ink);text-align:center;border-radius:16px;padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .25s,background .25s}.gate-inner input:focus{border-color:var(--accent-soft);background:var(--paper);outline:none}.gate-inner input::placeholder{color:var(--muted)}.gate-inner button{width:100%;margin-top:12px;padding:13px 20px}.gate-fine{color:var(--muted);letter-spacing:.05em;margin-top:18px;font-size:11px;line-height:1.9}.gate-fine strong{color:var(--ink-soft);font-weight:500}@media (max-width:480px){.wrap{padding:0 16px}.head{padding:24px 0 6px}.title{font-size:22px}.row{margin:22px 0}}
