/* Ideas: idea bank, hook generator and 14-day content calendar */
.ideas-view { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ideas-view .btn { min-height: 40px; }
.ideas-small { font-size: 0.86rem; }
.ideas-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.ideas-layout { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@container (min-width: 760px) {
	.ideas-layout { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); grid-template-areas: "add list" "gen list"; }
	.ideas-layout > .ideas-add { grid-area: add; }
	.ideas-layout > .ideas-list { grid-area: list; }
	.ideas-layout > .ideas-gen { grid-area: gen; }
	.ideas-layout.ideas-first { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "gen add"; }
}

/* Intro (empty state) */
.ideas-intro { display: flex; flex-direction: column; gap: 6px; padding: 22px 20px; }
.ideas-intro h2 { font-size: clamp(1.4rem, 5vw, 1.8rem); font-weight: 850; font-stretch: 88%; }
.ideas-intro p { max-width: 58ch; }

/* Calendar */
.ideas-strip {
	position: relative;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(58px, 1fr);
	gap: 6px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	padding: 2px;
	margin: 0 -2px;
}
.ideas-strip::-webkit-scrollbar { display: none; }
.ideas-day {
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	min-height: 92px;
	padding: 10px 4px;
	border-radius: 14px;
	border: 0;
	background: var(--fill);
	transition: background 0.15s, transform 0.15s, color 0.15s;
}
.ideas-day:hover { background: var(--fill-strong); }
.ideas-day:active { transform: scale(0.95); }
.ideas-day[aria-pressed="true"] { background: var(--ink); color: var(--bg); }
.ideas-dow { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.ideas-day[aria-pressed="true"] .ideas-dow { color: inherit; opacity: 0.7; }
.ideas-dnum { font-family: var(--font-display); font-stretch: 80%; font-size: 1.45rem; font-weight: 850; line-height: 1; }
.ideas-dots { display: flex; gap: 3px; min-height: 7px; }
.ideas-dots i { width: 7px; height: 7px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--ring-post); }
.ideas-dots i.on { background: var(--ring-post); }
.ideas-dots i.over { background: var(--warn); box-shadow: none; }
.ideas-dots i.rest { box-shadow: inset 0 0 0 1.5px var(--muted); opacity: 0.4; }
.ideas-count { font-size: 0.72rem; color: var(--muted); font-weight: 600; }
.ideas-day[aria-pressed="true"] .ideas-count { color: inherit; opacity: 0.75; }
.ideas-day.full .ideas-count { color: var(--good); font-weight: 750; opacity: 1; }
.ideas-day.over .ideas-count { color: var(--warn); font-weight: 750; opacity: 1; }
.ideas-day[aria-pressed="true"].full .ideas-count { color: var(--ring-create); }

.ideas-dayinfo { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--line); padding-top: 14px; }
.ideas-slots { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ideas-slot { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line); }
.ideas-slot:first-child { border-top: 0; }
.ideas-slot-n { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 0.85rem; background: var(--ring-post); color: #FFFFFF; }
.ideas-slot.extra .ideas-slot-n { background: var(--warn); }
.ideas-slot-body { display: flex; flex-direction: column; min-width: 0; }
.ideas-slot-body strong { font-weight: 650; overflow-wrap: anywhere; }
.ideas-slot-body .muted { font-size: 0.8rem; }
@media (max-width: 420px) {
	.ideas-slot { grid-template-columns: 26px minmax(0, 1fr); align-items: start; }
	.ideas-slot .btn { grid-column: 2; justify-self: start; }
}

/* Quick add */
.ideas-add textarea { resize: vertical; min-height: 64px; }
.ideas-formats { border: 0; margin: 0; padding: 0; min-width: 0; }
.ideas-formats legend { font-weight: 600; font-size: 0.85rem; color: var(--muted); padding: 0; margin-bottom: 6px; }
.ideas-fmt-row { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 12px; background: var(--fill); }
.ideas-fmt { position: relative; }
.ideas-fmt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ideas-fmt span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: 9px; font-weight: 600; font-size: 0.9rem; color: var(--muted); transition: background 0.2s, color 0.2s; }
.ideas-fmt input:checked + span { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-pop); }
.ideas-fmt input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 2px; }
.ideas-error { font-size: 0.85rem; font-weight: 600; color: var(--bad); }

