[hidden]{display:none!important}
.hero-content select,.hero-content input,.hero-content label{pointer-events:auto}
.target-choice{display:inline-flex;align-items:center;gap:8px;padding:0 10px;min-height:44px}
.target-choice select{font:inherit;color:var(--ink);background:#0b1120;border:0;max-width:230px;min-height:42px;cursor:pointer}
.target-choice select:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.launch-panel-header{letter-spacing:.03em;text-transform:none;flex-wrap:wrap;font-size:.85rem}
.launch-date{color:var(--muted);font-size:.9rem;line-height:1.6;margin:12px 0 0}
#location-message:empty{display:none}#location-message{font-size:.85rem;line-height:1.6;color:var(--muted)}
.library-heading{align-items:center}.library-heading h2{font-size:clamp(2rem,4vw,3rem)}
.library-location{margin:0 0 10px;color:var(--accent);font-size:.9rem}
.library-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:center;margin:36px 0 40px}
.library-feature:not(:has(img)){grid-template-columns:1fr}
.library-feature img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block}
.library-feature h3{font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.03em;line-height:1.15;margin:10px 0 16px;overflow-wrap:anywhere}
.library-feature p{color:var(--muted);line-height:1.6;margin:0 0 16px}.library-feature .feature-day{color:var(--mint);font-size:.85rem;margin:0}
.feature-actions{display:flex;gap:12px;flex-wrap:wrap}.feature-actions a{min-height:44px;font-size:.86rem}
.library-filters{display:flex;align-items:end;gap:20px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.format-filters{display:flex;gap:4px;padding:0;border:0;margin:0;align-self:end}
.format-filters button,.library-pagination button{min-height:44px;padding:10px 14px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:8px;font:inherit;font-size:.85rem;cursor:pointer}
.format-filters button[aria-pressed=true]{color:var(--ink);background:#17243a;border-color:var(--line)}
.format-filters button:hover,.library-pagination button:hover{color:var(--ink);background:#17243a}
.library-filters label{display:grid;gap:8px;font-size:.8rem;color:var(--muted)}
.library-filters select,.library-filters input{min-height:44px;padding:10px 12px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#0d1423;color:var(--ink);font:inherit;font-size:.9rem}
.story-search{margin-left:auto;flex:1;max-width:260px}.story-search input{width:100%}
.library-filters :focus-visible,.library-pagination :focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.library-status{font-size:.86rem;color:var(--muted);margin:22px 0 8px;line-height:1.6}.library-warning{color:#f2ce92;font-size:.85rem;line-height:1.6}
.library-results{list-style:none;padding:0;margin:0}.library-results li{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.story-day{font-size:1.05rem;color:var(--ink);line-height:1.7}.story-day small{display:block;color:var(--muted);font-size:.78rem}
.story-copy{min-width:0}.story-copy h3{font-size:1.1rem;letter-spacing:-.015em;margin:0 0 8px;overflow-wrap:anywhere}.story-copy p{font-size:.86rem;line-height:1.6;color:var(--muted);margin:0;max-width:65ch}
.story-action{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:8px 0 8px 16px;color:var(--accent);font-size:.88rem;white-space:nowrap}.story-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.library-pagination{display:flex;gap:12px;justify-content:center;margin-top:24px}.library-pagination button{border-color:var(--line);color:var(--ink)}
@media(max-width:760px){.library-feature{grid-template-columns:1fr;gap:20px;margin:28px 0}.library-filters{gap:16px}.format-filters{width:100%}.story-search{max-width:none;margin-left:0;min-width:140px}.library-results li{grid-template-columns:68px minmax(0,1fr);gap:12px 16px;padding:20px 0}.story-action{grid-column:2;justify-self:start;padding:0}.library-heading p{max-width:36ch}.target-choice{max-width:100%}.target-choice select{max-width:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.settlement-option{padding:28px 0;border-bottom:1px solid var(--line)}.settlement-title{display:flex;align-items:baseline;gap:12px 20px;flex-wrap:wrap}.settlement-title h3{font-size:1.5rem;letter-spacing:-.025em;margin:0}.settlement-title p{color:var(--muted);margin:0}.settlement-state{margin-left:auto;font-size:.85rem;color:var(--mint)}.settlement-themes{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.settlement-themes span{font-size:.8rem;color:var(--accent);padding:5px 9px;border:1px solid var(--line);border-radius:6px}.settlement-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:24px}.settlement-details dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0}.settlement-details dt{color:var(--muted);font-size:.85rem}.settlement-details dd{margin:0;font-size:.9rem}.settlement-details p{line-height:1.65;font-size:.9rem;margin:0 0 14px}.settlement-snapshot,.settlement-notes,.setting-label{color:var(--muted);font-size:.83rem;line-height:1.6}.settlement-details h4{font-size:1.15rem;margin:8px 0 12px}.settlement-details summary{min-height:44px;cursor:pointer;color:var(--accent);font-size:.9rem}.settlement-theme-label{display:grid;gap:8px;color:var(--muted);font-size:.85rem}.settlement-theme-label select{min-height:44px;padding:8px 12px;background:#0d1423;color:var(--ink);border:1px solid var(--line);border-radius:8px;font:inherit}
@media(max-width:760px){.settlement-details{grid-template-columns:1fr;gap:24px}.settlement-state{margin-left:0;width:100%}.settlement-details dl{gap:12px}.settlement-option{padding:24px 0}}

.settlement-grade{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin:18px 0 0;font-size:.9rem;line-height:1.6}
.settlement-grade-label{color:var(--muted)}
.settlement-grade-level{display:inline-block;min-width:42px;padding:4px 10px;text-align:center;color:#f4f7ff;background:#17243a;border:1px solid #657995;border-radius:6px;font-size:1rem;line-height:1.4}
.settlement-grade-description{color:var(--ink)}
.settlement-grade+.settlement-themes{margin-top:12px}
@media(max-width:480px){.settlement-grade-description{flex-basis:100%}}
