
@font-face{font-family:PrincessDisplay;src:url('https://www.princess.com/etc.clientlibs/global/clientlibs/clientlib-styles/resources/fonts/DomaineDisplay-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
*{box-sizing:border-box}body{margin:0;padding:26px;background:#fff;color:#020215;font-family:proxima-nova,Arial,sans-serif}main{max-width:1180px;margin:auto}button{cursor:pointer}button:disabled{cursor:default}
@media(max-width:600px){body{padding:12px}}


#princess-preview { --pc-navy: light-dark(#003b69,#092b46); --pc-blue: light-dark(#0066a6,#89d0ff); --pc-ink: light-dark(#12314b,#e8f2fa); --pc-muted: light-dark(#586b79,#b5c5d1); --pc-paper: light-dark(#ffffff,#152b3b); --pc-wash: light-dark(#f4f7f8,#102330); --pc-line: light-dark(#dbe4e8,#345061); --pc-aqua: light-dark(#e7f4f2,#1a4143); --pc-green: light-dark(#126650,#8ce3c5); --pc-gold: light-dark(#9c6825,#f0c381); --pc-amber: light-dark(#fff4df,#483d26); --pc-radius: 14px; color:var(--pc-ink); font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.45; width:100%; color-scheme:light dark; }
#princess-preview * { box-sizing:border-box; }
#princess-preview [hidden] { display:none !important; }
#princess-preview h1,#princess-preview h2,#princess-preview h3,#princess-preview p { margin:0; }
#princess-preview button,#princess-preview select { font:inherit; }
#princess-preview button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 14px; min-height:42px; border:1px solid var(--pc-line); background:var(--pc-paper); color:var(--pc-ink); border-radius:8px; text-align:center; }
#princess-preview button:hover { border-color:var(--pc-blue); }
#princess-preview button:focus-visible,#princess-preview select:focus-visible { outline:3px solid var(--pc-blue); outline-offset:3px; }
#princess-preview button:disabled { opacity:.45; }
#princess-preview .primary { background:var(--pc-navy); color:#fff; border-color:var(--pc-navy); }
#princess-preview .quiet { border-color:transparent; background:transparent; color:var(--pc-blue); }
#princess-preview .full { width:100%; }
#princess-preview .review-bar { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:0 100px 16px 0; flex-wrap:wrap; }
#princess-preview .review-kicker { font-size:12px; letter-spacing:1.3px; font-weight:600; }
#princess-preview .review-caption { color:var(--pc-muted); font-size:12px; margin-top:4px; }
#princess-preview .review-actions { display:flex; gap:6px; }
#princess-preview .review-actions button { font-size:12px; padding:7px 10px; }
#princess-preview .story-nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; margin-bottom:14px; }
#princess-preview .story-nav button { align-items:flex-start; flex-direction:column; gap:7px; padding:11px 12px; text-align:left; background:var(--pc-wash); border-color:transparent; border-radius:10px; }
#princess-preview .story-nav button[aria-current="step"] { background:var(--pc-navy); color:#fff; }
#princess-preview .story-nav .step-top { display:flex; align-items:center; gap:7px; font-size:11px; opacity:.8; }
#princess-preview .story-nav .step-name { font-size:13px; font-weight:600; }
#princess-preview .product-window { background:var(--pc-paper); border:1px solid var(--pc-line); border-radius:var(--pc-radius); overflow:hidden; }
#princess-preview .brand-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:15px; padding:19px 28px; background:var(--pc-paper); border-bottom:1px solid var(--pc-line); }
#princess-preview .brand { font-family:Georgia,'Times New Roman',serif; font-size:28px; letter-spacing:.6px; color:var(--pc-blue); }
#princess-preview .brand small { display:block; font-family:Arial,sans-serif; font-size:9px; letter-spacing:4.5px; text-align:center; margin-top:-5px; }
#princess-preview .brand-nav { display:flex; align-items:center; gap:25px; font-size:12px; color:var(--pc-muted); }
#princess-preview .guest-label { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
#princess-preview .avatar { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--pc-aqua); color:var(--pc-ink); font-size:11px; flex-shrink:0; }
#princess-preview .discovery { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(285px,1fr); }
#princess-preview .voyage-main { min-width:0; }
#princess-preview .hero { position:relative; overflow:hidden; isolation:isolate; min-height:310px; padding:30px 30px 26px; color:white; background:linear-gradient(160deg,#447e8d 0%,#497c89 25%,#22627a 64%,#0b405c 100%); display:flex; flex-direction:column; justify-content:space-between; }
#princess-preview .hero:before { content:""; position:absolute; inset:15% -8% 0 15%; z-index:-1; background:linear-gradient(135deg,#f0f6f2 0%,#c0d4d5 23%,#668f9c 50%,#31647b 90%); clip-path:polygon(0 70%,20% 10%,29% 34%,48% 0,65% 35%,75% 15%,100% 57%,100% 100%,0 100%); opacity:.7; }
#princess-preview .hero:after { content:""; position:absolute; inset:60% -10% -25%; z-index:-1; background:linear-gradient(170deg,#579ea8 2%,#195b75 45%,#093d5c); transform:rotate(-7deg); }
#princess-preview .hero .eyebrow { font-size:11px; letter-spacing:2px; }
#princess-preview .hero h1 { font-family:Georgia,serif; font-weight:400; font-size:40px; line-height:1.05; max-width:370px; text-shadow:0 1px 12px #15394b55; margin-top:24px; }
#princess-preview .hero p { margin-top:14px; font-size:14px; max-width:300px; }
#princess-preview .hero-bottom { margin-top:22px; display:flex; align-items:center; gap:8px; font-size:11px; opacity:.92; }
#princess-preview .voyage-list { padding:22px 26px; display:flex; flex-direction:column; gap:13px; }
#princess-preview .section-label { color:var(--pc-muted); font-size:11px; text-transform:uppercase; letter-spacing:1.3px; }
#princess-preview .voyage { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px; border:1px solid var(--pc-line); border-radius:10px; background:var(--pc-paper); }
#princess-preview .voyage.selected { border-color:var(--pc-blue); box-shadow:inset 3px 0 var(--pc-blue); }
#princess-preview .voyage h3 { font-size:15px; font-weight:600; margin:3px 0 5px; }
#princess-preview .small { font-size:12px; color:var(--pc-muted); }
#princess-preview .micro { font-size:11px; color:var(--pc-muted); }
#princess-preview .companion { background:var(--pc-wash); border-left:1px solid var(--pc-line); padding:24px; display:flex; flex-direction:column; gap:18px; }
#princess-preview .companion-head { display:flex; align-items:center; gap:10px; }
#princess-preview .companion-mark { width:34px; height:34px; background:var(--pc-navy); color:white; border-radius:11px; display:flex; align-items:center; justify-content:center; }
#princess-preview .companion-head h3 { font-size:14px; font-weight:600; }
#princess-preview .bubble { background:var(--pc-paper); border:1px solid var(--pc-line); padding:16px; border-radius:3px 15px 15px 15px; font-size:14px; }
#princess-preview .bubble.user { border:none; background:var(--pc-aqua); border-radius:15px 3px 15px 15px; margin-left:22px; }
#princess-preview .bubble p+p { margin-top:9px; }
#princess-preview .chips { display:flex; flex-wrap:wrap; gap:7px; }
#princess-preview .chips button { font-size:12px; min-height:36px; padding:7px 10px; border-radius:30px; }
#princess-preview .chips button[aria-pressed="true"] { background:var(--pc-aqua); border-color:var(--pc-green); color:var(--pc-green); }
#princess-preview .context-note { font-size:12px; color:var(--pc-muted); display:flex; gap:8px; align-items:flex-start; margin-top:auto; }
#princess-preview .booking-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:28px; padding:32px; }
#princess-preview .editorial h2 { font-family:Georgia,serif; font-size:29px; line-height:1.15; font-weight:400; margin:8px 0 14px; }
#princess-preview .booking-summary { background:var(--pc-wash); border:1px solid var(--pc-line); border-radius:12px; padding:22px; }
#princess-preview .booking-summary h3 { font-family:Georgia,serif; font-size:23px; font-weight:400; margin-bottom:8px; }
#princess-preview .data-rows { margin:18px 0; }
#princess-preview .data-row { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; border-bottom:1px solid var(--pc-line); padding:12px 0; }
#princess-preview .data-row span:first-child { color:var(--pc-muted); }
#princess-preview .data-row span:last-child { text-align:right; }
#princess-preview .success { border-radius:10px; padding:15px; background:var(--pc-aqua); color:var(--pc-green); display:flex; align-items:flex-start; gap:10px; }
#princess-preview .success p { margin-top:5px; font-size:12px; }
#princess-preview .mobile-stage { padding:26px; background:var(--pc-wash); display:grid; grid-template-columns:minmax(0,400px) minmax(200px,1fr); gap:32px; align-items:start; justify-content:center; }
#princess-preview .phone { border:1px solid var(--pc-line); border-radius:26px; overflow:hidden; background:var(--pc-paper); width:100%; box-shadow:0 12px 30px #001e3410; }
#princess-preview .phone-status { display:flex; justify-content:space-between; padding:12px 22px 8px; font-size:11px; font-weight:600; }
#princess-preview .phone-header { padding:8px 21px 18px; display:flex; justify-content:space-between; align-items:center; }
#princess-preview .phone-header .brand { font-size:22px; }
#princess-preview .phone-header .brand small { font-size:7px; letter-spacing:3.5px; }
#princess-preview .phone-body { padding:0 20px 22px; }
#princess-preview .phone h2 { font-family:Georgia,serif; font-weight:400; font-size:26px; line-height:1.14; margin:6px 0 10px; }
#princess-preview .phone h3 { font-size:14px; font-weight:600; }
#princess-preview .phone-subtitle { color:var(--pc-muted); font-size:12px; margin-bottom:18px; }
#princess-preview .trip-banner { background:var(--pc-navy); color:white; padding:16px; border-radius:12px; margin-bottom:19px; }
#princess-preview .trip-banner .small { color:#d9eaf2; }
#princess-preview .trip-banner h3 { margin:5px 0; font-size:17px; }
#princess-preview .phone .companion { border:0; border-radius:12px; padding:15px; gap:13px; margin:16px 0; }
#princess-preview .phone .companion-mark { width:28px; height:28px; border-radius:8px; }
#princess-preview .phone .companion p { font-size:13px; }
#princess-preview .task-row { display:flex; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid var(--pc-line); font-size:13px; }
#princess-preview .task-row .task-detail { flex:1; min-width:0; }
#princess-preview .task-row .task-detail .small { display:block; margin-top:2px; }
#princess-preview .task-row .task-state { font-size:11px; color:var(--pc-muted); }
#princess-preview .task-row .done { color:var(--pc-green); }
#princess-preview .alert { background:var(--pc-amber); color:var(--pc-ink); padding:14px; border-radius:12px; margin:16px 0; }
#princess-preview .alert h3 { display:flex; gap:7px; align-items:center; margin-bottom:7px; }
#princess-preview .alert p { font-size:13px; }
#princess-preview .phone-nav { display:flex; justify-content:space-around; padding:8px; border-top:1px solid var(--pc-line); }
#princess-preview .phone-nav button { flex-direction:column; font-size:10px; border:0; background:transparent; padding:6px; min-width:58px; color:var(--pc-muted); gap:4px; }
#princess-preview .phone-nav button[aria-pressed="true"] { color:var(--pc-blue); }
#princess-preview .memory { max-width:400px; padding:23px 0; }
#princess-preview .memory h2 { font-family:Georgia,serif; font-size:30px; font-weight:400; line-height:1.15; margin:10px 0 20px; }
#princess-preview .memory-row { display:flex; gap:13px; margin:20px 0; font-size:13px; }
#princess-preview .memory-row i { color:var(--pc-blue); }
#princess-preview .memory-row p { margin-top:4px; color:var(--pc-muted); font-size:12px; }
#princess-preview .handoff-trace { display:flex; align-items:center; flex-wrap:wrap; gap:9px; color:var(--pc-muted); font-size:12px; border-top:1px solid var(--pc-line); padding-top:20px; margin-top:23px; }
#princess-preview .status-pill { display:inline-flex; gap:5px; align-items:center; padding:4px 8px; background:var(--pc-aqua); color:var(--pc-green); font-size:11px; border-radius:20px; }
#princess-preview .receipt { border:1px solid var(--pc-line); padding:15px; border-radius:12px; margin-top:15px; }
#princess-preview .receipt .data-row { font-size:12px; padding:10px 0; }
#princess-preview .receipt .data-row:last-child { border:0; }
#princess-preview .choice-stack { display:flex; flex-direction:column; gap:9px; margin:15px 0; }
#princess-preview .choice-stack button { justify-content:space-between; padding:12px; text-align:left; }
#princess-preview .choice-stack button[aria-pressed="true"] { border-color:var(--pc-blue); background:var(--pc-aqua); }
#princess-preview .dining-visual { height:115px; display:flex; align-items:center; justify-content:center; gap:26px; border-radius:12px; background:linear-gradient(140deg,#133e55,#2c606b); margin:15px 0; }
#princess-preview .place-setting { width:68px; height:68px; border:9px solid #f4efe3; border-radius:50%; background:#fffdf2; box-shadow:0 0 0 1px #b9bbaa; }
#princess-preview .dining-visual .candle { height:35px; width:10px; background:#eddbb7; border-radius:4px 4px 1px 1px; }
#princess-preview .evidence-panel { margin-top:16px; background:var(--pc-paper); border:1px solid var(--pc-line); border-radius:12px; padding:24px; }
#princess-preview .evidence-top { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
#princess-preview .evidence-top h2 { font-size:17px; font-weight:600; }
#princess-preview .evidence-top select { background:var(--pc-paper); color:var(--pc-ink); border:1px solid var(--pc-line); border-radius:7px; padding:8px; max-width:100%; }
#princess-preview .system-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
#princess-preview .system { border:1px solid var(--pc-line); border-radius:10px; padding:15px; }
#princess-preview .system.active { border-top:3px solid var(--pc-blue); }
#princess-preview .system h3 { font-size:13px; margin-bottom:7px; }
#princess-preview .system p { font-size:12px; color:var(--pc-muted); }
#princess-preview .system .micro { display:block; margin-top:12px; }
#princess-preview .proof-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; border-top:1px solid var(--pc-line); margin-top:20px; padding-top:18px; }
#princess-preview .proof-row h3 { font-size:13px; margin-bottom:7px; }
#princess-preview .proof-row p { color:var(--pc-muted); font-size:12px; }
#princess-preview .evidence-foot { margin-top:18px; color:var(--pc-muted); font-size:11px; }
#princess-preview .evidence-foot a { color:var(--pc-blue); }
#princess-preview .story-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 0 0; }
#princess-preview .story-footer>div { display:flex; gap:6px; }
#princess-preview .story-footer button { font-size:12px; }
#princess-preview .step-caption { color:var(--pc-muted); font-size:12px; }
#princess-preview .helper-space { margin-top:14px; }
#princess-preview .inline-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
@media(max-width:760px){#princess-preview .story-nav{grid-template-columns:repeat(3,minmax(0,1fr))}#princess-preview .discovery{grid-template-columns:1fr}#princess-preview .companion{border-left:0;border-top:1px solid var(--pc-line)}#princess-preview .booking-layout{grid-template-columns:1fr}#princess-preview .brand-nav{display:none}#princess-preview .mobile-stage{grid-template-columns:minmax(0,400px);padding:20px}#princess-preview .memory{display:none}#princess-preview .system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#princess-preview .review-bar{padding-right:92px}#princess-preview .review-actions{flex-wrap:wrap}#princess-preview .hero h1{font-size:36px}}
@media(max-width:420px){#princess-preview .brand-header{padding:15px}#princess-preview .hero{padding:24px 20px}#princess-preview .hero h1{font-size:32px}#princess-preview .voyage-list{padding:18px}#princess-preview .voyage{grid-template-columns:1fr}#princess-preview .companion{padding:18px}#princess-preview .booking-layout{padding:20px}#princess-preview .mobile-stage{padding:10px}#princess-preview .phone-body{padding:0 14px 16px}#princess-preview .story-nav button{padding:8px}#princess-preview .story-nav .step-name{font-size:12px}#princess-preview .story-footer{align-items:flex-start;flex-direction:column}#princess-preview .system-grid,#princess-preview .proof-row{grid-template-columns:1fr}#princess-preview .evidence-panel{padding:17px}#princess-preview .review-actions button{min-height:44px}#princess-preview button{min-height:44px}}
@media(prefers-reduced-motion:no-preference){#princess-preview button{transition:background .15s,border-color .15s}}


#princess-preview { --pc-navy:#003595; --pc-blue:#003595; --pc-ink:#020215; --pc-muted:#5c6270; --pc-paper:#fff; --pc-wash:#f5f4f3; --pc-line:#e0e2e7; --pc-aqua:#eef3fb; --pc-green:#176250; --pc-gold:#936d28; --pc-amber:#fff5e5; color-scheme:light; font-family:proxima-nova,Arial,sans-serif; }
#princess-preview .review-bar { padding:0 0 17px; }
#princess-preview .review-kicker { font-weight:600; letter-spacing:1.8px; color:#003595; }
#princess-preview .primary { background:#003595; border-color:#003595; border-radius:28px; }
#princess-preview .primary:hover { background:#002b7a; border-color:#002b7a; }
#princess-preview .product-window { border-radius:7px; }
#princess-preview .brand-header { padding:15px 24px 15px 0; min-height:84px; }
#princess-preview .brand { line-height:0; margin:0; }
#princess-preview .brand img { display:block; width:205px; height:auto; object-fit:contain; }
#princess-preview .brand-nav { font-family:PrincessDisplay,Georgia,serif; font-size:18px; color:#003595; gap:26px; }
#princess-preview .hero { min-height:365px; padding:29px; justify-content:flex-end; background:#003595; }
#princess-preview .hero:before { display:none; }
#princess-preview .hero:after { inset:0; transform:none; background:linear-gradient(0deg,rgba(0,24,73,.88),rgba(0,24,73,.25) 62%,rgba(0,24,73,.03)); z-index:-1; }
#princess-preview .hero .hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 35%; z-index:-2; }
#princess-preview .hero h1 { font-family:PrincessDisplay,Georgia,serif; font-size:43px; max-width:430px; margin-top:14px; text-shadow:0 2px 7px #0b203344; }
#princess-preview .hero p { max-width:355px; }
#princess-preview .hero-bottom { display:none; }
#princess-preview .story-nav button[aria-current="step"] { box-shadow:inset 0 -3px #ea0063; }
#princess-preview .voyage.selected { border-color:#003595; box-shadow:inset 3px 0 #ea0063; }
#princess-preview .voyage-list { padding:22px; }
#princess-preview .voyage { grid-template-columns:80px minmax(0,1fr) auto; align-items:center; padding:12px; }
#princess-preview .voyage-thumb { width:80px; height:79px; object-fit:cover; border-radius:5px; }
#princess-preview .voyage button { border:2px solid #ea0063; border-radius:24px; color:#003595; }
#princess-preview .voyage h3 { font-size:16px; }
#princess-preview .chips button[aria-pressed="true"] { color:#003595; background:#eef3fb; border-color:#003595; }
#princess-preview .companion-mark { background:#003595; }
#princess-preview .phone-header { padding:5px 18px 18px 0; }
#princess-preview .phone-header .brand img { width:163px; }
#princess-preview .phone h2,#princess-preview .memory h2,#princess-preview .booking-summary h3,#princess-preview .editorial h2 { font-family:PrincessDisplay,Georgia,serif; color:#003595; }
#princess-preview .memory { padding-top:0; }
#princess-preview .memory-photo { width:100%; height:180px; object-fit:cover; border-radius:12px; margin-bottom:22px; }
#princess-preview .summary-photo { width:100%; height:190px; object-fit:cover; border-radius:8px; margin:0 0 20px; }
#princess-preview .dining-photo { display:block; width:100%; height:176px; object-fit:cover; object-position:center; border-radius:12px; margin:15px 0; }
#princess-preview .trip-banner { background:linear-gradient(90deg,rgba(0,30,85,.93),rgba(0,30,85,.35)),url('https://www.princess.com/content/dam/princess/promos-deals/star-princess-dewas-glacier-alaska-1220x686.jpg') center 40%/cover; padding:22px 17px; }
#princess-preview .status-pill { background:#edf6f0; }
#princess-preview .editorial h2 { font-size:32px; }
#princess-preview .photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:23px; }
#princess-preview .photo-pair img { width:100%; height:115px; object-fit:cover; border-radius:8px; }
#princess-preview .brand-note { color:#647080; font-size:12px; }
@media(max-width:960px){#princess-preview .brand-nav{gap:15px;font-size:16px}#princess-preview .voyage{grid-template-columns:65px minmax(0,1fr)}#princess-preview .voyage-thumb{width:65px;height:75px}#princess-preview .voyage button{grid-column:2;justify-self:start;min-height:34px;padding:5px 12px}}
@media(max-width:760px){#princess-preview .hero{min-height:355px}#princess-preview .brand-nav{display:none}#princess-preview .review-bar{padding-right:0}#princess-preview .voyage{grid-template-columns:80px minmax(0,1fr) auto}#princess-preview .voyage button{grid-column:auto}#princess-preview .voyage-thumb{width:80px}}
@media(max-width:480px){#princess-preview .hero h1{font-size:34px}#princess-preview .hero{min-height:330px;padding:24px}#princess-preview .brand-header{padding-right:13px}#princess-preview .brand img{width:160px}#princess-preview .guest-label{font-size:11px}#princess-preview .voyage{grid-template-columns:65px minmax(0,1fr)}#princess-preview .voyage-thumb{width:65px}#princess-preview .voyage button{grid-column:2}#princess-preview .story-nav .step-name{font-size:12px}}

#princess-preview .welcome-photo { display:block; width:100%; height:140px; object-fit:cover; border-radius:12px; margin:18px 0; }
#princess-preview .choice-heading { margin:18px 0 12px; font-size:18px; }
#princess-preview .assistance-options { display:grid; gap:10px; }
#princess-preview .assistance-option { display:grid; grid-template-columns:30px minmax(0,1fr) 16px; gap:10px; padding:16px 13px; text-align:left; border-radius:12px; }
#princess-preview .assistance-option.recommended { background:#edf3fd; border-color:#b5ccef; }
#princess-preview .assistance-option strong { font-size:15px; display:block; color:#003595; }
#princess-preview .assistance-option small { display:block; margin-top:5px; color:#526275; font-size:13px; line-height:1.4; }
#princess-preview .option-icon { align-self:start; color:#003595; padding-top:3px; }
#princess-preview .choice-note { text-align:center; color:#626b77; padding:0 10px; }
#princess-preview .mode-row { display:flex; align-items:center; justify-content:space-between; margin-top:16px; gap:10px; border-top:1px solid var(--pc-line); padding-top:6px; }
#princess-preview .mode-row > span { display:flex; align-items:center; gap:7px; font-size:13px; }
#princess-preview .prep-progress { margin:12px 0 19px; }
#princess-preview .prep-progress > div:first-child { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:#526275; margin-bottom:8px; }
#princess-preview .prep-track { height:5px; border-radius:4px; background:#e6e9ef; overflow:hidden; }
#princess-preview .prep-track span { display:block; height:100%; border-radius:4px; background:#003595; transition:width .2s; }
#princess-preview .guided-task { padding:18px; border-radius:12px; background:#f0f5fc; }
#princess-preview .guided-task > h3 { font-size:20px; margin-bottom:8px; color:#003595; }
#princess-preview .guided-task > p { color:#435570; font-size:14px; line-height:1.5; }
#princess-preview .next-label { margin:20px 0 7px; font-size:10px; letter-spacing:1.2px; color:#516684; }
#princess-preview .guest-docs { display:grid; gap:12px; margin:18px 0; }
#princess-preview .guest-docs span { font-size:14px; }
#princess-preview .guest-docs small { display:block; color:#647080; font-size:12px; }
#princess-preview .arrival-option { display:flex; align-items:center; gap:10px; background:white; padding:15px 12px; border-radius:8px; margin:18px 0; color:#003595; font-size:13px; }
#princess-preview .membership-strip { display:grid; grid-template-columns:22px minmax(0,1fr) 16px; text-align:left; gap:8px; width:100%; padding:14px 12px; background:#f3f5f9; margin:16px 0; color:#003595; border:0; font-size:13px; border-radius:10px; }
#princess-preview .membership-strip small { display:block; color:#647080; font-size:12px; font-weight:400; margin-top:3px; }
#princess-preview .membership-strip.connected { background:#e9f5ef; color:#126650; }
#princess-preview .phone-header { gap:8px; align-items:center; }
#princess-preview .phone-header .brand img { width:156px; }
#princess-preview .updates-button { padding:8px; border:0; min-width:40px; gap:4px; color:#003595; position:relative; }
#princess-preview .unread-dot { position:absolute; right:7px; top:7px; width:7px; height:7px; border-radius:50%; background:#e60060; border:2px solid white; box-sizing:content-box; }
#princess-preview .update-item { display:grid; grid-template-columns:26px minmax(0,1fr); gap:10px; padding:20px 0; border-bottom:1px solid var(--pc-line); }
#princess-preview .update-item:last-of-type { margin-bottom:15px; }
#princess-preview .update-item h3 { margin:7px 0; font-size:17px; color:#003595; }
#princess-preview .update-item p { color:#526275; font-size:14px; line-height:1.45; }
#princess-preview .update-item .quiet { padding-left:0; font-size:13px; }
#princess-preview .update-icon { padding-top:4px; color:#003595; }
#princess-preview .update-item.connected h3,#princess-preview .update-item.connected .update-icon { color:#126650; }
#princess-preview .journey-section { margin:20px 0; }
#princess-preview .journey-section > h3 { margin:9px 0 6px; font-size:18px; }
#princess-preview .resume-row { display:flex; gap:8px; justify-content:space-between; align-items:center; }
#princess-preview .resume-row h3 { font-size:16px; margin-bottom:4px; }
#princess-preview .reminder-confirmation { display:flex; gap:10px; background:#eaf2ff; color:#003595; padding:14px; border-radius:10px; margin:14px 0; font-size:13px; }
#princess-preview .reminder-confirmation p { font-size:12px; margin-top:4px; }
#princess-preview .context-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; background:#edf3fd; padding:20px; border-radius:12px; }
#princess-preview .context-flow h3 { margin:6px 0; font-size:16px; }
#princess-preview .context-flow p { font-size:13px; color:#526275; }
@media(max-width:760px){#princess-preview .context-flow{grid-template-columns:1fr}#princess-preview .welcome-photo{height:155px}}
@media(max-width:380px){#princess-preview .phone-header .brand img{width:140px}#princess-preview .assistance-option{padding:13px 10px;grid-template-columns:22px minmax(0,1fr) 14px}#princess-preview .guided-task{padding:14px}#princess-preview .task-row{gap:7px}#princess-preview .task-row button{max-width:92px;padding:7px}}
@media(prefers-reduced-motion:reduce){#princess-preview .prep-track span{transition:none}}

#princess-preview .experience-tabs { display:grid; grid-template-columns:.8fr 1.2fr 1.1fr; gap:5px; margin:0 0 18px; }
#princess-preview .experience-tabs button { display:flex; flex-direction:column; gap:6px; font-size:11px; padding:12px 4px; border-radius:9px; color:#526275; }
#princess-preview .experience-tabs button[aria-pressed=true] { background:#003595; color:#fff; border-color:#003595; }
#princess-preview .experience-photo { display:block; width:100%; height:175px; object-fit:cover; border-radius:12px; margin:14px 0 18px; }
#princess-preview .phone .experience-title { font-size:21px; line-height:1.2; color:#003595; margin:8px 0 14px; }
#princess-preview .experience-facts { display:flex; flex-wrap:wrap; gap:14px; margin:12px 0; font-size:12px; color:#526275; }
#princess-preview .experience-facts span { display:flex; align-items:center; gap:6px; }
#princess-preview .price-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:18px 0; }
#princess-preview .price-line strong { color:#003595; font-size:23px; }
#princess-preview .price-line span { font-size:12px; color:#526275; }
#princess-preview .choice-stack small { display:block; font-size:12px; color:#647080; margin-top:3px; }
#princess-preview .choice-stack button>span:last-child { font-size:12px; }
#princess-preview .fit-note { display:flex; align-items:flex-start; gap:8px; color:#126650; background:#edf7f1; padding:12px; border-radius:8px; font-size:12px; margin:16px 0; }
#princess-preview .fit-note svg { flex-shrink:0; margin-top:2px; }
#princess-preview .spa-options>div { padding:18px 0; border-bottom:1px solid var(--pc-line); }
#princess-preview .spa-options { margin:10px 0 18px; }
#princess-preview .spa-options h3 { margin-bottom:5px; }
#princess-preview .voyage-itinerary { background:#eaf3f8; border-radius:12px; overflow:hidden; margin-top:16px; }
#princess-preview .voyage-itinerary-heading { padding:17px 16px 3px; }
#princess-preview .voyage-itinerary-heading .section-label { color:#526e87; font-size:10px; }
#princess-preview .voyage-itinerary-heading h3 { font-family:PrincessDisplay,Georgia,serif; font-size:23px; font-weight:400; color:#003595; margin:5px 0; }
#princess-preview .voyage-itinerary-heading p { font-size:12px; color:#526275; }
#princess-preview .route-map { width:100%; }
#princess-preview .route-map svg { display:block; width:100%; height:auto; }
#princess-preview .route-caption { display:flex; align-items:center; justify-content:center; gap:6px; font-size:12px; color:#003595; padding:8px 12px 14px; }
#princess-preview .day-selector { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin:16px 0 21px; }
#princess-preview .day-selector button { display:flex; flex-direction:column; position:relative; padding:8px 2px 12px; gap:4px; border-radius:8px; min-height:61px; }
#princess-preview .day-selector button>span:first-child { font-size:10px; text-transform:uppercase; color:#647080; }
#princess-preview .day-selector strong { font-size:11px; font-weight:500; }
#princess-preview .day-selector button[aria-pressed=true] { color:#fff; background:#003595; border-color:#003595; }
#princess-preview .day-selector button[aria-pressed=true]>span:first-child { color:#d7e6ff; }
#princess-preview .day-booked-dot { width:4px; height:4px; border-radius:50%; background:#e60060; position:absolute; bottom:4px; }
#princess-preview .day-selector button[aria-pressed=true] .day-booked-dot { background:white; }
#princess-preview .daily-plan-heading { margin-bottom:18px; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:8px; }
#princess-preview .daily-plan-heading h3 { font-size:20px; color:#003595; margin-top:5px; }
#princess-preview .daily-plan-heading>span { font-size:11px; color:#647080; }
#princess-preview .daily-plan-heading .section-label { font-size:10px; }
#princess-preview .agenda-row { display:grid; grid-template-columns:55px minmax(0,1fr); gap:12px; }
#princess-preview .agenda-time { color:#526275; font-size:11px; padding-top:3px; }
#princess-preview .agenda-event { position:relative; padding:0 0 20px 18px; border-left:1px solid #cddae5; }
#princess-preview .agenda-row:last-child .agenda-event { border-left-color:transparent; padding-bottom:4px; }
#princess-preview .agenda-dot { width:7px; height:7px; border-radius:50%; background:#7e9ab2; position:absolute; left:-4px; top:5px; }
#princess-preview .agenda-event.is-booked .agenda-dot { background:#003595; }
#princess-preview .agenda-event h3 { font-size:14px; line-height:1.3; color:#003595; margin-bottom:5px; }
#princess-preview .agenda-event p { font-size:12px; color:#526275; line-height:1.4; }
#princess-preview .agenda-event button { font-size:12px; padding:7px 0; min-height:32px; justify-content:flex-start; }
#princess-preview .reservation-label { display:block; margin-top:6px; color:#126650; font-size:11px; }
#princess-preview .journey-readiness { border-top:1px solid var(--pc-line); border-bottom:1px solid var(--pc-line); margin-top:20px; padding:12px 0; }
#princess-preview .journey-readiness summary { display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; font-size:12px; color:#526275; min-height:30px; }
#princess-preview .journey-readiness summary span:first-child { display:flex; gap:7px; align-items:center; color:#003595; font-weight:600; }
#princess-preview .journey-readiness summary span:last-child:after { content:'⌄'; margin-left:8px; }
#princess-preview .journey-readiness[open] summary { margin-bottom:14px; }
#princess-preview .phone-nav button { min-width:0; flex:1; padding:6px 2px; }
@media(max-width:380px){#princess-preview .experience-tabs button{font-size:10px}#princess-preview .day-selector strong{font-size:10px}#princess-preview .agenda-row{grid-template-columns:46px minmax(0,1fr);gap:9px}#princess-preview .phone-nav button{font-size:9px}}

:root { --preview-gutter:clamp(12px,1.5vw,24px); }
body { padding:var(--preview-gutter); }
main { width:100%; max-width:none; margin:0; }
#princess-preview { display:flex; flex-direction:column; min-height:calc(100dvh - 2 * var(--preview-gutter)); }
#princess-preview .review-bar,#princess-preview .story-nav,#princess-preview .story-footer { flex-shrink:0; }
#princess-preview .review-bar { padding-right:0; }
#princess-preview .product-window { flex:1 0 auto; min-width:0; }
#princess-preview[data-surface="web"] .hero { min-height:clamp(380px,45dvh,620px); }
#princess-preview[data-surface="app"] { height:calc(100dvh - 2 * var(--preview-gutter)); min-height:600px; }
#princess-preview[data-surface="app"] .product-window { flex:1 1 0; min-height:0; display:flex; flex-direction:column; }
#princess-preview .mobile-stage { flex:1 1 0; min-height:0; height:100%; padding:18px clamp(18px,3vw,56px); grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(24px,5vw,90px); align-items:center; }
#princess-preview .device-column { min-width:0; min-height:0; width:100%; height:100%; display:grid; place-items:center; }
#princess-preview .phone-frame { width:440px; height:956px; position:relative; }
#princess-preview .phone { position:absolute; left:0; top:0; width:440px; height:956px; max-width:none; border:7px solid #24272c; border-radius:54px; display:grid; grid-template-rows:58px 76px minmax(0,1fr) 88px; overflow:hidden; box-shadow:0 0 0 1px #77808b,0 14px 36px #15324720; transform:scale(var(--device-scale,1)); transform-origin:top left; }
#princess-preview .phone-status { position:relative; padding:19px 25px 12px; font-size:13px; background:#fff; align-items:center; }
#princess-preview .phone-status:after { content:''; position:absolute; left:50%; top:12px; transform:translateX(-50%); width:116px; height:30px; border-radius:24px; background:#111319; }
#princess-preview .phone-header { padding:8px 22px 17px; margin:0; background:#fff; border-bottom:1px solid #edf0f4; }
#princess-preview .phone-header .brand img { width:166px; }
#princess-preview .phone-body { min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#b7c8da transparent; padding:18px 22px 24px; scroll-behavior:auto; }
#princess-preview .phone-body::-webkit-scrollbar { width:5px; }
#princess-preview .phone-body::-webkit-scrollbar-thumb { background:#b7c8da; border-radius:5px; }
#princess-preview .phone-nav { position:relative; background:#fff; padding:8px 9px 25px; margin:0; align-items:stretch; box-shadow:0 -4px 15px #00359505; }
#princess-preview .phone-nav button { min-height:48px; padding:5px 3px; font-size:11px; }
#princess-preview .phone-nav:after { content:''; position:absolute; bottom:8px; left:50%; width:130px; height:5px; border-radius:5px; transform:translateX(-50%); background:#24272c; }
#princess-preview .memory { width:100%; max-width:620px; max-height:100%; overflow:auto; padding:0 8px 0 0; scrollbar-width:thin; }
#princess-preview .memory-photo { max-height:clamp(120px,22dvh,260px); object-fit:cover; }
#princess-preview .memory h2 { font-size:clamp(26px,2.3vw,42px); margin:12px 0 18px; }
#princess-preview .memory-row { margin:14px 0; }
#princess-preview .photo-pair img { height:clamp(70px,11dvh,125px); }
#princess-preview .evidence-panel { flex:0 0 auto; max-height:32dvh; overflow:auto; }
#princess-preview .ready-voyage { position:relative; overflow:hidden; border-radius:12px; margin:16px 0 20px; height:214px; background:#003595; color:#fff; }
#princess-preview .ready-voyage img { display:block; width:100%; height:100%; object-fit:cover; }
#princess-preview .ready-voyage-caption { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:40px 17px 17px; background:linear-gradient(180deg,transparent 18%,#00285128 40%,#002851e8 100%); }
#princess-preview .ready-voyage-caption .section-label { color:#d5e8ff; font-size:10px; }
#princess-preview .ready-voyage-caption h3 { font-family:PrincessDisplay,Georgia,serif; font-size:24px; font-weight:400; margin:5px 0; color:#fff; }
#princess-preview .ready-voyage-caption p { font-size:12px; color:#ecf5ff; }
@media(min-width:1500px){#princess-preview .discovery{grid-template-columns:minmax(0,1.75fr) minmax(360px,.8fr)}#princess-preview .hero h1{font-size:clamp(44px,4vw,70px)}#princess-preview .companion{padding:clamp(24px,2.5vw,44px)}}
@media(max-width:900px){#princess-preview .mobile-stage{grid-template-columns:minmax(0,1fr);padding:15px}#princess-preview .memory{display:none}}
@media(max-width:600px){#princess-preview .review-bar{padding-bottom:10px;gap:8px}#princess-preview .review-caption{display:none}#princess-preview .review-actions button{min-height:34px}#princess-preview .review-kicker{font-size:10px;letter-spacing:.8px}#princess-preview .story-nav{gap:4px;margin-bottom:10px}#princess-preview .story-nav button{padding:8px 5px;min-height:40px}#princess-preview .story-nav .step-top{display:none}#princess-preview .story-nav .step-name{font-size:11px}#princess-preview .story-footer{flex-direction:row;align-items:center;padding-top:10px}#princess-preview .story-footer button{min-height:36px;padding:6px 9px;font-size:12px}#princess-preview .step-caption{font-size:11px}#princess-preview .mobile-stage{padding:12px}}

#princess-preview .profile-back { padding:0; min-height:32px; margin:0 0 14px; color:#003595; font-size:13px; }
#princess-preview .profile-guest { display:flex; align-items:center; gap:13px; margin:20px 0; }
#princess-preview .profile-avatar { flex:0 0 auto; width:55px; height:55px; border-radius:50%; display:grid; place-items:center; font-size:18px; color:#003595; background:#eaf1fb; }
#princess-preview .profile-guest h3 { color:#003595; font-size:20px; margin:0 0 4px; }
#princess-preview .profile-guest p { color:#526275; font-size:13px; }
#princess-preview .profile-voyage-label { display:block; color:#647387; font-size:11px; margin-top:6px; }
#princess-preview .profile-folio-card { width:100%; display:flex; justify-content:space-between; text-align:left; border:0; border-radius:13px; background:linear-gradient(125deg,#003595,#004aad); padding:19px; color:#fff; }
#princess-preview .profile-folio-card .section-label { color:#d9e8ff; font-size:10px; }
#princess-preview .profile-folio-card strong { display:block; font-size:32px; font-weight:500; margin:10px 0 4px; }
#princess-preview .profile-folio-card strong small { font-size:12px; font-weight:400; }
#princess-preview .profile-folio-caption { display:block; font-size:12px; font-weight:400; color:#e3edff; }
#princess-preview .profile-folio-arrow { align-self:center; width:31px; height:31px; display:grid; place-items:center; background:#ffffff1f; border-radius:50%; }
#princess-preview .profile-menu { margin:18px 0; display:grid; }
#princess-preview .profile-menu-row { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:11px; width:100%; border:0; border-radius:0; border-bottom:1px solid #e5eaf1; padding:16px 2px; align-items:center; text-align:left; color:#003595; background:#fff; }
#princess-preview .profile-menu-icon { align-self:center; }
#princess-preview .profile-menu-copy { min-width:0; }
#princess-preview .profile-menu-copy strong { font-size:15px; font-weight:600; display:block; }
#princess-preview .profile-menu-copy small { color:#647080; font-size:12px; font-weight:400; display:block; margin-top:4px; line-height:1.4; }
#princess-preview .profile-row-count { width:22px; height:22px; border-radius:50%; background:#edf3fd; color:#003595; display:grid; place-items:center; font-size:12px; }
#princess-preview .profile-help { display:flex; gap:10px; padding:15px; background:#f0f5fc; border-radius:12px; margin:19px 0; color:#003595; }
#princess-preview .profile-help > span { flex:0 0 auto; padding-top:2px; }
#princess-preview .profile-help h3 { font-size:15px; margin:0 0 6px; }
#princess-preview .profile-help p { color:#526275; font-size:13px; line-height:1.5; }
#princess-preview .profile-help .quiet { padding:10px 0 0; min-height:32px; font-size:13px; }
#princess-preview .profile-traveler { padding:17px 0; border-bottom:1px solid #e5eaf1; }
#princess-preview .profile-person-heading { display:flex; gap:12px; align-items:center; }
#princess-preview .profile-person-heading h3 { font-size:18px; color:#003595; margin:0 0 4px; }
#princess-preview .profile-person-heading p { font-size:12px; color:#647080; }
#princess-preview .small-avatar { width:43px; height:43px; font-size:15px; }
#princess-preview .profile-traveler .data-rows { margin-top:10px; }
#princess-preview .profile-traveler .data-row { font-size:13px; gap:16px; }
#princess-preview .profile-traveler .data-row > span:last-child { text-align:right; }
#princess-preview .profile-preferences { margin:22px 0 10px; }
#princess-preview .profile-preferences p { margin:9px 0 0; font-size:14px; line-height:1.5; color:#435570; }
#princess-preview .profile-preferences .quiet { padding-left:0; font-size:13px; }
#princess-preview .folio-balance { border-radius:13px; background:#f0f5fc; padding:19px; margin:18px 0 24px; }
#princess-preview .folio-total { display:flex; align-items:baseline; gap:9px; color:#003595; font-size:40px; font-weight:500; margin:8px 0 5px; letter-spacing:-1px; }
#princess-preview .folio-total span { font-size:12px; letter-spacing:0; font-weight:400; }
#princess-preview .folio-balance > p { color:#526275; font-size:12px; line-height:1.4; }
#princess-preview .folio-breakdown { border-top:1px solid #d7e2f1; padding-top:8px; margin-top:15px; }
#princess-preview .folio-breakdown .data-row { border:0; padding:5px 0; font-size:13px; }
#princess-preview .folio-list-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:3px; }
#princess-preview .folio-list-heading h3 { font-size:17px; color:#003595; }
#princess-preview .folio-list-heading > span { color:#647080; font-size:11px; }
#princess-preview .folio-activity { display:grid; margin-bottom:20px; }
#princess-preview .folio-item { display:grid; grid-template-columns:25px minmax(0,1fr) auto; gap:10px; padding:16px 0; border:0; border-radius:0; border-bottom:1px solid #e5eaf1; background:#fff; width:100%; text-align:left; }
#princess-preview .folio-item-icon { color:#003595; align-self:center; }
#princess-preview .folio-item-copy { min-width:0; }
#princess-preview .folio-item strong { display:block; color:#203851; font-size:15px; }
#princess-preview .folio-item small { display:block; color:#647080; font-size:11px; font-weight:400; margin-top:5px; }
#princess-preview .folio-item-amount { color:#203851; font-size:16px; font-weight:500; text-align:right; white-space:nowrap; }
#princess-preview .is-credit { color:#126650; }
#princess-preview .folio-prepaid { margin:22px 0; border-left:3px solid #c5d7ed; padding:2px 0 2px 13px; }
#princess-preview .folio-prepaid h3 { color:#003595; font-size:15px; margin:8px 0 5px; }
#princess-preview .folio-prepaid p { color:#526275; font-size:12px; margin-bottom:4px; }
#princess-preview .folio-prepaid > span { color:#126650; font-size:11px; }
#princess-preview .profile-empty { text-align:center; padding:23px 16px; margin:12px 0 22px; color:#526275; }
#princess-preview .profile-empty > span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; margin:0 auto 14px; color:#003595; background:#edf3fd; }
#princess-preview .profile-empty h3 { color:#003595; font-size:17px; margin:0 0 8px; }
#princess-preview .profile-empty p { font-size:13px; line-height:1.5; }
#princess-preview .folio-detail-amount { font-size:36px; font-weight:500; color:#003595; margin:17px 0 20px; }
#princess-preview .folio-detail-amount.is-credit { color:#126650; }
#princess-preview .folio-detail-amount > span { font-size:12px; margin-left:9px; }
#princess-preview .folio-detail-note { color:#526275; font-size:13px; line-height:1.55; margin:16px 0; }
#princess-preview .profile-request-list { display:grid; gap:13px; margin:20px 0; }
#princess-preview .profile-request-row { display:block; width:100%; text-align:left; border:1px solid #dbe4ef; border-radius:12px; padding:17px; background:#fff; }
#princess-preview .request-row-top { display:flex; justify-content:space-between; gap:12px; color:#003595; font-size:16px; }
#princess-preview .profile-request-ref { color:#647080; display:block; margin-top:6px; font-size:11px; font-weight:400; }
#princess-preview .profile-request-summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:400; color:#526275; line-height:1.5; margin:12px 0; overflow-wrap:anywhere; }
#princess-preview .profile-request-status { display:flex; align-items:center; gap:6px; color:#003595; font-size:11px; font-weight:400; }
#princess-preview .profile-request-status svg { width:13px; height:13px; flex:0 0 auto; }

#princess-preview .companion-overlay { position:absolute; inset:58px 0 0; z-index:30; overflow:hidden; border-radius:0 0 45px 45px; }
#princess-preview .companion-scrim { position:absolute; inset:0; background:#082b4c45; }
#princess-preview .companion-sheet { position:absolute; inset:80px 0 0; background:#fff; border-radius:24px 24px 0 0; box-shadow:0 -10px 40px #092d4e25; display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#princess-preview .companion-sheet.is-expanded { top:0; border-radius:0; }
#princess-preview .companion-sheet-header { flex:0 0 auto; display:flex; align-items:center; gap:9px; padding:17px 16px 14px; border-bottom:1px solid #e7edf5; }
#princess-preview .companion-sheet-mark { width:35px; height:35px; border-radius:50%; display:grid; place-items:center; background:#eaf2ff; color:#003595; flex:0 0 auto; }
#princess-preview .companion-sheet-heading { flex:1; min-width:0; }
#princess-preview .companion-sheet-heading h3 { color:#003595; font-size:18px; margin:0; font-family:inherit; }
#princess-preview .companion-sheet-heading p { font-size:11px; color:#657487; margin-top:3px; }
#princess-preview .companion-icon-button { width:36px; height:40px; min-height:40px; min-width:36px; padding:6px; border:0; background:transparent; color:#003595; flex:0 0 auto; display:grid; place-items:center; }
#princess-preview .companion-context { display:flex; align-items:center; gap:7px; padding:11px 20px; background:#f4f7fc; color:#536981; font-size:12px; flex:0 0 auto; min-width:0; }
#princess-preview .companion-context span { overflow-wrap:anywhere; }
#princess-preview .companion-context svg { flex:0 0 auto; width:14px; height:14px; }
#princess-preview .companion-chat-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:22px 20px; scrollbar-width:thin; scrollbar-color:#b7c8da transparent; }
#princess-preview .companion-chat-scroll.request-content { padding:18px 20px 30px; }
#princess-preview .companion-welcome { padding:6px 0 22px; }
#princess-preview .companion-welcome-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#003595; background:#edf3fd; margin-bottom:19px; }
#princess-preview .companion-welcome .section-label { color:#526f91; font-size:10px; letter-spacing:1.1px; }
#princess-preview .companion-welcome h2,#princess-preview .companion-voice-view h2 { font-family:PrincessDisplay,Georgia,serif; font-size:30px; line-height:1.08; color:#003595; margin:9px 0 12px; }
#princess-preview .companion-welcome p,#princess-preview .companion-voice-view > p { font-size:14px; line-height:1.5; color:#536479; }
#princess-preview .companion-suggestions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#princess-preview .companion-suggestion { display:flex; align-items:center; justify-content:flex-start; gap:8px; text-align:left; min-height:48px; padding:10px 11px; border:1px solid #dfe7f2; border-radius:11px; background:#fff; color:#003595; font-size:12px; line-height:1.25; }
#princess-preview .companion-suggestion:last-child { grid-column:1/-1; }
#princess-preview .companion-suggestion svg { flex:0 0 auto; width:16px; height:16px; }
#princess-preview .companion-message { margin-bottom:18px; padding:15px 16px; background:#f0f5fc; border-radius:4px 16px 16px 16px; overflow-wrap:anywhere; }
#princess-preview .companion-message.from-guest { background:#003595; color:#fff; margin-left:30px; border-radius:16px 4px 16px 16px; }
#princess-preview .companion-message-author { font-size:9px; letter-spacing:1px; color:#5a7190; margin-bottom:7px; }
#princess-preview .companion-message.from-guest .companion-message-author { color:#d2e4ff; }
#princess-preview .companion-message p { font-size:14px; line-height:1.5; white-space:pre-line; }
#princess-preview .companion-message-actions { display:flex; flex-direction:column; align-items:flex-start; gap:5px; margin-top:11px; }
#princess-preview .companion-message-actions .quiet { min-height:36px; height:auto; padding:6px 0; color:#003595; text-align:left; justify-content:flex-start; font-size:13px; white-space:normal; }
#princess-preview .companion-topic-picker { margin:10px 0 4px; }
#princess-preview .companion-topic-picker summary { padding:10px 0; color:#003595; font-size:13px; }
#princess-preview .companion-topic-picker .companion-suggestions { margin-top:5px; }
#princess-preview .companion-composer { flex:0 0 auto; background:#fff; padding:14px 16px 26px; border-top:1px solid #e1e8f2; box-shadow:0 -5px 18px #122e4e05; }
#princess-preview .companion-input-label { display:block; font-size:11px; color:#526479; margin:0 0 7px 2px; }
#princess-preview .companion-input-row { display:flex; align-items:flex-end; gap:4px; border:1px solid #b5c7df; background:#fff; border-radius:15px; padding:6px; }
#princess-preview .companion-input-row textarea { display:block; flex:1; min-width:0; width:100%; resize:none; border:0; border-radius:9px; background:#fff; color:#173047; font:inherit; font-size:16px; line-height:1.4; padding:7px; min-height:45px; max-height:100px; }
#princess-preview .companion-input-row textarea::placeholder { color:#6f7a88; }
#princess-preview .companion-send { width:36px; height:36px; min-height:36px; flex:0 0 auto; padding:7px; border-radius:50%; display:grid; place-items:center; margin:2px 0; }
#princess-preview .companion-voice-toggle { min-width:31px; width:31px; height:40px; padding:5px; }
#princess-preview .companion-composer > p { color:#758293; font-size:10px; text-align:center; margin:9px 0 0; }
#princess-preview .companion-voice-view { text-align:center; padding-top:2px; }
#princess-preview .companion-voice-orb { display:grid; place-items:center; width:84px; height:84px; margin:0 auto 20px; border-radius:50%; color:#003595; background:radial-gradient(circle at 30% 25%,#fff 0,#dceafe 50%,#bbd4f4 100%); box-shadow:0 0 0 12px #f4f8fd; }
#princess-preview .companion-voice-orb svg { width:36px; height:36px; }
#princess-preview .companion-voice-view .section-label { color:#526f91; font-size:10px; letter-spacing:1.2px; }
#princess-preview .companion-voice-view .companion-suggestions { margin-top:20px; }
#princess-preview .companion-voice-view > .quiet { margin-top:10px; }

#princess-preview .story-nav { grid-template-columns:repeat(7,minmax(0,1fr)); }
#princess-preview .phone-header { padding-left:18px; padding-right:18px; gap:8px; }
#princess-preview .phone-header .brand img { width:136px; }
#princess-preview .companion-launch { margin-left:auto; border:1px solid #c5d5eb; background:#eef4fc; color:#003595; border-radius:22px; padding:8px 10px; gap:5px; font-size:12px; min-height:38px; }
#princess-preview .phone-header .updates-button { min-width:32px; padding:6px; }
#princess-preview .phone-header .avatar { width:26px; height:26px; font-size:10px; }
#princess-preview .service-review h3,#princess-preview .service-receipt h3 { font-family:PrincessDisplay,Georgia,serif; font-size:26px; color:#003595; margin:8px 0 10px; }
#princess-preview .service-review > p,#princess-preview .service-receipt > p { color:#536479; font-size:14px; line-height:1.5; }
#princess-preview .service-review label { display:block; font-size:13px; font-weight:600; color:#203c5c; margin:18px 0 7px; }
#princess-preview .service-review textarea { display:block; width:100%; max-width:100%; resize:vertical; min-height:90px; padding:12px; border:1px solid #b9cce3; border-radius:9px; font:inherit; font-size:15px; line-height:1.5; color:#18334e; background:white; }
#princess-preview .service-routing { display:flex; gap:11px; align-items:flex-start; margin:17px 0; color:#003595; }
#princess-preview .service-routing > svg { flex-shrink:0; margin-top:3px; }
#princess-preview .service-routing strong { display:block; font-size:13px; }
#princess-preview .service-routing small { display:block; margin-top:3px; color:#5b6b7f; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
#princess-preview .service-buttons { display:grid; gap:8px; margin:19px 0 0; }
#princess-preview .service-success { display:flex; gap:10px; padding:15px; background:#eaf5f0; color:#176250; border-radius:10px; margin:0 0 19px; }
#princess-preview .service-success strong { display:block; font-size:13px; margin-top:4px; }
#princess-preview .service-summary { background:#f3f6fb; border-radius:11px; padding:16px; margin:18px 0; }
#princess-preview .service-summary p { font-size:14px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
#princess-preview .service-summary .section-label { display:block; margin-bottom:10px; }
#princess-preview .service-summary h4 { font-size:13px; color:#003595; margin:14px 0 6px; }
#princess-preview .service-error { color:#a52539!important; background:#fff0f2; padding:10px; border-radius:8px; }
#princess-preview .confirmation-email { border:1px solid #dce5ef; border-radius:12px; overflow:hidden; background:#fff; margin-top:12px; }
#princess-preview .email-brand { background:#003595; color:#fff; letter-spacing:3px; padding:22px; font-family:PrincessDisplay,Georgia,serif; font-size:26px; }
#princess-preview .email-addresses { padding:12px 18px; background:#f3f6fb; font-size:12px; }
#princess-preview .email-addresses .data-row { gap:12px; align-items:start; }
#princess-preview .email-addresses .data-row span:last-child { max-width:77%; overflow-wrap:anywhere; }
#princess-preview .confirmation-email > p { margin:15px 20px; font-size:14px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
#princess-preview .confirmation-email > h3 { margin:22px 20px 15px; font-size:23px; font-family:PrincessDisplay,Georgia,serif; color:#003595; }
#princess-preview .confirmation-email > h4 { margin:20px 20px -8px; font-size:13px; color:#003595; }
#princess-preview .service-evidence { margin-top:18px; padding-top:18px; border-top:1px solid #dce5ef; }
#princess-preview .onboard-care { padding:16px; border-radius:12px; background:#eef4fc; margin-bottom:18px; }
#princess-preview .onboard-care h3 { margin:7px 0; color:#003595; font-size:20px; }
#princess-preview .onboard-care p { font-size:13px; color:#526479; margin-bottom:8px; }
#princess-preview .onboard-care .care-actions { display:flex; gap:8px; flex-wrap:wrap; }
#princess-preview .onboard-care button { font-size:12px; padding:8px 12px; }
#princess-preview .phone-body .companion > .ask-inline { margin-top:12px; padding:6px 0; min-height:36px; }
@media(max-width:1100px){#princess-preview .story-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){#princess-preview .story-nav{grid-template-columns:repeat(4,minmax(0,1fr))}#princess-preview .story-nav .step-name{font-size:10px}}



#princess-preview .connection-status{padding:12px 16px;border-radius:10px;background:#eef4fc;color:#003595;margin-bottom:12px;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:13px}
#princess-preview .discovery-assistant{min-width:0;max-height:calc(100vh - 250px);min-height:540px;gap:14px}
#princess-preview .discovery-conversation{flex:1;min-height:160px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;padding-right:4px}
#princess-preview .discovery-conversation .bubble{flex-shrink:0;white-space:pre-line;overflow-wrap:anywhere}
#princess-preview .discovery-assistant .companion-composer{padding:12px 0 0;border-top:1px solid #dce5ef;background:transparent}
#princess-preview .discovery-assistant textarea{font:inherit;min-width:0;width:100%;resize:vertical;border:0;background:transparent;outline:0;color:#12314b}
#princess-preview .thinking{font-size:12px;color:#526479;padding:8px}
#princess-preview .record-link{display:inline-block;margin-top:12px;color:#003595;text-decoration:underline}
#princess-preview .companion-message p{white-space:pre-line}
.voice-audio-player{position:fixed;right:20px;bottom:20px;z-index:1000}
@media(max-width:900px){#princess-preview .discovery-assistant{max-height:650px;min-height:500px}}
@media(prefers-reduced-motion:reduce){#princess-preview *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