/* Hook generator */
.ideas-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; background: var(--fill); border-radius: 12px; padding: 8px 8px 8px 14px; }
.ideas-hint p { flex: 1 1 180px; }
.ideas-hooks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ideas-hookcard { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "type btn" "text btn"; gap: 2px 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.ideas-hookcard:first-child { border-top: 0; padding-top: 2px; }
.ideas-hookcard .label { grid-area: type; font-size: 0.66rem; color: var(--engage-ink); }
.ideas-hookcard p { grid-area: text; font-weight: 600; overflow-wrap: anywhere; }
.ideas-hookcard .btn { grid-area: btn; white-space: nowrap; }
@media (max-width: 380px) {
	.ideas-hookcard { grid-template-columns: minmax(0, 1fr); grid-template-areas: "type" "text" "btn"; }
	.ideas-hookcard .btn { justify-self: start; margin-top: 6px; }
}

/* Idea list */
.ideas-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.ideas-filter { flex: none; min-height: 36px; padding: 0 13px; border-radius: 999px; border: 0; background: var(--fill); font-weight: 600; font-size: 0.86rem; transition: background 0.15s, color 0.15s; }
.ideas-filter .mono { font-size: 0.8rem; color: var(--muted); margin-left: 3px; font-weight: 700; }
.ideas-filter[aria-pressed="true"] { background: var(--ink); color: var(--bg); }
.ideas-filter[aria-pressed="true"] .mono { color: inherit; opacity: 0.7; }
.ideas-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ideas-item { display: flex; flex-direction: column; gap: 10px; padding: 14px 0; border-top: 1px solid var(--line); }
.ideas-item:first-child { border-top: 0; padding-top: 4px; }
.ideas-item-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ideas-item-title { font-weight: 650; font-size: 1rem; overflow-wrap: anywhere; }
.ideas-item.posted .ideas-item-title { color: var(--muted); }
.ideas-item-hook { color: var(--muted); font-size: 0.9rem; overflow-wrap: anywhere; }
.ideas-item-hook::before { content: "\201C"; }
.ideas-item-hook::after { content: "\201D"; }
.ideas-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.ideas-date { color: var(--post-ink); background: color-mix(in srgb, var(--ring-post) 12%, transparent); }
.ideas-unsched { color: var(--muted); }
.ideas-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ideas-actions .btn { min-height: 36px; padding-inline: 14px; font-size: 0.86rem; }
.ideas-quiet { color: var(--muted); background: transparent; }
.ideas-danger { color: #FFFFFF; background: var(--bad); }
.ideas-danger:hover { background: var(--bad); opacity: 0.9; }
.ideas-confirm-q { font-weight: 600; font-size: 0.9rem; flex-basis: 100%; }
@media (min-width: 600px) { .ideas-confirm-q { flex-basis: auto; margin-right: 4px; } }

/* Add and schedule feedback */
@keyframes ideas-pop {
	0% { transform: translateY(6px) scale(0.98); opacity: 0.4; }
	60% { transform: translateY(0) scale(1.01); opacity: 1; }
	100% { transform: none; }
}
@keyframes ideas-glow {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ring-post) 50%, transparent); }
	100% { box-shadow: 0 0 0 10px transparent; }
}
.ideas-item.ideas-pop { animation: ideas-pop 0.4s var(--spring); }
.ideas-day.ideas-pop, .ideas-add.ideas-pop { animation: ideas-glow 0.6s ease-out; }
@media (prefers-reduced-motion: reduce) {
	.ideas-pop, .ideas-item.ideas-pop, .ideas-day.ideas-pop, .ideas-add.ideas-pop { animation: none; }
	.ideas-day { transition: none; }
	.ideas-day:active { transform: none; }
}
