/* Scrilladilla v2 "declutter" layer (spec: mockups/declutter/cut-list.md, Variant A cards).
   One centered column on every size, one focal point and one gold action per screen. Sits on base.css. */
.col{max-width:680px;margin:0 auto;padding:0 20px;position:relative;z-index:2}
.nav{height:68px}
.hero{text-align:left}
.hero .sun{width:64px;height:64px;right:30px;top:auto;bottom:70px}
.hero .sun::after{font-size:30px}.hero .sun::before{inset:-24px}
.hero h1{font:700 38px/1.04 var(--disp);letter-spacing:-.018em;margin:18px 0 22px;color:var(--ink)}
.hl{position:relative;display:inline-block;color:var(--green2);z-index:0}
.hl::before{content:"";position:absolute;left:-5px;right:-5px;bottom:3px;height:38%;background:var(--lime);border-radius:9px;z-index:-1;transform:rotate(-1.5deg)}
.p-idea .hero{padding-bottom:128px}
.p-privacy .hero,.p-404 .hero,.p-board .hero{padding-bottom:120px}
.p-privacy .hero .sun,.p-404 .hero .sun,.p-board .hero .sun{bottom:30px}
.foot2{text-align:center;font-size:12px;color:var(--muted);padding:34px 20px 40px}
.foot2 a{color:var(--ink2);font-weight:700;text-decoration:none}
.empty{text-align:center;color:var(--muted);font-size:14.5px;font-weight:600;padding:40px 0 10px}
.empty .linkbtn{margin-left:4px}
.cloud.dsk{display:none}
a.avatar,.iconbtn{transition:transform .12s ease}
a.avatar:active,.iconbtn:active{transform:scale(.92)}
.avatar{background:rgba(255,255,255,.75);box-shadow:0 6px 14px -8px rgba(15,61,43,.35)}
.avatar svg{width:19px;height:19px}

