.plans-page{max-width:1360px;margin:auto}.plans-storage{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:var(--text-base);margin:0 0 26px}.plans-storage .icon{width:16px;height:16px}.plans-storage .text-link{font-size:inherit;margin-left:4px}.plans-search{display:block;max-width:440px;font-size:var(--text-base);font-weight:600;margin-bottom:24px}.plans-search input{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:white;padding:12px 16px;font:inherit}.plan-binder{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--soft);padding:24px;box-shadow:0 10px 30px #0067b10d}.binder-index{padding:12px 24px 20px 0;min-width:0}.binder-index-label{display:block;font-size:var(--text-xs);letter-spacing:1px;color:var(--muted);margin-bottom:18px}.binder-tab{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:var(--radius-xs) var(--radius-md) var(--radius-md) var(--radius-xs);margin:0 0 12px;padding:15px;transition:background .15s;overflow-wrap:anywhere}.binder-tab time{display:block;font-size:var(--text-xs);color:var(--muted);margin-bottom:7px}.binder-tab strong{font-weight:600;line-height:1.5}.binder-tab.tab-1{background:var(--soft)}.binder-tab.tab-2{background:var(--surface)}.binder-tab.selected{border-color:var(--blue);box-shadow:inset 4px 0 var(--blue)}.binder-sheet{position:relative;min-width:0;padding:28px 22px 28px 45px;background:var(--white);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-sm);box-shadow:4px 4px 0 var(--line),7px 7px 0 var(--surface)}.binder-sheet:before{content:"";position:absolute;left:10px;top:44px;bottom:32px;width:18px;background:radial-gradient(circle at 9px 18px,var(--blue-soft) 0 3px,var(--line-strong) 4px 6px,transparent 7px) center top/18px 100px repeat-y;pointer-events:none}.plan-paper{overflow-wrap:anywhere;min-width:0}.paper-eyebrow{font-size:var(--text-xs);letter-spacing:1.5px;color:var(--accent-ink);margin-bottom:10px}.paper-date{font-size:var(--text-sm);color:var(--muted)}.plan-paper h2{font-size:var(--text-3xl);line-height:1.3;color:var(--blue);margin:20px 0 24px;letter-spacing:-.5px}.plan-paper ol{padding:0;list-style:none;counter-reset:plan-step}.plan-paper li{counter-increment:plan-step;display:flex;align-items:baseline;gap:14px;line-height:1.8;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid var(--line);white-space:pre-wrap}.plan-paper li:before{content:counter(plan-step,decimal-leading-zero);font-size:var(--text-sm);color:var(--accent-ink);flex:none}.plan-note{white-space:pre-wrap;line-height:1.7;padding:14px 18px;background:var(--soft);border-radius:var(--radius-sm)}.paper-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px;color:var(--muted);font-size:var(--text-sm)}.plan-stamp{display:inline-block;border:1px solid var(--blue-faint);border-radius:var(--radius-xs);padding:5px 10px;color:var(--blue);transform:rotate(-2deg)}.binder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px;border-top:1px solid var(--line);padding-top:22px}.binder-empty{display:grid;grid-template-columns:240px minmax(0,430px);align-items:center;justify-content:center;gap:54px;padding:42px 30px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.binder-empty h2{font-size:var(--text-3xl);margin-bottom:14px}.binder-empty p{line-height:1.8;color:var(--muted);margin-bottom:24px}.plan-draft-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.plan-draft-label{display:block;font-size:var(--text-xs);letter-spacing:.8px;color:var(--muted);margin-bottom:8px}.plan-draft-saved{color:var(--accent-ink);font-size:var(--text-base);padding:8px 0}.plan-keepsake{margin:12px 0 28px 48px;padding:28px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-xs) var(--radius-xl) var(--radius-xl) var(--radius-xs);border-left:6px solid var(--accent);box-shadow:3px 4px 0 var(--blue-tint)}.plan-keepsake h2{font-size:var(--text-2xl)}.saved-plan-link{margin:0 0 22px 48px}.legacy-plan{margin:10px 0 20px 48px;color:var(--muted);line-height:1.7}.source-message{padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);margin:12px 0}.source-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin-top:8px}.source-message.source-user{background:var(--blue-tint)}.plan-source{margin-top:20px}.binder-no-results{padding:30px;color:var(--muted)}
@media(max-width:700px){.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.plan-binder{grid-template-columns:1fr;padding:14px}.binder-index{padding:0 0 16px;display:flex;gap:10px;overflow:auto;align-items:stretch}.binder-index-label{display:none}.binder-tab{min-width:170px;max-width:220px;flex:0 0 70%;margin:0}.binder-sheet{padding:24px 16px 24px 34px}.binder-sheet:before{left:6px;width:14px}.plan-paper h2{font-size:var(--text-2xl)}.plan-keepsake{margin-left:12px;padding:20px}.saved-plan-link,.legacy-plan{margin-left:12px}.binder-empty{grid-template-columns:1fr;gap:34px;padding:28px}.plan-draft-actions .btn{font-size:var(--text-sm);padding:9px 12px}.binder-actions .btn{white-space:normal;text-align:left}}
@media(prefers-reduced-motion:reduce){.binder-tab{transition:none}}

