:root{font-family:Arial,Helvetica,sans-serif;color:#2c116f;color-scheme:light}
*{box-sizing:border-box}
.site-home{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:inline-block;padding:12px 16px;border:1px solid #c3b2fa;border-radius:8px;background:#f2edfff2;color:#2c116f;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 3px 8px #170c4133}.site-home:hover{background:#fff}.site-home:focus-visible{outline:3px solid #fff;outline-offset:3px}
html{min-height:100%;background:#171a3d}
body{margin:0;min-height:100vh;min-height:100dvh;background:#171a3d url('/suggestions/background.jpg') center top/cover no-repeat}
.stage{min-height:100vh;min-height:100dvh;padding:clamp(120px,24.5vh,230px) 16px 40px;display:flex;justify-content:center;align-items:flex-start}
.feedback{width:min(635px,100%);background:linear-gradient(145deg,rgba(255,252,255,.96),rgba(240,234,255,.97));border:1px solid #c3b2fa;border-radius:13px;padding:13px 20px 15px;box-shadow:0 10px 24px rgba(17,8,65,.25),0 0 0 1px rgba(255,255,255,.4);backdrop-filter:blur(3px)}
h1{font-weight:800;font-size:clamp(26px,3vw,35px);line-height:1.08;margin:0 0 12px;letter-spacing:-1.2px}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;border:0;margin:0 0 13px;padding:0;min-width:0}
.category{min-width:0;cursor:pointer;position:relative;display:block}
.category>input{position:absolute;opacity:0;width:1px;height:1px}
.category-face{position:relative;height:118px;width:100%;border:2px solid #b7a5eb;border-radius:8px;background:linear-gradient(145deg,#f2edff,#eae4fa);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;box-shadow:0 2px 2px #bcaedb;transition:background .12s ease,border-color .12s ease,transform .12s ease}
.category-face svg{height:48px;width:48px;fill:#28067e;display:block;flex:none;stroke:none}
.category-text{color:#251069;text-align:center;font-size:15px;line-height:1.03;font-weight:750}
.category-face .check{position:absolute;right:9px;top:3px;color:white;font-size:21px;font-weight:900;opacity:0}
.category>input:checked + .category-face{background:linear-gradient(155deg,#8256e3,#6741cf 75%,#5735b5);border-color:#7f59da;box-shadow:0 3px 5px #6542a26b}
.category>input:checked + .category-face svg{fill:white}
.category>input:checked + .category-face .category-text{color:white}
.category>input:checked + .category-face .check{opacity:1}
.category>input:focus-visible+.category-face{outline:3px solid #2b087e;outline-offset:3px}
.category:hover .category-face{transform:translateY(-2px)}
textarea,#username{border:2px solid #bcb0ea;border-radius:8px;background:#fff;color:#21104f;box-shadow:inset 0 1px 3px #31237814;outline:0;font-family:inherit;font-weight:500;font-size:16px;transition:border-color .12s ease,box-shadow .12s ease}
textarea:focus,#username:focus{border-color:#8d66db;box-shadow:0 0 0 3px #9d85de44}
textarea{display:block;width:100%;min-height:139px;max-height:270px;resize:vertical;padding:15px 14px;line-height:1.42}
textarea::placeholder,#username::placeholder{color:#9582bf;opacity:1}
.submit-row{margin-top:13px;display:flex;gap:12px;align-items:stretch}
#username{padding:12px 13px;min-width:0;flex:1}
#submit{width:215px;max-width:37%;border:1px solid #8a5add;border-radius:8px;background:linear-gradient(180deg,#946af2,#6a43d1);color:white;font-weight:800;font-size:21px;letter-spacing:-.5px;text-shadow:0 1px 1px #28106e;box-shadow:0 3px 4px #4e26875f;cursor:pointer}
#submit:hover{filter:brightness(1.07)}#submit:disabled{opacity:.6;cursor:wait}
#status{margin:0;min-height:0;color:#372281;font-size:13px;font-weight:650;line-height:1.4}#status:not(:empty){padding-top:12px}#status.error{color:#b1264f}#status.success{color:#196a54}
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){body{background-position:center center;background-attachment:fixed}.stage{padding:clamp(90px,17vh,155px) 12px 32px}.feedback{padding:14px 14px 16px}.category-grid{gap:8px}.category-face{height:105px;gap:8px}.category-face svg{width:42px;height:42px}.category-text{font-size:12px}h1{font-size:29px}}
@media(max-width:420px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-face{height:90px;gap:5px}.category-face svg{width:38px;height:38px}.category-text{font-size:14px}.submit-row{gap:8px}#submit{width:120px;max-width:40%;font-size:18px}textarea{min-height:132px}.stage{padding-top:clamp(72px,10vh,104px)}}
@media(prefers-reduced-motion:reduce){.category-face{transition:none}}
/* Optional current poll alongside the existing simplified form. */
.stage:has(.poll-panel:not([hidden])){gap:22px;align-items:flex-start}
.stage:has(.poll-panel:not([hidden])) .feedback{width:min(605px,59vw)}
.poll-panel{flex:0 1 360px;min-width:290px;width:min(360px,100%);background:linear-gradient(150deg,rgba(255,253,255,.98),rgba(240,233,255,.97));border:1px solid #c6b4fb;border-radius:13px;padding:20px;box-shadow:0 10px 24px rgba(17,8,65,.26);color:#2c116f}
.poll-panel[hidden],#pollResults[hidden],#pollVoteForm[hidden]{display:none!important}
.poll-label{color:#7b56cf;font-size:11px;font-weight:900;letter-spacing:.13em}
.poll-panel h2{font-size:27px;margin:5px 0 13px;line-height:1.15}
.poll-question{font-size:17px;font-weight:750;line-height:1.45;margin:0 0 16px;overflow-wrap:anywhere}
.poll-time{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px;color:#775cae;border-bottom:1px solid #d8caf5;padding-bottom:11px;margin-bottom:13px}
.poll-time strong{font-variant-numeric:tabular-nums;color:#5423a4}
.poll-choices{padding:0;margin:0;display:grid;gap:9px;border:0;min-width:0}
.poll-choice{cursor:pointer;display:flex;gap:10px;align-items:center;background:#fff;border:2px solid #c4b1ef;border-radius:8px;padding:12px 11px;color:#321276;font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.poll-choice input{accent-color:#774bdd;width:18px;height:18px;flex:none;margin:0}
.poll-choice:has(input:checked){background:#eee6ff;border-color:#8158dd}
.poll-vote-btn{width:100%;background:#7547d9;color:#fff;border:0;border-radius:8px;margin-top:12px;padding:12px;font-size:15px;font-weight:850;cursor:pointer}
.poll-vote-btn:disabled{opacity:.55;cursor:wait}
.poll-result{margin:0 0 15px}
.poll-result-title{display:flex;align-items:baseline;gap:8px;justify-content:space-between;font-size:14px;overflow-wrap:anywhere}
.poll-result-title strong{min-width:0}
.poll-result-title span{flex:none;font-variant-numeric:tabular-nums;font-size:12px;color:#755ca9}
.poll-meter{margin-top:6px;height:11px;border-radius:6px;background:#ded3f6;overflow:hidden}
.poll-meter span{display:block;height:100%;background:linear-gradient(90deg,#9c7bea,#7148d2);border-radius:6px;max-width:100%}
.poll-result.my-choice .poll-meter span{background:#4ba89f}
.poll-footer{border-top:1px solid #d8caf5;margin-top:8px;padding-top:12px;display:flex;flex-direction:column;gap:5px;color:#71569c;font-size:12px}
#pollFeedback{color:#4d287f}
@media(max-width:850px){.stage:has(.poll-panel:not([hidden])){flex-direction:column;align-items:center;gap:18px}.stage:has(.poll-panel:not([hidden])) .feedback{width:min(635px,100%)}.poll-panel{flex:none;width:min(635px,100%);min-width:0}}

/* Cody's Big Ideas: an editorial/community section under the main form and poll. */
.ideas-jump{display:inline-flex;margin:-5px 0 13px;font-size:12px;color:#6344ae;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.ideas-board{width:min(1100px,calc(100% - 32px));margin:0 auto 70px;background:linear-gradient(150deg,rgba(252,249,255,.98),rgba(238,232,253,.98));border:1px solid #cbbcf2;border-radius:18px;box-shadow:0 18px 45px #10093165;padding:clamp(18px,3vw,36px);color:#29106b}
.ideas-head{border-bottom:1px solid #cfc3eb;margin-bottom:20px;padding-bottom:15px}
.ideas-eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em;color:#7752bf}
.ideas-head h2{font-size:clamp(29px,4vw,44px);letter-spacing:-1.5px;line-height:1.15;margin:8px 0;color:#301071}
.ideas-head p{margin:0;font-size:15px;line-height:1.6;color:#6c5793}
.ideas-username{background:#ebe3fd;border:1px solid #c9b8ec;border-radius:11px;padding:15px;margin-bottom:25px}
.ideas-username-copy{display:flex;flex-direction:column;gap:4px;margin-bottom:11px}
.ideas-username-copy strong{font-size:15px}
.ideas-username-copy span{font-size:12px;color:#6c598d}
.ideas-name-form{display:flex;gap:9px}
.ideas-name-form input,.idea-comment-form textarea{font:inherit;font-size:15px;background:white;border:2px solid #bba8e8;color:#2f185c;border-radius:8px;outline:none}
.ideas-name-form input{padding:11px 12px;flex:1;min-width:0}
.ideas-name-form input:focus,.idea-comment-form textarea:focus{border-color:#7650d5;box-shadow:0 0 0 3px #9f85ed48}
.ideas-name-form button,.idea-comment-actions button{border:0;border-radius:8px;background:#7447d8;padding:10px 17px;color:white;font-size:13px;font-weight:850;cursor:pointer}
.ideas-name-form button:hover,.idea-comment-actions button:hover{filter:brightness(1.08)}
.ideas-name-status{min-height:14px;margin:10px 0 0;font-size:12px;color:#6b548f}
.ideas-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px;align-items:start}
.idea-card{border:1px solid #d2c4eb;background:#fff;border-radius:13px;padding:20px;box-shadow:0 4px 15px #4529741b;overflow:hidden;min-width:0}
.idea-meta{font-size:10px;letter-spacing:.13em;font-weight:900;color:#815fba}
.idea-title{font-size:clamp(22px,2vw,26px);line-height:1.15;margin:9px 0}
.idea-description{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#584772;margin:0 0 14px}
.idea-figure{margin:15px 0;overflow:hidden;border-radius:9px;border:1px solid #dfd4f5;background:#eee9fa}
.idea-figure img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain}
.idea-discussion{border-top:1px solid #ddd2f1;margin-top:19px;padding-top:15px}
.idea-discussion h4{font-size:15px;margin:0 0 13px}
.idea-comments{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;scrollbar-width:thin}
.idea-comment{padding:11px 12px;background:#f5f0ff;border:1px solid #e6ddf9;border-radius:9px;overflow-wrap:anywhere}
.idea-comment-top{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:12px}
.idea-comment-top time{font-size:11px;color:#7e6a9f;white-space:nowrap}
.idea-comment p{margin:7px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.5;color:#49376b}
.idea-comment-form textarea{resize:vertical;width:100%;min-height:65px;max-height:200px;padding:10px}
.idea-comment-form textarea:disabled{background:#f2eef9;cursor:not-allowed}
.idea-comment-actions{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.idea-comment-actions button:disabled{opacity:.45;cursor:not-allowed}
.idea-comment-status{font-size:12px;color:#7b4895}
.ideas-empty{font-size:13px;color:#77618f;margin:10px 0}
.ideas-feed-status{font-size:12px;color:#a23957}
@media(max-width:800px){.ideas-list{grid-template-columns:1fr}.ideas-board{width:min(635px,calc(100% - 24px));margin-bottom:35px;padding:19px}.idea-card{padding:17px}}
@media(max-width:420px){.ideas-name-form{flex-direction:column}.ideas-name-form button{align-self:stretch}.idea-comment-top{flex-wrap:wrap}}

