/* Bucket List: an invitation to live, in the Hub's existing landscape. */
.bucket-space { --bucket-sage:#becfb1; --bucket-sand:#e8c39a; }
.bucket-space h1:focus,.bucket-space [data-bucket-heading]:focus { outline:none; }
.bucket-hero { position:relative; display:grid; grid-template-columns:1.4fr .8fr; overflow:hidden; padding:2.6rem 2.5rem 0; border:1px solid #d7bb8e38; background:linear-gradient(90deg,#182520ed 15%,#26352da8 75%,#283a3070),url('/assets/hero.jpg?v=965c2bcebdd7f9637e41a5d234129e2cb193cd595ad163b57babd814191205e6') center 44%/cover; }
.bucket-hero-copy { position:relative; z-index:1; padding-bottom:2.5rem; }
.bucket-hero .eyebrow { font-size:.66rem; letter-spacing:.17em; color:#e8d1b2; }
.bucket-hero h1 { font-size:clamp(3.5rem,5.8vw,6.2rem); line-height:.99; margin:1.2rem 0; letter-spacing:-.025em; }
.bucket-hero h1 em { color:var(--bucket-sand); font-weight:400; }
.bucket-hero-copy>p:not(.eyebrow) { max-width:360px; font-size:.95rem; color:#d1d5c9; margin:1.5rem 0; }
.bucket-hero-mark { align-self:center; text-align:center; color:#eed7b7; transform:rotate(-9deg); padding-bottom:2rem; }
.bucket-hero-mark>span { display:block; font-size:.6rem; letter-spacing:.25em; line-height:1.8; }
.bucket-hero-mark>b { display:block; font:8rem var(--serif); line-height:1.2; font-weight:400; }
.bucket-hero-mark>small { font:italic 1.2rem var(--serif); }
.bucket-stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); padding:1.4rem 0; border-top:1px solid #d9c9ae4a; gap:1.5rem; }
.bucket-stats>div { display:flex; align-items:center; gap:.8rem; }
.bucket-stats strong { font:2.1rem var(--serif); color:#f6e8d5; }
.bucket-stats span { font-size:.72rem; color:#d0d4c7; }
.bucket-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-top:1.8rem; border-bottom:1px solid var(--line); padding-bottom:1rem; }
.bucket-tabs { display:flex; gap:.4rem; flex-wrap:wrap; }
.bucket-tabs button { border-color:transparent; padding:.65rem .85rem; }
.bucket-tabs button[aria-pressed=true] { border-color:#eab48150; }
.bucket-quiet { border-color:transparent; color:var(--muted); padding-inline:.3rem; }
.bucket-filters { display:grid; grid-template-columns:1.6fr 1.15fr 1fr 1fr 1fr; gap:.75rem; margin:1.3rem 0 2rem; }
.bucket-filters label { font-size:.65rem; color:var(--muted); gap:.45rem; min-width:0; }
.bucket-filters input,.bucket-filters select { font-size:.75rem; min-width:0; padding:.7rem .6rem; background:#171f1c; border-color:#ffffff26; }
.bucket-sort-note { font-size:.7rem; color:var(--muted); align-self:end; margin-bottom:.8rem; }
.bucket-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.bucket-section-heading h2 { font-size:2.1rem; margin:0; }
.bucket-section-heading>span { font-size:.75rem; color:var(--muted); white-space:nowrap; }
.bucket-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.bucket-card { min-width:0; background:#1c2420f2; border:1px solid var(--line); transition:border-color .2s,transform .2s; }
.bucket-card:hover { border-color:#cfbf9960; transform:translateY(-2px); }
.bucket-tone-travel { --tone:#abbec9; --tone-bg:#384b50; }
.bucket-tone-adventure { --tone:#c2d0a3; --tone-bg:#3c4b34; }
.bucket-tone-learning { --tone:#dbc694; --tone-bg:#57472f; }
.bucket-tone-creative { --tone:#d4b2b7; --tone-bg:#513d47; }
.bucket-tone-wellbeing { --tone:#a9cbb6; --tone-bg:#2d4c3e; }
.bucket-tone-life { --tone:#d9bda5; --tone-bg:#574235; }
.bucket-card-art { position:relative; display:flex; align-items:flex-end; min-height:115px; padding:1rem 1.2rem; overflow:hidden; background:radial-gradient(ellipse at 78% 88%,#eeeae218,transparent 60%),linear-gradient(135deg,var(--tone-bg),#202a24); }
.bucket-card-art:before,.bucket-card-art:after { content:''; position:absolute; width:180px; height:180px; border:1px solid #ffffff0c; border-radius:50%; right:-25px; top:-5px; pointer-events:none; }
.bucket-card-art:after { right:-5px; top:15px; }
.bucket-category { color:var(--tone); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; z-index:1; }
.bucket-glyph { position:absolute; top:5px; right:25%; font:5rem var(--serif); color:var(--tone); opacity:.55; line-height:1.5; }
.bucket-pin { position:absolute; top:.5rem; right:.5rem; border:0; padding:.25rem .6rem; font-size:1.2rem!important; color:var(--tone); z-index:1; }
.bucket-card-body { padding:1.2rem; }
.bucket-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.75rem; }
.bucket-stage { font-size:.64rem; letter-spacing:.03em; color:#bcbfb7; display:inline-flex; align-items:center; gap:.35rem; }
.bucket-stage:before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.bucket-stage.planning { color:#e4c39a; }.bucket-stage.booked { color:#acd0d7; }.bucket-stage.completed { color:#c4d9af; }
.bucket-top-priority { font-size:.6rem; color:#e6c6a6; }
.bucket-title { text-align:left; border:0; padding:0; font:1.8rem/1.1 var(--serif)!important; min-height:0!important; overflow-wrap:anywhere; width:100%; }
.bucket-card h3 { margin:0 0 .75rem; }
.bucket-card .bucket-location { font-size:.72rem; color:var(--tone); margin-bottom:1rem; overflow-wrap:anywhere; }
.bucket-card-description,.bucket-card-memory { font-size:.78rem; line-height:1.6; color:#b7bdb2; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; min-height:2.5em; }
.bucket-card-memory { font-family:var(--serif); font-style:italic; font-size:1.15rem; color:#d8dece; }
.bucket-card-footer { display:flex; align-items:center; justify-content:space-between; gap:.4rem; padding-top:1rem; margin-top:1rem; border-top:1px solid var(--line); font-size:.65rem; color:#aeb6a8; }
.bucket-card-footer>span:last-child { color:var(--tone); font-size:1rem; }
.bucket-step-preview { margin-top:.8rem; font-size:.62rem; color:var(--muted); }
.bucket-space progress { display:block; height:4px; width:100%; border:0; border-radius:0; background:#ffffff17; margin:.6rem 0; accent-color:var(--bucket-sage); }
.bucket-space progress::-webkit-progress-bar { background:#ffffff17; }.bucket-space progress::-webkit-progress-value { background:var(--bucket-sage); }.bucket-space progress::-moz-progress-bar { background:var(--bucket-sage); }
.bucket-empty { text-align:center; padding:3rem 1rem; border:1px dashed #d6c5a833; background:#1c261edd; }
.bucket-empty>span { display:block; font:3rem var(--serif); color:var(--bucket-sand); margin-bottom:.7rem; }
.bucket-empty h2 { font-size:2.5rem; }.bucket-empty p { max-width:460px; margin:1rem auto 1.5rem; font-size:.9rem; }
.bucket-ideas { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; margin-top:2rem; }
.bucket-ideas>div { grid-column:1/-1; }.bucket-ideas h2 { margin-bottom:.4rem; }.bucket-ideas>div>p:last-child { font-size:.85rem; }
.bucket-idea { display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding:1.4rem; gap:1rem; border:1px solid var(--line); background:#28352a69; }
.bucket-idea>span { font:2rem var(--serif); color:var(--bucket-sage); }.bucket-idea strong { font:1.5rem/1.2 var(--serif); }.bucket-idea small { font-size:.7rem; color:var(--bucket-sand); }
.bucket-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; align-items:start; }
.bucket-column { min-width:0; background:#15201999; padding:.65rem; border-top:1px solid var(--line); }
.bucket-column>h3 { display:flex; align-items:center; gap:.5rem; font: .7rem var(--sans); margin:.3rem 0 1.2rem; }
.bucket-column>h3>span { margin-left:auto; color:var(--muted); }.bucket-column i { width:6px; height:6px; border-radius:50%; background:var(--muted); }.bucket-column i.planning { background:#e4c39a; }.bucket-column i.booked { background:#acd0d7; }.bucket-column i.completed { background:#c4d9af; }
.bucket-column .bucket-card { margin-bottom:.8rem; }.bucket-column .bucket-card-body { padding:.9rem; }.bucket-column .bucket-card-art { min-height:80px; padding:.7rem .9rem; }.bucket-column .bucket-glyph { font-size:3rem; }.bucket-column .bucket-title { font-size:1.45rem!important; }.bucket-column .bucket-card-meta { flex-wrap:wrap; }.bucket-column .bucket-card-footer { font-size:.6rem; }.bucket-column-empty { font-size:.75rem; padding:1rem .25rem; }
.bucket-year { margin-bottom:2.5rem; }.bucket-year>h3 { font:2.5rem var(--serif); color:var(--bucket-sand); border-bottom:1px solid var(--line); padding-bottom:.7rem; margin-bottom:1rem; }
.bucket-private { font-size:.7rem; color:var(--muted); text-align:center; margin:2rem 0 .5rem; }
.bucket-detail-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.bucket-detail-hero { position:relative; overflow:hidden; padding:2.8rem; margin-bottom:1.4rem; border:1px solid #ffffff26; background:radial-gradient(ellipse at 100% 50%,var(--tone-bg),transparent 90%),#1b2820; }
.bucket-detail-hero h1 { max-width:800px; overflow-wrap:anywhere; position:relative; font-size:clamp(2.8rem,5vw,5rem); }.bucket-detail-hero>p { position:relative; max-width:90%; overflow-wrap:anywhere; }.bucket-detail-hero .eyebrow { color:var(--tone); }.bucket-detail-hero .bucket-stage { font-size:.75rem; }
.bucket-detail-glyph { position:absolute; right:1rem; top:-1.8rem; font:17rem var(--serif); opacity:.13; color:var(--tone); pointer-events:none; }
.bucket-detail-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:1.4rem; }.bucket-detail-grid>div,.bucket-detail-grid>aside { min-width:0; }
.bucket-panel { padding:1.6rem; margin-bottom:1.3rem; background:#1b2520f0; border:1px solid var(--line); }.bucket-panel h2 { font-size:1.9rem; margin-bottom:.9rem; }.bucket-panel p { font-size:.85rem; }.bucket-panel .eyebrow { font-size:.65rem; }
.bucket-prose { white-space:pre-wrap; overflow-wrap:anywhere; color:#c4cabc; }.bucket-panel .bucket-prose:last-child { margin-bottom:0; }
.bucket-plan dl { margin:1.5rem 0; }.bucket-plan dt { font-size:.7rem; color:var(--muted); margin-top:1.1rem; }.bucket-plan dd { margin: .25rem 0 0; font-size:1.1rem; overflow-wrap:anywhere; }.bucket-plan dd small { display:block; font-size:.7rem; color:var(--accent); }.bucket-plan .hint { font-size:.7rem!important; margin:1rem 0 1.4rem; }.bucket-saving-note { font-size:.7rem!important; color:var(--bucket-sage); }
.bucket-next { background:linear-gradient(145deg,#344333aa,#1c2922e8); }.bucket-next .hub-actions { align-items:stretch; flex-direction:column; }.bucket-next button { justify-content:center; }
.bucket-milestones { padding:0; margin:1rem 0; list-style:none; }.bucket-milestones li { display:flex; align-items:center; justify-content:space-between; gap:.5rem; border-bottom:1px solid var(--line); padding:.55rem 0; }.bucket-milestones label { display:flex; align-items:center; gap:.8rem; min-width:0; flex:1; font-size:.87rem; }.bucket-milestones input,.bucket-checkbox input { width:18px; height:18px; flex:0 0 18px; accent-color:var(--bucket-sage); }.bucket-milestones span { overflow-wrap:anywhere; }.bucket-milestones .is-done { color:var(--muted); text-decoration:line-through; }.bucket-milestones button { flex-shrink:0; width:32px; }
.bucket-step-form { display:flex; align-items:stretch; max-width:none; gap:.6rem; margin-bottom:0; }.bucket-step-form input { min-width:0; flex:1; font-size:.8rem; }.bucket-step-form button { flex-shrink:0; padding:.6rem; font-size:.75rem; }
.bucket-memory { border-color:#bdcda044; background:#2b3529dd; }.bucket-memory .bucket-prose { font:1.35rem/1.6 var(--serif); color:#e3e3d5; }.bucket-memory-date { color:var(--bucket-sage); }
.bucket-detail-maintenance { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }.bucket-detail-maintenance button { font-size:.7rem; }.bucket-danger { border-color:#e9af9730; color:#e9b59f; }
.bucket-form { max-width:none; }.bucket-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.bucket-form label { font-size:.85rem; }.bucket-form [data-completion-fields] { display:grid; gap:1rem; }.bucket-checkbox { display:flex; align-items:center; gap:.7rem; }.bucket-form .hint { margin:0; font-size:.74rem!important; }.bucket-dialog .hub-dialog-heading h2 { font-size:2rem; }
@media(min-width:1600px) { .bucket-hero h1 { font-size:6rem; } }
@media(max-width:1250px) { .bucket-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.bucket-board { grid-template-columns:repeat(2,minmax(0,1fr)); }.bucket-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }.bucket-filters>label:first-child { grid-column:span 2; } }
@media(max-width:950px) { .bucket-hero { padding:2rem 1.5rem 0; }.bucket-hero-mark { display:none; }.bucket-hero { grid-template-columns:1fr; }.bucket-hero h1 { font-size:4.5rem; }.bucket-detail-grid { grid-template-columns:1fr; }.bucket-ideas { grid-template-columns:1fr; }.bucket-stats { gap:1rem; }.bucket-stats>div { display:block; }.bucket-stats span { display:block; margin-top:.3rem; }.bucket-detail-hero { padding:2rem; } }
@media(max-width:550px) { .bucket-hero h1 { font-size:3.65rem; }.bucket-hero { padding:1.7rem 1.25rem 0; }.bucket-hero-copy { padding-bottom:1.6rem; }.bucket-hero .eyebrow { font-size:.57rem; }.bucket-stats { gap:.75rem; }.bucket-stats strong { font-size:1.8rem; }.bucket-stats span { font-size:.6rem; }.bucket-tabs { gap:.1rem; }.bucket-tabs button { font-size:.75rem; padding:.6rem .65rem; }.bucket-navigation { gap:.5rem; }.bucket-filters { grid-template-columns:1fr 1fr; gap:.8rem; }.bucket-grid,.bucket-board { grid-template-columns:1fr; }.bucket-card-art { min-height:110px; }.bucket-section-heading h2 { font-size:1.8rem; }.bucket-section-heading { gap:.5rem; }.bucket-section-heading>span { font-size:.65rem; }.bucket-empty { padding:2.3rem 1rem; }.bucket-empty h2 { font-size:2rem; }.bucket-detail-top { align-items:flex-start; flex-wrap:wrap; }.bucket-detail-hero { padding:1.5rem; }.bucket-detail-hero h1 { font-size:2.8rem; }.bucket-panel { padding:1.2rem; }.bucket-form-grid { grid-template-columns:1fr; }.bucket-step-form { flex-wrap:wrap; }.bucket-step-form input { flex-basis:65%; }.bucket-dialog .hub-dialog-heading h2 { font-size:1.75rem; } }
@media(prefers-reduced-motion:reduce) { .bucket-card { transition:none; }.bucket-card:hover { transform:none; } }
.motion-off .bucket-card { transition:none; }.motion-off .bucket-card:hover { transform:none; }

/* Compact capture and totals leave room for the collection itself. */
.bucket-hero.is-action-first{display:block;padding:1rem 1.25rem;border-radius:11px}
.bucket-hero.is-action-first .bucket-hero-copy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.65rem 1rem;padding:0}
.bucket-hero.is-action-first h1{font:2rem/1.1 var(--serif);margin:0}
.bucket-hero.is-action-first .bucket-stats{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:.75rem;padding:.65rem 0 0}
.bucket-hero.is-action-first .bucket-stats>div{display:flex;align-items:center;gap:.4rem}
.bucket-hero.is-action-first .bucket-stats strong{font:1.1rem var(--sans);font-variant-numeric:tabular-nums}
.bucket-hero.is-action-first .bucket-stats span{margin:0;font-size:.7rem}
@media(max-width:520px){.bucket-hero.is-action-first{padding:.9rem 1rem}.bucket-hero.is-action-first .bucket-stats{gap:.5rem 1rem}.bucket-hero.is-action-first .bucket-stats span{font-size:.65rem}}

.bucket-hero.is-action-first+.bucket-navigation{margin-top:1rem;padding-bottom:.7rem}
