:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#f7f3e9;background:#071729;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#14334c,#071729 70%);min-height:100dvh}.community{width:min(780px,100%);margin:auto;padding:14px 16px calc(30px + env(safe-area-inset-bottom))}.community-top{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:48px}.backlink{color:#f1c776;text-decoration:none;font-weight:700;font-size:16px}.community-top select{background:#132e47;color:#fff;border:1px solid #a98c54;border-radius:12px;padding:10px;font-size:15px}.brandmark{display:flex;align-items:center;gap:14px;padding:18px 0 14px}.brandmark img{border-radius:16px}.brandmark h1{margin:0;font-size:26px;letter-spacing:.06em;color:#f3cb7f}.brandmark p{margin:3px 0 0;color:#c8d5e2}.community-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 20px}.community-tabs button{border:1px solid #987540;border-radius:14px;padding:15px 10px;background:#10263d;color:#fff;font-weight:800;font-size:17px;min-height:56px}.community-tabs button[aria-selected=true]{background:linear-gradient(140deg,#f7d588,#c99131);color:#112032}.community-card{background:rgba(19,44,64,.94);border:1px solid rgba(242,195,103,.3);border-radius:20px;padding:19px;margin:15px 0;box-shadow:0 7px 28px #0002}.community-card h2{font-size:21px;color:#f7d185;margin:0 0 12px}.community-card p{line-height:1.55;margin:0 0 16px}label{display:block;margin:18px 0 8px;font-weight:700}textarea,input{display:block;width:100%;background:#071727;border:1px solid #58758b;border-radius:12px;color:#fff;padding:14px;font-size:17px;line-height:1.45;resize:vertical}textarea:focus,input:focus{outline:2px solid #f0c777}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.gold{width:100%;border:0;background:linear-gradient(120deg,#f7d58a,#d09b39);border-radius:13px;font-size:18px;font-weight:850;color:#142236;min-height:54px;padding:12px;margin-top:18px}.answer{white-space:pre-wrap;background:#091b2c;border:1px solid #ad8546;border-radius:13px;margin-top:16px;padding:16px;line-height:1.5}.status{min-height:1.5em;margin-top:12px!important;color:#f1d495}.footerNote{font-size:13px;color:#b4c5d4;line-height:1.5;text-align:center;margin:22px 0}.ideaItem{border-top:1px solid #345268;padding:15px 0}.ideaItem h3{font-size:17px;margin:0 0 4px}.ideaItem p{margin:6px 0}.ideaItem small{color:#bcd0e0}.ideaState{display:inline-block;color:#f6d387;margin:7px 0;font-weight:800}.ideaReward{font-weight:800;color:#9adab9}@media(min-width:700px){.community{padding:20px 28px 44px}.community-card{padding:26px}}

