.planner-page{min-height:calc(100dvh - var(--header-height));padding:58px max(24px, calc((var(--content-width,100vw) - 1180px) / 2)) 80px;background:var(--ut-color-canvas);color:var(--ut-color-text)}.planner-intro{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);align-items:end;gap:clamp(44px,8vw,112px);margin:0 auto 34px;display:grid}.planner-intro h1{max-width:760px;color:var(--ut-color-text);font-family:var(--ut-font-display);letter-spacing:-.065em;font-size:clamp(3.5rem,8vw,7rem);font-weight:680;line-height:var(--ut-leading-display);margin:0}.planner-intro p{max-width:680px;color:var(--ut-color-text-muted);margin:22px 0 0;font-size:16px;line-height:1.65}.planner-intro .primary-button{margin-top:24px}.planner-intro ul{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.planner-intro li{border-bottom:1px solid var(--line);color:var(--ut-color-text-muted);grid-template-columns:24px 1fr;align-items:center;gap:10px;padding:13px 0;font-size:13px;display:grid}.planner-intro li svg{color:var(--ut-color-route)}.trip-planner{border:1px solid var(--ut-color-border);background:var(--ut-color-surface);min-height:540px;box-shadow:var(--ut-shadow-raised);flex-direction:column;margin:0 auto;display:flex;position:relative}.planner-empty{text-align:center;flex:1;align-content:center;justify-items:center;padding:50px 28px 32px;display:grid}.planner-empty h2{color:var(--ut-color-text);font-family:var(--ut-font-display);letter-spacing:-.035em;margin:0;font-size:clamp(32px,4vw,48px);font-weight:680}.planner-empty>p{max-width:570px;color:var(--ut-color-text-muted);margin:10px 0 28px;font-size:14px;line-height:1.55}.planner-starters{grid-template-columns:repeat(3,1fr);gap:10px;width:min(760px,100%);display:grid}.planner-starters button{border:1px solid var(--line);min-height:118px;color:var(--ut-color-text);cursor:pointer;text-align:left;background:0 0;padding:18px;font-size:13px;line-height:1.45}.planner-starters button:hover,.planner-starters button:focus-visible{border-color:var(--ut-color-structural);background:var(--ut-color-surface-muted);color:var(--ut-color-text)}.trip-planner-hero{min-height:320px;box-shadow:none;background:0 0;border:0;margin:30px 0 0}.trip-planner-hero .planner-empty{text-align:left;flex:none;padding:0;display:block}.trip-planner-hero .planner-starters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.trip-planner-hero .planner-starters button{border-color:color-mix(in srgb, currentColor 28%, transparent);min-height:82px;color:inherit}.trip-planner-hero .planner-starters button:hover,.trip-planner-hero .planner-starters button:focus-visible{border-color:var(--ut-color-water);background:color-mix(in srgb, var(--ut-color-water) 12%, transparent);color:inherit}.trip-planner-hero .planner-composer,.trip-planner-hero .planner-queue,.trip-planner-hero .planner-error{width:100%}.trip-planner-hero:not(.has-conversation) .planner-composer{margin-top:12px}.trip-planner-hero:not(.has-conversation) .planner-composer textarea{border:0;min-height:112px;font-size:17px}.trip-planner-hero .planner-composer-note{color:color-mix(in srgb, currentColor 56%, transparent)}.trip-planner-hero.has-conversation{border:1px solid var(--ut-color-border);background:var(--ut-color-surface);min-height:560px;color:var(--ut-color-text)}.trip-planner-hero.has-conversation .planner-transcript{height:min(52dvh,520px);min-height:360px;padding:30px}.trip-planner-hero.has-conversation .planner-composer-note{color:var(--ut-color-text-muted)}.planner-toolbar{border-bottom:1px solid var(--line);min-height:48px;color:var(--ut-color-text-muted);font-family:var(--mono);letter-spacing:.03em;justify-content:space-between;align-items:center;padding:0 20px;font-size:10px;display:flex}.planner-toolbar button{color:var(--ut-color-structural);cursor:pointer;font-family:var(--sans);background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;font-size:12px;font-weight:720;display:inline-flex}.planner-transcript{scroll-behavior:smooth;flex-direction:column;gap:28px;height:min(64dvh,720px);min-height:420px;padding:clamp(28px,5vw,64px) clamp(24px,8vw,112px);display:flex;overflow-y:auto}.planner-message{width:min(760px,100%)}.planner-message.user{background:var(--ut-color-structural);width:min(620px,88%);color:var(--ut-color-on-structural);align-self:flex-end;padding:16px 18px}.planner-message-role{color:var(--ut-color-text-muted);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:750}.planner-message.user .planner-message-role{color:color-mix(in srgb, var(--ut-color-on-structural) 68%, transparent)}.planner-message.user p{white-space:pre-wrap;margin:0;font-size:15px;line-height:1.5}.planner-working{width:max-content;color:var(--ut-color-text-muted);font-family:var(--mono);letter-spacing:.03em;align-items:center;gap:9px;font-size:10px;display:inline-flex}.planner-working svg{animation:1s linear infinite planner-spin}.planner-progress,.planner-question,.assistant-answer,.validated-plan{align-self:flex-start;width:min(860px,100%)}.assistant-answer{border-left:3px solid var(--glacial);background:var(--ut-color-surface);padding:clamp(22px,4vw,38px)}.assistant-answer-copy p{color:var(--ut-color-text);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.62}.assistant-answer-copy p+p{margin-top:14px}.assistant-inline-map-reference,.plan-map-reference,.plan-map-title,.assistant-map-references button{color:var(--ut-color-structural);cursor:pointer;font:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:0;margin:0;padding:0;font-weight:720;text-decoration:underline;text-decoration-thickness:1px}.assistant-inline-map-reference:focus-visible,.plan-map-reference:focus-visible,.plan-map-title:focus-visible,.assistant-map-references button:focus-visible{outline:2px solid var(--glacial);outline-offset:3px}.assistant-map-references{flex-wrap:wrap;gap:8px 14px;margin-top:14px;display:flex}.assistant-map-references button{font-size:12px}.plan-map-title{font-weight:inherit}.assistant-answer-sources{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.assistant-answer-sources summary{color:var(--lodgepole);cursor:pointer;font-size:11px;font-weight:720}.assistant-answer-sources>div{gap:7px;margin-top:10px;display:grid}.assistant-answer-sources a{color:var(--lodgepole);gap:3px;font-size:11px;font-weight:720;display:grid}.assistant-answer-sources small,.assistant-answer-note{color:var(--ut-color-text-muted);font-size:9px;font-weight:500;line-height:1.45}.assistant-answer-limitations{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.assistant-answer-limitations h3{color:var(--lodgepole);margin:0 0 8px;font-size:11px}.assistant-answer-limitations ul{color:var(--ut-color-text-muted);gap:6px;margin:0;padding-left:18px;font-size:11px;line-height:1.45;display:grid}.assistant-answer-note{margin:14px 0 0}.planner-question{border-left:4px solid var(--safety);background:color-mix(in srgb, var(--ut-color-warning) 10%, var(--ut-color-surface));padding:clamp(22px,4vw,38px)}.planner-question h2{color:var(--ut-color-text);font-family:var(--ut-font-display);margin:0;font-size:clamp(26px,4vw,38px);font-weight:680;line-height:1.12}.planner-question p{color:var(--ut-color-text-muted);margin:10px 0 0;font-size:14px;line-height:1.55}.validated-plan{border:1px solid var(--ut-color-border);background:var(--ut-color-surface);gap:0;display:grid}.validated-plan>header,.validated-plan>section,.validated-plan>footer,.plan-validation-note{padding:clamp(22px,4vw,38px)}.validated-plan>section,.validated-plan>footer,.plan-validation-note{border-top:1px solid var(--line)}.validated-plan-header,.plan-section-heading{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.validated-plan-header h2{color:var(--ut-color-text);font-family:var(--ut-font-display);letter-spacing:-.04em;margin:0;font-size:clamp(34px,5vw,52px);font-weight:680;line-height:1}.validated-plan-header p,.plan-section-heading p,.plan-b>p{max-width:620px;color:var(--ut-color-text-muted);margin:12px 0 0;font-size:14px;line-height:1.55}.plan-route-link,.plan-section-heading>a{color:var(--ut-color-structural);text-underline-offset:3px;flex:none;align-items:center;gap:7px;font-size:12px;font-weight:760;text-decoration-thickness:1px;display:inline-flex}.plan-facts{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.plan-facts div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:16px 18px}.plan-facts dt{color:var(--ut-color-text-muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:9px}.plan-facts dd{color:var(--ut-color-text);margin:0;font-size:13px;font-weight:700;line-height:1.35}.validated-plan h3{color:var(--ut-color-text);font-family:var(--ut-font-display);margin:0 0 12px;font-size:24px;font-weight:680;line-height:1.15}.plan-route-evidence ul,.plan-checks>ul{color:var(--ut-color-text-muted);margin:0;padding-left:18px;font-size:13px;line-height:1.5}.plan-route-evidence li+li,.plan-checks>ul li+li{margin-top:6px}.plan-route-evidence>p{color:var(--ut-color-text-muted);margin:0 0 10px;font-size:14px;line-height:1.55}.plan-route-evidence ul{margin-top:18px}.plan-forecast-periods{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.plan-forecast-periods>div,.plan-places article{border:1px solid var(--line);gap:5px;padding:16px;display:grid}.plan-forecast-periods strong,.plan-places strong,.plan-places .plan-map-reference{color:var(--lodgepole);font-size:13px}.plan-forecast-periods span,.plan-places span{font-size:12px;font-weight:680}.plan-forecast-periods small,.plan-limitation,.plan-alerts span{color:var(--ut-color-text-muted);font-size:11px;line-height:1.45}.plan-alerts{border-top:1px solid var(--line);gap:6px;margin-top:18px;padding:14px 0 0;display:grid}.plan-alerts a,.plan-places a{width:max-content;max-width:100%;color:var(--lodgepole);font-size:11px;font-weight:720}.plan-limitation{margin:14px 0 0}.plan-places>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.plan-places article p{margin:2px 0 0}.plan-b{background:var(--ut-color-surface-muted)}.plan-b h3{margin-bottom:0;font-size:30px}.plan-check-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;display:grid}.plan-check-links a{border:1px solid var(--line);color:var(--lodgepole);gap:3px;padding:12px;font-size:12px;font-weight:720;text-decoration:none;display:grid}.plan-check-links small{color:var(--ut-color-text-muted);font-size:9px;font-weight:500;line-height:1.4}.plan-validation-note{background:color-mix(in srgb, var(--ut-color-warning) 10%, var(--ut-color-surface))}.plan-validation-note p{color:var(--ut-color-text-muted);margin:0;font-size:11px;line-height:1.45}.planner-queue{gap:6px;width:min(840px,100% - 48px);max-height:132px;margin:0 auto 10px;padding:0;list-style:none;display:grid;overflow-y:auto}.planner-queue li{border:1px solid var(--ut-color-border-subtle);background:var(--ut-color-surface-muted);grid-template-columns:auto minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:38px;padding:4px 4px 4px 10px;display:grid}.planner-queue-order{color:var(--ut-color-text-muted);font-family:var(--mono);text-transform:uppercase;font-size:9px}.planner-queue-copy{color:var(--ut-color-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.planner-queue button{width:32px;height:32px;color:var(--ut-color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.planner-queue button:hover,.planner-queue button:focus-visible{background:var(--ut-color-surface-muted);color:var(--ut-color-text)}.planner-composer{width:min(840px,100% - 48px);margin:0 auto 8px;position:relative}.planner-composer textarea{resize:none;border:1px solid var(--ut-color-border);border-radius:var(--ut-radius-control);background:var(--ut-color-surface);width:100%;min-height:72px;color:var(--ut-color-text);outline:none;padding:18px 66px 18px 18px;font-size:15px;line-height:1.5;display:block}.planner-composer.is-busy textarea{border:0;min-height:88px;padding:16px}.trip-planner:not(.has-conversation) .planner-composer textarea{min-height:120px}.planner-composer textarea:focus{border-color:var(--ut-color-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--ut-color-focus) 18%, transparent)}.planner-composer.is-busy{border:1px solid var(--ut-color-border);border-radius:var(--ut-radius-control);background:var(--ut-color-surface)}.planner-composer.is-busy:focus-within{border-color:var(--ut-color-focus);box-shadow:0 0 0 2px color-mix(in srgb, var(--ut-color-focus) 18%, transparent)}.planner-composer.is-busy textarea:focus{box-shadow:none}.planner-composer-actions{align-items:center;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.planner-composer.is-busy .planner-composer-actions{flex-wrap:wrap;justify-content:flex-end;padding:0 12px 12px;position:static}.planner-send{background:var(--ut-color-structural);width:42px;height:42px;color:var(--ut-color-on-structural);cursor:pointer;border:0;place-items:center;display:grid}.planner-send-labeled{gap:.625rem;width:auto;min-width:9rem;padding:0 1rem;font-size:.875rem;font-weight:700;display:inline-flex}.planner-send:disabled{background:var(--ut-color-surface-muted);color:var(--ut-color-text-muted);cursor:default}.planner-composer-action{border:1px solid var(--ut-color-border);border-radius:var(--ut-radius-control);background:var(--ut-color-surface);height:42px;color:var(--ut-color-structural);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:760;display:inline-flex}.planner-composer-action:disabled{color:var(--ut-color-text-muted);cursor:default}.planner-composer-action:not(:disabled):hover,.planner-composer-action:not(:disabled):focus-visible{border-color:var(--lodgepole)}.planner-stop{border-color:var(--ut-color-warning);background:color-mix(in srgb, var(--ut-color-warning) 12%, var(--ut-color-surface));color:var(--ut-color-text)}.planner-send-now{background:var(--paper)}.planner-queue-send{border-color:var(--ut-color-structural);background:var(--ut-color-structural);color:var(--ut-color-on-structural)}.planner-queue-send:disabled{border-color:var(--ut-color-border);background:var(--ut-color-surface-muted);color:var(--ut-color-text-muted)}.planner-composer-note{color:var(--ut-color-text-muted);font-family:var(--mono);text-align:center;margin:0 auto 18px;font-size:9px}.planner-error{border:1px solid var(--ut-color-warning);background:color-mix(in srgb, var(--ut-color-warning) 10%, var(--ut-color-surface));width:min(840px,100% - 48px);margin:0 auto 18px;padding:12px 14px;font-size:13px}.planner-caveat{max-width:760px;color:var(--ut-color-text-muted);text-align:center;margin:20px auto 0;font-size:12px;line-height:1.55}@keyframes planner-spin{to{transform:rotate(360deg)}}@media (width<=820px){.planner-page{padding-top:38px}.planner-intro{grid-template-columns:1fr;gap:28px}.planner-intro ul{display:none}.planner-starters{grid-template-columns:1fr}.planner-starters button{min-height:0}.trip-planner-hero .planner-starters{grid-template-columns:1fr}.trip-planner-hero .planner-starters button{min-height:0}.planner-transcript{height:58dvh;padding:28px 20px}.validated-plan-header,.plan-section-heading{flex-direction:column;gap:16px}.plan-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-forecast-periods,.plan-places>div{grid-template-columns:1fr}}@media (width<=560px){.planner-page{padding-bottom:54px;padding-left:0;padding-right:0}.planner-intro{padding:0 20px}.planner-intro h1{font-size:50px}.trip-planner{box-shadow:none;border-left:0;border-right:0}.trip-planner-hero{min-height:0;margin-top:26px}.trip-planner-hero.has-conversation{margin-left:-20px;margin-right:-20px}.planner-empty{padding:38px 20px 24px}.planner-composer,.planner-queue,.planner-error{width:calc(100% - 32px)}.planner-toolbar{padding:0 16px}.planner-message.user{width:92%}.plan-facts,.plan-check-links{grid-template-columns:1fr}.validated-plan>header,.validated-plan>section,.validated-plan>footer,.plan-validation-note{padding:22px 18px}}@media (prefers-reduced-motion:reduce){.planner-transcript{scroll-behavior:auto}.planner-working svg{animation:none}}
