/* Shared product controls; page layouts and character art remain local. */
:root{--n-font-ui:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--n-font-story:Georgia,serif}
[hidden]{display:none!important}
.back-link{display:inline-block;margin:0 0 24px;color:var(--n-quiet);font-size:12px;text-decoration:none}
.product-pad{padding:27px}.product-form{display:grid;gap:12px;padding:24px 0;border-top:1px solid var(--n-line)}.product-form label{font-size:12px;color:var(--n-quiet)}.product-form textarea,.product-form input,.product-form select{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid var(--n-line);border-radius:var(--n-radius-sm);font:inherit;line-height:1.6}.product-form textarea{min-height:115px;resize:vertical}.product-form button{justify-self:start}
.vent-form .check-label{display:flex;align-items:flex-start;gap:9px;margin-top:18px;font-size:11px;line-height:1.6;color:var(--n-quiet)}.vent-form .check-label input{flex:0 0 auto;margin-top:3px}
a.goal-card,a.pact-card,a.ascent-card{display:block;text-decoration:none;color:inherit}a.goal-card:hover,a.pact-card:hover,a.ascent-card:hover{border-color:#a7b098}a.ascent-card .join{display:block;text-align:center;box-sizing:border-box}
.primary-action,.secondary-action{min-height:42px;box-sizing:border-box}.detail-copy,.story-text{color:#68715f}.detail-page .detail-grid>*{min-width:0}.next-step{flex-wrap:wrap}.product-empty{padding:28px 0;color:var(--n-quiet);line-height:1.7}
.home .next-item{color:inherit;text-decoration:none}.home-community{max-width:1040px;margin:24px auto 0;padding:18px 0;border-top:1px solid var(--n-line)}.home-community a{color:var(--n-quiet);text-decoration:none;font-size:13px}.home-community p{color:var(--n-muted);font-size:12px;line-height:1.65}.home .week .pact-today{font:400 23px/1.3 var(--n-font-story);color:var(--n-quiet)}.home .week a{color:var(--n-quiet);font-size:12px}.home .week p{line-height:1.65}
.journey-character{display:flex;align-items:center;gap:35px;margin-bottom:35px}.journey-character .nashwa-character{flex:0 0 auto;width:160px;height:190px;margin:0}.journey-character p{font:400 24px/1.4 var(--n-font-story);color:var(--n-quiet);max-width:450px}.journey-tools{margin:30px 0}.journey-tools summary{cursor:pointer;color:var(--n-quiet);font-size:13px}.memory-controls{display:flex;gap:18px;margin-top:14px}.memory-controls button{border:0;background:transparent;color:var(--n-quiet);font-size:11px;cursor:pointer}.timeline-content{overflow-wrap:anywhere}.timeline-content>a{display:inline-block;margin-top:14px;color:var(--n-quiet);font-size:11px}.local-state-note{font-size:11px;line-height:1.6;color:var(--n-muted);margin:24px 0}.local-state-note.error{color:#8b5142}
.saved-writing{margin-top:40px;border-top:1px solid var(--n-line);padding-top:24px}.saved-writing summary{cursor:pointer;color:var(--n-quiet);font-size:13px}.saved-entry{padding:20px 0;border-bottom:1px solid var(--n-line)}.saved-entry h3{font:400 23px/1.3 var(--n-font-story);margin:0 0 9px}.saved-entry p{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.saved-entry button{margin-right:18px}.sensitive-placeholder{padding:18px;border:1px solid var(--n-line);border-radius:12px;color:var(--n-quiet);font-size:12px;line-height:1.7}.line-list{grid-column:2}.product-form .check-label{display:flex;align-items:flex-start;gap:9px}.product-form .check-label input{width:auto;margin-top:3px}
.goal-collection{display:grid;gap:28px}.goal-state-section{display:grid;gap:12px}.goal-state-title{margin:0;color:#73796a;font-size:11px;font-weight:650;letter-spacing:1.45px;text-transform:uppercase}.goal-state-quiet{opacity:.82}.goal-past{padding-top:18px;border-top:1px solid var(--n-line)}.goal-past>summary{display:flex;align-items:center;gap:9px;color:#6d7464;font-size:12px;cursor:pointer}.goal-past>summary span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#e9ebe2;font-size:10px}.goal-past>.goal-state-section{margin-top:18px}.goal-status{display:inline-block;margin-top:13px;padding:5px 9px;border-radius:999px;background:#e9ece1;color:#65705b;font-size:9px;font-weight:650;letter-spacing:1.1px;text-transform:uppercase}.goal-status-paused{background:#efeee8;color:#7d7a70}.goal-status-completed{background:#e6ebe0;color:#59664e}.form-note{margin:-3px 0 2px;color:var(--n-muted);font-size:10px;line-height:1.55}.goal-history{padding-top:22px;border-top:1px solid var(--n-line)}.goal-history-top{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.goal-history-top .detail-copy{margin:0}.goal-history-list{display:grid}.goal-history-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--n-line)}.goal-history-row time{color:var(--n-muted);font-size:10px;letter-spacing:.45px}.goal-history-row strong{display:block;color:#555d50;font-size:13px;font-weight:600}.goal-history-row p{margin:5px 0 0;color:#74796e;font-size:12px;line-height:1.55;white-space:pre-wrap}.goal-manage-actions,.goal-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.goal-complete-dialog{width:min(480px,calc(100vw - 36px));padding:0;border:1px solid var(--n-line);border-radius:20px;background:#fbfaf6;color:var(--n-ink);box-shadow:0 24px 70px rgba(30,33,26,.16)}.goal-complete-dialog::backdrop{background:rgba(37,40,33,.3)}.goal-complete-dialog .dialog-content{padding:27px}.goal-complete-dialog .dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.goal-complete-dialog h2{margin:0;font:400 27px/1.2 var(--n-font-story)}.goal-complete-dialog .close{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#68705e;font-size:22px;cursor:pointer}.goal-complete-dialog .dialog-copy{color:var(--n-muted);font-size:12px;line-height:1.6}.goal-complete-dialog .field{margin-top:18px}.goal-complete-dialog .field label{display:block;margin-bottom:7px;color:var(--n-quiet);font-size:10px;letter-spacing:1.1px;text-transform:uppercase}.goal-complete-dialog textarea{box-sizing:border-box;width:100%;min-height:110px;padding:12px;border:1px solid var(--n-line);border-radius:12px;background:#fffefa;font:inherit;resize:vertical}
@media(max-width:900px){.line-list{grid-column:auto}.detail-header{flex-wrap:wrap}.meta-row{grid-template-columns:minmax(85px,.45fr) minmax(0,1fr)}}
@media(max-width:700px){.journey-character{gap:15px;flex-direction:column;align-items:flex-start}.journey-character p{font-size:21px}.product-pad{padding:22px}.primary-action,.secondary-action{min-height:44px}.detail-main{padding-right:20px;padding-left:20px}.reset-actions,.person-actions{flex-wrap:wrap}.ascent-data{grid-template-columns:1fr}.community-header h1{font-size:clamp(36px,10vw,49px)}}