/* ---------- home: the crew counter is the only hero ---------- */
.p-home .hero{padding-bottom:178px;text-align:center}
.p-home .hero .sun{width:70px;height:70px;right:26px;bottom:112px}
.p-home .hero .sun::after{font-size:38px}.p-home .hero .sun::before{inset:-30px}
.crew{position:relative;display:block;padding:58px 0 0;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
.crew:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:18px}
.odo{display:flex;align-items:center;justify-content:center;gap:3px}
.odo .cur{font:700 31px var(--disp);color:var(--green2);margin-right:3px}
.odo .sep{font:700 31px var(--disp);color:var(--ink);width:10px;text-align:center;align-self:flex-end;line-height:1.25}
.dg{position:relative;overflow:hidden;width:30px;height:48px;border-radius:11px;
  background:linear-gradient(180deg,#E3F5E8 0%,#FFFFFF 30%,#FFFFFF 70%,#E3F5E8 100%);
  box-shadow:inset 0 0 0 1px rgba(15,61,43,.04),0 6px 14px -8px rgba(15,61,43,.35)}
.dg::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:1px;background:rgba(15,61,43,.06);z-index:1}
.dg .strip{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;transition:transform 1.1s cubic-bezier(.2,.9,.25,1.02);will-change:transform}
.dg .strip b{height:48px;display:grid;place-items:center;font:700 31px/1 var(--disp);color:var(--ink);position:relative;top:1px}
.dg.dim .strip b{color:#C2D8CA}
.crew-l{margin-top:14px;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);opacity:.7}
.crew.bumped .odo{animation:cbump .7s cubic-bezier(.3,1.5,.5,1)}
@keyframes cbump{0%{transform:scale(1)}35%{transform:scale(1.03)}100%{transform:scale(1)}}
.bump{position:absolute;left:50%;top:18px;font:700 13px var(--disp);color:#fff;background:var(--green);padding:4px 10px;border-radius:999px;box-shadow:0 8px 16px -8px rgba(29,176,90,.9);animation:bumpin 2.6s ease forwards;white-space:nowrap}
@keyframes bumpin{0%{opacity:0;transform:translate(-50%,8px) rotate(4deg)}12%,80%{opacity:1;transform:translate(-50%,0) rotate(4deg)}100%{opacity:0;transform:translate(-50%,-10px) rotate(4deg)}}

.list{margin-top:-64px}
.search{position:relative;z-index:3;display:flex;align-items:center;gap:12px;height:54px;padding:0 6px 0 18px;background:var(--paper);border-radius:999px;box-shadow:var(--shadow);color:var(--muted)}
.search>svg{flex:none;width:18px;height:18px}
.search input{flex:1;min-width:0;height:100%;border:0;background:none;font:500 16px var(--sans);color:var(--ink);outline:none}
.search input::placeholder{color:var(--muted)}
.search input::-webkit-search-cancel-button{cursor:pointer}
.search:focus-within{box-shadow:0 0 0 3px rgba(29,176,90,.35),var(--shadow)}
.filt{position:relative;flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--ink2);background:#F1F7F0}
.filt .dot{position:absolute;right:7px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px #F1F7F0}
.nomatch{text-align:center;color:var(--muted);font-weight:600;padding:36px 0 6px}

/* ---------- idea rows: Variant A tactile white cards ---------- */
.ideas2{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.ic{position:relative;display:flex;align-items:center;gap:14px;padding:14px 18px 14px 14px;border-radius:24px;text-decoration:none;color:inherit;background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 -3px 0 rgba(15,61,43,.045) inset,0 2px 3px rgba(15,61,43,.04),0 14px 26px -18px rgba(15,61,43,.34),0 22px 40px -32px rgba(29,176,90,.35);
  transition:transform .28s cubic-bezier(.2,1.4,.4,1),box-shadow .28s ease;
  animation:up .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 55ms + 120ms);-webkit-tap-highlight-color:transparent}
@keyframes up{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.ic:hover{transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 -3px 0 rgba(15,61,43,.045) inset,0 4px 6px rgba(15,61,43,.05),0 22px 34px -18px rgba(15,61,43,.38),0 30px 50px -30px rgba(29,176,90,.45)}
.ic:active{transform:scale(.97);transition-duration:.08s}
.ic:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.tile{flex:none;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--tb);color:var(--tf);position:relative;
  box-shadow:inset 0 -3px 0 rgba(15,61,43,.07),inset 0 1.5px 0 rgba(255,255,255,.75),0 6px 12px -8px var(--tf)}
.tile svg{width:23px;height:23px;stroke-width:2}
.ic-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ic-t b{font:600 17.5px/1.18 var(--disp);letter-spacing:-.005em;color:var(--ink)}
.ic-t>span{font-size:12.5px;font-weight:600;color:var(--muted)}
.proof{color:var(--green2)}
.amt{position:relative;flex:none;font:700 25px/1 var(--disp);letter-spacing:-.02em;white-space:nowrap;color:var(--green2)}
.amt{background:linear-gradient(180deg,#22BF62 10%,#0B7E3C 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(14,138,67,.08))}
.glint{position:absolute;right:-9px;top:-11px;color:var(--gold);-webkit-text-fill-color:initial;opacity:0;transform:scale(.3) rotate(-40deg);transition:opacity .2s,transform .45s cubic-bezier(.2,1.8,.4,1);pointer-events:none}
.glint svg{width:14px;height:14px;filter:drop-shadow(0 1px 2px rgba(200,130,0,.5))}
.ic:hover .glint,.ic:focus-visible .glint{opacity:1;transform:scale(1) rotate(0)}
@media(max-width:899px){
  .ic{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"tile t t" "tile m a";column-gap:14px;row-gap:2px;align-items:center;padding:14px 18px 13px 14px}
  .ic-t{display:contents}
  .tile{grid-area:tile;align-self:center}
  .ic-t b{grid-area:t}
  .ic-t>span{grid-area:m;align-self:baseline;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .amt{grid-area:a;font-size:23.5px;align-self:baseline;margin-top:-4px}
  .amt.long{font-size:19px}
  .ic-t b{font-size:16.5px}
}

/* ---------- sheets (filter, AI, menus) ---------- */
.sheet h3{font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.fgroup{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;height:40px;padding:0 15px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--ink2);background:var(--paper);border:1.5px solid var(--line2);white-space:nowrap;transition:background .15s,color .15s,transform .12s}
.chip:active{transform:scale(.96)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sheetbtns{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:22px}
.sheetbtns .btn{height:50px}
.sheet{max-height:92vh;overflow-y:auto}
.menu{display:flex;flex-direction:column;margin:2px 0 4px}
.menu>a,.menu>button{display:flex;align-items:center;gap:14px;min-height:54px;padding:0 4px;font:600 16px var(--sans);color:var(--ink);text-decoration:none;text-align:left;width:100%}
.menu>a+a,.menu>a+button,.menu>button+a,.menu>button+button{border-top:1px solid var(--line)}
.menu svg{width:20px;height:20px;color:var(--ink2);flex:none}
.menu .sub{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted)}
.menu .danger{color:#B8453C}.menu .danger svg{color:#B8453C}
.agents{display:flex;gap:6px;background:#F1F7F0;border-radius:999px;padding:4px;margin:4px 0 12px}
.ag{flex:1;height:40px;border-radius:999px;font-size:14px;font-weight:700;color:var(--ink2)}
.ag.on{background:#fff;color:var(--ink);box-shadow:0 4px 10px -6px rgba(15,61,43,.4)}
.promptbox{background:var(--mint2);border-radius:18px;padding:14px 16px;max-height:190px;overflow:auto}
.promptbox pre{white-space:pre-wrap;font:500 13px/1.55 var(--mono);color:var(--ink2)}
.promptbox mark{background:var(--limesoft);color:var(--ink);border-radius:4px;padding:0 2px}
.aibtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.aibtns.one{grid-template-columns:1fr}
.aibtns .btn{height:50px;padding:0 12px}
.aibtns svg{width:17px;height:17px}
.toast .tact{margin-left:12px;color:var(--lime);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.toast.show{pointer-events:auto}

/* ---------- idea ---------- */
.p-idea .hero .sun{top:auto;bottom:34px;right:26px;width:56px;height:56px}
.offer{display:flex;align-items:baseline;gap:10px}
.ol{font-size:14px;font-weight:700;color:var(--ink2)}
.ov{font:700 44px/1 var(--disp);color:var(--green2);letter-spacing:-.01em}
.ov{background:linear-gradient(180deg,#22BF62 10%,#0B7E3C 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.om{margin-top:8px;font-size:13.5px;font-weight:600;color:var(--ink2);opacity:.85}
.start{margin-top:22px;width:100%;height:56px;font-size:16.5px}
.start svg{width:18px;height:18px}
.p-idea main{margin-top:-40px}
.hero h1.long{font-size:30px;line-height:1.08}
.oc{padding:18px 20px 16px;margin-bottom:12px}
.oc-n{font:600 18px/1.2 var(--disp);color:var(--ink)}
.oc-a{margin-top:4px;font-size:14.5px;font-weight:700;color:var(--green2);line-height:1.4}
.oc-r{margin:10px 0 0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--ink2)}
.oc-r li+li{margin-top:4px}
.oc-m{margin-top:10px;font-size:12.5px;font-weight:600;color:var(--muted)}
.oc-l{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--green2);text-decoration:none}
.oc-l svg,.alt svg{width:13px;height:13px;flex:none}
.alts{margin-top:12px;padding:6px 20px}
.alts h2{font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 0 4px}
.alt{display:flex;align-items:center;gap:12px;padding:12px 0;text-decoration:none;color:inherit}
.alt+.alt{border-top:1px solid var(--line)}
.alt-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.alt-t b{font:600 15.5px/1.25 var(--disp)}
.alt-t span{font-size:12.5px;font-weight:600;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.alt svg{color:var(--muted)}
.steps{list-style:none;padding:8px 20px}
.steps li>span:last-child,.oc-r,.oc-a,.alt-t,.catch li{overflow-wrap:anywhere}
.steps li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;font-size:15px;line-height:1.45;color:var(--ink);font-weight:500;scroll-margin-top:24px}
.steps li+li{border-top:1px solid var(--line)}
.steps .n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green2);display:grid;place-items:center;font:700 14px var(--disp);margin-top:-2px}
.catch{margin-top:12px;padding:0 20px}
.catch summary{list-style:none;display:flex;align-items:center;justify-content:space-between;height:60px;font:600 18px var(--disp);cursor:pointer}
.catch summary::-webkit-details-marker{display:none}
.catch summary svg{color:var(--muted);transition:transform .2s}
.catch[open] summary svg{transform:rotate(90deg)}
.catch ul{padding:0 0 12px 18px;font-size:14px;color:var(--ink2);line-height:1.5}
.catch li+li{margin-top:6px}
.catch .srcs{font-size:12.5px;color:var(--muted);padding-bottom:16px;overflow-wrap:anywhere}
.catch .srcs a{color:var(--green2);font-weight:700}
.quiet{display:flex;justify-content:center;gap:28px;margin-top:26px}
.quiet button{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}
.quiet button svg{width:44px;height:44px;padding:13px;border-radius:50%;background:var(--paper);color:var(--ink2);box-shadow:0 6px 14px -10px rgba(15,61,43,.45);box-sizing:border-box;transition:transform .12s}
.quiet button:active svg{transform:scale(.9)}
.heart{width:42px;height:42px;background:rgba(255,255,255,.72);box-shadow:0 6px 14px -8px rgba(15,61,43,.35)}
.heart.on{background:var(--coralsoft)}

/* ---------- tracker + leaderboard ---------- */
.p-tracker .hero,.p-board .hero{text-align:center}
.p-tracker .hero{padding-bottom:150px}
.p-tracker .hero .sun{right:28px;bottom:96px}
.mine{padding:30px 0 0}
.mine .crew-l{margin:0 0 10px}
.big{font:700 88px/1 var(--disp);letter-spacing:-.03em;display:inline-flex;align-items:baseline;color:var(--ink)}
.big sup{font-size:.42em;color:var(--green);margin-right:4px;align-self:flex-start;margin-top:10px}
.big small{font-size:.42em;color:var(--faint);margin-left:2px}
.big .z{color:var(--faint)}
.mgroup+.mgroup{margin-top:14px}
.mh{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 10px;border-bottom:1px solid var(--line);font:700 11.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mh-s{font:700 14px var(--disp);letter-spacing:0;text-transform:none;color:var(--ink2)}
.p-tracker main{margin-top:-30px;min-height:160px}
.wins{padding:4px 20px}
.wr{display:flex;align-items:center;gap:12px;width:100%;padding:15px 0;text-align:left}
.wr+.wr{border-top:1px solid var(--line)}
.wr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.wr-t b{font:600 16.5px/1.2 var(--disp)}
.wr-t span{font-size:12.5px;font-weight:600;color:var(--muted)}
.wr-a{font:700 18px var(--disp);color:var(--green2);white-space:nowrap}
.savedsec{margin-top:26px}
.savedsec h2{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px 6px}
.saved{padding:4px 20px}
.saved a{display:flex;align-items:center;gap:12px;padding:13px 0;text-decoration:none;color:inherit}
.saved a+a{border-top:1px solid var(--line)}
.saved .tile{width:38px;height:38px;border-radius:13px}.saved .tile svg{width:19px;height:19px}
.saved b{flex:1;font:600 16px/1.2 var(--disp)}
.saved span.s{font-size:12px;font-weight:700;color:var(--muted)}
.dock2{position:fixed;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:50;pointer-events:none}
.dock2 .btn{height:56px;padding:0 30px;font-size:16px;border:0;pointer-events:auto}
.p-tracker .foot2{padding-bottom:110px}
.p-tracker .toast{bottom:96px}
.lbh{font:700 34px/1.05 var(--disp)!important;margin:0!important;text-align:center}
.p-board main{margin-top:-40px}
.lbl{list-style:none;padding:4px 20px}
.lbl li{display:flex;align-items:center;gap:12px;padding:15px 0}
.lbl li+li{border-top:1px solid var(--line)}
.lbl .lr{flex:none;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green2);display:grid;place-items:center;font:700 14px var(--disp)}
.lbl li:first-child .lr{background:var(--goldsoft);color:#8A5A00}
.lbl b{flex:1;min-width:0;font:600 16.5px/1.2 var(--disp);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lbl .lw{font-size:12.5px;font-weight:600;color:var(--muted)}
.lbl .lc{font:700 18px var(--disp);color:var(--green2)}
.lbl li.me b::after{content:" (you)";font:600 12px var(--sans);color:var(--muted)}
.lbcta{text-align:center;margin-top:16px;font-size:14px}
.prose .card{padding:18px 20px;margin-top:12px}
.prose h2{font:700 19px var(--disp);margin-bottom:6px}
.prose p{font-size:14.5px;line-height:1.55;color:var(--ink2)}
.prose p+p{margin-top:8px}
.p-privacy main{margin-top:-40px}

@media(min-width:900px){
  .nav{height:84px}
  .nav.wide{max-width:1120px;margin:0 auto;width:calc(100vw - 80px);position:relative;left:50%;transform:translateX(-50%)}
  .cloud.dsk{display:block}.cloud.mob{display:none}
  .hero .sun{right:14%;bottom:auto;top:84px;width:96px;height:96px}
  .hero .sun::after{font-size:46px}.hero .sun::before{inset:-36px}
  .p-home .hero{padding-bottom:230px}
  .p-home .hero .sun{right:14%;bottom:auto;top:96px;width:104px;height:104px}
  .p-home .hero .sun::after{font-size:50px}.p-home .hero .sun::before{inset:-40px}
  .p-idea .hero{padding-bottom:236px}
  .p-privacy .hero,.p-404 .hero,.p-board .hero{padding-bottom:230px}
  .p-idea .hero .sun,.p-tracker .hero .sun{right:12%;bottom:auto;top:84px;width:96px;height:96px}
  .p-tracker .hero{padding-bottom:272px}
  .hero h1{font-size:54px}
  .hero h1.long{font-size:42px}
  .crew{padding:80px 0 10px}
  .odo{gap:6px}
  .dg{width:54px;height:84px;border-radius:16px}
  .dg .strip b{height:84px;font-size:58px;top:2px}
  .odo .cur,.odo .sep{font-size:58px}.odo .sep{width:16px}
  .crew-l{font-size:13px;margin-top:20px}
  .list{margin-top:-70px}
  .ideas2{gap:14px;margin-top:22px}
  .ic{padding:16px 24px 16px 16px;gap:16px}
  .tile{width:52px;height:52px;border-radius:17px}
  .ic-t b{font-size:19px}
  .amt{font-size:28px}
  .amt.long{font-size:23px}
  .big{font-size:112px}
  .p-idea main{margin-top:-96px}
  .p-privacy main{margin-top:-80px}.p-board main{margin-top:-40px}
  .p-tracker main{margin-top:-60px}
}
@media (prefers-reduced-motion:reduce){
  .ic{animation:none}
  .dg .strip{transition:none}
  .ic,.ic:hover,.glint{transition:none}
  .crew.bumped .odo,.bump{animation:none}
}

/* header account control: "Sign in" pill (signed out) or initial + small menu (signed in) */
.navr{display:flex;align-items:center;gap:8px}
.acct{display:flex;align-items:center;gap:6px}
.mywins{font-size:13.5px;font-weight:700;color:var(--ink2);text-decoration:none;padding:9px 8px;border-radius:999px}
.mywins:hover{background:rgba(255,255,255,.45)}
.acct .signin{height:36px;background:rgba(255,255,255,.85);box-shadow:0 6px 14px -8px rgba(15,61,43,.35);transition:transform .12s ease}
.acct .signin:active,.avbtn:active{transform:scale(.94)}
.acct .signin.pending{visibility:hidden}
.avbtn{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--green2);font:700 17px/1 var(--disp);display:grid;place-items:center;box-shadow:0 6px 14px -8px rgba(15,61,43,.35);transition:transform .12s ease}
.avbtn svg{width:18px;height:18px}
.avbtn[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(29,176,90,.25)}
.amenu{position:fixed;z-index:60;min-width:196px;background:#fff;border-radius:18px;padding:6px;box-shadow:0 18px 40px -16px rgba(15,61,43,.35),0 2px 6px rgba(15,61,43,.06);animation:amenu .14s ease-out}
@keyframes amenu{from{opacity:0;transform:translateY(-4px)}}
.amenu-h{padding:8px 12px 6px;font-size:12px;font-weight:700;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amenu a,.amenu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;text-align:left}
.amenu svg{width:17px;height:17px;color:var(--ink2)}
.amenu a:hover,.amenu button:hover,.amenu a:focus-visible,.amenu button:focus-visible{background:var(--mint2);outline:none}
@media(prefers-reduced-motion:reduce){.amenu{animation:none}}
