/* plan-resume.css: home "continue" card, saved markers on /path/, return line under H1. */
.zpr-home{margin-block:20px 8px}
.zpr-card{box-sizing:border-box;max-width:100%;padding:16px;border:1px solid var(--line,#DBDCD2);border-inline-start:4px solid var(--primary,#7B3546);border-radius:var(--r,12px);background:var(--paper,#FFFEFA);font-family:inherit}
.zpr-h{margin:0 0 4px;font-size:1.25rem;line-height:1.4;color:var(--ink,#173B4B)}
.zpr-sub{margin:0 0 12px;color:var(--muted,#546570);font-size:.95rem;line-height:1.7}
.zpr-home .zpr-card{border-inline-start-width:1px;padding:8px 16px}
.zpr-home .zpr-h{margin:0;scroll-margin-top:90px}
.zpr-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:4px 0;border:0;background:transparent;color:var(--ink,#173B4B);font:inherit;text-align:start;cursor:pointer}
.zpr-toggle-title{font-weight:700}
.zpr-toggle-action{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:16px;font-weight:500;color:var(--primary,#7B3546)}
.zpr-toggle-action::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-block-end:5px}
.zpr-toggle[aria-expanded="true"] .zpr-toggle-action::after{transform:rotate(225deg);margin-block-end:0}
.zpr-toggle:focus-visible{outline:2px solid var(--primary,#7B3546);outline-offset:4px;border-radius:4px}
.zpr-panel{padding-block:10px 4px}
.zpr-panel[hidden]{display:none}
.zpr-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.zpr-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 12px;border-radius:var(--rc,8px);background:var(--sand,#F3F1EA)}
.zpr-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}
.zpr-text strong{color:var(--ink,#173B4B);font-size:1rem;line-height:1.5}
.zpr-text small{color:var(--muted,#546570);font-size:.9rem}
.zpr-go{min-height:44px;min-width:6rem;padding-inline:20px;background:var(--primary,#7B3546);border-color:var(--primary,#7B3546);color:#fff;text-decoration:none}
.zpr-go:hover{background:var(--primary-hover,#622537);border-color:var(--primary-hover,#622537)}
.zpr-foot{margin:12px 0 0}
.zpr-other{display:inline-flex;align-items:center;min-height:44px;font-size:.95rem;color:var(--ink,#173B4B)}
.zpr-tag{display:block;margin-block-start:6px;color:var(--primary,#7B3546);font-size:.85rem;font-weight:700}
.zpr-tag-after{margin-block:4px 8px}
.zpr-explicit{background:var(--primary,#7B3546);border-color:var(--primary,#7B3546);color:#fff}
.zpr-explicit:hover{background:var(--primary-hover,#622537);border-color:var(--primary-hover,#622537)}
.zpr-return{margin:6px 0 10px;font-size:.95rem;line-height:1.8;color:var(--muted,#546570)}
.zpr-return-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--primary,#7B3546);text-underline-offset:5px}
.zpr-clear{min-height:44px;padding:0 8px;border:0;background:none;color:var(--muted,#546570);font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.zpr-hide{display:none!important}
/* Express Entry: saving is automatic, so the top box shrinks to its status and clear control. */
.cc-save.zpr-auto>div:first-child>strong{display:none}
.zpr-go:focus-visible,.zpr-other:focus-visible,.zpr-return-link:focus-visible,.zpr-clear:focus-visible{outline:3px solid var(--primary,#7B3546);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.zpr-card{animation:zpr-in .24s ease-out both}}
@keyframes zpr-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.zpr-more{margin-block-start:8px}
.zpr-more>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700;color:var(--ink,#173B4B)}
.zpr-more>summary::after{content:"+";margin-inline-start:8px;font-weight:700;color:var(--primary,#7B3546)}
.zpr-more[open]>summary::after{content:"\2212"}
@media (max-width:420px){.zpr-card{padding:12px}.zpr-item{padding:10px;flex-wrap:nowrap}.zpr-text{flex:1 1 auto}.zpr-go{flex:0 0 auto;min-width:5rem;padding-inline:14px}}
/* «تذكرة خطتك» (owner 29 Oct 2026): our own boarding-pass card. Burgundy paper, ivory text, a perforated stub whose two
   notches are cut with radial-gradient masks; side by side when the card is wide, stub underneath when it is narrow. */
.zpr-card .zpt-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.zpt-item{container:zpt/inline-size;min-width:0}
.zpt{--zpt-stub:7.5rem;--zpt-stubw:14.5rem;--zpt-n:11px;position:relative;max-width:48rem;filter:drop-shadow(0 1px 1px rgb(23 55 71/.14)) drop-shadow(0 10px 16px rgb(23 55 71/.16));transform:perspective(900px) rotateX(var(--zpt-rx,0deg)) rotateY(var(--zpt-ry,0deg));transition:transform .2s cubic-bezier(.2,.8,.3,1)}
.zpt.zpt-tilting{transition-duration:.08s}
.zpt-paper{display:grid;grid-template-rows:auto var(--zpt-stub);border-radius:14px;color:#FFFEFA;background:radial-gradient(130% 90% at 100% 0,rgb(255 254 250/.12),transparent 55%),#7B3546;
 -webkit-mask:radial-gradient(circle at 0 calc(100% - var(--zpt-stub)),#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 0/51% 100% no-repeat,radial-gradient(circle at 100% calc(100% - var(--zpt-stub)),#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 100% 0/51% 100% no-repeat;
 mask:radial-gradient(circle at 0 calc(100% - var(--zpt-stub)),#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 0/51% 100% no-repeat,radial-gradient(circle at 100% calc(100% - var(--zpt-stub)),#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 100% 0/51% 100% no-repeat}
.zpt-main{min-width:0;padding:16px 18px 14px}
.zpt-stub{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 18px;border-top:1.5px dashed rgb(255 254 250/.38);margin-inline:calc(var(--zpt-n) + 4px);padding-inline:calc(18px - var(--zpt-n) - 4px)}
.zpt p{margin:0;color:inherit;max-width:none}
.zpt-kicker{font-size:.8rem;line-height:1.5;opacity:.82}
.zpt-route{display:flex;align-items:baseline;gap:8px;margin-block:6px 2px!important}
.zpt-route span{font-size:.8rem;opacity:.8}
.zpt-route b{font-size:1.6rem;line-height:1.2;font-weight:800}
.zpt-title{margin-block:6px 2px!important;font-size:1.05rem;line-height:1.5;font-weight:700}
.zpt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:10px 0 0}
.zpt-grid div{min-width:0}
.zpt-grid dt{font-size:.78rem;line-height:1.4;opacity:.78}
.zpt-grid dd{margin:0;font-size:.98rem;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.zpt-bar{height:6px;margin-block-start:12px;border-radius:6px;background:rgb(255 254 250/.22);overflow:hidden}
.zpt-bar i{display:block;height:100%;min-width:6px;border-radius:6px;background:#FFFEFA}
.zpt-go{white-space:nowrap;display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px 14px;border-radius:10px;background:#FFFEFA;color:#7B3546;font-weight:800;text-decoration:none;text-align:center;line-height:1.4;transition:transform .16s ease-out,background-color .16s}
.zpt-go:hover{background:#F3ECDF;color:#622537}
.zpt-go:active{transform:scale(.97)}
.zpt-go:focus-visible{outline:3px solid #FFFEFA;outline-offset:3px}
.zpt-next{font-size:.82rem;line-height:1.5;opacity:.85;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@container zpt (min-width:34rem){
 .zpt-paper{grid-template-rows:none;grid-template-columns:minmax(0,1fr) var(--zpt-stubw);
  -webkit-mask:radial-gradient(circle at var(--zpt-stubw) 0,#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 0/100% 51% no-repeat,radial-gradient(circle at var(--zpt-stubw) 100%,#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 100%/100% 51% no-repeat;
  mask:radial-gradient(circle at var(--zpt-stubw) 0,#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 0/100% 51% no-repeat,radial-gradient(circle at var(--zpt-stubw) 100%,#0000 var(--zpt-n),#000 calc(var(--zpt-n) + .5px)) 0 100%/100% 51% no-repeat}
 .zpt-main{padding:18px 22px 16px}
 .zpt-grid{grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;column-gap:26px}
 .zpt-stub{border-top:0;border-inline-start:1.5px dashed rgb(255 254 250/.38);margin:calc(var(--zpt-n) + 4px) 0;padding:6px 16px}
}
@media (prefers-reduced-motion:reduce){.zpt{transition:none;transform:none}.zpt-go{transition:none}}
@media (max-width:360px){.zpt{--zpt-stub:7.75rem}.zpt-main{padding:14px 14px 12px}.zpt-route b{font-size:1.4rem}.zpt-grid{gap:6px 10px}}

/* «ختم الخطوة» (owner 29 Oct 2026): the Zait al Maple stamp, our own drawing from the kitchen trial; the step title sits above
   the leaf and the ink ring only touches the lower corner, so neither is covered (review 29 Oct). Perforated cream paper,
   the gold leaf, the step number and title, and the burgundy ink ring with the completion date. Sizes are in em of .zms. */
.zms-slot{display:flex;justify-content:flex-end;padding:10px 4px 36px;padding-inline-end:clamp(3.3rem,14vw,4.6rem);overflow-x:clip}
.zms{--zms-s:12px;font-size:var(--zms-s);position:relative;flex:0 0 auto;width:13.5em;max-width:100%;aspect-ratio:4/5;transform:rotate(-4deg);filter:drop-shadow(0 1px 1px rgb(15 15 15/.18)) drop-shadow(0 .6em 1.1em rgb(15 15 15/.14))}
.zms-still{--zms-s:9.5px}
.zms-paper{position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,#fffaf0,#efe1c8);
 -webkit-mask:radial-gradient(circle .3125em at 50% 50%,#0000 .28em,#000 .3125em) -.4375em -.4375em/.875em .875em,linear-gradient(#000,#000) .4375em .4375em/calc(100% - .875em) calc(100% - .875em) no-repeat;
 mask:radial-gradient(circle .3125em at 50% 50%,#0000 .28em,#000 .3125em) -.4375em -.4375em/.875em .875em,linear-gradient(#000,#000) .4375em .4375em/calc(100% - .875em) calc(100% - .875em) no-repeat}
.zms-frame{position:absolute;inset:.6875em;border:1.5px solid #b98a3c;outline:1px solid #b98a3c;outline-offset:-.3125em;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.45em;padding:.75em .5em .5625em;text-align:center;color:#173747}
.zms-frame img{order:2;width:56%;height:auto;margin-top:.1em}
.zms-value{position:absolute;top:.9375em;inset-inline-start:1em;font-weight:800;font-size:1.0833em;line-height:1;color:#7B3546}
.zms-country{font-weight:700;font-size:.8333em;line-height:1;color:#173747;opacity:.85}
.zms-name{order:1;font-weight:800;font-size:1.0833em;line-height:1.2;color:#173747;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
.zms-ink{position:absolute;width:54%;inset-inline-end:-32%;bottom:-18%;transform:rotate(14deg);mix-blend-mode:multiply;opacity:.95;font-family:inherit}
.zms-land{animation:zms-press .52s cubic-bezier(.23,1,.32,1) both}
.zms-land .zms-ink{animation:zms-ink .52s .26s cubic-bezier(.23,1,.32,1) both}
@keyframes zms-press{from{opacity:0;transform:translateY(-10px) scale(1.08) rotate(-9deg)}to{opacity:1;transform:rotate(-4deg)}}
@keyframes zms-ink{from{opacity:0;transform:scale(1.35) rotate(4deg)}60%{opacity:1}to{opacity:.9;transform:rotate(14deg)}}
@media (prefers-reduced-motion:reduce){.zms-land,.zms-land .zms-ink{animation:none}}
@media (max-width:360px){.zms{--zms-s:10px}.zms-still{--zms-s:8.5px}.zms-slot{padding-inline-end:3.3rem}}

/* 4 Nov 2026 fix release (FIX-PLAN ب): the full stamp lands once at most 132px wide, then a 44px ink badge sits in the step head
   next to its title (never cut). Completion boxes look the same on every path. */
.zms{--zms-s:9.75px}
.zms-slot{padding:8px 4px 12px;padding-inline-end:clamp(2.6rem,10vw,3.6rem)}
.zms-name{-webkit-line-clamp:3}
@media (max-width:360px){.zms{--zms-s:9px}.zms-slot{padding-inline-end:2.6rem}}
.zms-badge{display:inline-flex;flex:0 0 44px;width:44px;height:44px;margin-inline-start:8px;vertical-align:middle;transform:rotate(-6deg)}
.zms-badge svg{width:100%;height:100%;display:block}
@media (min-width:1024px){.zms-badge{flex-basis:48px;width:48px;height:48px}}
summary .zms-badge{order:0}
.cc-review{display:flex;gap:12px;align-items:center;padding:12px;background:var(--mist,#EEF2EF);border-radius:8px;margin-block:16px;min-height:48px;cursor:pointer;font-size:16px;line-height:1.6}
.cc-review input{width:22px;height:22px;accent-color:var(--primary,#7B3546);flex-shrink:0;margin:0}
.zpt-back{font-weight:400;text-decoration:underline;text-underline-offset:.2em}
.zmc-save{margin-block:20px;padding:16px;border:1px solid var(--line,#DBDCD2);border-radius:12px;background:var(--paper,#FFFEFA)}
.zmc-save-note{margin:10px 0 0;font-size:16px;color:var(--muted,#546570)}
.zmc-new-links{margin-block:12px}