/* Keep the question readable and the response close to the send action. */
#supportQuestion{min-height:9rem;height:9rem;max-height:45dvh;font:inherit;font-size:17px;line-height:1.5}
.support-clear{display:block;margin:8px 0 0 auto;min-height:44px;padding:8px 14px;border:1px solid #a98c54;border-radius:10px;background:#10263d;color:#f7d185;font:inherit;font-weight:700}
#supportSend{margin-top:10px}
#supportStatus:empty{display:none}
#supportStatus{margin:12px 0 0!important;scroll-margin-top:16px}
#supportAnswer{margin-top:14px;scroll-margin-top:16px;overflow-wrap:anywhere;white-space:normal}
#supportAnswer h3{margin:0 0 6px;color:#f7d185;font-size:17px}
#supportSentQuestion{white-space:pre-wrap;color:#c8d5e2;margin:0 0 16px}
#supportAnswerText{white-space:pre-wrap;line-height:1.6}
#supportAnswer:focus{outline:2px solid #f0c777;outline-offset:3px}

/* Support speech controls and visible waiting feedback. */
.support-input-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.support-voice{flex:1;min-width:180px;min-height:54px;border:1px solid #c8a262;border-radius:12px;background:#163757;color:#fff1cf;font:inherit;font-size:18px;font-weight:750;padding:12px 14px;touch-action:manipulation}
.support-voice[aria-pressed=true]{background:#7b2435;border-color:#ff9aa9;color:white}
.support-input-actions .support-clear{margin:0;min-height:54px}
.voice-status{font-size:15px;line-height:1.5;color:#c8d5e2;margin:10px 0 0!important}
.voice-status:empty{display:none}
.support-read-actions{margin-top:22px;text-align:center;border-top:1px solid #78623e;padding-top:4px}
#supportRead{max-width:370px;min-height:58px;margin:16px auto 0;font-size:19px}
#supportRead[aria-pressed=true]{background:#163757;color:#ffe5ac;border:1px solid #c8a262}
button:focus-visible{outline:2px solid #ffe5ac;outline-offset:3px}
#supportStatus[data-busy=true]{display:flex;align-items:center;gap:12px;min-height:54px}
#supportStatus[data-busy=true]::before{content:"";flex:0 0 40px;width:40px;height:40px;border-radius:50%;background-image:radial-gradient(circle at 30% 28%,#fff2b14d,transparent 42%,#000615dc 100%),url('/earth-texture-yoryi.jpg');background-size:100% 100%,200% 100%;background-position:0 0,0% 50%;box-shadow:inset -5px -3px 8px #000b,0 0 10px #3a9de655;animation:supportEarthSpin 8s linear infinite}
@keyframes supportEarthSpin{to{background-position:0 0,200% 50%}}
@media(prefers-reduced-motion:reduce){#supportStatus[data-busy=true]::before{animation:none}}
/* Put the provider badge after the content, clear of the gold answer frame. */
#nl-badge-frame{position:relative!important;display:block!important;right:auto!important;bottom:auto!important;margin:8px 16px 16px auto!important}

/* Compact support composer; primary actions remain in reach while the page scrolls. */
.community{padding-top:10px;padding-bottom:calc(170px + env(safe-area-inset-bottom));scroll-padding-bottom:170px}
.community-top{min-height:42px;gap:10px}
.community-top select{padding:8px 10px;max-width:46%}
.brandmark{gap:10px;padding:10px 0}
.brandmark img{width:36px;height:36px;border-radius:10px}
.brandmark h1{font-size:22px}
.brandmark p{display:none}
.community-tabs{gap:8px;margin:4px 0 12px}
.community-tabs button{min-height:48px;padding:9px 8px;font-size:16px}
#supportPanel .community-card{padding:16px;margin:0 0 12px}
#supportPanel h2{font-size:20px;margin-bottom:8px}
.support-info{margin:0 0 12px;color:#bdcddc;font-size:14px;line-height:1.5}
.support-info summary{cursor:pointer;padding:4px 0;min-height:32px}
.support-info p{margin:8px 0 12px}
#supportForm label{margin:8px 0;font-size:17px}
#supportQuestion{height:clamp(100px,20dvh,160px);min-height:100px;max-height:40dvh;padding:12px;font-size:18px;scroll-margin:16px 0 110px}
#supportClear{min-height:40px;margin:6px 0 0 auto;padding:6px 10px;font-size:14px}
#supportVoiceStatus{font-size:15px;margin:8px 0 0!important}
.support-actionbar{position:fixed;z-index:100;left:50%;transform:translateX(-50%);bottom:calc(8px + env(safe-area-inset-bottom) + var(--support-keyboard-inset,0px));width:calc(100% - 24px);max-width:740px;margin:0;padding:10px;border:1px solid #a98c54;border-radius:16px;background:#10283c;box-shadow:0 -6px 22px #0005;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
.support-actionbar .support-voice,.support-actionbar .gold{min-width:0;min-height:56px;margin:0!important;padding:10px 8px;font-size:17px;line-height:1.2;max-width:none;font-weight:750}
.support-read-actions{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
.support-actionbar .voice-status{grid-column:1/-1;margin:0!important}
#supportRead{max-width:none;margin:0;min-height:56px;font-size:17px}
body[data-support-view=answer] #supportForm,body[data-support-view=answer] #supportPanel .support-info,body[data-support-view=answer] #supportPanel h2{display:none}
body[data-support-view=answer] #supportAnswer{margin-top:0}
body[data-support-tab=ideas] .community{padding-bottom:30px}
#supportAnswerText{font-size:18px}
@media(max-width:360px){.community{padding-left:12px;padding-right:12px}.community-tabs button{font-size:15px}.support-actionbar .support-voice,.support-actionbar .gold{font-size:16px;padding:10px 6px}.backlink{font-size:15px}}

/* Keep the writing field compact within the actual area above a mobile keyboard. */
#supportQuestion{height:clamp(80px,calc(var(--support-visible-height,100dvh) * .24),160px);min-height:80px;max-height:calc(var(--support-visible-height,100dvh) * .38);overflow-y:auto}
html{scroll-padding-bottom:110px}

/* Suggestions share the compact composer and fixed, clearly labelled actions. */
body[data-support-tab=ideas] .community{padding-bottom:calc(210px + env(safe-area-inset-bottom))}
#ideasPanel .community-card{padding:16px;margin:0 0 12px}
#ideasPanel h2{font-size:20px;margin:0 0 8px}
#ideaForm>label{margin:10px 0 6px;font-size:17px}
#ideaTitle{min-height:46px;padding:10px 12px;font:inherit;font-size:18px}
#ideaDescription{height:clamp(100px,18dvh,150px);min-height:100px;max-height:40dvh;padding:12px;font:inherit;font-size:18px;line-height:1.45}
.idea-voice-target{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;font-size:14px;color:#c8d5e2}
.idea-voice-target select{min-width:0;max-width:62%;min-height:36px;border:1px solid #a98c54;border-radius:9px;padding:6px 8px;background:#0b1f32;color:#fff;font:inherit}
#ideaMic[aria-pressed=true]{background:#7b2435;border-color:#ff9aa9;color:white}
#ideaVoiceStatus:empty,#ideaStatus:empty{display:none}
#ideaStatus{margin:12px 0 0!important;line-height:1.5;scroll-margin-top:16px}
#ideaStatus:focus{outline:2px solid #f0c777;outline-offset:4px;border-radius:6px}
#ideaVoiceStatus{font-size:15px;line-height:1.5}
.ideas-history>summary{font-size:17px;font-weight:700;color:#f7d185;cursor:pointer;min-height:30px;line-height:1.5}
.ideas-history[open]>summary{margin-bottom:12px}
#ideasList{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
#ideaTitle,#ideaDescription{scroll-margin-bottom:170px}

/* One suggestion field; speech always writes here. */
body[data-support-tab=ideas] .community{padding-bottom:calc(130px + env(safe-area-inset-bottom))}
#ideaDescription{height:clamp(160px,28dvh,300px);min-height:160px;max-height:50dvh;scroll-margin-bottom:110px}
.idea-actions .support-voice,.idea-actions .gold{min-height:64px;font-size:18px}
