:root{font-family:Hiragino Sans,Noto Sans JP,Meiryo,system-ui,sans-serif;color:#203f36;background:#f4f6ef;font-synthesis:none;font-size:16px;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,input{min-height:48px;border:1px solid #cbd7cd;border-radius:10px;padding:10px 14px}button{cursor:pointer;background:#28695b;color:#fff;font-weight:600;white-space:normal}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:#edf3e9;color:#245847}button.quiet{background:transparent;color:#49645a;border-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #b39145;outline-offset:4px}input,select{background:#fff;color:#234b3e;max-width:100%;width:100%}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 4vw;border-bottom:1px solid #dfe6dc;background:#fffdf7}.brand{display:flex;gap:12px;align-items:center;font-size:27px;font-weight:650;color:#28695b;text-decoration:none;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:.18em;margin-top:6px}.header-actions{display:flex;align-items:center;gap:20px}.header-actions select{width:auto}.connection{font-size:12px;color:#8b6d35}.connection:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:7px}.connection.online{color:#3e735b}.terminal{max-width:1500px;margin:0 auto;padding:40px 4vw;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:32px}.companion{background:#173f36;color:#f6fae9;border-radius:32px;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:650px;justify-content:center;position:relative;overflow:hidden}.robot-name{font-size:13px;letter-spacing:.08em;color:#bed2c2;margin-bottom:30px}.face{width:min(420px,100%);height:210px;display:flex;justify-content:center;align-items:center;gap:55px;position:relative;margin:20px 0 35px}.face i{display:block;width:55px;height:75px;border-radius:45%;background:#dfeec7;box-shadow:0 0 35px #b5dc9140;animation:blink 6s infinite}.face span{position:absolute;bottom:15px;width:52px;height:24px;border:4px solid #dfeec7;border-top:0;border-radius:0 0 50px 50px}.face.paused i{height:10px;animation:none}.face.compact{background:#173f36;border-radius:45px;height:190px;width:300px;margin:auto}.eyebrow{font-size:12px;letter-spacing:.1em;color:#adc9b8}.companion h1{font-size:clamp(25px,3vw,40px);line-height:1.6;font-weight:500;max-width:650px;margin:12px 0}.visit-label{font-size:14px;color:#c9dbcd;overflow-wrap:anywhere}.controls{background:#fffdf9;border:1px solid #e0e6db;border-radius:24px;padding:28px;align-self:start;min-width:0}.controls h2{margin:0;font-size:20px}.help{font-size:12px;color:#6c7e71;line-height:1.8}.controls label{display:block;font-size:13px;margin:20px 0 12px}.controls label input,.controls label select{display:block;margin-top:7px}.controls>button{display:block;width:100%;margin:10px 0}.controls .check{display:flex;gap:12px;align-items:center}.check input{min-height:24px;width:24px;flex-shrink:0;accent-color:#28695b}.check span{font-size:13px}.controls fieldset{border:0;margin:20px 0 0;padding:0}.controls legend{font-size:12px;color:#70806d}.controls h3{font-size:20px;font-weight:600}.answers{display:grid;gap:12px}.visit-actions{border-top:1px solid #e1e8df;margin-top:25px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px}.controls dl{font-size:13px}.controls dl div{padding:10px 0;border-bottom:1px solid #e4e8e1}.controls dd{margin:3px 0;color:#28695b;font-weight:600}.photo{border-top:1px solid #e1e8df;margin-top:20px;padding-top:15px}.photo summary{cursor:pointer;min-height:48px;display:list-item;padding:10px}.photo img{width:100%;border-radius:10px}.photo input[type=file]{font-size:13px}.battery-label{max-width:270px}.error,.connection-warning{background:#faeee1;color:#7f442b;border-radius:10px;padding:12px;font-size:14px}.notice{color:#e4efc6}.enrol-screen{max-width:650px;text-align:center;padding:70px 24px;min-height:75vh;margin:auto}.enrol-screen h1{font-size:28px;margin-top:40px}.enrol-screen p{color:#5e7668}.enrol-screen p:empty{display:none}footer{padding:24px;text-align:center;font-size:11px;color:#798775}.controls:has(fieldset:disabled){opacity:.85}@keyframes blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.08)}}@media(prefers-reduced-motion:reduce){.face i{animation:none}}@media(max-width:850px){header{padding:18px 20px}.terminal{grid-template-columns:1fr;padding:20px;gap:20px}.companion{min-height:390px;padding:24px}.face{height:150px;margin:0 0 20px}.face i{height:55px;width:42px}.robot-name{margin-bottom:10px}.controls{padding:24px}.header-actions{gap:12px}.connection{font-size:11px}}@media(max-width:430px){header{align-items:start;flex-wrap:wrap;gap:16px}.header-actions{width:100%;justify-content:space-between}.terminal{padding:12px}.companion{border-radius:22px}.controls{padding:20px}.companion h1{font-size:25px}.enrol-screen{padding:40px 20px}.face.compact{width:250px}.visit-actions button{width:100%}}
