/* Five places in one campus journey. All text and fields remain native HTML. */
body:has(.journey){background:#eaf7ff;color:#112b52}
body:has(.journey) .account-header{max-width:1120px;padding:18px 28px;margin:auto;color:#163865}
body:has(.journey) .brand{color:#10254d;font-size:20px}
body:has(.journey) .brand>span>span{color:#6850ac}
body:has(.journey) .theme-toggle{color:#184579;border-color:#beddf5;background:#ffffff80}
body:has(.journey) main{max-width:1120px;margin:0 auto;padding:0 24px 28px}
#account-panel:has(.journey){background:transparent;box-shadow:0 20px 70px #2878a010;border:1px solid #c9e1f0;border-radius:26px;overflow:hidden}
.journey{--scene-ink:#102b53;--scene-muted:#527093;--scene-accent:#0078ef;padding:20px 36px 16px;position:relative;isolation:isolate;background:#edf8ff;overflow:hidden}
.journey[data-scene=desk]{background:#fffaf1;--scene-accent:#14769a;--scene-muted:#616d80}
.journey[data-scene=outlook]{background:#eef9f6;--scene-accent:#197b85;--scene-muted:#4c706e}
.journey[data-scene=packing]{background:#f0f4ff;--scene-accent:#4462d1}
.journey[data-scene=ready]{background:#eaf6ff}
.journey .onboarding-top{margin:0 0 28px;position:relative;z-index:3;gap:16px}
.journey .step-progress{max-width:138px;margin-left:auto;gap:5px}
.journey .step-progress li{height:4px;background:#cbddea}
.journey .step-progress li[data-active=true]{background:var(--scene-accent)}
.journey .step-progress li[aria-current=step]{box-shadow:none}
.journey .back-button{border:0;background:#ffffffa8;border-radius:50%;color:#244c72}
.step-counter{font-size:12px;font-weight:900;color:var(--scene-accent);font-variant-numeric:tabular-nums}.step-counter span{font-weight:600;color:#6a839b}
.journey .text-button{color:var(--scene-muted)}
.journey-layout{display:grid;grid-template-columns:1.06fr 1fr;grid-template-areas:'copy art' 'controls art';align-items:center;column-gap:36px;min-height:510px;position:relative}
.journey-copy{grid-area:copy;align-self:end;z-index:2;padding:14px 0 0;min-width:0}
.journey .eyebrow{color:var(--scene-muted);font-size:10px;letter-spacing:1.8px;font-weight:850;margin-bottom:15px}
.journey h1{color:var(--scene-ink);font-size:clamp(28px,3.2vw,40px);line-height:1.15;letter-spacing:-1.1px;font-weight:950;overflow-wrap:anywhere}
.journey h1 em{font-family:Nunito,system-ui,sans-serif;font-style:normal;color:var(--scene-accent);margin-top:2px;font-weight:950}
.journey .lead{font-size:15px;line-height:1.65;max-width:360px;color:var(--scene-muted);margin:17px 0 8px}
.journey-art{grid-area:art;min-width:0;align-self:stretch;position:relative;display:grid;place-items:center;min-height:420px;isolation:isolate;pointer-events:none}
.journey-art::before{content:'';position:absolute;inset:12% -10% 5%;border-radius:50% 44% 48% 45%;background:#dceefc;z-index:-2}
.journey[data-scene=arrival] .journey-art::before{inset:-10% -13% -6%;border-radius:170px 170px 50px 50px;background:linear-gradient(180deg,#edf8ff00 65%,#edf8ff),url('/account/assets/campus.webp') center/cover;mask-image:linear-gradient(transparent,#000 10%,#000 80%,transparent)}
.journey[data-scene=desk] .journey-art::before{background:#f5e9d4;inset:9% -2% 10% 0;border-radius:42% 58% 48% 52%}
.journey[data-scene=outlook] .journey-art::before{background:linear-gradient(140deg,#bfe5e5,#e3f3ee);inset:2% 0 10%;border-radius:50%}
.journey[data-scene=packing] .journey-art::before{background:#e1e7fc;inset:9% 0 9%;border-radius:30% 55% 30% 50%;transform:rotate(-7deg)}
.journey[data-scene=ready] .journey-art::before{background:#d5ecff;inset:2% -15% 0 -8%;border-radius:50%}
.companion{width:min(100%,320px);aspect-ratio:3/4;position:relative;z-index:1;pointer-events:none;align-self:center}
.companion-actor{width:100%;height:100%;transform-origin:50% 90%}
.companion-sprite{width:100%;height:100%;background-image:var(--sheet);background-size:400% 200%;background-position:0 var(--row);background-repeat:no-repeat}
.companion-sprite[data-sprite="0"]{clip-path:inset(0 0 4% 0)}
.companion-shadow{position:absolute;left:15%;right:15%;height:7%;bottom:2%;border-radius:50%;background:#174d8c14;filter:blur(5px);z-index:-1}
.journey[data-scene=arrival] .companion{width:290px;align-self:end;margin-bottom:20px}
.journey[data-scene=desk] .companion{width:330px;margin-top:38px}
.journey[data-scene=outlook] .journey-layout{grid-template-columns:1fr 1.12fr;grid-template-areas:'copy copy' 'art controls';min-height:525px;column-gap:48px}
.journey[data-scene=outlook] .journey-copy{display:block;padding-top:0;max-width:620px}
.journey[data-scene=outlook] .lead{max-width:550px;margin-bottom:22px}
.journey[data-scene=outlook] .journey-art{min-height:340px}
.journey[data-scene=outlook] .companion{width:240px;margin-left:-30px;margin-bottom:28px}
.journey[data-scene=packing] .journey-layout{grid-template-areas:'copy controls' 'art controls';grid-template-columns:1fr 1.05fr;gap:0 50px}
.journey[data-scene=packing] .journey-art{min-height:310px}.journey[data-scene=packing] .companion{width:240px}
.journey[data-scene=ready] .journey-layout{grid-template-areas:'copy art' 'controls art';grid-template-columns:1.1fr 1fr}
.scene-orbit{position:absolute;inset:14% -3% 12%;border:1px solid #86b9db66;border-radius:50%;transform:rotate(-22deg);z-index:-1}
[data-scene=desk] .scene-orbit{inset:26% 5% 24%;border-radius:20px;transform:rotate(8deg);border-color:#c7a46950}
[data-scene=outlook] .scene-orbit{inset:9% -7% 12%;border-style:dashed;border-color:#52a4a855}
.scene-motif{display:block;position:absolute;z-index:2;width:56px;height:56px;color:#438ad3}
.scene-motif svg{width:100%;height:100%;fill:#ffffff90;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.motif-one{top:5%;right:0;transform:rotate(9deg)}.motif-two{bottom:15%;left:-3%;width:26px;height:26px;color:#eda557}
.scene-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#efb765;left:8%;top:22%}.dot-two{left:auto;right:4%;top:73%;width:5px;height:5px;background:#7aa7d7}
.companion-note{position:absolute;top:1%;left:0;padding:16px 22px;background:#fff;box-shadow:0 6px 25px #967a3710;color:#465b71;font-size:13px;border-radius:18px 18px 3px 18px;max-width:210px;overflow-wrap:anywhere;z-index:3}.companion-note b{display:block;color:#be751b;font-size:18px;margin-top:2px}
.outlook-caption{position:absolute;bottom:0;font-size:11px;letter-spacing:.25px;color:var(--scene-muted)}
.journey .onboarding-controls{grid-area:controls;align-self:start;position:relative;z-index:3;padding:22px 0 6px;min-width:0}
.journey .primary.arrow{background:#0879ef;border:1px solid #0668d5;border-radius:15px;min-height:50px;box-shadow:0 6px 16px #0075e622;font-size:14px;padding:7px 9px 7px 20px}
.journey .primary.arrow>span:last-child{background:#ffffff20;color:white;font-size:22px;min-height:34px;min-width:37px;border-radius:9px}
.journey .onboarding-controls>.text-button[data-skip]{width:100%;margin-top:7px;font-size:12px}
.journey .onboarding-controls .field{border:0;padding:0;background:none;border-radius:0;gap:6px;margin:0 0 17px}
.journey .onboarding-controls .field label{background:none;color:var(--scene-ink);padding:0;margin:0;font-size:12px}
.journey .onboarding-controls .field input{background:#ffffffd9;border:1px solid #bfd9e4;border-radius:12px;padding:12px 14px;font-size:16px;box-shadow:0 2px 0 #113b5905;min-height:46px}
.journey .onboarding-controls .field input:focus{outline:3px solid #148ad530;outline-offset:2px;border-color:var(--scene-accent)}
.journey .field small:empty{display:none}.journey .hint,.journey .field small{color:var(--scene-muted);font-size:11px}
.journey .goal-later{min-height:36px;font-size:12px;text-decoration:underline;text-underline-offset:3px;margin-top:-5px;padding-left:0}
.journey .welcome-features{gap:15px;margin:0 0 19px;max-width:310px}.journey .welcome-features div{border:0;border-radius:0;background:none;font-size:12px;padding:3px 8px;color:#426383;border-right:1px solid #abcfea80}.journey .welcome-features div:last-child{border:0}.journey .welcome-features strong{font-size:21px;color:#227dc4;margin-bottom:4px}
.first-action{border:0;padding:0;margin:0}.journey .action-list{gap:13px;margin:10px 0 20px}
.journey .action-option{border:1px solid #cbd9f2;padding:16px 12px;border-radius:16px;box-shadow:0 4px 0 #324dc20b;gap:11px;background:#ffffffdb;position:relative;min-height:90px}
.journey .action-option:nth-child(2){margin-left:12px;margin-right:-5px}.journey .action-option:nth-child(3){margin-right:12px}
.journey .action-option:has(input:checked){border:2px solid #547ce2;padding:15px 11px;background:#e4edff}.journey .action-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.journey .action-option:has(input:focus-visible){outline:3px solid #6ca5ed;outline-offset:3px}
.choice-symbol{color:#296ac9;font-size:24px;font-weight:700}.choice-arrow{margin-left:auto;font-size:18px;color:#6a84b3}.journey .action-option strong{font-size:15px}.journey .action-option small{font-size:12px;color:#566e97}
.ready-ticket{background:#0e2853;border-radius:21px;padding:21px 24px 9px;box-shadow:0 12px 28px #164a7424;position:relative;overflow:hidden}
.ready-ticket::after{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#efa44e 0 18%,#42a5ec 18% 40%,#6486ca 40%);opacity:.85}
.ticket-caption{color:#a7c5e6;font-size:10px;font-weight:800;letter-spacing:1.6px;margin:0 0 10px}.journey .summary{border:0;border-radius:0;padding:0;background:none}.journey .summary>div{padding:10px 0;border-color:#ffffff18;gap:3px 10px}.journey .summary dt{color:#a3bfdc;font-size:10px}.journey .summary dd{color:#fff;font-size:15px}.journey .summary button{color:#b5dfff;min-height:34px;font-size:11px;padding:5px}
.motion-toggle{display:block;margin:18px 0 0 auto;min-height:32px;background:transparent;border:0;border-bottom:1px solid #54768b50;color:#57758e;padding:3px 0;font:inherit;font-size:10px;position:relative;z-index:4}
.journey .status-box{background:#ffffffb0;color:#284662}.journey .status-box[data-tone=error]{color:#a33538}
.journey-preview-note{font-size:12px;padding:12px 20px;text-align:center;color:#405f7d;background:#fff6df}.journey-preview-note a{margin-left:12px}
@media(min-width:1200px){.journey-layout{min-height:565px}.journey-art{min-height:470px}.journey[data-scene=outlook] .journey-layout{min-height:565px}.journey[data-scene=packing] .companion{width:270px}}
@media(max-width:699px){
  body:has(.journey) .account-header{padding:13px 20px}body:has(.journey) .brand{font-size:19px}body:has(.journey) main{padding:0 10px 15px}
  #account-panel:has(.journey){border-radius:22px}.journey{padding:12px 19px 10px}.journey .onboarding-top{margin-bottom:13px;gap:9px}.journey .back-button{width:35px;min-height:35px}.journey .step-progress{max-width:90px}.journey .step-counter{font-size:10px}.journey .onboarding-top .text-button{min-height:36px;font-size:11px}
  .journey-layout,.journey[data-scene=outlook] .journey-layout,.journey[data-scene=packing] .journey-layout,.journey[data-scene=ready] .journey-layout{display:grid;grid-template-columns:1fr;grid-template-areas:'copy' 'art' 'controls';min-height:0;gap:0}
  .journey-copy{padding:7px 0 0}.journey h1{font-size:clamp(25px,7.3vw,31px);letter-spacing:-.7px}.journey .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:10px}.journey .lead{font-size:12px;margin:10px 0 0;line-height:1.6;max-width:315px}
  .journey-art{min-height:215px;height:215px;margin:0 8px}.journey .companion,.journey[data-scene=arrival] .companion{width:164px;margin:0;align-self:center}.journey[data-scene=arrival] .journey-art{height:235px;margin-top:8px}.journey[data-scene=arrival] .companion{width:174px;margin-top:13px}.journey[data-scene=arrival] .journey-art::before{inset:-3% -11% -8%;border-radius:100px 100px 18px 18px;mask-image:linear-gradient(transparent,#000 12%,#000 66%,transparent)}
  .journey[data-scene=desk] .journey-art{height:224px;min-height:224px;margin:0 0 0 14px}.journey[data-scene=desk] .companion{width:178px;margin:10px -70px 0 0}.journey[data-scene=desk] .journey-art::before{inset:15% -8% 1% 2%}.companion-note{top:18%;left:-5px;max-width:133px;padding:12px 14px;font-size:11px}.companion-note b{font-size:15px}
  .journey[data-scene=outlook] .journey-art{height:153px;min-height:153px;margin:2px 35px 11px 4px}.journey[data-scene=outlook] .companion{width:118px;margin:0 auto 0 3px}.journey[data-scene=outlook] .journey-art::before{inset:3% 12% 5% 2%}.journey[data-scene=outlook] .lead{margin-bottom:3px}.outlook-caption{right:0;bottom:24px;font-size:9px;max-width:98px;line-height:1.7}.journey[data-scene=outlook] .motif-one{right:30px;top:7px;width:42px;height:42px}
  .journey[data-scene=packing] .journey-art{height:160px;min-height:160px;margin:0 36px}.journey[data-scene=packing] .companion{width:128px}.journey[data-scene=packing] .journey-art::before{inset:2% -6% 2%}
  .journey[data-scene=ready] .journey-layout{grid-template-columns:1fr 120px;grid-template-areas:'copy copy' 'controls art';gap:7px 5px}.journey[data-scene=ready] .journey-art{min-height:255px;height:auto;margin:0 -21px 0 -30px;align-self:start}.journey[data-scene=ready] .companion{width:139px;margin-top:8px}.journey[data-scene=ready] .journey-art::before{inset:15% -25% 10% -20%}.journey[data-scene=ready] .onboarding-controls{width:calc(100% + 125px);display:grid;grid-template-columns:calc(100% - 118px) 113px;gap:0 5px;pointer-events:none}.journey[data-scene=ready] .ready-ticket{grid-column:1;padding:17px 15px 6px;pointer-events:auto;z-index:3}.journey[data-scene=ready] .primary,.journey[data-scene=ready] .status-box{grid-column:1/-1;pointer-events:auto}.journey[data-scene=ready] .summary dd{font-size:12px}.journey[data-scene=ready] .summary>div{grid-template-columns:1fr;position:relative;padding-right:23px}.journey[data-scene=ready] .summary button{grid-column:auto;position:absolute;right:-9px;top:5px;font-size:9px;padding:2px}.journey[data-scene=ready] .summary dt{font-size:9px}.ticket-caption{font-size:8px;letter-spacing:.8px}
  .journey .onboarding-controls{padding:12px 0 0}.journey .onboarding-controls .field{margin-bottom:12px}.journey .onboarding-controls .field label{font-size:11px}.journey .onboarding-controls .field input{font-size:16px;min-height:44px;padding:10px 12px}.journey .hint,.journey .field small{font-size:10px}.journey .welcome-features{max-width:none;margin:0 0 12px;gap:8px}.journey .welcome-features div{font-size:11px}.journey .welcome-features strong{font-size:19px}.journey .primary.arrow{min-height:46px;margin-top:13px;font-size:13px}.journey .primary.arrow>span:last-child{min-height:31px;min-width:34px}
  .journey .action-list{gap:9px;margin:0 0 12px}.journey .action-option{min-height:65px;padding:11px 12px;border-radius:13px}.journey .action-option:has(input:checked){padding:10px 11px}.journey .action-option:nth-child(2){margin-left:10px;margin-right:0}.journey .action-option:nth-child(3){margin-right:10px}.journey .action-option strong{font-size:13px}.journey .action-option small{font-size:10px}.choice-symbol{font-size:21px}.motif-one{width:43px;height:43px;right:1%;top:9%}.motif-two{width:21px;height:21px;bottom:16%;left:0}.motion-toggle{margin-top:9px;font-size:9px;min-height:30px}
}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}.companion-actor{transform:none!important}.scene-motif,.scene-dot{transform:none!important}}
[data-theme=dark] body:has(.journey){background:#0b1b32}[data-theme=dark] body:has(.journey) .brand{color:#e7f3ff}[data-theme=dark] body:has(.journey) .brand>span>span{color:#baa8ff}[data-theme=dark] .journey{--scene-ink:#e1eeff;--scene-muted:#aac1d5;--scene-accent:#70baff;background:#10243d}[data-theme=dark] .journey[data-scene=desk]{background:#2a2931;--scene-accent:#f1c081}[data-theme=dark] .journey[data-scene=outlook]{background:#123237;--scene-accent:#84d6c9}[data-theme=dark] .journey[data-scene=packing]{background:#232b49;--scene-accent:#adbcff}[data-theme=dark] .journey-art::before{opacity:.27}[data-theme=dark] .journey .field input,[data-theme=dark] .journey .action-option{background:#152d47;color:#e1eeff;border-color:#3e5874}[data-theme=dark] .journey .action-option:has(input:checked){background:#254775;border-color:#77acff}[data-theme=dark] .journey .action-option small,[data-theme=dark] .journey .welcome-features div,[data-theme=dark] .motion-toggle{color:#b4c7df}[data-theme=dark] .journey-preview-note{background:#243449;color:#d5e3f7}
@media(forced-colors:active){.journey,.ready-ticket{background:Canvas!important}.journey h1,.journey h1 em,.journey .summary dd,.journey .summary dt,.journey .field label{color:CanvasText!important}.journey .primary,.journey .action-option,.ready-ticket{border:1px solid ButtonText!important}.scene-orbit,.scene-dot,.scene-motif,.journey-art::before{display:none}}

/* Each scene owns the viewport; only its content has a reading-width limit. */
body:has(.journey){--journey-canvas:#edf8ff;background:var(--journey-canvas);min-height:100dvh}
body:has(.journey[data-scene=desk]){--journey-canvas:#fffaf1}
body:has(.journey[data-scene=outlook]){--journey-canvas:#eef9f6}
body:has(.journey[data-scene=packing]){--journey-canvas:#f0f4ff}
body:has(.journey[data-scene=ready]){--journey-canvas:#eaf6ff}
[data-theme=dark] body:has(.journey){--journey-canvas:#10243d;background:var(--journey-canvas)}
[data-theme=dark] body:has(.journey[data-scene=desk]){--journey-canvas:#2a2931}
[data-theme=dark] body:has(.journey[data-scene=outlook]){--journey-canvas:#123237}
[data-theme=dark] body:has(.journey[data-scene=packing]){--journey-canvas:#232b49}
body:has(.journey) .account-header{max-width:1120px;background:transparent}
body:has(.journey) main{max-width:none;width:100%;margin:0;padding:0}
body #account-panel:has(.journey){border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
body .journey{min-height:calc(100dvh - 80px);padding:20px max(28px,calc((100vw - 1040px)/2)) 24px;background:transparent!important}
.journey-preview-note{background:transparent!important;color:inherit;font-size:11px;padding:8px 16px}
body:has(.journey-preview-note) .journey{min-height:calc(100dvh - 116px)}
@media(max-width:699px){body .journey{padding:12px 24px 22px;min-height:calc(100dvh - 70px)}body:has(.journey-preview-note) .journey{min-height:calc(100dvh - 122px)}}
