/* Scoped, additive art direction. The original Studio's CSS is unchanged. */
[hidden]{display:none!important}
body.packing-mode{background:#f6f1e5;color:#193d3b;color-scheme:light}
.pm{--pm-ink:#193d3b;--pm-muted:#4f625c;--pm-paper:#fffcf4;--pm-orange:#ae431f;--pm-teal:#225d54;max-width:1440px;margin:auto;padding:0 42px;font-family:"Trebuchet MS","Segoe UI",sans-serif;line-height:1.5}
.pm *{box-sizing:border-box}
.pm button,.pm input,.pm a,.pm summary{touch-action:manipulation}
.pm button{cursor:pointer;font:inherit;min-height:46px;color:var(--pm-ink)}
.pm a{color:var(--pm-ink);text-underline-offset:4px}
.pm :is(button,a,input,summary):focus-visible,#pmStepTitle:focus-visible,#pmSummaryTitle:focus-visible{outline:3px solid #a94022;outline-offset:4px;scroll-margin:30px}
.pm button:hover{filter:brightness(.96)}
.pm-skip{position:absolute;left:20px;top:-100px;background:white;padding:14px;z-index:5}.pm-skip:focus{top:10px}
.pm-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:91px;border-bottom:1px solid #c6cec2}
.pm-wordmark{font-weight:900;letter-spacing:2px;text-decoration:none;font-size:17px}.pm-wordmark span{font-weight:400;letter-spacing:0;font-size:14px;margin-left:10px}
.pm-top>div{display:flex;align-items:center;gap:20px}.pm-help-link{font-size:14px;font-weight:bold;white-space:nowrap}
.pm-quiet{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:8px 0;font-size:14px!important}
.pm-hero{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:42px 12px 34px;align-items:center;position:relative}
.pm-eyebrow{letter-spacing:2px;font-size:11px;font-weight:bold;margin:0 0 15px}
.pm-hero h1{font-family:Georgia,serif;font-size:clamp(58px,6.2vw,86px);line-height:.93;letter-spacing:-4px;font-weight:normal;margin:12px 0 20px}.pm-hero h1 em{color:var(--pm-orange);font-weight:normal}
.pm-hero-copy>p:not(.pm-eyebrow){font-size:18px;line-height:1.6;margin:0 0 21px}
.pm-stamps{display:flex;gap:8px;flex-wrap:wrap}.pm-stamps span{border:1px solid #a5b6a8;padding:4px 11px;border-radius:3px;font-size:11px;font-weight:bold}
.pm-hero-art{position:relative;isolation:isolate;min-height:290px;display:grid;place-items:center}
.pm-hero-art img{width:90%;height:285px;object-fit:cover;object-position:center;border-radius:42% 42% 35% 35%;mix-blend-mode:multiply;transform:rotate(-3deg)}
.pm-art-ring{position:absolute;inset:5px 15px;border:1px dashed #7c998c;border-radius:50%;transform:rotate(-15deg);z-index:-1}
.pm-art-label{position:absolute;right:0;top:8px;background:#efd275;color:#193d3b;font-size:12px;font-weight:bold;letter-spacing:1px;line-height:1.3;transform:rotate(9deg);padding:16px;box-shadow:4px 4px 0 #193d3b}
.pm-art-ten{position:absolute;bottom:0;left:8%;background:#225d54;color:white;padding:9px 21px;border-radius:4px;transform:rotate(-5deg);font-weight:bold}
.pm-layout{display:grid;grid-template-columns:244px minmax(0,1fr);gap:30px;padding-bottom:36px}
.pm-route{align-self:start;padding-top:12px}.pm-route-head h2{font-family:Georgia,serif;font-size:29px;line-height:1.1;font-weight:normal;margin:0 0 20px}.pm-route-head>p:not(.pm-eyebrow){font-size:12px;margin-bottom:8px;font-weight:bold}
.pm-route progress{display:block;width:100%;height:8px;border:0;border-radius:10px;background:#d6ded2;accent-color:#225d54}.pm-route progress::-webkit-progress-bar{background:#d6ded2;border-radius:10px}.pm-route progress::-webkit-progress-value{background:#225d54;border-radius:10px}
.pm-route ol{padding:0;margin:21px 0 14px;list-style:none;display:grid;gap:6px}.pm-route li{margin:0}
.pm-route li button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:1px solid transparent;padding:12px 9px;border-radius:9px;font-size:13px;font-weight:bold}
.pm-route li button[aria-current]{background:var(--pm-ink);color:white;border-color:var(--pm-ink);box-shadow:3px 3px 0 #bbcbba}
.pm-route small{display:block;font-size:11px;font-weight:normal;opacity:.95;margin-top:2px}.pm-route-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-size:12px}
.pm-route-note{font-size:12px;color:var(--pm-muted);line-height:1.6}
.pm-route-picker{border:0;padding:0;border-radius:0}.pm-route-picker>summary{display:none}.pm-route-picker:not([open])>nav{display:none}
.pm-confirm{background:#fffcf4;padding:13px;border:2px solid #ae431f;font-size:13px}.pm-confirm button{background:white;border:1px solid #193d3b;border-radius:5px;margin:3px;padding:8px}
.pm-ticket{background:var(--pm-paper);border:1px solid #b9c9bb;border-radius:17px;box-shadow:7px 7px 0 #dce3d5;overflow:hidden;min-width:0}
.pm-ticket-top{display:flex;justify-content:space-between;align-items:center;padding:23px 30px 0;gap:12px}.pm-ticket-top .pm-eyebrow{margin:0;color:#805025}.pm-ticket-tag{font-size:9px;letter-spacing:1.6px;font-weight:bold;border:1px solid #6f8d7c;padding:4px 8px;transform:rotate(3deg)}
.pm-ticket>h2{font-family:Georgia,serif;font-size:33px;letter-spacing:-.7px;font-weight:normal;margin:12px 30px 6px}.pm-story{margin:0 30px 22px;font-size:15px;max-width:660px}
.pm-equation-strip{margin:0 30px 17px;display:flex;gap:22px;align-items:center;justify-content:space-between;border-top:1px dashed #9cb19e;border-bottom:1px dashed #9cb19e;padding:13px 0}.pm-equation-strip strong{font-size:35px;letter-spacing:-1px;white-space:nowrap}.pm-equation-strip span{font-size:12px;max-width:240px;text-align:right;color:#485e52}
.pm-workbench{margin:0 30px 22px;background:#eaf0e3;border:1px solid #bfcebb;border-radius:8px;padding:13px 20px 16px;background-image:radial-gradient(#b4c4af 0.7px,transparent .7px);background-size:16px 16px}
.pm-bench-label{display:flex;justify-content:space-between;gap:10px;letter-spacing:1.4px;font-size:9px;font-weight:bold;margin-bottom:4px}
.pm-quantity>p:first-child{font-size:12px;margin:10px 0 0;text-align:center;color:#345a46}.pm-quantity svg{display:block;width:100%;max-width:410px;margin:0 auto}.pm-ten-cell{fill:#468372;stroke:#183d36;stroke-width:1}.pm-one-cell{fill:#eac15c;stroke:#765513;stroke-width:1}
.pm-count{text-align:center;margin:0 0 8px;font-size:15px}.pm-count strong{font-size:22px}.pm-count span{padding:0 13px}.pm-legend{font-size:11px;margin:8px 0 0;text-align:center}.pm-order{font-size:12px;margin:10px 0 0;text-align:center;font-weight:bold}.pm-equality{font-size:13px;text-align:center;padding:9px;background:#fcf8e9;border-radius:4px;margin:12px 0 0;border:1px solid #acbf9f}
.pm-action-area{padding:21px 30px 18px;border-top:1px dashed #aebea9;background:#fffef9}.pm-action-area h3{font-size:20px;margin:0 0 7px;letter-spacing:-.4px}.pm-action-area p{font-size:14px}.pm-action-area label{display:block;font-size:15px;margin-bottom:12px}
.pm-moves{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}.pm-moves button{border:1.5px solid #759881;border-radius:7px;background:#fbfbee;padding:15px 8px;text-align:center;transition:transform .16s,box-shadow .16s}.pm-moves button:hover{transform:translateY(-3px);box-shadow:0 4px 0 #bac9b4}.pm-moves strong{display:block;font-size:12px;margin:8px 0 3px}.pm-moves button>span:last-child{display:block;font-size:11px}.pm-move-icon{display:block;font-size:25px;color:#225d54}
.pm-hint{margin:17px 0 4px;border:0;padding:0;font-size:12px}.pm-hint summary{min-height:44px;display:list-item;cursor:pointer;padding:11px 0;font-weight:bold}.pm-hint p{background:#f8edc9;padding:12px;border-radius:5px}
.pm-feedback{background:#fff0ca;border-left:4px solid #98621a;padding:13px 15px;border-radius:0 6px 6px 0;margin:19px 0 0!important;color:#543c15;font-size:14px!important}.pm-good{background:#e7f0df;border-color:#326448;color:#234b36}
.pm-answer-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pm-answer-row input{width:110px;min-height:52px;border:2px solid #4c765c;border-radius:6px;background:white;color:#193d3b;font-size:28px;padding:8px 12px}
.pm-primary{background:#225d54!important;color:white!important;border:1px solid #225d54!important;border-radius:6px;padding:12px 18px;font-weight:bold!important;font-size:14px!important;min-height:49px}
.pm-small{font-size:12px!important;color:#4f625c}.pm-reasons{display:grid;gap:10px;margin:16px 0}.pm-reasons button{background:#f3f6e9;border:1px solid #66866a;border-radius:6px;padding:13px 17px;text-align:left;font-size:15px}
.pm-reflection-prompt{background:#f1e9cf;padding:16px;border-radius:6px;font-weight:bold;line-height:1.6}.pm-reflect-buttons{display:flex;flex-wrap:wrap;gap:8px}.pm-reflect-buttons button{border:1px solid #678268;border-radius:6px;padding:9px 13px;background:white;font-size:13px}.pm-reflect-buttons button[aria-pressed=true]{background:#193d3b;color:white}
.pm-action-foot{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;border-top:1px solid #d0dbc7;padding-top:9px}.pm-action-foot span{font-size:11px;color:#4f625c}.pm-action-foot button{font-size:12px!important}
.pm-summary{background:#193d3b;color:white;padding:27px 30px}.pm-summary h3{font-family:Georgia,serif;font-size:30px;font-weight:normal;margin:0 0 14px}.pm-summary p{font-size:14px}
.pm-footer{padding:30px 0;border-top:1px solid #b9c9b4}.pm-footer details{border:0;border-radius:0;padding:0;color:#193d3b}.pm-footer summary{cursor:pointer;font-size:16px;font-weight:bold;min-height:44px}.pm-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:12px;font-size:13px;color:#425746}.pm-help-grid h2{font-family:Georgia,serif;font-size:23px;font-weight:normal;color:#193d3b}.pm-help-grid ol{padding-left:20px}.pm-help-grid li{margin-bottom:9px}.pm-help-grid a{font-weight:bold}.pm-footnote{font-size:10px;letter-spacing:1px;margin:30px 0 10px;color:#536857}
.pm-quantity svg rect{animation:pm-arrive .35s ease-out both}@keyframes pm-arrive{from{opacity:.3;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1100px){.pm-route{position:sticky;top:20px}}
@media(max-width:950px){.pm{padding:0 24px}.pm-top{flex-wrap:wrap;padding:18px 0;gap:10px}.pm-hero h1{font-size:65px}.pm-layout{grid-template-columns:195px minmax(0,1fr);gap:20px}.pm-ticket-top{padding:20px 20px 0}.pm-ticket>h2,.pm-story{margin-left:20px;margin-right:20px}.pm-equation-strip,.pm-workbench{margin-left:20px;margin-right:20px}.pm-action-area{padding:20px}.pm-moves{grid-template-columns:1fr}.pm-moves button{text-align:left;display:grid;grid-template-columns:55px 1fr;padding:10px;column-gap:8px}.pm-move-icon{grid-row:span 2;text-align:center}.pm-moves strong{margin:0}.pm-equation-strip{align-items:flex-start}.pm-equation-strip strong{font-size:28px}.pm-equation-strip span{font-size:11px}.pm-wordmark span{display:none}}
@media(max-width:680px){.pm{padding:0 16px}.pm-top{display:block;min-height:auto;padding:17px 0}.pm-wordmark{font-size:15px}.pm-top>div{justify-content:space-between;gap:10px;margin-top:7px}.pm-top button,.pm-help-link{font-size:11px!important}.pm-hero{grid-template-columns:1fr;padding:27px 0 25px;gap:10px}.pm-hero h1{font-size:64px;letter-spacing:-3px;line-height:.94}.pm-hero-copy>p:not(.pm-eyebrow){font-size:16px}.pm-hero-art{display:none}.pm-hero h1 br{display:none}.pm-hero h1 em{display:block}.pm-eyebrow{font-size:9px;letter-spacing:1.3px}.pm-stamps span{font-size:9px;padding:4px 7px}.pm-layout{display:block}.pm-route{padding:0 0 24px}.pm-route-head h2{font-size:24px;margin:0 0 12px}.pm-route-head h2 br{display:none}.pm-route-head .pm-eyebrow{margin-bottom:7px}.pm-route ol{grid-template-columns:1fr 1fr;gap:5px;margin:14px 0 5px}.pm-route li button{padding:9px 6px;gap:7px;font-size:10px;min-height:68px}.pm-route small{font-size:10px}.pm-route-number{flex-basis:25px;width:25px;height:25px;font-size:10px}.pm-route-note{font-size:11px;margin:10px 0 0}.pm-route-note br{display:none}.pm-route>.pm-quiet{font-size:11px!important}.pm-ticket{border-radius:11px;box-shadow:4px 4px 0 #dce3d5}.pm-ticket-top{padding:18px 16px 0}.pm-ticket-tag{font-size:7px;letter-spacing:.6px}.pm-ticket>h2{font-size:26px;margin:12px 16px 8px;line-height:1.15}.pm-story{font-size:14px;margin:0 16px 18px}.pm-equation-strip{margin:0 16px 16px;display:block}.pm-equation-strip strong{display:block;font-size:31px}.pm-equation-strip span{display:block;text-align:left;font-size:12px;max-width:none;margin-top:7px}.pm-workbench{margin:0 12px 18px;padding:12px 8px}.pm-bench-label{font-size:8px;letter-spacing:1px}.pm-quantity svg{width:100%}.pm-quantity>p:first-child{font-size:11px}.pm-count{font-size:13px}.pm-count strong{font-size:19px}.pm-legend{font-size:10px}.pm-order{font-size:11px}.pm-equality{font-size:12px}.pm-action-area{padding:18px 16px}.pm-action-area h3{font-size:18px}.pm-action-area p{font-size:13px}.pm-moves{gap:8px}.pm-moves button{min-height:69px}.pm-moves strong{font-size:13px}.pm-moves button>span:last-child{font-size:12px}.pm-action-foot{display:block}.pm-action-foot span{display:block;margin-bottom:4px}.pm-answer-row input{width:90px}.pm-primary{font-size:13px!important;padding:11px 13px}.pm-help-grid{grid-template-columns:1fr;gap:12px}.pm-footer{padding-top:21px}.pm-footer summary{font-size:14px}.pm-summary{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){.pm *, .pm *::before,.pm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.packing-mode{scroll-behavior:auto!important}html:has(.packing-mode){scroll-behavior:auto!important}}
@media(max-width:680px){.pm-route-picker>summary{display:list-item;cursor:pointer;font-size:13px;font-weight:bold;min-height:48px;padding:13px 0}.pm-route-head h2{display:none}.pm-route-head .pm-eyebrow{margin:0}.pm-route-note{margin:0}.pm-route{padding-bottom:15px}.pm-hero{padding:22px 0}.pm-hero h1{font-size:54px}.pm-hero-copy>p:not(.pm-eyebrow){font-size:14px;margin-bottom:12px}.pm-route-picker{margin-top:6px}.pm-route ol{margin-top:4px}}
@media print{#packingMission,#returnToMission{display:none!important}}

/* v2: existing, unmodified Milestone Teachers mark; learning layout unchanged. */
.pm-wordmark{display:flex;align-items:center;gap:12px;min-height:44px}
.pm-brand-logo{display:block;width:180px;height:auto;flex:0 0 auto}
.pm-wordmark span{margin-left:0}
@media(max-width:680px){.pm-top{padding:8px 0}.pm-wordmark{width:max-content}.pm-brand-logo{width:154px}}