.binder-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.binder-toolbar .plans-search{margin-bottom:0;flex:1 1 280px}.binder-close{font-size:var(--text-base);padding:10px 4px}
.binder-cover-button{display:block;padding:0;border:0;background:none;border-radius:var(--radius-xs) var(--radius-lg) var(--radius-lg) var(--radius-xs);cursor:pointer;transition:transform .2s}.binder-cover-button:hover{transform:translateY(-3px) rotate(1deg)}.binder-cover-button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}

.plan-binder{animation:binder-open .35s ease-out;transform-origin:left center}
@keyframes binder-open{from{opacity:0;transform:perspective(900px) rotateY(-8deg) translateX(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.plan-binder{animation:none}.binder-cover-button{transition:none}.binder-cover-button:hover{transform:none}}
/* Binder cover: the owner's Astra artwork, with a live page count laid over it (26 September 2026). */
.binder-cover{position:relative;width:300px;margin:0 auto;container-type:inline-size}
.binder-cover img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent),linear-gradient(180deg,transparent,#000 2%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent),linear-gradient(180deg,transparent,#000 2%,#000 96%,transparent);mask-composite:intersect}
.binder-cover .cover-label{position:absolute;left:57%;top:76.2%;transform:translate(-50%,-50%) rotate(-4.5deg);white-space:nowrap;font-size:4cqw;font-weight:500;letter-spacing:.01em;color:#196cbe}
.binder-empty{background:var(--bg);grid-template-columns:300px minmax(0,430px)}
@media(max-width:700px){.binder-empty{grid-template-columns:1fr}.binder-cover{width:min(250px,100%)}}
/* Plan controls (owner request, 26 September 2026): edit, pin to the front, delete with undo. */
.plan-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-bottom:14px}
.plan-tool{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--white);color:var(--blue);font:inherit;font-size:var(--text-base);cursor:pointer}
.plan-tool:hover{background:var(--blue-tint)}
.plan-tool:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.plan-tool .icon{width:16px;height:16px}
.plan-tool[aria-pressed="true"]{background:var(--blue-tint);border-color:var(--line-strong)}
.plan-tool-delete{color:var(--danger)}
.plan-tool-delete:hover{background:var(--danger-tint);border-color:#efc9c4}
.tab-pin{display:inline-flex;align-items:center;gap:3px;color:var(--accent-ink);font-weight:600}
.tab-pin .icon{width:12px;height:12px}
.btn.delete-btn{background:var(--danger);border-color:var(--danger);color:var(--white)}
.btn.delete-btn:hover{background:var(--danger-deep)}
.plan-edit-steps{border:0;padding:0;margin:0 0 16px}
.plan-edit-steps legend{font-size:var(--text-base);font-weight:600;margin-bottom:8px;color:var(--ink)}
.plan-edit-step{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start;margin-bottom:10px}
.plan-edit-number{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-circle);background:var(--blue-tint);color:var(--blue);font-weight:700;font-size:var(--text-sm);margin-top:8px}
.plan-edit-step textarea{width:100%;font:inherit;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);resize:vertical;color:var(--ink)}
#toast.actionable{pointer-events:auto;display:flex;align-items:center;gap:14px}
.toast-action{flex-shrink:0;min-height:44px;white-space:nowrap;background:none;border:0;color:#9fe0f2;font:inherit;font-weight:700;cursor:pointer;padding:0 6px}
/* Saving a plan is a moment: the page drops into the binder, the binder bounces and a few sparks pop. */
.saved-moment{text-align:center;padding:6px 6px 2px}
.saved-moment .modal-actions{justify-content:center}
.saved-stage{background:var(--bg);border-radius:var(--radius-xl);margin:6px 0 22px;padding:20px 0 14px;overflow:hidden}
.saved-art{position:relative;width:170px;margin:0 auto}
.saved-binder{display:block;width:100%;height:auto;animation:binder-pop .55s ease-out .6s both}
.saved-sheet{position:absolute;left:26%;top:14%;width:56%;padding:10px 10px 12px;background:var(--white);border-radius:var(--radius-xs);box-shadow:0 8px 22px #0067b126;text-align:left;animation:sheet-drop 1s cubic-bezier(.2,.8,.25,1) both}
.saved-sheet b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-xs);line-height:1.3;color:var(--blue);margin-bottom:6px}
.saved-sheet i{display:block;height:4px;border-radius:var(--radius-xs);background:var(--line);margin-top:5px}
.saved-sheet i:nth-of-type(2){width:80%}.saved-sheet i:nth-of-type(3){width:60%}
.spark{position:absolute;width:10px;height:10px;border-radius:var(--radius-circle);opacity:0;animation:spark 1s ease-out .8s both}
.spark.s1{left:-9%;top:30%;background:var(--accent)}.spark.s2{right:-7%;top:17%;width:8px;height:8px;background:var(--accent-soft)}.spark.s3{right:-11%;top:58%;width:6px;height:6px;background:var(--blue)}.spark.s4{left:1%;top:74%;width:7px;height:7px;background:var(--accent-soft)}.spark.s5{left:47%;top:-7%;width:6px;height:6px;background:var(--accent)}
@keyframes sheet-drop{0%{transform:translateY(-80px) rotate(-8deg);opacity:0}40%{opacity:1}70%{transform:translateY(6px) rotate(1deg);opacity:1}100%{transform:translateY(40px) scale(.55);opacity:0}}
@keyframes binder-pop{0%{transform:scale(1)}40%{transform:scale(1.07) rotate(-1.5deg)}100%{transform:scale(1)}}
@keyframes spark{0%{transform:scale(0);opacity:0}40%{transform:scale(1.5);opacity:1}100%{transform:scale(.8) translateY(-12px);opacity:0}}
@media(prefers-reduced-motion:reduce){.saved-binder,.spark{animation:none}.saved-sheet{display:none}}
@media(max-width:700px){.plan-tools{justify-content:flex-start;gap:6px;flex-wrap:nowrap}.plan-tool{padding:6px 10px;font-size:var(--text-sm);gap:4px;white-space:nowrap}.plan-tool .icon{width:14px;height:14px}}
/* Suggested changes to a plan (owner report, 1 October 2026), after Google Docs suggestions and Word tracked changes:
   removed words struck through in grey, added words highlighted, and each step that differs marked Changed, New or
   Removed. Unchanged steps carry no mark. */
