/* Touch-first controls: explicit choices, calendar always visible. */
button,a,summary,label.checkbox{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:not(.nav),summary{min-height:48px}input:not([type=hidden]),textarea{font-size:16px}input[type=hidden]{display:none!important}
.touch-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.touch-options button{border:1px solid #dbe2ef;border-radius:14px;background:#f7f9fd;color:#263854;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;min-height:48px;line-height:1.3}
.touch-options button[aria-pressed=true],.touch-calendar button[aria-pressed=true]{background:#334e85;color:white;border-color:#334e85;box-shadow:0 2px 5px #23395520}
.touch-options button:focus-visible,.touch-calendar button:focus-visible{outline:3px solid #e08b74;outline-offset:2px}.touch-options button:active,.touch-calendar button:active{transform:scale(.96)}
.profile-picker{display:flex;flex-wrap:wrap;gap:6px;background:transparent;padding:0;min-width:0;max-width:100%}.profile-tabs{margin:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;padding:4px 2px;scroll-snap-type:x proximity}.profile-tabs button{flex:0 0 auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;scroll-snap-align:start}.profile-picker>span{font-size:12px;width:100%}
.length-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.length-options button{padding:8px 2px}.length-options button:first-child{grid-column:span 2}
#dateDialog{width:min(100% - 24px,480px);max-height:calc(100dvh - 24px);padding:24px;overflow:auto;overscroll-behavior:contain}#dateDialog h2{font-size:25px;line-height:1.15;margin:10px 0}#dateModeHint{font-size:13px;line-height:1.45;margin:8px 0 12px}.date-mode-tabs{gap:6px}.date-mode-tabs button{font-size:13px;padding:8px;flex:1;min-width:0}.date-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}.date-shortcuts button{padding:8px 4px;font-size:13px}.date-picker .month-controls{margin:8px 0;gap:8px}.date-picker h3{font-size:17px;margin:0;text-align:center;text-transform:capitalize}.date-picker .weekdays{margin:0;gap:0}.touch-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;touch-action:pan-y}.touch-calendar button{min-width:0;min-height:44px;border:0;border-radius:12px;background:transparent;color:#263854;font:inherit;font-size:16px;padding:0;cursor:pointer}.touch-calendar button:disabled{color:#b2baca;cursor:default}.touch-calendar button[aria-current=date]:not([aria-pressed=true]){box-shadow:inset 0 0 0 2px #e59b85}.date-picker .icon-button{min-width:48px}#selectedDateLabel{margin:10px 0;font-size:14px;font-weight:650}.optional-length{border-top:1px solid #e4e9f1;margin-top:8px}.optional-length summary{display:flex;align-items:center;gap:5px;font-size:14px;cursor:pointer}.optional-length summary:after{content:'＋';margin-left:auto}.optional-length[open] summary:after{content:'−'}#saveDateButton{position:sticky;bottom:0;width:100%;min-height:52px;margin-top:8px;box-shadow:0 -8px 18px white}#dateError:empty{display:none}
.calendar-grid{touch-action:pan-y}.calendar-grid button{min-height:44px}.checkbox{min-height:52px;align-items:center}.checkbox input{min-width:24px;min-height:24px}.moods button{min-height:52px!important;font-size:14px!important}.icon-button{min-width:48px}.favorite-delete{min-width:48px}details>summary{padding:10px 0}
@media(max-width:700px){header{flex-wrap:wrap}.profile-picker{width:100%;order:3}.profile-tabs{width:100%}#today>.page-heading{flex-direction:column;align-items:stretch}#today .desktop-date{display:block;width:100%}#today .mobile-date{display:none}.moods{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-card{padding:12px}.calendar-grid{gap:2px}.touch-options button{flex-grow:1}#dateDialog{width:100%;max-width:100%;max-height:96dvh;margin:auto 0 0;border-radius:24px 24px 0 0;padding:16px 12px max(12px,env(safe-area-inset-bottom))}.date-mode-tabs{display:flex}#dateDialog .dialog-top{margin:0}#dateDialog h2{font-size:23px}.profile-picker>span{display:none}.new-profile-row{flex-wrap:wrap}.new-profile-row input{width:100%}.new-profile-row button{width:100%}}
@media(prefers-reduced-motion:reduce){.touch-options button:active,.touch-calendar button:active{transform:none}}
.initiative-card{margin:26px 0;padding:22px;background:#fff;border:1px solid #dbe1eb;border-radius:24px}.initiative-card h2{font-size:23px;margin:0}.initiative-card h3{font-size:25px;line-height:1.15;margin:12px 0 20px}.initiative-card .eyebrow{margin:0 0 7px}.initiative-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 14px}.initiative-filters button{padding:12px 8px;min-height:50px}.idea-actions{display:flex;gap:8px}.idea-actions button{flex:1;min-width:0;padding:12px 8px;font-size:14px}.idea-personal{background:#f1f3f7;padding:14px;border-radius:12px;overflow-wrap:anywhere}#ideaDetails{border-top:1px solid #e2e5eb;margin-top:18px;padding-top:16px}#ideaSteps{padding-left:23px}#ideaSteps li{padding:0 0 14px 5px;line-height:1.55}#ideaSteps li::marker{font-weight:700}#ideaInvite{font-size:17px;line-height:1.5}#ideaCopy{width:100%}#ideaMeta{margin:0}
@media(max-width:380px){.initiative-card{padding:16px}.idea-actions{flex-direction:column}}
