@font-face{font-family:Local;src:local('맑은 고딕')}*{box-sizing:border-box}body{margin:0;background:#f5f2ec;color:#313b36;font-family:Local,'Malgun Gothic',sans-serif;line-height:1.6}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}.entrance{max-width:430px;margin:7vh auto;padding:28px}.brand-mark{height:55px;width:55px;border-radius:20px;background:#49624f;color:#fff;display:grid;place-items:center;font-size:32px;margin-bottom:28px}.eyebrow{font-size:12px;color:#6e816f;letter-spacing:.12em}.entrance h1{font-size:38px;font-weight:500;letter-spacing:-2px;line-height:1.4;margin:14px 0}.intro{color:#777d73;font-size:15px;margin-bottom:32px}fieldset{border:0;padding:0;margin:0 0 20px;display:flex;gap:10px}legend{font-size:13px;margin-bottom:10px}.choice{background:#fffcf7;border:1px solid #dedfd4;border-radius:12px;padding:11px 20px;flex:1}.choice:has(input:checked){border-color:#49624f;background:#e9eee5}input[type=radio],input[type=checkbox]{accent-color:#49624f}.entrance form>label{display:block;font-size:13px;margin-bottom:8px}input[type=password]{display:block;background:#fffcf7;border:1px solid #dedfd4;border-radius:12px;width:100%;padding:14px;margin-bottom:14px;outline-color:#49624f}.primary{border:0;border-radius:12px;padding:13px 20px;background:#49624f;color:white}.entrance .primary{width:100%;display:flex;justify-content:space-between}.small-note{font-size:12px;color:#83877c;line-height:1.8;margin-top:24px}#login-error,#notice{color:#98523d;font-size:13px}main{max-width:840px;margin:auto;height:100dvh;display:flex;flex-direction:column;padding:0 24px}header{display:flex;align-items:center;gap:12px;padding:25px 0 18px;border-bottom:1px solid #dedfd4}.identity{display:flex;align-items:center;gap:12px;flex:1}.avatar{width:43px;height:43px;border-radius:16px;display:grid;place-items:center;background:#49624f;color:#fff;font-size:25px}header h1{font-size:17px;margin:0;font-weight:600}#who{font-size:12px;color:#798071}.quiet{border:0;background:transparent;color:#6e7c6b;padding:8px;font-size:12px}.quiet:hover{background:#e7e8df;border-radius:8px}.status-line{display:flex;align-items:center;gap:7px;font-size:11px;color:#7e8677;padding:12px 0}.status-line label{margin-left:auto}.dot{height:6px;width:6px;border-radius:50%;background:#b2a080}.dot.ready{background:#7b9677}#conversation{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 5px 20px;scroll-behavior:smooth}.opening{padding:35px 12px 20px;max-width:450px}.opening h2{font-size:28px;font-weight:400;letter-spacing:-1px;margin:8px 0 20px}.opening>p:not(.eyebrow){font-size:12px;color:#82877d}.message{display:flex;flex-direction:column;align-items:flex-start;margin:20px 0}.message.user{align-items:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;max-width:86%;padding:15px 18px;border-radius:2px 17px 17px 17px;background:#fffcf7;border:1px solid #e8e6dc}.user .bubble{background:#e3e9dd;border:0;border-radius:17px 2px 17px 17px}.message-meta{font-size:10px;color:#95998d;margin:5px 4px}.speak{border:0;background:none;color:#75866e;font-size:12px;padding:5px}.pulse{color:#73916e;animation:pulse 1.1s infinite}#thinking{font-size:12px;color:#7f8876;padding:10px}@keyframes pulse{50%{opacity:.25}}footer{padding:5px 0 max(8px,env(safe-area-inset-bottom))}#chat-form{display:flex;gap:10px;background:#fffcf7;border:1px solid #dcded1;border-radius:18px;padding:9px;align-items:flex-end}textarea{resize:vertical;border:0;background:transparent;color:#313b36;outline-color:#9faa8e}#message{flex:1;resize:none;max-height:130px;padding:9px 0;min-width:0}.icon-button{border:0;background:#f0f0e7;border-radius:12px;height:42px;width:42px;font-size:20px}.icon-button.active{background:#ecd4c9}.send{border:0;border-radius:12px;background:#49624f;color:white;height:42px;width:42px;font-size:24px}.footer-note{text-align:center;font-size:10px;color:#9a9d90;margin:8px 0}#notice{margin:4px 5px;min-height:18px}#recording{font-size:12px;color:#a35845;margin:8px}#memory-panel{background:#fffdf8;padding:20px;border:1px solid #e0e1d5;border-radius:16px;max-height:55vh;overflow:auto;flex-shrink:0}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font-size:17px;font-weight:500;margin:0}#memory-panel p,#memory-panel a,#memories{font-size:12px;color:#73816c}#memory-form{display:flex;gap:8px;align-items:center}#memory-text{border:1px solid #e1e3d8;border-radius:10px;padding:10px;flex:1;min-width:0}#memory-form button{font-size:12px;white-space:nowrap}#memories{padding-left:20px}#memories li{padding:5px 0}a{color:#49624f}audio{max-width:100%}@media(max-width:600px){main{padding:0 14px}header{padding-top:16px}.entrance{margin:3vh auto}header h1{font-size:15px}.bubble{max-width:91%}.opening{padding-top:25px}.status-line{font-size:10px}#memory-panel{padding:14px}}
.voice-line{display:flex;gap:10px;align-items:center;font-size:11px;color:#7e8677;margin:0 0 12px}.voice-line select{background:#fffcf7;border:1px solid #dedfd4;border-radius:8px;color:#49624f;padding:5px;font:inherit;max-width:85%}
