:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Segoe UI",sans-serif;color:#18221f;background:#f6f8f7;font-size:16px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;-webkit-text-size-adjust:100%}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.58;cursor:default}input,textarea{outline:none}
#app{min-height:100dvh;max-width:620px;margin:auto;background:#f6f8f7;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.page{padding:26px 22px 38px;min-height:100dvh}.cover{background:#fff;text-align:center;padding-top:max(10vh,70px)}.brand{color:#16a34a;font-size:40px;font-weight:760;letter-spacing:.04em;margin:0 0 12px}.cover p{color:#657470;margin:0 0 34px}.title{text-align:center;font-size:29px;letter-spacing:.03em;margin:20px 0 7px}.subtitle{text-align:center;color:#657470;font-size:14px;margin:0 0 30px}.section-title{font-size:19px;margin:26px 0 12px}.muted{color:#657470}.small{font-size:12px;line-height:1.6}.warning{color:#be2d37}.field{display:block;width:100%;min-height:52px;border:1px solid #d2dbd8;border-radius:14px;background:#fff;color:#18221f;padding:12px 14px;margin:0 0 12px}.field:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a22}.field::placeholder{color:#91a09b}.field-area{min-height:90px;resize:vertical}.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:14px;background:#16a34a;color:#fff;font-weight:700;margin:0 0 12px;padding:10px 16px;text-align:center}.btn-dark{background:#263430}.btn-light{background:#e8edeb;color:#18221f}.btn-outline{background:#fff;color:#16a34a;border:1px solid #cfe6d7}.btn-danger{background:#faebed;color:#be2d37}.btn-plain{background:transparent;color:#657470}.btn-small{min-height:42px;font-size:14px;margin:0}.row{display:flex;gap:9px}.row>.btn{flex:1;min-width:0}.check{display:flex;align-items:flex-start;gap:10px;color:#263430;font-size:14px;margin:8px 0 14px;line-height:1.5}.check input{width:20px;height:20px;accent-color:#16a34a;flex:none;margin:0}.card{background:#fff;border:1px solid #d7dfdc;border-radius:16px;padding:15px;margin:0 0 10px}.card h3{font-size:17px;margin:0 0 5px}.card p{font-size:13px;color:#657470;line-height:1.5;margin:0 0 12px;word-break:break-word}.card .row{margin-top:8px}.notice{background:#fff6e8;border:1px solid #f0d6a9;border-radius:12px;color:#7d5210;padding:10px 12px;font-size:13px;line-height:1.5;margin:12px 0}.status{font-size:13px;margin:0 0 10px}.status-ok{color:#168044}.status-bad{color:#be2d37}.divider{height:1px;background:#e0e6e3;margin:22px 0}
.chat{display:flex;flex-direction:column;height:100dvh;min-height:500px;background:#f6f8f7}.chat-header{display:flex;align-items:center;gap:10px;background:#fff;padding:12px 14px;border-bottom:1px solid #e0e6e3;flex:none}.back{font-size:30px;line-height:1;background:transparent;color:#263430;padding:6px 10px}.chat-heading{min-width:0;flex:1}.chat-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-heading small{display:block;color:#657470}.copy-btn{background:#edf7f0;color:#168044;border-radius:12px;padding:11px;font-size:13px}.admin-banner{background:#be2d37;color:#fff;text-align:center;font-size:12px;padding:8px}.messages{flex:1;overflow-y:auto;padding:16px 14px;overscroll-behavior:contain}.message{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 15px}.message.mine{align-items:flex-end}.message-meta{font-size:11px;color:#657470;margin:0 4px 4px}.message-meta.admin{color:#be2d37;font-weight:700}.bubble{max-width:82%;background:#fff;border-radius:18px;padding:11px 14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.mine .bubble{background:#16a34a;color:#fff}.mine.admin .bubble{background:#be2d37}.message.admin:not(.mine) .bubble{background:#ffebed}.composer{display:flex;align-items:flex-end;gap:8px;background:#fff;padding:9px 11px max(9px,env(safe-area-inset-bottom));border-top:1px solid #e0e6e3}.composer textarea{flex:1;min-width:0;max-height:120px;resize:none;border:1px solid #d2dbd8;border-radius:12px;padding:10px 12px}.composer button{width:48px;height:45px;border-radius:12px;background:#16a34a;color:white;font-size:22px}.composer button.admin-send{background:#be2d37}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);background:#263430;color:white;border-radius:12px;padding:11px 16px;font-size:14px;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .18s;z-index:5}#toast.show{opacity:1}
@media(min-width:680px){#app{border-left:1px solid #e2e8e5;border-right:1px solid #e2e8e5;box-shadow:0 8px 40px #0000000b}.page{padding-left:35px;padding-right:35px}}
