/* goals.css
   Goals section: learn deck, goal builder, goal cards, notes notebook, threads.
*/

.goals-shell{--gs-bg:#f1f3ee;--gs-card:rgba(255,255,255,.58);--gs-card2:rgba(241,243,238,.78);--gs-text:#0f1a17;--gs-text-dim:#44524c;--gs-text-faint:#66756e;--gs-border:rgba(15,26,23,.12);--gs-border-mid:rgba(15,26,23,.18);--gs-accent:#f2b33d;--gs-blue:#6f8d80;--gs-green:#1d6e55;position:relative;min-height:calc(100svh - 68px);overflow:visible;padding:clamp(18px,3.4vw,44px);background:var(--trajectory-bg);}
.goals-shell::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:none;}
.goals-shell p{margin:0;color:var(--gs-text-dim)!important;font-size:15px;line-height:1.45;}
.goal-horizon{border:1px solid var(--gs-border);border-radius:0;background:rgba(255,255,255,.035);color:var(--gs-text-dim);padding:9px 5px;font-weight:700;cursor:pointer;text-align:center;}
.goal-horizon.active{background:var(--gs-accent);color:#0f1a17;border-color:var(--gs-accent);}
.goal-status{font-size:13px!important;color:var(--gs-text-dim)!important;min-height:18px;}
.goal-real-app{position:relative;z-index:1;min-height:calc(100svh - 88px);display:block;color:var(--gs-text);border:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible;}
.goal-main-stage{min-width:0;padding:clamp(20px,4vw,40px) clamp(16px,3vw,32px) clamp(20px,4vw,40px) clamp(42px,5vw,72px);display:grid;align-content:start;gap:24px;}
.goal-primary-button{border:2px solid #8a5e0e;border-radius:0;background:var(--gs-accent);color:#0f1a17;padding:12px 18px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:none;}
.goal-primary-button:hover{background:#ffc966;}
.goal-card-large{border:1px solid var(--gs-border);border-radius:0;background:var(--gs-card);padding:22px;box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-empty-state{min-height:250px;display:grid;place-items:center;text-align:center;}
.goal-empty-icon{font-size:46px;margin-bottom:10px;}
.goal-empty-state b{font-size:22px;color:var(--gs-text);}
.goal-empty-state p{max-width:360px;margin:8px auto 20px;color:var(--gs-text-dim)!important;}
.goal-list{display:grid;gap:18px;}
.goal-area-filter{display:grid;justify-items:end;gap:6px;min-height:38px;transform-origin:top right;}
.goal-area-filter.is-open{justify-items:stretch;}
.goal-filter-chip{justify-self:end;min-height:34px;border:1px solid rgba(15,26,23,.12);border-radius:0;background:var(--selected-bg,#0f1a17);color:var(--selected-fg,#f1f3ee);display:inline-flex;align-items:center;gap:8px;padding:7px 10px;box-shadow:0 12px 28px rgba(15,26,23,.12);font-weight:700;cursor:pointer;max-width:min(100%,260px);transition:width .28s ease,max-width .28s ease,border-radius .28s ease,transform .18s ease,filter .18s ease,box-shadow .18s ease;}
.goal-filter-chip:hover{transform:translateY(-1px);filter:brightness(1.06);}
.goal-area-filter.is-open .goal-filter-chip{width:100%;max-width:100%;border-radius:0;justify-content:flex-end;box-shadow:0 8px 22px rgba(15,26,23,.10);}
.goal-filter-chip .filter-symbol{width:18px;height:18px;border:1px solid currentColor;border-radius:0;display:grid;place-items:center;position:relative;flex:0 0 auto;opacity:.92;}
.goal-filter-chip .filter-symbol::before{content:"";width:9px;height:9px;background:currentColor;clip-path:polygon(0 0,100% 0,62% 45%,62% 100%,38% 100%,38% 45%);}
.goal-filter-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1;}
.goal-filter-count{font-size:12px;line-height:1;padding-left:2px;font-variant-numeric:tabular-nums;opacity:.88;}
.goal-area-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(80px,1fr);gap:4px;row-gap:3px;max-height:0;opacity:0;overflow:hidden;transform:scale(.985) translateY(-6px);transform-origin:top right;pointer-events:none;transition:max-height .36s cubic-bezier(.2,.8,.2,1),opacity .2s ease,transform .28s ease;}
.goal-area-filter.is-open .goal-area-board{max-height:540px;opacity:1;transform:scale(1) translateY(0);pointer-events:auto;}
.goal-area-filter.is-closing{justify-items:end;}
.goal-area-filter.is-closing .goal-area-board{max-height:0!important;opacity:0!important;transform:scale(.78) translateY(-10px)!important;pointer-events:none!important;}
.goal-area-tile{position:relative;grid-column:span var(--span,1);min-height:80px;border:1px solid rgba(255,255,255,.09);border-radius:0;background:var(--area-bg,#0f1a17);color:var(--area-fg,#f1f3ee);padding:10px;display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;}
.goal-area-tile:hover{transform:translateY(-2px);filter:brightness(1.08);}
.goal-area-tile.active{box-shadow:inset 0 0 0 3px rgba(255,255,255,.72),0 10px 24px rgba(15,26,23,.14);}
.goal-area-name{position:relative;z-index:1;min-width:0;width:100%;font-size:clamp(12px,1.08vw,20px);line-height:1.02;font-weight:700;letter-spacing:0;white-space:normal;overflow-wrap:normal;word-break:normal;}
.goal-area-count{position:absolute;right:8px;top:6px;z-index:2;color:inherit;font-size:13px;font-weight:700;line-height:1;}
.goal-create-hub{display:grid;justify-items:center;margin:2px 0 20px;}
.goal-create-button{border:0;border-radius:0;background:#0f1a17;color:#f1f3ee;padding:18px 30px;font-size:clamp(18px,2.6vw,30px);font-weight:700;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;transition:transform .2s ease,filter .18s ease,box-shadow .18s ease;}
.goal-create-button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-builder-card{width:min(980px,100%);justify-self:center;display:grid;gap:16px;border:0;border-radius:0;background:color-mix(in srgb,var(--goal-color,#f2b33d) 12%,#ffffff);padding:clamp(16px,3vw,26px);box-shadow:0 10px 24px rgba(15,26,23,.12);transform-origin:top center;animation:goalBuilderOpen .46s cubic-bezier(.2,.8,.2,1) both;}
.goal-builder-field{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:700;color:var(--gs-text-faint);}
.goal-builder-field input,
.goal-builder-field select{width:100%;border:1px solid rgba(15,26,23,.16);border-radius:0;background:#ffffff;color:#0f1a17;padding:12px 13px;font:inherit;font-size:15px;text-transform:none;letter-spacing:0;font-weight:700;}
.goal-builder-field input:focus,
.goal-builder-field select:focus{outline:2px solid var(--goal-color,#f2b33d);outline-offset:2px;}
.goal-builder-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.goal-builder-strategy-deck{position:relative;min-height:248px;display:grid;place-items:center;perspective:1000px;}
.goal-builder-strategy-card{position:absolute;width:142px;height:202px;border:1px solid rgba(15,26,23,.14);border-radius:0;background:var(--card-bg,#fff);color:#0f1a17;padding:14px;display:grid;align-content:space-between;text-align:left;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;transform:translate(0,0) rotate(0deg);transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .18s ease,box-shadow .18s ease,opacity .18s ease;}
.goal-builder-strategy-card:nth-child(1){transform:translate(-150px,8px) rotate(-16deg);}
.goal-builder-strategy-card:nth-child(2){transform:translate(-100px,-8px) rotate(-10deg);}
.goal-builder-strategy-card:nth-child(3){transform:translate(-50px,-18px) rotate(-5deg);}
.goal-builder-strategy-card:nth-child(4){transform:translate(0,-22px) rotate(0deg);}
.goal-builder-strategy-card:nth-child(5){transform:translate(50px,-18px) rotate(5deg);}
.goal-builder-strategy-card:nth-child(6){transform:translate(100px,-8px) rotate(10deg);}
.goal-builder-strategy-card:nth-child(7){transform:translate(150px,8px) rotate(16deg);}
.goal-builder-strategy-card:hover,.goal-builder-strategy-card.active{z-index:7;filter:brightness(1.04);box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-builder-strategy-card.active{transform:translate(0,-42px) rotate(0deg) scale(1.08)!important;}
.goal-builder-strategy-card.stamped::after{content:"STAMPED";position:absolute;right:10px;bottom:12px;border:2px solid rgba(15,26,23,.45);border-radius:0;color:rgba(15,26,23,.58);padding:3px 5px;font-size:10px;font-weight:700;transform:rotate(-9deg);}
.goal-builder-strategy-card b{font-size:16px;line-height:1.05;color:#0f1a17;}
.goal-builder-strategy-card span{font-size:11.5px;line-height:1.3;color:rgba(15,26,23,.68);}
.goal-builder-strategy-card em{font-style:normal;font-size:10px;font-weight:700;color:rgba(15,26,23,.58);}
.goal-stamp-button{justify-self:start;border:0;border-radius:0;background:#0f1a17;color:#f1f3ee;padding:10px 14px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-stamp-button.is-stamping{animation:goalStamp .48s cubic-bezier(.2,.8,.2,1) both;}
.goal-stamped-row{min-height:78px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.goal-stamped-row > span{color:#44524c;font-size:13px;font-weight:700;}
.goal-stamped-card{position:relative;border:1px solid rgba(15,26,23,.14);border-radius:0;background:#ffffff;color:#0f1a17;padding:12px 14px;min-width:min(100%,190px);max-width:260px;display:grid;gap:5px;text-align:left;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;}
.goal-stamped-card b{font-size:13px;color:#0f1a17;}
.goal-stamped-card span{font-size:12px;line-height:1.3;color:#44524c;}
.goal-stamped-card.is-new{animation:goalCardStamped .56s cubic-bezier(.2,.8,.2,1) both;}
.goal-card-collection{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;}
.goal-compact-card{position:relative;min-height:250px;border:1px solid rgba(15,26,23,.12);border-radius:0;background:#ffffff;border-top:6px solid var(--goal-color,#f2b33d);color:#0f1a17;padding:16px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:8px;text-align:left;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;overflow:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease;}
.goal-compact-card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-compact-icon{width:38px;height:38px;border:1px solid rgba(15,26,23,.14);border-radius:0;background:#ffffff;display:grid;place-items:center;font-size:23px;}
.goal-compact-target,.goal-compact-window{font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:700;color:rgba(15,26,23,.58);}
.goal-compact-card b{font-size:clamp(20px,2.4vw,30px);line-height:1.02;color:#0f1a17;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.goal-compact-strategy{font-size:13px;font-weight:700;color:#0f1a17;}
.goal-compact-stamp{align-self:end;border:2px solid rgba(15,26,23,.32);border-radius:0;color:rgba(15,26,23,.62);padding:7px 8px;font-size:12px;line-height:1.25;font-weight:700;transform:rotate(-2deg);background:#ffffff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.goal-compact-stamp.is-empty{border-style:dashed;opacity:.62;}
.goal-big-card{border:0;border-radius:0;background:#ffffff;padding:16px;display:grid;gap:13px;box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-big-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;}
.goal-big-actions{display:flex;gap:8px;align-items:start;flex-wrap:wrap;justify-content:end;}
.goal-name-line{display:flex;align-items:center;gap:11px;min-width:0;}
.goal-name-line i{width:32px;height:32px;border-radius:0;display:grid;place-items:center;font-style:normal;border:1px solid color-mix(in srgb,var(--goal-color,#f2b33d) 42%,transparent);background:color-mix(in srgb,var(--goal-color,#f2b33d) 18%,white);}
.goal-name-line b{font-size:18px;color:var(--gs-text);line-height:1.1;}
.goal-subline{font-size:12px;color:var(--goal-color,#f2b33d);font-weight:700;margin-top:4px;}
.goal-card-edit{align-self:start;border:1px solid var(--gs-border);border-radius:0;background:#ffffff;color:var(--gs-text-dim);padding:8px 10px;font-weight:700;cursor:pointer;}
.goal-card-edit:hover{background:#fff;color:var(--gs-text);}
.goal-deck-portal,.timeline-deck-portal{display:none;}
.metro-page.expanded-mode .goal-deck-portal,
.metro-page.expanded-mode .timeline-deck-portal{
  display:block;
  position:fixed;
  left:clamp(10px,2vw,22px);
  top:clamp(10px,2vw,22px);
  z-index:31;
}
.goal-deck-nav{position:relative;left:auto;top:auto;z-index:1;width:48px;min-height:48px;pointer-events:none;}
.goal-deck-nav.is-open,
.goal-deck-nav:hover,
.goal-deck-nav:focus-within{width:182px;min-height:296px;}
.goal-deck-toggle{position:absolute;left:0;top:0;width:48px;height:48px;border:1px solid rgba(163,194,180,.26);border-radius:0;background:#0f1a17;color:#f1f3ee;display:grid;place-items:center;font-weight:700;font-size:0;line-height:0;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;transition:transform .22s ease,filter .18s ease,box-shadow .18s ease;}
.goal-deck-toggle::before{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:#f1f3ee;border-radius:0;transform:translate(-50%,-50%);box-shadow:0 -6px 0 #f1f3ee,0 6px 0 #f1f3ee;}
.goal-deck-toggle:hover{filter:brightness(1.06);transform:translateY(-1px);}
.goal-deck-toggle,.goal-deck-cards,.goal-deck-card{pointer-events:auto;}
.goal-deck-cards{position:absolute;left:0;top:0;width:174px;height:296px;pointer-events:auto;}
.goal-deck-card{position:absolute;left:0;top:0;width:162px;min-height:56px;border:2px solid #0f1a17;border-radius:0;background:#f2b33d;color:#0f1a17;display:block;text-align:left;padding:9px 11px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 12px 30px rgba(15,26,23,.18);opacity:0;transform:translateX(0) translateY(0) scale(.72);transform-origin:left center;transition:opacity .18s ease,transform .34s cubic-bezier(.2,.8,.2,1),filter .18s ease,background .18s ease;pointer-events:none;}
.goal-deck-card:nth-child(2){background:#ffffff;}
.goal-deck-card:nth-child(3){background:#0f1a17;color:#f1f3ee;}
.goal-deck-card:nth-child(4){background:#a3c2b4;}
/* the M menu has no icons, so the small icon boxes are hidden here too */
.goal-deck-card b{display:none;}
.goal-deck-card span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* the page you're on: its label is underlined */
.goal-deck-card.active span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}
.goal-deck-nav:hover .goal-deck-card,
.goal-deck-nav:focus-within .goal-deck-card,
.goal-deck-nav.is-open .goal-deck-card{opacity:1;pointer-events:auto;}
.goal-deck-nav.is-picked .goal-deck-card{opacity:0!important;pointer-events:none!important;transform:translateX(0) translateY(0) scale(.72)!important;}
.goal-deck-nav:hover .goal-deck-card:nth-child(1),
.goal-deck-nav:focus-within .goal-deck-card:nth-child(1),
.goal-deck-nav.is-open .goal-deck-card:nth-child(1){transform:translateX(0) translateY(60px) scale(1);}
.goal-deck-nav:hover .goal-deck-card:nth-child(2),
.goal-deck-nav:focus-within .goal-deck-card:nth-child(2),
.goal-deck-nav.is-open .goal-deck-card:nth-child(2){transform:translateX(0px) translateY(118px) scale(1);}
.goal-deck-nav:hover .goal-deck-card:nth-child(3),
.goal-deck-nav:focus-within .goal-deck-card:nth-child(3),
.goal-deck-nav.is-open .goal-deck-card:nth-child(3){transform:translateX(0) translateY(176px) scale(1);}
.goal-deck-nav:hover .goal-deck-card:nth-child(4),
.goal-deck-nav:focus-within .goal-deck-card:nth-child(4),
.goal-deck-nav.is-open .goal-deck-card:nth-child(4){transform:translateX(0px) translateY(234px) scale(1);}
.timeline-deck-nav.is-open,
.timeline-deck-nav:hover,
.timeline-deck-nav:focus-within{min-height:180px;}
.timeline-deck-cards{height:180px;}
.goal-learn-stage{position:relative;min-height:min(760px,calc(100svh - 190px));display:grid;place-items:center;overflow:hidden;padding:clamp(18px,4vw,42px);}
.goal-learn-intro{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;text-align:center;max-width:760px;width:100%;}
.goal-learn-intro h2,.goal-strategy-focus h2{margin:0;font-family:var(--display-font);font-size:clamp(39px,8vw,75px);line-height:1.06;font-weight:420;color:var(--gs-text);letter-spacing:-.015em;}
.goal-learn-intro p,.goal-strategy-focus p{margin:0;color:var(--gs-text-dim)!important;font-size:clamp(15px,1.6vw,18px)!important;line-height:1.52!important;}
.learn-goal-card{position:relative;width:min(480px,100%);min-height:280px;border:1px solid rgba(15,26,23,.14);border-radius:0;background:#ffffff;color:#0f1a17;padding:clamp(18px,4vw,26px);display:grid;align-content:start;gap:14px;text-align:left;box-shadow:0 10px 24px rgba(15,26,23,.12);transform:rotate(-1.4deg);animation:learnGoalCardIn .42s cubic-bezier(.2,.8,.2,1) both;}
.learn-goal-card.is-written{min-height:210px;align-content:center;transform:rotate(-.8deg);}
.learn-goal-card::before{content:"";position:absolute;inset:0;background:none;border-radius:inherit;pointer-events:none;}
.learn-goal-card > *{position:relative;z-index:1;}
.learn-goal-card span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:rgba(15,26,23,.58);}
.learn-goal-card label{font-size:clamp(34px,6vw,58px);line-height:.9;font-weight:700;color:#0f1a17;}
.learn-goal-card p{max-width:360px;font-size:14px!important;line-height:1.42!important;color:rgba(15,26,23,.64)!important;}
.learn-goal-card textarea{width:100%;min-height:122px;border:1px solid rgba(15,26,23,.16);border-radius:0;background:#ffffff;color:#0f1a17;padding:14px 15px;font:inherit;font-size:17px;line-height:1.38;font-weight:700;resize:vertical;box-shadow:none;}
.learn-goal-card textarea:focus{outline:2px solid #f2b33d;outline-offset:2px;}
.learn-goal-card .goal-primary-button{justify-self:start;}
.learn-goal-card .goal-status{margin:0!important;min-height:0;font-size:13px!important;color:#8a5e0e!important;}
.learn-goal-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.learn-goal-card.is-written b{font-size:clamp(30px,5.6vw,56px);line-height:.96;font-weight:700;color:#0f1a17;}
.learn-strategy-deck-wrap{position:relative;width:min(100%,780px);height:350px;margin:6px 0 2px;display:grid;place-items:center;touch-action:manipulation;}
.learn-deck-core{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:178px;height:238px;border:1px solid rgba(15,26,23,.16);border-radius:0;background:#0f1a17;color:#f1f3ee;box-shadow:0 10px 24px rgba(15,26,23,.12);display:grid;align-content:center;justify-items:center;gap:8px;font-weight:700;cursor:pointer;transition:transform .24s ease,filter .18s ease,opacity .2s ease;}
.learn-deck-core:hover{filter:brightness(1.08);transform:translate(-50%,-52%);}
.learn-deck-core b{font-size:26px;font-weight:700;}
.learn-deck-core span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.78;}
.learn-strategy-fan{position:absolute;inset:0;z-index:3;}
.learn-strategy-card{position:absolute;left:50%;top:50%;width:156px;height:218px;border:1px solid #cad3cd;border-top:5px solid var(--card-edge,#f2b33d);border-radius:0;background:var(--card-bg,#fff);color:#15231f;padding:15px;display:grid;align-content:space-between;text-align:left;box-shadow:0 10px 24px rgba(15,26,23,.12);cursor:pointer;transform:translate(-50%,-50%) rotate(calc(var(--fan-rot,0deg) * .16)) translateY(calc(var(--i,0) * 1px));transition:transform .42s cubic-bezier(.18,.82,.2,1),filter .18s ease,box-shadow .18s ease,opacity .18s ease;overflow:hidden;}
.learn-strategy-card::before{content:"";position:absolute;inset:0;background:none;pointer-events:none;}
.learn-strategy-card b,.learn-strategy-card span{position:relative;z-index:1;}
.learn-strategy-card b{font-size:17px;line-height:1.05;color:#0f1a17;}
.learn-strategy-card span{font-size:12px;line-height:1.28;color:rgba(15,26,23,.72);}
/* each card's place in the open fan: --fx/--fy/--fr pick the spacing for the screen size (responsive.css) */
.learn-strategy-card{--fx:var(--fan-x,0px);--fy:var(--fan-y,0px);--fr:var(--fan-rot,0deg);}
.learn-strategy-deck-wrap:hover .learn-strategy-card,.learn-strategy-deck-wrap.is-open .learn-strategy-card{transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy))) rotate(var(--fr));}
.learn-strategy-deck-wrap:hover .learn-deck-core,.learn-strategy-deck-wrap.is-open .learn-deck-core{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.88);}
.learn-strategy-deck-wrap:hover .learn-strategy-card:hover,.learn-strategy-deck-wrap.is-open .learn-strategy-card:hover{z-index:8;}
@media (hover:hover) and (pointer:fine){
  /* a mouse lifts the card it is over; on touch screens hover sticks after a tap, so the lift comes from touch-active instead */
  .learn-strategy-deck-wrap:hover .learn-strategy-card:hover,.learn-strategy-deck-wrap.is-open .learn-strategy-card:hover{translate:0 -22px;scale:1.03;}
}
.learn-strategy-deck-wrap.is-choosing .learn-strategy-card{transform:translate(-50%,-50%) rotate(0deg) scale(.76);opacity:0;pointer-events:none;}
.learn-strategy-deck-wrap.is-choosing .learn-deck-core{opacity:1;transform:translate(-50%,-50%) scale(.92);pointer-events:none;}
.learn-strategy-card:hover{filter:brightness(1.04);box-shadow:0 10px 24px rgba(15,26,23,.12);z-index:6;}
.goal-learn-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.goal-learn-soft-button{border:1px solid rgba(15,26,23,.12);border-radius:0;background:#ffffff;color:var(--gs-text);padding:12px 18px;font-weight:700;cursor:pointer;}
.goal-learn-focus{position:relative;min-height:min(780px,calc(100svh - 180px));overflow:hidden;display:grid;place-items:center;padding:clamp(20px,4vw,48px);}
.goal-learn-burst{position:absolute;inset:clamp(18px,4vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;opacity:0;pointer-events:none;animation:learnBurst .92s cubic-bezier(.2,.8,.2,1) both;}
.learn-burst-card{min-height:108px;border-radius:0;background:var(--card-bg,#fff);border-top:5px solid var(--card-edge,#f2b33d);box-shadow:0 10px 24px rgba(15,26,23,.12);transform:translateY(80px) rotate(-6deg) scale(.76);opacity:0;animation:learnBurstCard .62s cubic-bezier(.18,.84,.22,1) both;animation-delay:calc(var(--i,0) * 45ms);}
.goal-strategy-focus{position:relative;z-index:2;width:min(840px,100%);display:grid;gap:18px;text-align:left;background:transparent;border:0;border-radius:0;padding:clamp(12px,3vw,28px);box-shadow:none;opacity:0;transform:translateY(24px) scale(.96);animation:learnFocusIn .72s cubic-bezier(.2,.8,.2,1) .54s both;}
.goal-strategy-focus-top{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.goal-strategy-focus h2{font-size:clamp(42px,6vw,74px);}
.goal-strategy-goal{display:grid;gap:6px;border-left:4px solid #f2b33d;padding-left:14px;max-width:720px;}
.goal-strategy-goal span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:rgba(15,26,23,.58);}
.goal-strategy-goal b{font-size:clamp(20px,2.5vw,28px);line-height:1.08;color:#0f1a17;}
.goal-strategy-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;}
.goal-strategy-steps div{border:1px solid rgba(15,26,23,.08);border-radius:0;background:#ffffff;padding:14px;display:grid;gap:7px;min-height:118px;}
.goal-strategy-steps b{color:var(--gs-text);font-size:13px;}
.goal-strategy-steps span{font-size:12.5px;line-height:1.36;color:var(--gs-text-dim);}
@keyframes learnBurst{0%,72%{opacity:1;}100%{opacity:0;transform:scale(1.04);}}
@keyframes learnBurstCard{0%{opacity:0;transform:translateY(100px) rotate(-10deg) scale(.72);}55%{opacity:1;transform:translateY(0) rotate(0) scale(1);}100%{opacity:.86;transform:translateY(0) rotate(0) scale(1);}}
@keyframes learnFocusIn{to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes learnGoalCardIn{0%{opacity:.2;transform:translateY(30px) rotate(-8deg) scale(.82);}70%{opacity:1;transform:translateY(-4px) rotate(1deg) scale(1.02);}100%{opacity:1;transform:translateY(0) rotate(-1.4deg) scale(1);}}
.goal-cadence-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.goal-cadence-step{position:relative;border:1px solid rgba(15,26,23,.08);border-radius:0;background:#ffffff;padding:12px;min-height:104px;display:grid;align-content:start;gap:8px;box-shadow:none;}
.goal-cadence-step::before{content:"";position:absolute;left:12px;right:12px;top:0;height:4px;background:var(--goal-color,#f2b33d);opacity:.36;border-radius:0 0 4px 4px;}
.goal-cadence-step.is-filled::before{opacity:.95;}
.goal-cadence-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.goal-cadence-top b{font-size:13px;color:var(--goal-color,#f2b33d);}
.goal-cadence-top time{font-size:11px;color:var(--gs-text-faint);font-weight:700;white-space:nowrap;}
.goal-cadence-step span{font-size:12.5px;color:var(--gs-text-dim);line-height:1.38;}
@keyframes goalBuilderOpen{0%{opacity:.3;transform:translateY(-14px) scale(.76);clip-path:inset(0 42% 76% 42% round 18px);}100%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0 0 round 22px);}}
@keyframes goalStamp{0%{transform:translateY(-10px) scale(1.14);filter:brightness(1.2);}48%{transform:translateY(4px) scale(.94);filter:brightness(.96);}100%{transform:translateY(0) scale(1);filter:none;}}
@keyframes goalCardStamped{0%{opacity:.2;transform:translateY(-18px) rotate(-8deg) scale(.72);}70%{opacity:1;transform:translateY(3px) rotate(1deg) scale(1.03);}100%{opacity:1;transform:translateY(0) rotate(0) scale(1);}}
.goal-builder-card{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;width:min(1020px,100%)!important;gap:18px!important;}
.goal-builder-stage{display:grid;justify-items:center;gap:0;perspective:1200px;}
.goal-builder-active-card{position:relative;width:min(460px,92vw);min-height:660px;border:1px solid rgba(15,26,23,.14);border-radius:0;background:#ffffff;border-top:6px solid var(--goal-color,#f2b33d);color:#0f1a17;padding:22px;display:grid;align-content:start;gap:13px;box-shadow:0 10px 24px rgba(15,26,23,.12);transform-origin:center bottom;animation:goalActiveCardIn .42s cubic-bezier(.2,.8,.2,1) both;overflow:hidden;}
.goal-builder-active-card.is-changing{animation:goalActiveCardSwap .42s cubic-bezier(.2,.8,.2,1) both;}
.goal-builder-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.goal-corner-controls{position:relative;display:flex;align-items:center;gap:8px;}
.goal-builder-card-icon{width:44px;height:44px;border:1px solid rgba(15,26,23,.15);border-radius:0;background:#ffffff;display:grid;place-items:center;font-size:26px;box-shadow:0 8px 22px rgba(15,26,23,.08);cursor:pointer;color:#0f1a17;}
.goal-card-color-chip{width:34px;height:34px;border-radius:0;border:3px solid rgba(255,255,255,.72);background:var(--chip,#f2b33d);box-shadow:0 8px 20px rgba(15,26,23,.12),0 0 0 1px rgba(15,26,23,.14);cursor:pointer;}
.goal-corner-picker{position:absolute;left:0;top:54px;z-index:12;display:grid;gap:6px;background:rgba(255,255,255,.96);border:1px solid rgba(15,26,23,.12);border-radius:0;padding:8px;box-shadow:0 10px 24px rgba(15,26,23,.12);opacity:0;transform:translateY(-8px) scale(.94);pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1);}
.goal-corner-picker.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.goal-corner-picker.icon-picker{grid-template-columns:repeat(6,30px);width:max-content;}
.goal-corner-picker.icon-picker button{width:30px;height:30px;border:1px solid rgba(15,26,23,.12);border-radius:0;background:#ffffff;display:grid;place-items:center;cursor:pointer;color:#0f1a17;}
.goal-corner-picker.icon-picker button.active{outline:2px solid var(--goal-color,#f2b33d);outline-offset:1px;}
.goal-corner-picker.color-picker{grid-template-columns:repeat(5,30px);left:50px;}
.goal-corner-picker.color-picker button{width:30px;height:30px;border-radius:0;border:2px solid rgba(255,255,255,.8);background:var(--swatch);box-shadow:0 0 0 1px rgba(15,26,23,.14);cursor:pointer;}
.goal-corner-picker.color-picker button.active{outline:2px solid #0f1a17;outline-offset:2px;}
.goal-builder-strategy-title{font-size:clamp(34px,5.5vw,58px);line-height:.9;font-weight:700;color:#0f1a17;max-width:10ch;}
.goal-builder-active-card p{margin:0!important;font-size:14px!important;line-height:1.42!important;color:rgba(15,26,23,.70)!important;max-width:390px;}
.goal-builder-active-card .goal-builder-field input,.goal-builder-active-card .goal-builder-field select,.goal-builder-active-card .goal-builder-step-field textarea{background:#ffffff;border-color:rgba(15,26,23,.14);box-shadow:none;}
.goal-builder-active-card .goal-builder-step-field textarea:focus{outline:2px solid var(--goal-color,#f2b33d);outline-offset:2px;}
.goal-builder-step-field textarea{min-height:72px;max-height:220px;resize:none;overflow:auto;border:1px solid rgba(15,26,23,.16);border-radius:0;color:#0f1a17;padding:12px 13px;font:inherit;font-size:15px;text-transform:none;letter-spacing:0;font-weight:700;line-height:1.35;}
.goal-motivation-scales{display:grid;gap:10px;}
.goal-motivation-scale{border:1px solid rgba(15,26,23,.12);border-radius:0;background:#ffffff;padding:10px 11px 9px;margin:0;display:grid;gap:8px;}
.goal-motivation-scale legend{padding:0 4px;font-size:11px;line-height:1.12;text-transform:uppercase;letter-spacing:.055em;font-weight:700;color:rgba(15,26,23,.62);}
.goal-scale-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
.goal-scale-row label{min-width:0;}
.goal-scale-row input{position:absolute;opacity:0;pointer-events:none;}
.goal-scale-row span{height:30px;border:1px solid rgba(15,26,23,.14);border-radius:0;background:#ffffff;display:grid;place-items:center;font-size:12px;font-weight:700;color:#0f1a17;cursor:pointer;transition:transform .16s ease,background .18s ease,box-shadow .18s ease;}
.goal-scale-row input:checked + span{background:var(--goal-color,#f2b33d);box-shadow:0 8px 20px color-mix(in srgb,var(--goal-color,#f2b33d) 28%,transparent);transform:translateY(-1px);}
.goal-scale-anchors{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:700;color:rgba(15,26,23,.52);}
.goal-builder-card-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.goal-live-stamp{position:absolute;left:50%;top:42%;z-index:16;width:min(320px,76%);min-height:92px;border:6px solid rgba(15,26,23,.52);border-radius:0;color:rgba(15,26,23,.62);background:rgba(255,255,255,.18);padding:12px 14px;font-size:22px;line-height:1.15;font-weight:700;text-transform:uppercase;display:grid;place-items:center;text-align:center;opacity:0;transform:translate(-50%,-250px) rotate(-13deg) scale(1.2);pointer-events:none;}
.goal-builder-active-card.is-stamping .goal-live-stamp{animation:stampPress .68s cubic-bezier(.2,.8,.2,1) both;}
.goal-builder-active-card.is-confirming > *:not(.goal-live-stamp):not(.goal-confirm-print){opacity:0;transform:scale(.96);transition:opacity .18s ease,transform .18s ease;pointer-events:none;}
.goal-builder-active-card.is-confirming .goal-live-stamp{animation:stampPress .82s cubic-bezier(.2,.8,.2,1) both;}
.goal-confirm-print{position:absolute;inset:78px 28px 30px;display:grid;align-content:start;gap:14px;opacity:0;transform:translateY(16px);transition:opacity .28s ease .48s,transform .28s ease .48s;pointer-events:none;}
.goal-builder-active-card.is-confirming .goal-confirm-print{opacity:1;transform:translateY(0);}
.goal-confirm-print b{font-size:clamp(28px,4.8vw,48px);line-height:.95;color:#0f1a17;}
.goal-confirm-print span{border:3px solid rgba(15,26,23,.38);border-radius:0;color:rgba(15,26,23,.70);padding:14px;font-size:15px;line-height:1.35;font-weight:700;transform:rotate(-2deg);background:rgba(255,255,255,.18);}
.goal-confirm-print em{font-style:normal;font-size:12px;font-weight:700;color:rgba(15,26,23,.58);text-transform:uppercase;letter-spacing:.055em;}
.goal-card-step-stamp{justify-self:end;max-width:260px;border:3px solid rgba(15,26,23,.38);border-radius:0;color:rgba(15,26,23,.62);padding:8px 10px;font-size:12px;line-height:1.18;font-weight:700;transform:rotate(-7deg);background:rgba(255,255,255,.20);text-align:center;}
.goal-builder-strategy-deck{width:min(760px,100%);min-height:228px!important;margin-top:-18px;overflow:visible!important;}
.goal-builder-strategy-card{background:#ffffff!important;color:#0f1a17!important;border-color:rgba(15,26,23,.13)!important;box-shadow:0 16px 42px rgba(15,26,23,.15)!important;}
.goal-builder-strategy-card.deck-placeholder{background:transparent!important;border:2px dashed rgba(15,26,23,.28)!important;box-shadow:none!important;cursor:default!important;pointer-events:none;opacity:.72;}
.goal-builder-strategy-card.deck-placeholder span{display:block;position:absolute;inset:14px;border-radius:0;background:repeating-linear-gradient(135deg,rgba(15,26,23,.06) 0 8px,transparent 8px 16px);}
.goal-builder-strategy-card.active{background:#ffffff!important;border-top:5px solid var(--goal-color,#f2b33d)!important;transform:translate(0,-74px) rotate(0deg) scale(1.14)!important;}
.goal-builder-strategy-card.stamped::after{content:none!important;}
.goal-builder-strategy-card.stamped{box-shadow:0 16px 42px rgba(15,26,23,.15),inset 0 -6px 0 rgba(15,26,23,.10)!important;}
@media (hover:hover) and (pointer:fine){
  .learn-strategy-deck-wrap:hover .learn-strategy-card,
  .learn-strategy-deck-wrap:hover .learn-strategy-card:hover{
    pointer-events:auto;
  }
  .goal-builder-strategy-card:not(.deck-placeholder):hover{
    z-index:14;
    filter:brightness(1.05);
    box-shadow:0 30px 72px rgba(15,26,23,.25)!important;
  }
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(1):hover{transform:translate(-150px,-18px) rotate(-16deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(2):hover{transform:translate(-100px,-34px) rotate(-10deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(3):hover{transform:translate(-50px,-44px) rotate(-5deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(4):hover{transform:translate(0,-48px) rotate(0deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(5):hover{transform:translate(50px,-44px) rotate(5deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(6):hover{transform:translate(100px,-34px) rotate(10deg) scale(1.04)!important;}
  .goal-builder-strategy-card:not(.deck-placeholder):nth-child(7):hover{transform:translate(150px,-18px) rotate(16deg) scale(1.04)!important;}
}
.goal-stamped-row{width:min(760px,100%);justify-self:center;justify-content:center;}
.goal-stamped-card{width:150px;min-height:206px;min-width:150px;max-width:150px;border-radius:0;background:#ffffff;color:#0f1a17;align-content:space-between;padding:13px;transform:rotate(-2deg);box-shadow:0 10px 24px rgba(15,26,23,.12);}
.goal-stamped-card:nth-child(2n){transform:rotate(2deg);}
.goal-stamped-card span{border:2px solid rgba(15,26,23,.32);border-radius:0;padding:6px;transform:rotate(-5deg);font-weight:700;color:rgba(15,26,23,.62);}
.goal-card-collection{grid-template-columns:repeat(auto-fit,minmax(160px,180px));justify-content:center;perspective:1100px;margin-top:-18px;}
.goal-builder-card .goal-status:empty{display:none;}
.goal-compact-card{min-height:250px;border-radius:0;background:#ffffff;border-top:6px solid var(--goal-color,#f2b33d);grid-template-rows:auto auto minmax(0,1fr) auto auto auto;transform-style:preserve-3d;}
.goal-compact-card.is-flipping{animation:goalFlipOut .28s cubic-bezier(.55,.06,.68,.19) both;}
.goal-big-card.is-flipping-back{animation:goalFlipOut .24s cubic-bezier(.55,.06,.68,.19) both;}
.goal-big-card{animation:goalFlipIn .42s cubic-bezier(.2,.8,.2,1) both;}
.goal-card-collection .goal-big-card{grid-column:1 / -1;width:min(920px,100%);justify-self:center;}
.goal-card-collection .goal-big-card .goal-cadence-track{grid-template-columns:repeat(3,minmax(180px,1fr));}
@keyframes goalActiveCardIn{0%{opacity:.35;transform:translateY(210px) rotate(var(--pull-rot,-8deg)) scale(.34);}62%{opacity:1;transform:translateY(-14px) rotate(1deg) scale(1.03);}100%{opacity:1;transform:translateY(0) rotate(0) scale(1);}}
@keyframes goalActiveCardSwap{0%{opacity:.45;transform:translateY(180px) rotate(var(--pull-rot,8deg)) scale(.38);}68%{opacity:1;transform:translateY(-10px) rotate(-1deg) scale(1.02);}100%{opacity:1;transform:translateY(0) rotate(0) scale(1);}}
@keyframes stampPress{0%{opacity:0;transform:translate(-50%,-260px) rotate(-13deg) scale(1.18);}38%{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(.94);}58%{opacity:1;transform:translate(-50%,-50%) rotate(-7deg) scale(.94);}100%{opacity:0;transform:translate(-50%,-190px) rotate(-11deg) scale(1.06);}}
@keyframes goalFlipOut{0%{opacity:1;transform:rotateY(0) scale(1);}100%{opacity:.1;transform:rotateY(86deg) scale(.96);}}
@keyframes goalFlipIn{0%{opacity:.1;transform:rotateY(-86deg) scale(.96);}100%{opacity:1;transform:rotateY(0) scale(1);}}
.goal-reflection-layout{display:block;}
.goal-reflection-page{width:min(960px,100%);margin:0 auto;display:grid;gap:18px;}
.goal-reflection-form{display:grid;gap:12px;}
.goal-reflection-form label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--gs-text-faint);}
.goal-reflection-form textarea,.goal-reflection-form select{width:100%;border:1px solid #cad3cd;background:#fff;color:var(--gs-text);padding:12px;font:inherit;}
.goal-reflection-form textarea{min-height:190px;resize:vertical;line-height:1.45;}
.goal-reflection-feed{display:grid;gap:18px;align-content:start;perspective:900px;}
.write-note-card{position:relative;border:0;background:#ffffff;border:1px solid #cad3cd;border-left:5px solid #f2b33d;padding:28px 28px 24px 30px;min-height:156px;display:grid;place-items:center;text-align:center;color:#0f1a17;box-shadow:0 10px 24px rgba(15,26,23,.12);transform:rotate(-.35deg);cursor:pointer;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease;}
.write-note-card:hover{transform:rotate(-.35deg) translateY(-3px);box-shadow:0 10px 24px rgba(15,26,23,.12);}
.write-note-card::before,.goal-reflection-composer::before{content:none;}
.write-note-card b{font-family:var(--display-font);letter-spacing:-.015em;font-size:clamp(30px,6vw,54px);font-weight:420;line-height:1.06;color:#0f1a17;}
.write-note-card span{font-size:13px;color:#66756e;margin-top:8px;display:block;}
.goal-reflection-composer{position:relative;border:0;background:#ffffff;border:1px solid #cad3cd;border-left:5px solid #f2b33d;padding:28px 28px 24px 30px;color:#0f1a17;box-shadow:0 10px 24px rgba(15,26,23,.12);transform-origin:left center;animation:notebookOpen .44s cubic-bezier(.2,.8,.2,1) both;overflow:hidden;}
.goal-reflection-composer .goal-reflection-form textarea,.goal-reflection-composer .goal-reflection-form select{background:#ffffff;}
.reflection-compose-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.reflection-compose-top b{font-family:var(--display-font);letter-spacing:-.015em;font-size:28px;font-weight:420;color:#0f1a17;}
.reflection-compose-top button{border:1px solid rgba(15,26,23,.12);background:#ffffff;color:#44524c;border-radius:0;padding:8px 11px;font-weight:700;cursor:pointer;}
@keyframes notebookOpen{0%{opacity:.35;transform:perspective(900px) rotateY(-24deg) translateY(10px) scale(.96);}100%{opacity:1;transform:perspective(900px) rotateY(0) translateY(0) scale(1);}}
.goal-reflection-item{position:relative;border:0;background:#ffffff;border:1px solid #cad3cd;border-left:5px solid #f2b33d;padding:22px 22px 18px 26px;display:grid;gap:10px;color:#0f1a17;box-shadow:0 10px 24px rgba(15,26,23,.12);transform:rotate(var(--note-rot,-.45deg));transform-origin:center top;}
.goal-reflection-item:nth-child(2n){--note-rot:.42deg;}
.goal-reflection-item:nth-child(3n){--note-rot:-.18deg;}
.goal-reflection-item::before{content:none;}
.goal-reflection-item::after{content:none;}
.goal-reflection-item time{justify-self:end;font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#66756e;font-weight:700;transform:rotate(.35deg);}
.goal-reflection-item p{font-family:var(--site-font);font-size:15px!important;line-height:1.72!important;color:#0f1a17!important;}
.goal-reflection-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px;}
.goal-reflection-tags span{font-size:10.5px;border:1px solid rgba(15,26,23,.12);padding:4px 7px;color:#44524c;background:#f5f7f3;box-shadow:0 1px 0 rgba(255,255,255,.7) inset;transform:rotate(-.45deg);}
.goal-reflection-tags span:nth-child(2n){transform:rotate(.45deg);}
.goal-archive-strip{display:grid;grid-template-columns:repeat(31,minmax(6px,1fr));gap:3px;margin-top:12px;}
.goal-archive-strip i{height:18px;background:rgba(15,26,23,.08);display:block;}
.goal-archive-strip i.on{background:var(--gs-accent);}
.goal-thread-page{width:min(1120px,100%);margin:0 auto;min-height:min(820px,calc(100svh - 130px));display:grid;grid-template-rows:auto minmax(560px,1fr);gap:0;padding:0 0 clamp(18px,3vw,34px);color:#0f1a17;}
.goal-thread-rail{position:relative;height:44px;display:grid;align-items:center;padding:0 clamp(14px,4vw,42px);}
.goal-thread-rail::before{content:"";height:6px;border-radius:0;background:linear-gradient(90deg,rgba(15,26,23,.18),rgba(15,26,23,.52),rgba(15,26,23,.18));box-shadow:0 13px 32px rgba(15,26,23,.14);}
.goal-thread-rail input{position:absolute;left:clamp(14px,4vw,42px);right:clamp(14px,4vw,42px);top:50%;transform:translateY(-50%);width:calc(100% - clamp(28px,8vw,84px));accent-color:#f2b33d;opacity:.78;cursor:grab;}
.goal-thread-rail input:active{cursor:grabbing;}
.goal-thread-stage{position:relative;overflow:hidden;min-height:560px;margin-top:-22px;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);}
.goal-thread-forest{position:absolute;inset:0;transform:translateX(calc(var(--thread-offset,0px) * -1));transition:transform .42s cubic-bezier(.2,.8,.2,1);}
.goal-thread-stage.is-dragging .goal-thread-forest{transition:transform .08s linear;}
.goal-thread-stage.is-dropping .goal-rope{animation:ropeDrop .62s cubic-bezier(.2,.8,.2,1) both,ropeSway var(--sway,7.2s) ease-in-out infinite alternate .64s;}
.goal-rope{position:absolute;top:0;left:var(--rope-x);width:190px;height:var(--rope-h,500px);transform-origin:50% 0;animation:ropeSway var(--sway,7.2s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);touch-action:none;user-select:none;cursor:grab;}
.goal-rope:active{cursor:grabbing;}
.goal-rope.is-pulling{animation:none!important;height:calc(var(--rope-h,500px) + var(--pull-y,0px));transform:rotate(.8deg);}
.goal-thread-stage.is-dragging .goal-rope{animation-duration:2.8s;}
.goal-rope-svg{position:absolute;left:50%;top:-3px;width:90px;height:calc(100% + 3px);transform:translateX(-50%);overflow:visible;pointer-events:none;}
.goal-rope-svg path{fill:none;stroke:rgba(58,51,42,.54);stroke-width:2.4;stroke-linecap:round;filter:drop-shadow(0 12px 18px rgba(15,26,23,.14));}
.goal-rope-svg path:nth-child(2){stroke:rgba(255,255,255,.34);stroke-width:.8;transform:translateX(2px);}
.goal-thread-panel{position:absolute;left:50%;top:var(--panel-y);transform:translate(-50%,-50%);width:176px;min-height:96px;background:rgba(241,243,238,.78);border:1px solid rgba(15,26,23,.1);box-shadow:0 10px 24px rgba(15,26,23,.12);padding:13px 14px;text-align:left;transform-origin:50% -18px;animation:tagSwing calc(var(--sway,7.2s) * .86) ease-in-out infinite alternate;animation-delay:calc(var(--delay,0s) - .4s);z-index:2;}
.goal-thread-panel::before{content:"";position:absolute;left:50%;top:-12px;width:14px;height:14px;border-radius:50%;background:var(--knot-color,#f2b33d);transform:translateX(-50%);box-shadow:0 0 0 6px color-mix(in srgb,var(--knot-color,#f2b33d) 16%,transparent);}
.goal-thread-panel b{display:block;font-size:11px;line-height:1.05;letter-spacing:.045em;text-transform:uppercase;color:#0f1a17;margin-bottom:7px;}
.goal-thread-panel span{display:block;font-size:12px;line-height:1.24;color:#44524c;white-space:normal;}
.goal-projector{position:relative;min-height:560px;overflow:hidden;padding:0 clamp(14px,4vw,42px);}
.goal-projector-screen{width:min(880px,100%);margin:0 auto;background:#ffffff;border:1px solid rgba(15,26,23,.12);box-shadow:0 10px 24px rgba(15,26,23,.12);transform-origin:50% 0;animation:screenRollDown .66s cubic-bezier(.2,.8,.2,1) both;display:grid;gap:20px;padding:clamp(24px,5vw,54px);}
.goal-projector.is-rolling-up .goal-projector-screen{animation:screenRollUp .42s cubic-bezier(.55,.06,.68,.19) both;}
.goal-projector-screen h2{font-family:var(--display-font);font-size:clamp(39px,8vw,72px);font-weight:420;line-height:1.06;margin:0;color:#0f1a17;letter-spacing:-.015em;}
.goal-projector-screen p{font-size:clamp(14px,1.6vw,17px)!important;line-height:1.5!important;color:#44524c!important;max-width:760px;margin:0!important;}
.goal-projector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.goal-projector-card{border-top:1px solid rgba(15,26,23,.18);padding-top:12px;display:grid;gap:7px;}
.goal-projector-card b{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:#0f1a17;}
.goal-projector-card span{font-size:13px;line-height:1.42;color:#44524c;}
.goal-projector-actions{display:flex;justify-content:flex-end;}
.goal-projector-actions button{border:1px solid rgba(15,26,23,.12);background:#0f1a17;color:#f1f3ee;padding:10px 14px;border-radius:0;font-weight:700;cursor:pointer;}
.pattern-empty{width:min(760px,100%);margin:0 auto;display:grid;place-items:center;text-align:center;min-height:420px;}
.pattern-empty h2{font-family:var(--display-font);font-size:clamp(39px,9vw,72px);line-height:1.06;font-weight:420;letter-spacing:-.015em;margin:0;color:#0f1a17;}
.pattern-empty p{max-width:520px;margin:14px auto 0!important;color:#44524c!important;font-size:16px!important;line-height:1.5!important;}
@keyframes ropeSway{0%{transform:rotate(-1.9deg) translateX(-3px);}45%{transform:rotate(.7deg) translateX(1px);}100%{transform:rotate(2.1deg) translateX(4px);}}
@keyframes ropeDrop{0%{opacity:.25;transform:scaleY(.08) rotate(-2.4deg);}68%{opacity:1;transform:scaleY(1.04) rotate(1.4deg);}100%{opacity:1;transform:scaleY(1) rotate(0);}}
@keyframes tagSwing{0%{transform:translate(-50%,-50%) rotate(1.8deg);}100%{transform:translate(-50%,-50%) rotate(-2deg);}}
@keyframes screenRollDown{0%{opacity:.25;clip-path:inset(0 0 100% 0);transform:scaleY(.03);}100%{opacity:1;clip-path:inset(0 0 0 0);transform:scaleY(1);}}
@keyframes screenRollUp{0%{opacity:1;clip-path:inset(0 0 0 0);transform:scaleY(1);}100%{opacity:.2;clip-path:inset(0 0 100% 0);transform:scaleY(.03);}}
.goal-option-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:7px;}
.goal-option-grid button{height:38px;border:1px solid rgba(15,26,23,.10);border-radius:0;background:#ffffff;display:grid;place-items:center;cursor:pointer;font-size:20px;color:var(--gs-text);}
.goal-option-grid button.active{border-color:var(--gs-accent);box-shadow:0 0 0 1px var(--gs-accent);}
.goal-color-row{display:flex;gap:10px;margin-top:8px;}
.goal-color-row button{width:44px;height:44px;border-radius:0;border:3px solid transparent;cursor:pointer;background:var(--swatch);}
.goal-color-row button.active{outline:2px solid var(--gs-accent);outline-offset:2px;}

/* several notes open at once (the goal-reminder email's link opens one per goal) */
.reflection-compose-intro{margin:0 0 10px;padding:10px 12px;border-left:4px solid #f2b33d;background:#fff8e6;color:#24362f;font-size:14px;font-weight:600;}
.reflection-saved{margin:0 0 10px;font-weight:700;color:#1d6e55;}
.goal-reflection-feed .goal-reflection-composer + .goal-reflection-composer{margin-top:12px;}
