:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#30382e;background:#f7f5ef;font-synthesis:none;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#e9efdf 0,transparent 55%)}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,textarea:focus-visible,input:focus-visible+span{outline:3px solid #739c55;outline-offset:4px}.shell{max-width:780px;margin:auto;padding:36px 24px 24px}.hero{text-align:center}.eyebrow{font-size:12px;letter-spacing:.12em;color:#727a68}.mascot-stage{width:152px;height:146px;margin:12px auto 4px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 80%,#dbe5cc 0,transparent 66%)}.mascot{width:128px;height:128px;object-fit:contain;image-rendering:pixelated;animation:rainbow 6s linear infinite}@keyframes rainbow{from{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}h1{font-size:34px;letter-spacing:-1.5px;margin:0;font-weight:800}.sparkle{display:inline-block;color:#73935c;font-size:22px;margin-left:10px;vertical-align:top}.hero p{font-size:15px;color:#737969;margin:10px 0 14px}.preview-badge{display:inline-block;font-size:11px;border:1px solid #d8dfcb;background:#edf1e5;border-radius:20px;padding:4px 12px;color:#647650}.chat-card{margin-top:26px;border:1px solid #e0e3d8;border-radius:24px;background:#fffefb;box-shadow:0 14px 45px #38442d08;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid #eeeee6;font-size:13px;font-weight:650}.chat-header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#87a66a;margin-right:7px}.chat-header button{font-size:12px;border:0;background:transparent;color:#7b8273;padding:5px 8px}.messages{height:300px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}.message{max-width:90%;flex-shrink:0;align-self:flex-start}.message-label{font-size:11px;color:#818775;margin:0 0 6px 4px}.bubble{background:#f0f3e9;border:1px solid #e6ebdc;border-radius:3px 17px 17px;padding:14px 17px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{align-self:flex-end}.user .message-label{text-align:right}.user .bubble{background:#f6f3ed;border-color:#ece6dc;border-radius:17px 3px 17px 17px}.composer{padding:18px 22px 14px;border-top:1px solid #eeeee6}fieldset{display:flex;flex-wrap:wrap;gap:7px;border:0;padding:0;margin:0 0 15px}legend{font-size:12px;color:#747c69;margin-bottom:8px}fieldset label{position:relative;font-size:12px;cursor:pointer}fieldset input{position:absolute;opacity:0;width:1px;height:1px}fieldset span{display:block;border:1px solid #e2e5da;border-radius:9px;padding:6px 12px;color:#777e6e}fieldset input:checked+span{background:#eaf0df;border-color:#a3b68c;color:#4c6538}form{border:1px solid #dbdfd2;border-radius:14px;padding:12px;background:white}form:focus-within{border-color:#94aa7b}textarea{width:100%;resize:vertical;min-height:80px;max-height:240px;border:0;background:transparent;color:#343c2f;font-size:14px;outline:none}textarea::placeholder{color:#9a9e91}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.composer-bottom>span{font-size:10px;color:#8c9283}#send{border:0;background:#5c7548;color:white;border-radius:9px;padding:9px 15px;font-size:12px;white-space:nowrap}#send:hover{background:#4b623b}#send span{margin-left:8px}.examples{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;font-size:11px;color:#8b9182}.examples button{font-size:11px;border:1px solid #e6e8df;border-radius:20px;padding:3px 10px;background:transparent;color:#727d65}.status{font-size:12px;color:#88623f;margin:7px 0 0;min-height:0}.status:empty{display:none}footer{text-align:center;font-size:11px;color:#929787;margin-top:22px;line-height:1.9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:520px){.shell{padding:24px 14px}.hero h1{font-size:30px}.messages{height:290px;padding:18px}.composer{padding:16px}.chat-header{padding:12px 16px}.message{max-width:96%}.composer-bottom>span{max-width:145px}.mascot-stage{height:130px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.mascot{animation:none}.messages{scroll-behavior:auto}}
.upload-photo{font-size:12px;color:#5c7548;background:#f0f3e9;border:1px solid #dce4d2;border-radius:9px;padding:6px 12px;margin:4px 0 10px}.photo-help{font-size:11px;color:#818775;margin:8px 0 0}.photo-preview{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:12px;color:#727d65}.photo-preview[hidden]{display:none}.photo-preview img{width:64px;height:64px;object-fit:contain;border-radius:6px;background:#f0f3e9}.photo-preview span{overflow-wrap:anywhere;min-width:0;flex:1}.photo-preview button{border:0;background:transparent;color:#88623f;font-size:12px;padding:8px}
[hidden]{display:none!important}.entry-gate{margin-top:26px;padding:28px;border:1px solid #e0e3d8;border-radius:24px;background:#fffefb}.entry-gate h2{font-size:18px;margin:0 0 8px}.entry-gate p{font-size:13px;color:#737969}.entry-gate form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.entry-gate label{font-size:13px;width:100%}.entry-gate input{flex:1;min-width:100px;border:1px solid #dbdfd2;border-radius:9px;padding:10px;font-size:16px}.entry-gate button{border:0;border-radius:9px;padding:11px 16px;background:#5c7548;color:white;font-size:13px}.entry-gate input:focus-visible{outline:3px solid #739c55;outline-offset:2px}#entry-status{color:#88623f;min-height:1.6em;margin-bottom:0}
#chat-panel{position:relative}.drop-hint{position:absolute;inset:8px;z-index:2;display:grid;place-items:center;pointer-events:none;border:2px dashed #739c55;border-radius:18px;background:#f0f5e8ed;text-align:center;color:#4c6538;font-size:22px;font-weight:700}.drop-hint small{display:block;margin-top:8px;font-size:13px;font-weight:400}
