
:root{color-scheme:light;--ink:#263f42;--muted:#74817d;--rose:#a95c65;--cream:#faf8f1;--line:#e7e9df;font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:#eeeee5;color:var(--ink)}button,a,textarea{-webkit-tap-highlight-color:transparent}button,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #c78383;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}button[hidden],[hidden]{display:none!important}.topbar{height:88px;padding:0 3.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #daddd1}.brand{display:flex;align-items:center;gap:12px}.brand img{width:136px;height:48px;object-fit:contain}.brand span{font-size:16px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:var(--muted)}nav{display:flex;gap:30px;align-items:center;font-size:12px}.district{color:var(--muted)}nav a{border:1px solid #ccd3c7;border-radius:30px;padding:12px 17px}.lounge{height:calc(100dvh - 112px);min-height:580px;max-height:1100px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);padding:22px 3.5% 0;gap:22px}.scene{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;background:#bcb9a0;min-height:500px}.portrait{width:100%;height:100%;object-fit:cover;object-position:63% center;position:absolute;inset:0;z-index:-3}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#132c3220 0%,transparent 40%,#132c32c9 100%);z-index:-1}.scene-top{padding:24px;display:flex;justify-content:space-between;align-items:center;color:#fff6df}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.glass{background:#233e4347;border:1px solid #ffffff60;color:#fff8e9;border-radius:24px;padding:10px 15px;font-size:11px;backdrop-filter:blur(8px)}.scene-copy{position:absolute;bottom:30px;left:30px;right:30px;color:#fff9ed}.pill{display:inline-block;font-size:10px;padding:7px 12px;border:1px solid #ffffff66;border-radius:20px;letter-spacing:1px}h1{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:43px;font-weight:400;letter-spacing:5px;margin:20px 0 14px}h1 span{display:block;font-size:24px;letter-spacing:2px;margin-top:12px}.scene-copy p{font-size:12px;line-height:1.9;color:#efe9d9}.scene-footer{border-top:1px solid #ffffff42;margin-top:26px;padding-top:17px;display:flex;justify-content:space-between;align-items:center}.presence{font-size:11px;letter-spacing:1px;display:flex;align-items:center;gap:8px}.presence i{width:6px;height:6px;background:#c9e1b0;border-radius:50%}.wave{opacity:.3;letter-spacing:4px}.playing .wave{animation:wave 1s ease-in-out infinite;opacity:1}.conversation{background:var(--cream);border:1px solid #e0e3d8;border-radius:22px;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:25px 25px 16px}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}h2{font-family:Georgia,"PMingLiU",serif;font-size:21px;letter-spacing:1px;font-weight:400;margin:9px 0 18px}h2 span{font-family:sans-serif;display:inline-block;vertical-align:middle;font-size:9px;color:var(--rose);border:1px solid #e2c9ca;border-radius:5px;padding:3px}.icon{border:0;background:transparent;color:var(--muted);padding:8px}.chat-heading .icon{font-size:25px}.tone{display:flex;align-items:center;gap:7px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:11px}.tone>span{margin-right:auto;color:var(--muted)}.tone button{background:transparent;border:1px solid var(--line);border-radius:20px;padding:7px 11px;font-size:11px}.tone button[aria-pressed=true]{background:#e7ece0;border-color:#c4cfb9;color:#4c6549}#messages{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px 1px 10px}.message{margin:0 0 20px;max-width:94%;width:fit-content}.message small{font-size:10px;color:var(--muted);display:block;margin:0 8px 7px}.message p{white-space:pre-wrap;overflow-wrap:anywhere;background:#eeeee5;padding:14px 17px;border-radius:3px 17px 17px;line-height:1.9;font-size:13px;margin:0}.message.mine{margin-left:auto}.mine small{text-align:right}.mine p{background:#345456;color:#fff;border-radius:17px 3px 17px 17px}.voice{background:transparent;border:0;padding:9px 8px 0;font-size:11px;color:#97666b}#notice{font-size:11px;line-height:1.6;color:#995650;padding:0 4px;max-height:62px;overflow:auto}#notice:not(:empty){margin:5px 0 9px}#retry-zone button{border:1px solid #dfbbb8;background:#f4e7e2;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:8px}.topics{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 12px}.topics button{font-size:10px;padding:8px 9px;border:1px solid var(--line);border-radius:20px;background:transparent}#composer{border:1px solid #d9ddd2;background:#fffefa;border-radius:16px;padding:12px}textarea{width:100%;resize:none;min-height:45px;max-height:140px;background:transparent;border:0;color:var(--ink);font-size:13px;line-height:1.6}textarea:focus{outline:none}textarea::placeholder{color:#9b9f94}.composer-bottom{display:flex;align-items:center;gap:8px}#count{color:#9a9f92;font-size:10px;margin-left:auto}#send,.primary{border:0;background:#a9636c;color:white;border-radius:10px;padding:10px 17px;font-size:12px}.privacy{font-size:9px;line-height:1.7;color:#949b8e;margin:10px 2px 0}.privacy span{display:block}#guest{padding:10px 0 25px}#guest h3{font-size:17px}#guest p{font-size:12px;line-height:1.8}.primary{display:inline-block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#exit-focus{display:none;position:absolute;right:25px;bottom:25px}.focus-scene .lounge{grid-template-columns:1fr}.focus-scene .conversation{display:none}.focus-scene .portrait{object-position:center 48%}.focus-scene #exit-focus{display:block}.focus-scene #focus{visibility:hidden}.focus-scene .scene-copy{right:220px}@keyframes wave{50%{transform:scaleY(.45)}}@media(min-width:1500px){.lounge{grid-template-columns:minmax(0,1.6fr) minmax(430px,1fr);max-width:1720px;margin:auto}.conversation{padding:30px 36px 20px}.message p{font-size:14px}.scene-copy{left:40px;bottom:40px}}@media(max-width:1000px){.brand span,.district{display:none}.lounge{padding-left:18px;padding-right:18px;gap:15px;grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr)}.conversation{padding:20px 18px 14px}.scene-copy{left:22px;right:22px}h1{font-size:35px}h1 span{font-size:20px}.scene-top{padding:20px 15px}.scene-top .eyebrow{font-size:8px;letter-spacing:1px}}@media(max-width:720px){.topbar{height:66px;padding:0 18px}.brand img{width:115px;height:42px}nav a{font-size:10px;padding:9px 12px}.lounge{display:flex;flex-direction:column;height:auto;min-height:0;padding:12px;gap:12px}.scene{min-height:310px;height:38dvh;max-height:430px;border-radius:18px}.portrait{object-position:65% 42%}.scene-copy{left:20px;bottom:17px;right:20px}h1{font-size:28px;margin:11px 0 0}h1 span{font-size:16px;margin-top:8px}.pill{font-size:9px;padding:5px 10px}.scene-copy p,.scene-footer{display:none}.scene-top{padding:15px}.conversation{min-height:580px;height:72dvh;max-height:850px;border-radius:18px;padding:19px 16px 15px}.chat-heading h2{font-size:20px}.topics{gap:5px}.topics button{font-size:10px;padding:7px}.privacy{font-size:10px}textarea{font-size:16px}.focus-scene .scene{height:calc(100dvh - 90px);max-height:none}.focus-scene .scene-copy{right:20px;bottom:90px}.focus-scene .portrait{object-position:62% center}#mic{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

.memory-panel{margin:8px 0;padding:10px 14px;border:1px solid #d6dfdf;border-radius:12px;font-size:14px;max-height:40vh;overflow:auto}.memory-panel summary{cursor:pointer;font-weight:600}.memory-panel p{line-height:1.6}.memory-panel label{display:block;margin:8px 0 4px}.memory-panel input,.memory-panel textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #aebfc2;border-radius:6px;font:inherit}.memory-panel button{margin:8px 8px 0 0;padding:8px;border:1px solid #aebfc2;border-radius:6px;background:#fff;cursor:pointer}