.pc-card{display:grid;gap:.75em;white-space:normal}
.pc-card>p{margin:0}
.pc-lead{color:var(--ink)}
.pc-same-note{color:var(--muted);font-size:var(--text-sm)}
.pc-steps{list-style:none;margin:0;padding:0;display:grid;gap:.75em}
.pc-step{display:grid;grid-template-columns:1.5em minmax(0,1fr)}
.pc-num{font-variant-numeric:tabular-nums}
.pc-card del{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.pc-card ins{text-decoration:none;color:var(--navy-deep);background:var(--blue-tint);box-shadow:inset 0 -2px 0 var(--accent);border-radius:var(--radius-xs);padding:0 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pc-tag{display:inline-block;font-size:var(--text-xs);line-height:1.5;font-weight:700;letter-spacing:.3px;padding:0 7px;border-radius:var(--radius-pill);border:1px solid;vertical-align:1px;margin-right:2px;background:var(--white)}
.pc-tag-changed{color:var(--blue);border-color:var(--line-strong)}
.pc-tag-new{color:var(--accent-ink);border-color:var(--line-strong)}
.pc-tag-removed{color:var(--muted);border-color:var(--line)}
.pc-status{display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--accent-ink);font-size:var(--text-sm);font-weight:600;white-space:normal}
.pc-status .icon{width:15px;height:15px;flex-shrink:0}
.pc-details{margin-top:6px;white-space:normal}
.pc-details>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:600;font-size:var(--text-sm);cursor:pointer}
.pc-details>summary:hover{text-decoration:underline}
.pc-details[open]>.pc-card{margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}
