:root{font-family:Inter,"Noto Sans TC",system-ui,sans-serif;color:#17243b;background:#f1f5f9}*{box-sizing:border-box}body{margin:0}.shell{max-width:1100px;margin:auto;padding:44px 22px}header{margin-bottom:26px}h1{font-size:clamp(2rem,5vw,3.2rem);margin:10px 0}h2{font-size:1.3rem;margin:0 0 22px}.eyebrow{font:700 .72rem/1.4 ui-monospace,monospace;letter-spacing:.12em;color:#355f9e}p{line-height:1.6}.notice{padding:14px 18px;border-left:4px solid #2563eb;background:#e5efff;margin-bottom:24px}.columns{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}.panel{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:28px;min-width:0}.panel label{display:block;font-weight:650;margin:20px 0 8px}select{width:100%;height:48px;padding:0 12px;border:1px solid #94a3b8;border-radius:8px;background:white;font:inherit;color:inherit}.sample-photo{margin:24px 0;padding:14px;border:1px dashed #94a3b8;border-radius:8px;display:flex;gap:14px;align-items:center}.sample-photo span{font-size:2.2rem;color:#2563eb}.sample-photo strong,.sample-photo small{display:block}.sample-photo small,.hint,.record small{color:#475569}.actions{display:flex;gap:10px}button{min-height:46px;border:0;border-radius:8px;padding:10px 16px;background:#1d4ed8;color:white;font:600 1rem/1.3 Inter,"Noto Sans TC",system-ui,sans-serif;cursor:pointer}.secondary{background:#c2410c}button:disabled{opacity:.55;cursor:wait}button:focus-visible,select:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.panel-head h2{margin:5px 0}.text-button{background:none;color:#1d4ed8;text-decoration:underline;font-size:.9rem}.records{margin-top:22px}.record{padding:15px 0;border-top:1px solid #e2e8f0}.record strong,.record small{display:block}.record small{margin-top:5px}.empty{padding:25px 0;color:#475569}#status{min-height:1.5em;font-weight:600}@media(max-width:740px){.columns{grid-template-columns:1fr}.shell{padding:28px 16px}.panel{padding:22px}.actions button{flex:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.panel h3{font-size:1rem;margin:28px 0 8px}.demo-tag{font-size:.7rem;vertical-align:middle;color:#475569;background:#e2e8f0;border-radius:4px;padding:4px 6px;margin-left:5px}.chat-preview{border:1px solid #b7c9d6;border-radius:12px;overflow:hidden;background:#dce9ef;max-width:480px}.chat-head{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fff;border-bottom:1px solid #d6e2e8}.chat-head strong,.chat-head small{display:block}.chat-head small{font-size:.72rem;color:#526678;margin-top:2px}.chat-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#2880ae;font-size:1.15rem}.chat-body{min-height:210px;padding:18px 12px;background-color:#d9e5df;background-image:radial-gradient(#c4d8d4 1px,transparent 1px);background-size:22px 22px}.chat-empty{text-align:center;background:#edf5f4;color:#415b61;border-radius:8px;padding:15px;margin:38px auto;max-width:280px;font-size:.85rem}.chat-message{display:flex;align-items:flex-end;gap:7px}.chat-message[hidden],.chat-empty[hidden]{display:none}.bot-icon{flex:none;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#2b89ad;color:white;font-weight:700;font-size:.8rem}.chat-bubble{background:white;border-radius:10px 10px 10px 3px;padding:10px;max-width:340px;width:calc(100% - 38px);box-shadow:0 1px 3px #1b394033}.bot-name{font-size:.83rem;color:#277ca6;font-weight:700;margin-bottom:8px}.bot-name span{font-size:.62rem;color:#637786}.photo-preview{position:relative;overflow:hidden;height:135px;border-radius:6px;background:linear-gradient(145deg,#9bc2d5,#c6dfda);margin-bottom:10px}.photo-head{position:absolute;top:26px;left:calc(50% - 18px);width:36px;height:36px;border-radius:50%;background:#688fa2}.photo-shoulders{position:absolute;top:70px;left:calc(50% - 47px);width:94px;height:90px;border-radius:60px 60px 0 0;background:#688fa2}.photo-preview b{position:absolute;bottom:7px;left:8px;color:#173643;background:#ffffffd9;border-radius:4px;padding:3px 6px;font-size:.7rem}.message-title{display:block;color:#17324d;font-size:.9rem}.chat-bubble p{margin:4px 0;font-size:.81rem;line-height:1.4}.location-card{display:flex;gap:9px;align-items:center;border-left:3px solid #2880ae;background:#eff7f8;padding:7px 8px;margin-top:9px}.location-pin{color:#c2410c}.location-card strong,.location-card small{display:block;font-size:.75rem}.location-card small{font-size:.67rem;color:#526678;margin-top:2px}.message-footer{display:flex;justify-content:space-between;color:#647783;font-size:.65rem;margin-top:8px}
.capture-tools{display:flex;gap:10px;margin:0 0 10px}.tool-button{flex:1;background:#e7effa;color:#174c91;border:1px solid #a7c4e9;font-size:.88rem}.camera-area{margin:12px 0}.camera-area video{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:8px;background:#1e293b}.camera-area button{margin:10px 8px 0 0}.photo-area{margin:12px 0}.photo-area img{display:block;max-width:100%;max-height:200px;border-radius:8px}.photo-area button{margin-top:6px}.camera-area[hidden],.photo-area[hidden]{display:none}.photo-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-preview img[hidden]{display:none}#location-status{font-size:.8rem;overflow-wrap:anywhere}@media(max-width:420px){.capture-tools{flex-direction:column}}
