/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Outfit", "Noto Sans SC", "Source Han Sans SC", "PingFang SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-sm:10px;--radius-lg:16px;--radius-xl:20px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-foreground:var(--label);--color-card:var(--bg-elevated);--color-card-foreground:var(--label);--color-primary:var(--blue);--color-primary-foreground:oklch(98.5% .004 80);--color-primary-pressed:var(--blue-pressed);--color-secondary:var(--fill);--color-secondary-foreground:var(--label);--color-muted:var(--fill-secondary);--color-muted-foreground:var(--label-tertiary);--color-accent:var(--sage);--color-destructive:var(--red);--color-success:var(--green);--color-border:var(--separator);--color-ring:var(--sage-ring);--shadow-card:var(--shadow);--shadow-float:var(--shadow-float)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.\!inline{display:inline!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.shrink{flex-shrink:1}.resize{resize:both}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--color-border)}.bg-accent{background-color:var(--color-accent)}.bg-card{background-color:var(--color-card)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success\/15{background-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--color-success) 15%,transparent)}}.bg-transparent{background-color:#0000}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.pb-0{padding-bottom:0}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-foreground{color:var(--color-foreground)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-success{color:var(--color-success)}.uppercase{text-transform:uppercase}.shadow-\[var\(--shadow-card\)\]{--tw-shadow:var(--shadow-card);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/10:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-primary-pressed:hover{background-color:var(--color-primary-pressed)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 40%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}:root{color-scheme:light only;--bg: oklch(.994 .002 72);--bg-elevated: oklch(.999 .001 72);--label: oklch(.24 .01 58);--label-secondary: oklch(.4 .008 58);--label-tertiary: oklch(.5 .007 58);--separator: oklch(.932 .004 72);--fill: oklch(.966 .016 236);--fill-secondary: oklch(.984 .008 236);--blue: oklch(.32 .018 55);--blue-pressed: oklch(.26 .016 55);--sage: oklch(.938 .032 236);--sage-hover: oklch(.912 .038 236);--sage-border: oklch(.8 .042 236);--sage-ink: oklch(.32 .042 244);--sage-ring: oklch(.62 .07 236 / .28);--tab-on: oklch(.32 .018 55);--tab-on-hover: oklch(.26 .016 55);--tab-on-ink: oklch(.98 .006 80);--green: oklch(.46 .13 150);--red: oklch(.5 .14 28);--orange: oklch(.5 .13 62);--wx-sun: oklch(.78 .12 72);--wx-cloud: oklch(.72 .028 236);--wx-rain: oklch(.66 .08 236);--wx-storm: oklch(.58 .09 250);--wx-snow: oklch(.76 .045 230);--dot: oklch(.905 .006 72);--shadow: 0 1px 2px oklch(.24 .01 58 / .04), 0 10px 28px oklch(.24 .01 58 / .05);--shadow-float: 0 18px 48px oklch(.24 .01 58 / .12);--radius-sm: 10px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--nav-h: 52px;--rail-w: 68px;--inspector-w: 300px;--workspace-pane-max: 840px;--chat-pane-max: 540px;--safe-x: max(20px, env(safe-area-inset-left));--font-display: "Outfit", "Noto Sans SC", "PingFang SC", sans-serif;--font-ui: "Outfit", "Noto Sans SC", "Source Han Sans SC", "PingFang SC", sans-serif;--canvas-dots: radial-gradient(circle, var(--dot) 1px, transparent 1.2px);font-family:var(--font-ui);font-size:16px;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--label)}body,#root{min-height:100dvh}a{color:var(--blue);text-decoration:none}a:hover{opacity:.85}button,input,select,textarea{font:inherit;letter-spacing:inherit}.app-frame{display:flex;min-height:100dvh;background:var(--bg)}.app-rail{position:sticky;top:0;z-index:60;display:none;flex-direction:column;align-items:center;width:var(--rail-w);height:100dvh;padding:16px 0 18px;background:var(--bg-elevated);border-right:1px solid var(--separator)}.app-rail-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px}.app-rail-logo:hover{opacity:1;background:var(--fill)}.app-rail-logo img{width:28px;height:28px;border-radius:8px;object-fit:cover}.app-rail-nav{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:22px;flex:1}.app-rail-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--label-secondary);background:transparent}.app-rail-btn:hover{color:var(--label);background:var(--fill);opacity:1}.app-rail-btn.is-on{color:var(--sage-ink);background:var(--sage)}.app-rail-foot{margin-top:auto}.logout-confirm{width:min(360px,92vw);padding:24px 24px 20px}.logout-confirm .journal-drawer-title{font-size:22px}.logout-confirm-copy{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--label-secondary)}.logout-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.app-stage{flex:1;min-width:0;min-height:100dvh;display:flex;flex-direction:column}.shell{flex:1;min-width:0;min-height:0;max-width:none;margin:0;padding:0}.shell:has(.trip-workspace){display:flex;flex-direction:column;overflow:hidden}.shell:has(.trip-export){max-width:760px;width:100%;margin:0 auto;padding:28px var(--safe-x) 72px;overflow:visible}.topbar{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;justify-content:center;padding:0 var(--safe-x);background:var(--bg-elevated);border-bottom:1px solid var(--separator);backdrop-filter:none;-webkit-backdrop-filter:none}.topbar-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--label);letter-spacing:-.02em}.brand-mark{width:28px;height:28px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#eaf1ea}@media(min-width:900px){.app-rail{display:flex}.topbar{display:none}.app-frame:has(.trip-workspace),.app-frame:has(.studio){height:100dvh;overflow:hidden}}.brand:hover{opacity:1;text-decoration:none}.nav-trailing{display:flex;align-items:center;gap:10px;min-width:0}.nav-user{font-size:15px;color:var(--label-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.large-title{font-size:34px;font-weight:700;letter-spacing:.37px;line-height:1.15;margin:8px 0 6px}h1{font-size:28px;font-weight:700;letter-spacing:.36px;line-height:1.2;margin:0 0 8px}h2{font-size:20px;font-weight:600;letter-spacing:-.45px;margin:0 0 10px}h3{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--label-secondary);margin:28px 0 10px}.muted{color:var(--label-tertiary);font-size:15px;line-height:1.4}.footnote{font-size:13px;color:var(--label-tertiary);line-height:1.35}.panel{background:transparent;border-radius:0;padding:16px 0 0;margin-bottom:20px;border-top:1px solid var(--separator)}.panel.inset{padding:0;overflow:hidden}.panel-header{padding:14px 16px 6px}.panel-body{padding:0 16px 16px}.stack{display:grid;gap:16px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row.between{justify-content:space-between}.list{list-style:none;margin:0;padding:0;background:transparent;border-radius:0;overflow:visible;border-top:none;display:grid;gap:8px}.list li{position:relative;padding:12px 14px;min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:2px;background:var(--fill-secondary);border:1px solid transparent;border-radius:14px}.list li+li:before{content:none}.list li.row-item{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.list a.list-link{color:inherit;display:block}.list a.list-link:hover{opacity:1}.list-title{font-size:17px;font-weight:400;color:var(--label)}.list-subtitle{font-size:13px;color:var(--label-tertiary)}.chevron{color:var(--label-tertiary);font-size:18px;font-weight:300;line-height:1}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;background:var(--fill-secondary);border:1px solid var(--separator);border-radius:12px;color:var(--label);padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus{box-shadow:0 0 0 3px var(--sage-ring);border-color:var(--sage-border);background:var(--bg-elevated)}input::placeholder{color:var(--label-tertiary)}@layer base{button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:550;cursor:pointer;background:var(--blue);color:#f5faf5;transition:background .16s ease,opacity .16s ease,transform .16s ease}button:hover{background:var(--blue-pressed)}button:active{opacity:.9}button:disabled{opacity:.4;cursor:not-allowed}}button.secondary{background:var(--fill);color:var(--label)}button.secondary:hover{background:var(--sage)}button.plain,a.plain{background:transparent;color:var(--label);padding:8px 10px;border-radius:10px}button.plain:hover,a.plain:hover{background:var(--fill-secondary);opacity:1}button.destructive{background:transparent;color:var(--red)}button.destructive:hover{background:#a43c331a;color:var(--red)}button.destructive:active{background:#a43c3329}.tabs{display:inline-flex;gap:2px;padding:3px;margin-bottom:16px;background:color-mix(in oklch,var(--separator) 42%,var(--bg-elevated));border:1px solid var(--separator);border-radius:999px}.tab{flex:0 0 auto;min-width:0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:550;color:var(--label-secondary);background:transparent;cursor:pointer;box-shadow:none}.tab:hover{background:transparent;color:var(--label)}.tab.active{background:var(--tab-on);color:var(--tab-on-ink);font-weight:600;box-shadow:none}.tab.active:hover{background:var(--tab-on-hover);color:var(--tab-on-ink)}.tab:active{transform:none}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:550;line-height:1.2;padding:3px 8px;border-radius:999px;background:var(--fill);color:var(--label-secondary);border:none;text-transform:none;letter-spacing:.02em}.badge.blue{background:var(--sage);color:var(--sage-ink)}.badge.green{background:color-mix(in oklch,var(--green) 16%,transparent);color:var(--green)}.ok{color:var(--green);font-size:15px;font-weight:510}.err{color:var(--red);font-size:15px}.mono{font-family:SF Mono,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:13px;letter-spacing:-.01em;word-break:break-all;color:var(--label-secondary)}.trip-workspace{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;background-color:var(--bg);background-image:var(--canvas-dots);background-size:18px 18px}.trip-workspace-bar{flex-shrink:0;padding:10px 16px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--separator);z-index:5}.trip-workspace-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:44px}.trip-workspace-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.trip-workspace-back{flex-shrink:0}.trip-workspace-identity-text{min-width:0}.trip-workspace-title{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-workspace-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:2px;font-size:13px;color:var(--label-secondary)}.trip-workspace-meta .trip-dates{margin:0;font-size:13px;color:var(--label-secondary);font-weight:510}.trip-workspace-meta .trip-dates-edit{padding:2px 6px;font-size:13px}.trip-workspace-role{margin-left:2px;transform:scale(.92);transform-origin:left center}.trip-workspace-actions{display:flex;flex-shrink:0;gap:6px;align-items:center;justify-self:end}.trip-workspace-maps-hint{margin:6px 0 8px;font-size:12px;line-height:1.4;color:var(--label-secondary)}.trip-workspace-tabs.tabs{margin:0;justify-self:center;min-width:0}.trip-workspace-tabs .tab{flex:0 0 auto;padding:6px 13px;font-size:13px;white-space:nowrap}.trip-workspace-refresh{padding:7px 12px;font-size:13px;border-radius:999px}.trip-workspace-actions .plain.trip-workspace-refresh.is-on{background:var(--blue);color:#f5faf5}.trip-workspace-actions .plain.trip-workspace-refresh.is-on:hover{background:var(--blue-pressed);color:#f5faf5}.trip-workspace-date-edit{margin-top:10px;margin-bottom:8px}.trip-workspace-body{flex:1;min-height:0;display:grid;grid-template-columns:4fr 6fr;gap:14px;overflow:hidden;padding:14px 16px 16px}.trip-workspace-body.has-chat{grid-template-columns:4fr 3fr 3fr}.trip-workspace-body.map-off{justify-content:center;grid-template-columns:minmax(0,var(--workspace-pane-max))}.trip-workspace-body.has-chat.map-off{justify-content:center;grid-template-columns:minmax(0,var(--workspace-pane-max)) minmax(0,var(--chat-pane-max))}.trip-workspace-body.map-off .trip-workspace-map{display:none}.trip-workspace-body.map-off .trip-workspace-list{width:100%;max-width:var(--workspace-pane-max)}.trip-workspace-body.has-chat.map-off .trip-chat-col{width:100%;max-width:var(--chat-pane-max)}.trip-chat-col{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.trip-chat-col-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.trip-chat-col-heading{display:flex;align-items:baseline;gap:8px;min-width:0}.trip-chat-col-status{font-size:11px;letter-spacing:.02em;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.trip-chat-col-actions{display:flex;align-items:center;gap:4px}.trip-chat-collapse{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--label-secondary)}.trip-chat-collapse:hover{color:var(--label)}.trip-chat-col-title{margin:0;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.02em}.trip-workspace-list{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.trip-workspace-list-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 0 16px;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.trip-chat-log{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0 0 10px;display:grid;align-content:start;gap:14px}.trip-chat-hist-load{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--label-tertiary)}.trip-chat-empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 4px 8px}.trip-chat-empty-title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.03em;color:var(--label)}.trip-chat-empty-copy{margin:0;font-size:13px;line-height:1.5;color:var(--label-tertiary)}.trip-chat-caps{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}.trip-chat-caps li{padding:8px 12px;border-radius:var(--radius-sm);background:var(--sage);font-size:13px;font-weight:500;line-height:1.45;color:var(--sage-ink)}.trip-chat-day{justify-self:center;margin:6px 0 2px;font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--label-tertiary)}.trip-chat-bubble{max-width:88%}.trip-chat-bubble p{margin:0;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--label)}.trip-chat-bubble-user{justify-self:end;padding:8px 12px 9px;border-radius:16px 16px 6px;background:var(--sage)}.trip-chat-pending{display:block;margin-top:4px;font-size:11px;letter-spacing:.04em;text-align:right;color:var(--label-tertiary)}.trip-chat-reply{justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;min-width:0}.trip-chat-bubble-agent{justify-self:start;max-width:100%;padding:0;background:transparent}.trip-chat-thought{width:100%}.trip-chat-thought-toggle{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 2px 2px 0;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.trip-chat-thought-toggle:disabled{opacity:1;cursor:default}.trip-chat-thought-toggle:hover{color:var(--label-secondary);background:transparent}.trip-chat-thought-chev{flex-shrink:0;transition:transform .18s cubic-bezier(.25,1,.5,1)}.trip-chat-thought-chev.is-open{transform:rotate(90deg)}.trip-chat-steps-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.25,1,.5,1)}.trip-chat-steps-wrap.is-open{grid-template-rows:1fr}.trip-chat-steps-wrap>.trip-chat-steps{overflow:hidden}.trip-chat-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:2px 0 4px;list-style:none}.trip-chat-step-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--sage);color:var(--label-secondary);font-size:11px;letter-spacing:.02em}.trip-chat-followups{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}button.plain.trip-chat-followup{height:auto;min-height:28px;padding:5px 10px;border:1px solid var(--separator);border-radius:999px;background:var(--bg-elevated);color:var(--label-secondary);font-size:12px;font-weight:500;line-height:1.3}button.plain.trip-chat-followup:hover{border-color:var(--sage-border);background:var(--sage);color:var(--label)}.trip-chat-err{padding:8px 10px;border-radius:10px;background:#a43c3314;color:var(--red);font-size:13px}.trip-chat-pixels{display:grid;grid-template-columns:repeat(4,3px);gap:1.5px;width:16.5px;height:16.5px;flex-shrink:0}.trip-chat-pixels i{display:block;background:var(--blue);border-radius:.5px;opacity:.18;animation:trip-chat-pixel 1.05s cubic-bezier(.25,1,.5,1) infinite;animation-delay:calc(var(--i) * 55ms)}@keyframes trip-chat-pixel{0%,to{opacity:.16}40%{opacity:.72}}.trip-chat-preview{display:flex;align-items:flex-start;gap:6px}.trip-chat-preview img,.trip-chat-preview-ph{width:48px;height:48px;border-radius:8px;background:var(--fill);object-fit:cover}.trip-chat-preview-ph{display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--label-tertiary)}.trip-chat-file-chip{display:inline-flex;align-items:center;max-width:min(100%,280px);min-height:36px;padding:6px 10px;border-radius:10px;background:var(--sage);color:var(--sage-ink);font-size:12px;line-height:1.35;word-break:break-all}.trip-chat-preview-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--label-secondary)}.trip-chat-preview-remove:hover{color:var(--label)}.trip-chat-thumb{display:block;max-width:168px;max-height:168px;width:auto;height:auto;margin-top:6px;border-radius:3px;object-fit:cover}button.plain.trip-chat-thumb-btn{display:block;width:fit-content;max-width:100%;padding:0;margin:0;background:transparent;cursor:zoom-in}button.plain.trip-chat-thumb-btn:hover{background:transparent;opacity:.92}.trip-chat-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:56px 20px 20px;background:#12171bc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trip-chat-lightbox img{max-width:min(96vw,1400px);max-height:calc(100dvh - 76px);width:auto;height:auto;object-fit:contain;border-radius:4px}.trip-chat-lightbox-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:#f5f9fc}.trip-chat-lightbox-close:hover{background:#ffffff1f;color:#f5f9fc}@media print{.trip-chat-lightbox{display:none!important}}.trip-chat-note-card{display:flex;align-items:center;gap:8px;margin:0 0 6px;padding:4px 8px 4px 4px;border-radius:10px;background:var(--sage)}.trip-chat-note-card img{width:36px;height:36px;object-fit:cover;border-radius:2px;flex-shrink:0}.trip-chat-note-card span{font-size:12px;line-height:1.35;color:var(--label);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.trip-chat-source.plain{display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:4px 10px 4px 4px;text-align:left;background:var(--fill);color:var(--label);border:1px solid transparent;border-radius:999px}.trip-chat-source.plain:hover{background:var(--fill-secondary);color:var(--label)}.trip-chat-source.plain.is-on{background:var(--sage);border-color:var(--sage-border);color:var(--label)}.trip-chat-source.plain.is-on:hover{background:var(--sage-hover)}.trip-chat-source img,.trip-chat-source-ph{width:22px;height:22px;object-fit:cover;border-radius:999px;flex-shrink:0;background:var(--fill-secondary)}.trip-chat-source-copy{min-width:0;display:flex;align-items:baseline;gap:6px}.trip-chat-source-label{flex-shrink:0;font-size:11px;letter-spacing:.04em;color:var(--label-tertiary)}.trip-chat-source.is-on .trip-chat-source-label{color:var(--sage-ink)}.trip-chat-source-title{font-size:12px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.trip-chat-prompt{display:flex;flex-direction:column;gap:8px;padding:10px 10px 8px;background:color-mix(in oklch,var(--bg-elevated) 88%,var(--fill));border:1px solid var(--separator);border-radius:20px;box-shadow:0 1px #fff9 inset;transition:border-color .15s ease,box-shadow .15s ease}.trip-chat-prompt:focus-within{border-color:var(--sage-border);box-shadow:0 1px #fff9 inset}.trip-chat-prompt textarea{display:block;width:100%;min-height:24px;max-height:128px;margin:0;padding:2px 6px 0;resize:none;overflow-y:auto;border:none;border-radius:0;background:transparent;color:var(--label);font-size:14px;line-height:1.45;outline:none;box-shadow:none}.trip-chat-prompt textarea::placeholder{color:var(--label-tertiary)}.trip-chat-prompt textarea:focus{box-shadow:none;border:none;background:transparent}.trip-chat-prompt-bar{display:flex;align-items:center;gap:4px}.trip-chat-prompt-hint{flex:1;min-width:0;font-size:11px;letter-spacing:.02em;color:var(--label-tertiary)}.trip-chat-attach{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:1px solid var(--separator);border-radius:999px;color:var(--label-secondary)}button.plain.trip-chat-attach:hover{background:var(--fill);border-color:color-mix(in oklch,var(--label) 16%,var(--separator));color:var(--label)}button.plain.trip-chat-attach:disabled{opacity:.45}.trip-chat-prompt button.trip-chat-send{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border-radius:999px;background:var(--blue);color:#f5faf5}.trip-chat-prompt button.trip-chat-send:hover{background:var(--blue-pressed)}.trip-chat-prompt button.trip-chat-send:disabled{background:var(--sage);color:color-mix(in oklch,var(--sage-ink) 42%,transparent);opacity:1}.journal-day-rail{position:sticky;top:0;z-index:4;display:flex;gap:6px;padding:12px 14px 10px;overflow-x:auto;background:var(--bg-elevated);border-bottom:1px solid color-mix(in oklch,var(--separator) 80%,transparent);-webkit-overflow-scrolling:touch;scrollbar-width:none}.journal-day-rail::-webkit-scrollbar{display:none}.journal-day-index{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;margin:0;padding:7px 12px 8px;border:1px solid transparent;border-radius:12px;background:transparent;box-shadow:none;color:var(--label-tertiary);cursor:pointer}.journal-day-index:hover{background:var(--fill);color:var(--label)}.journal-day-index.is-active{background:var(--sage);color:var(--label);border-color:var(--sage-border);box-shadow:none}.journal-day-index-n{font-size:11px;font-weight:500;letter-spacing:.12em}.journal-day-index-d{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.02em}.journal-day-index-city{max-width:6.5em;margin-top:1px;font-size:12px;font-weight:500;letter-spacing:.04em;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-workspace-map{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--fill);position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--separator)}.map-pane-toolbar{flex-shrink:0;display:flex;align-items:center;gap:8px;z-index:520;padding:0 12px 0 4px;border-bottom:1px solid var(--separator);background:var(--bg-elevated)}.map-pane-day-label{min-width:0;margin-left:auto;font-size:12px;font-weight:500;color:var(--label-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pane-body{flex:1;min-width:0;min-height:0;position:relative;display:flex;flex-direction:column}.trip-workspace-map .map-pane-body>.day-map-panel.day-map-wrap{flex:1;min-height:0;margin:0;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;max-height:none;background:var(--fill);position:relative}.trip-workspace-map .day-map-panel .day-map{flex:1 1 auto;height:100%!important;min-height:0;width:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.day-map-empty-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px;background:#e8eaefb8;pointer-events:none}.day-map-empty-card{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:280px;padding:18px 20px;border-radius:14px;background:#fffffff2;box-shadow:0 4px 20px #00000014;color:var(--label-tertiary);font-size:14px;text-align:center;pointer-events:none}.trip-workspace-map .day-map-panel .day-map-legend{position:absolute;left:12px;right:12px;bottom:12px;z-index:450;max-height:min(28dvh,200px);overflow:auto;flex-shrink:0;margin:0;padding:10px;border-radius:14px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 28px #0000001a;border:.5px solid rgba(255,255,255,.85)}.trip-workspace-map .day-map-provider-badge{top:12px;right:12px;background:#ffffffeb}.map-pane-switch{display:inline-flex;align-items:stretch;align-self:stretch;gap:0;margin:0}button.plain.map-pane-switch-btn{position:relative;margin:0;padding:11px 11px 10px;border-radius:0;background:transparent;color:var(--label-tertiary);font-size:13px;font-weight:550;letter-spacing:.04em;box-shadow:none}button.plain.map-pane-switch-btn:hover{background:transparent;color:var(--label)}button.plain.map-pane-switch-btn.is-on{color:var(--label);font-weight:650}button.plain.map-pane-switch-btn.is-on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--sage-ink)}button.plain.map-pane-switch-btn:focus-visible{outline:2px solid var(--sage-ring);outline-offset:-2px}.trip-workspace-map.is-candidates .day-map-panel{visibility:hidden;pointer-events:none}.map-pane-candidates{position:absolute;top:0;right:0;bottom:0;left:0;z-index:480;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 20px;background:var(--bg-elevated)}.map-pane-candidates .candidate-city-rail{top:-12px;background:color-mix(in oklch,var(--bg-elevated) 92%,transparent)}.map-pane-candidates .empty{margin:24px 0}.trip-workspace-pane{flex:1;min-height:0;overflow-y:auto;padding:18px 20px 48px;max-width:var(--workspace-pane-max);width:calc(100% - 32px);margin:14px auto 16px;box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.trip-workspace-empty{margin:16px 16px 40px;max-width:none}.days-empty-guide{padding:2px 0 4px}.days-empty-guide h3{margin:0 0 6px;font-family:var(--font-display);font-size:22px;font-weight:650;letter-spacing:-.03em;color:var(--label)}.days-empty-lead{margin:0 0 22px;max-width:28em;font-size:14px;line-height:1.6;color:var(--label-secondary)}.days-empty-steps{list-style:none;margin:0;padding:0}.days-empty-steps>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px 12px;align-items:start;margin:0;padding:0 0 16px}.days-empty-steps>li:last-child{padding-bottom:0}.days-empty-stamp{display:flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;border-radius:9px;background:var(--fill);font-family:var(--font-display);font-size:11px;font-weight:650;letter-spacing:.04em;line-height:1;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.days-empty-steps>li:not(:last-child) .days-empty-stamp:after{content:"";position:absolute;left:50%;top:30px;bottom:-16px;width:1px;transform:translate(-50%);background:var(--separator)}.days-empty-steps>li.is-start .days-empty-stamp{background:var(--sage);color:var(--sage-ink);box-shadow:inset 0 0 0 1px var(--sage-border)}.days-empty-copy h4{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:3px 0 4px;font-size:15px;font-weight:650;line-height:22px;letter-spacing:-.01em;color:var(--label)}.days-empty-copy p{margin:0;font-size:13.5px;line-height:1.6;color:var(--label-secondary)}.days-empty-badge{display:inline-block;padding:1px 7px 2px;border-radius:999px;background:var(--sage);color:var(--sage-ink);font-size:11px;font-weight:600;letter-spacing:.04em;line-height:1.35}.days-empty-copy .days-empty-meta{margin-top:6px;font-size:12px;color:var(--label-tertiary)}.days-empty-key{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 2px;border:1px solid var(--separator);border-radius:5px;background:var(--bg-elevated);font-family:var(--font-display);font-size:12px;font-weight:650;line-height:1;color:var(--label);vertical-align:-3px}.days-empty-alt{margin:18px 0 0;padding:14px 0 0;border-top:1px dashed var(--separator);font-size:13.5px;line-height:1.6;color:var(--label-secondary)}.days-empty-alt-kicker{display:block;margin:0 0 4px;font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--label-tertiary)}.activity-log-list .list-title{font-size:15px;line-height:1.45}.activity-log-list .list-subtitle{margin-top:2px}.activity-log-more{margin-top:12px}.trip-workspace-list .day-section,.trip-workspace-list .journal-day{margin:12px 14px 16px;padding:4px 6px 18px;border-radius:0;background:transparent;box-shadow:none;border:none;border-bottom:1px solid var(--separator)}.trip-workspace-list .day-section.is-selected-day,.trip-workspace-list .journal-day.is-selected-day{border-color:var(--separator);box-shadow:none;background:transparent}.trip-workspace-list .journal-day-toc{list-style:none;margin:0;padding:0;border-top:none}.trip-workspace-list .block-item,.trip-workspace-list .journal-entry{cursor:default;padding:12px 10px;min-height:0;background:transparent;border-radius:12px}.trip-workspace-list .journal-entry+.journal-entry{border-top:none;margin-top:4px}.trip-workspace-list .journal-entry:before,.trip-workspace-list .journal-day-toc>li+li:before{content:none}.trip-workspace-list .block-item.is-map-active,.trip-workspace-list .journal-entry.is-map-active{background:transparent;outline:none}.trip-workspace-list .journal-entry.is-map-active{background:color-mix(in oklch,var(--sage) 38%,transparent)}.trip-workspace-list .journal-entry.is-map-active .journal-entry-title,.trip-workspace-list .journal-entry.is-map-active strong{color:var(--label)}.trip-workspace-list .day-side-expenses{margin-top:18px}.journal-day-expenses .journal-entry{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}@media(max-width:960px){.shell:has(.trip-workspace){height:auto;min-height:0;overflow:visible}.trip-workspace{overflow:visible;min-height:0}.trip-workspace-bar{position:sticky;top:var(--nav-h);z-index:500;background:var(--bg-elevated);backdrop-filter:none;-webkit-backdrop-filter:none}.trip-workspace-identity{flex:1 1 100%}.trip-workspace-bar-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.trip-workspace-tabs.tabs{order:3;width:100%;justify-content:flex-start;overflow-x:auto}.trip-workspace-actions{width:100%;justify-content:flex-start;margin-left:0}.trip-workspace-body,.trip-workspace-body.has-chat,.trip-workspace-body.map-off,.trip-workspace-body.has-chat.map-off{grid-template-columns:1fr;grid-template-rows:minmax(260px,36dvh) minmax(180px,1fr);overflow:visible;padding:10px 12px 16px}.trip-workspace-body.has-chat{grid-template-rows:minmax(220px,32dvh) minmax(160px,1fr) minmax(220px,34dvh)}.trip-workspace-body.map-off{grid-template-rows:minmax(180px,1fr)}.trip-workspace-body.has-chat.map-off{grid-template-rows:minmax(180px,1fr) minmax(220px,34dvh)}.trip-workspace-map{order:-1;min-height:220px;max-height:36dvh}.trip-chat-col{order:2;min-height:200px;max-width:none}.trip-workspace-list{overflow:visible}.trip-workspace-map .day-map-panel .day-map-legend{max-height:100px}.journal-day-rail{position:relative}}.day-section{margin-bottom:0;scroll-margin-top:56px}.journal-day-head{display:block;width:100%;margin:18px 0 12px;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.journal-day-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:4px;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--label-tertiary)}.day-weather{display:inline-flex;align-items:center;gap:5px;letter-spacing:0;font-weight:500;color:var(--label-secondary)}.day-weather-icon{display:block;width:16px;height:16px;flex:none;background-color:var(--wx-cloud);-webkit-mask:var(--day-weather-icon) center / contain no-repeat;mask:var(--day-weather-icon) center / contain no-repeat}.day-weather-icon.is-sun{background-color:var(--wx-sun)}.day-weather-icon.is-rain{background-color:var(--wx-rain)}.day-weather-icon.is-storm{background-color:var(--wx-storm)}.day-weather-icon.is-snow{background-color:var(--wx-snow)}.day-weather-rain{display:block;margin-top:4px;font-size:12px;font-weight:500;letter-spacing:0;color:var(--label-tertiary)}.day-section.is-selected-day>.journal-day-head h3,.day-section.is-selected-day>.day-section-heading h3{color:var(--label)}.day-section-heading{display:block;width:100%;margin:0 0 10px;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.journal-day-head:hover h3,.day-section-heading:hover h3{color:var(--sage-ink)}.day-section h3{margin:0;text-transform:none;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--label);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.day-map-wrap{position:relative;margin:0 0 12px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated);box-shadow:var(--shadow);border:1px solid var(--separator)}.day-map-provider-badge{position:absolute;top:10px;right:10px;z-index:500;padding:4px 10px;border-radius:999px;background:#ffffffeb;box-shadow:0 1px 4px #0000001a;color:var(--label-secondary);font-size:11px;font-weight:600;letter-spacing:-.01em;pointer-events:none}.day-map{width:100%;height:220px;z-index:0;background:var(--fill-secondary)}.day-map-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:72px;padding:14px 16px;border-radius:var(--radius-lg);margin:0 0 12px;background:var(--fill-secondary);color:var(--label-tertiary);font-size:14px;box-shadow:none;border:1px dashed var(--separator)}.day-map-empty-hint{font-size:12px;opacity:.9}.day-map-legend{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 12px;border-top:1px solid var(--separator);background:var(--bg-elevated)}.day-map-legend-item{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:4px 10px 4px 4px;border:none;border-radius:999px;background:var(--fill);color:var(--label-secondary);font-size:13px;line-height:1.2;cursor:pointer;text-align:left}.day-map-legend-item:hover{background:var(--sage);color:var(--label)}.day-map-legend-item.is-active{background:var(--sage-hover);color:var(--label);font-weight:600}.day-map-legend-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.day-map-legend-num.is-stay{background:var(--sage);color:var(--label)}.day-map-legend-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12em}.day-map-pin{background:transparent;border:none}.day-map-pin-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:700;box-shadow:0 2px 8px #3d302438;border:2px solid #fff}.day-map-pin.is-stay .day-map-pin-num{background:var(--sage);color:var(--label);font-size:12px;font-weight:650}.day-map-pin.is-active .day-map-pin-num{background:var(--orange);color:#fff;box-shadow:0 2px 10px #ff950073;transform:scale(1.08)}.day-map-leg-pin{background:transparent;border:none}.day-map-leg-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#4a4034;background:var(--bg-elevated);border:2px solid #4a4034;box-shadow:0 2px 8px #3d30242e}.day-map-leg-pin.is-active .day-map-leg-icon{color:#c45c26;border-color:#c45c26}.day-map-leg-icon svg{display:block;width:16px;height:16px}.day-map-popup{font-size:14px;line-height:1.35}.day-map-popup-time{font-size:12px;color:var(--blue);font-weight:600;margin-bottom:2px}.block-title-line{display:inline-flex;align-items:center;gap:.35em}.block-stay-mark{flex-shrink:0;color:var(--sage-ink, #3d3428)}.block-map-order{display:inline;margin-right:0;padding:0;border-radius:0;background:transparent;color:var(--blue);font-family:var(--font-display);font-size:.85em;font-weight:600;font-variant-numeric:tabular-nums}.block-item.is-map-active{outline:none}.block-item-body{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}.block-hop-row{padding-bottom:8px}.block-hop{min-width:0;flex:1;padding:0;color:var(--label-tertiary);font-size:12px;line-height:1.3}.block-drag-handle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:2px;margin-left:-4px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--label-tertiary);cursor:grab}.block-drag-handle:hover{background:var(--fill);color:var(--label)}.block-drag-handle:active{cursor:grabbing}.block-drag-handle.is-static{cursor:default;pointer-events:none}.block-item.is-dragging{opacity:.5}.block-item.is-drag-over{outline:1px dashed var(--sage-border);outline-offset:2px}.block-time{flex-shrink:0;box-sizing:content-box;width:8em;margin-top:4px;padding:0;border-radius:0;background:transparent;color:var(--label-tertiary);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.35;text-align:left;white-space:nowrap}.block-time.is-empty{color:transparent}.block-item-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.block-item strong,.journal-entry-title{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.015em;color:var(--label)}.block-item-head{display:flex;flex-direction:row;gap:10px;align-items:flex-start}.block-item-head-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.block-cover{display:block;flex-shrink:0;width:56px;height:56px;border-radius:10px;background:var(--fill);overflow:hidden}.block-cover img{display:block;width:100%;height:100%;object-fit:cover}.transport-cover{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;color:var(--sage-ink);background:var(--sage)}.transport-cover svg{display:block;width:100%;height:100%}.transport-cover.is-flight{color:#254056;background:#dbf1ff}.transport-cover.is-ferry{color:#193d48;background:#dcf2fa}.transport-cover.is-train{color:#3f2f24;background:#f6eee4}.transport-cover.is-bus{color:#29452f;background:#e4f3e6}.transport-cover.is-car{color:#593a25;background:#feebdd}.transport-cover.is-metro{color:#293852;background:#e4efff;background:oklch(.948 .03 260)}.transport-cover.is-motorcycle{color:#543429;background:#ffeadf;background:oklch(.95 .03 48)}.transport-cover.is-bike{color:#2a452b;background:#e3f4e3}.transport-cover.is-walk{color:#4e402a;background:#f8efe0}.stay-cover{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;color:#4e3829;background:#f8ede1}.stay-cover svg{display:block;width:100%;height:100%}.type-cover{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;color:var(--sage-ink);background:var(--sage)}.type-cover svg{display:block;width:100%;height:100%}.type-cover.is-food{color:#5a3928;background:#ffece0;background:oklch(.955 .028 55)}.type-cover.is-sight{color:#203b50;background:#ddf1fe}.type-cover.is-stay{color:#4e3829;background:#f8ede1}.type-cover.is-generic{color:var(--sage-ink);background:var(--sage)}.list li.candidate-item{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding-right:44px}.list li.candidate-item.is-confirming{padding-right:96px}.candidate-item-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.candidate-cover{width:48px;height:48px;border-radius:8px}.candidate-vote-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}button.plain.candidate-vote{min-height:28px;padding:4px 10px;border:1px solid var(--separator);border-radius:999px;background:var(--bg-elevated);color:var(--label-secondary);font-size:12px;font-weight:550}button.plain.candidate-vote:hover{border-color:var(--sage-border);background:var(--sage);color:var(--label)}button.plain.candidate-vote:disabled{opacity:.55;cursor:wait}button.plain.candidate-vote.is-on.is-like{border-color:var(--sage-border);background:var(--sage);color:var(--sage-ink)}button.plain.candidate-vote.is-on.is-meh{border-color:var(--separator);background:var(--fill);color:var(--label)}button.plain.candidate-vote.is-on.is-no{border-color:color-mix(in oklch,var(--orange) 35%,var(--separator));background:color-mix(in oklch,var(--orange) 12%,var(--bg-elevated));color:var(--orange)}.candidate-vote-people{margin-top:6px;font-size:12px;line-height:1.45;color:var(--label-tertiary)}button.plain.candidate-vote-note{display:inline;width:auto;margin:0;padding:0 0 0 4px;border-radius:4px;font-size:inherit;font-weight:500;line-height:inherit;color:var(--label-secondary);vertical-align:baseline}button.plain.candidate-vote-note:hover{background:transparent;color:var(--sage-ink)}button.plain.candidate-vote-note.is-empty{color:var(--label-tertiary);font-weight:400}.candidate-vote-note-input{display:inline-block;width:min(16em,70%);margin:0 0 0 4px;padding:2px 8px;font-size:12px;line-height:1.35;vertical-align:baseline}button.plain.candidate-del{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;right:8px;z-index:1;width:32px;height:32px;margin:0;padding:0;line-height:0;color:var(--label-tertiary)}button.plain.candidate-del:hover,button.plain.candidate-del:active{padding:0;color:var(--red);background:#a43c3314}button.plain.candidate-del.is-confirm{width:auto;min-height:32px;padding:0 10px;line-height:1;font-size:12px;font-weight:550;color:var(--red);background:#a43c3314}button.plain.candidate-del.is-confirm:hover,button.plain.candidate-del.is-confirm:active{padding:0 10px;background:#a43c3324}@media(hover:hover){button.plain.candidate-del:not(.is-confirm){opacity:0;pointer-events:none}.list li.candidate-item:hover button.plain.candidate-del,.list li.candidate-item:focus-within button.plain.candidate-del{opacity:1;pointer-events:auto}}.block-item-select{display:block;width:100%;min-height:0;margin:0;padding:2px 0;text-align:left;background:transparent;border-radius:8px;cursor:pointer;user-select:text;-webkit-user-select:text}.block-item-select:hover{background:transparent}.block-item-expense{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:1px;max-width:42%}.block-item-expense-line{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.block-item-expense-title{font-size:12px;color:var(--label-tertiary);line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.block-type-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--fill);color:var(--label-secondary);flex-shrink:0}.block-type-icon[data-type=food]{color:#c45c26;background:#ff950024}.block-type-icon[data-type=sight]{color:#0a7a4b;background:#34c75924}.block-type-icon[data-type=activity]{color:#6b4eff;background:#5e5ce624}.block-type-icon[data-type=stay]{color:var(--sage-ink);background:var(--sage)}.block-type-icon[data-type=transport]{color:#5b6470;background:#78788024}.block-type-icon[data-type=free]{color:#c9a227;background:#ffcc0029}.block-type-icon[data-type=shopping]{color:#b83d8a;background:#ff2d551f}.block-type-icon[data-type=note]{color:var(--label-secondary);background:var(--fill)}.block-rating{font-size:13px;font-weight:600;color:var(--orange);font-variant-numeric:tabular-nums}.block-hours{font-size:12px;font-weight:500;color:var(--label-secondary)}.block-hours-warn{margin-top:2px;font-size:12px;font-weight:500;color:var(--orange);line-height:1.4}.block-notes{margin-top:4px;padding:0;border-radius:0;background:transparent;font-size:13px;color:var(--label-secondary);line-height:1.45;white-space:pre-wrap;word-break:break-word}.block-booking{margin-top:2px;font-size:12px;color:var(--label-tertiary);line-height:1.4;word-break:break-word}.journal-entry-kind{font-size:12px;letter-spacing:.08em;color:var(--label-tertiary)}.candidate-city-rail{position:sticky;top:-18px;z-index:3;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:4px 0 10px;background:color-mix(in oklch,var(--bg-elevated) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}button.plain.candidate-city-chip{display:inline-flex;align-items:baseline;gap:6px;min-height:28px;padding:4px 10px;border:1px solid var(--separator);border-radius:999px;background:var(--bg-elevated);color:var(--label-secondary);font-size:12px;font-weight:550}button.plain.candidate-city-chip:hover{border-color:var(--sage-border);background:var(--sage);color:var(--label)}.candidate-city-chip-n{font-size:11px;font-weight:500;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.candidate-city{scroll-margin-top:48px}.candidate-city+.candidate-city{margin-top:22px}.candidate-city-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--label-secondary)}.candidate-city-count{font-family:var(--font-ui);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.candidate-pane-head{display:flex;align-items:baseline;gap:8px}.candidate-pane-count{font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.checklist-list li.checklist-item{flex-direction:row;align-items:center;gap:10px;padding-right:44px}.checklist-list li.checklist-item.is-confirming{padding-right:96px}.checklist-check{flex-shrink:0;width:22px;height:22px;padding:0;border:1.5px solid var(--separator);border-radius:7px;background:var(--bg-elevated)}button.plain.checklist-check:hover{border-color:var(--sage-border);background:var(--sage)}button.plain.checklist-check.is-on{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 3px var(--bg-elevated)}.checklist-item-copy{min-width:0;flex:1}button.plain.checklist-title-btn{display:block;width:100%;padding:0;margin:0;text-align:left;color:inherit;border-radius:6px}button.plain.checklist-title-btn:hover{background:transparent;color:inherit}button.plain.checklist-title-btn:hover .list-title{color:var(--sage-ink)}.checklist-title-input,.checklist-notes-input{width:100%;margin:0;padding:4px 8px;background:var(--bg-elevated)}.checklist-title-input{font-size:17px;line-height:1.3}.checklist-notes-input{margin-top:4px;font-size:13px;line-height:1.35}button.plain.checklist-notes-btn{display:block;width:100%;padding:0;margin:2px 0 0;text-align:left;color:inherit;border-radius:6px}button.plain.checklist-notes-btn:hover{background:transparent;color:inherit}.checklist-item.is-done .list-title{color:var(--label-tertiary);text-decoration:line-through}button.plain.checklist-del{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:50%;right:8px;z-index:1;width:32px;height:32px;margin:0;padding:0;line-height:0;transform:translateY(-50%);color:var(--label-tertiary)}button.plain.checklist-del:hover,button.plain.checklist-del:active{padding:0;color:var(--red);background:#a43c3314}button.plain.checklist-del.is-confirm{width:auto;min-height:32px;padding:0 10px;line-height:1;font-size:12px;font-weight:550;color:var(--red);background:#a43c3314}button.plain.checklist-del.is-confirm:hover,button.plain.checklist-del.is-confirm:active{padding:0 10px;background:#a43c3324}@media(hover:hover){button.plain.checklist-del:not(.is-confirm){opacity:0;pointer-events:none}.checklist-list li.checklist-item:hover button.plain.checklist-del,.checklist-list li.checklist-item:focus-within button.plain.checklist-del{opacity:1;pointer-events:auto}}.candidate-notes{margin-top:6px;margin-bottom:2px}.candidate-meta{margin-top:6px}.block-flight{margin-top:2px;font-variant-numeric:tabular-nums}.block-maps-link{font-size:13px;font-weight:510;color:var(--blue);text-decoration:none}.block-maps-link:hover{text-decoration:underline}.day-side-expenses{margin-top:12px}.day-side-expenses-title{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--label-secondary)}.journal{display:flex;flex-direction:column;gap:0;padding-bottom:48px}.journal-masthead{padding:20px 0 8px;border-bottom:1px solid var(--separator)}.journal-eyebrow{margin:0 0 10px;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--sage-ink)}.journal-eyebrow.auth-brand{display:inline-flex;align-items:center;gap:8px;letter-spacing:.12em}.journal-eyebrow.auth-brand .brand-mark{width:22px;height:22px}.journal-name{margin:0;font-family:var(--font-display);font-size:clamp(32px,6vw,44px);font-weight:600;letter-spacing:.02em;line-height:1.15;color:var(--label)}.journal-lede{margin:10px 0 18px;max-width:36ch;font-size:16px;line-height:1.55;color:var(--label-secondary)}.journal-section{margin-top:36px}.journal-masthead+.err,.journal-masthead+.ok,.journal-masthead+.journal-section{margin-top:4px}.journal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}.journal-section-head .journal-section-title{margin:0}.journal-section-title{margin:0 0 12px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--label-secondary)}.journal-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120}.journal-drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:none;border-radius:0;background:#151b2252;cursor:pointer}.journal-drawer-scrim:hover{background:#151b2261}.journal-drawer-panel{position:absolute;top:50%;left:50%;bottom:auto;width:min(420px,92vw);max-height:min(88dvh,720px);padding:24px 24px 28px;overflow:auto;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:20px;box-shadow:var(--shadow-float);animation:journal-drawer-in .28s cubic-bezier(.16,1,.3,1) both}.journal-drawer-panel.is-create{width:min(520px,94vw);max-height:min(92dvh,880px);padding:28px 28px 32px;overflow:visible}.journal-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.journal-drawer-title{margin:4px 0 0;font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:.02em}.journal-drawer .journal-form{max-width:none}.journal-drawer .date-pop{z-index:90}@keyframes journal-drawer-in{0%{transform:translate(-50%,calc(-50% + 12px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.trip-chat-drawer .journal-drawer-panel{top:0;left:auto;right:0;bottom:0;transform:none;display:flex;flex-direction:column;width:min(420px,94vw);max-height:none;padding:20px 20px 16px;border-radius:0;border-right:none;border-left:1px solid var(--separator);animation-name:trip-chat-drawer-in}@keyframes trip-chat-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.trip-workspace-actions .plain.is-on{color:var(--label)}@media(prefers-reduced-motion:reduce){.journal-drawer-panel{animation:none}.trip-chat-pixels i{animation:none;opacity:.45}.trip-chat-thought-chev,.trip-chat-steps-wrap{transition:none}}.journal-wechat{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;padding:14px 0;border-bottom:1px solid var(--separator);font-size:15px}.journal-wechat-label{color:var(--label)}.journal-wechat-state{color:var(--label-tertiary)}.journal-wechat-state.on{color:var(--green)}.journal-bind{margin-top:16px;padding-top:4px}.journal-toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--separator)}.journal-toc>li{border-bottom:1px solid var(--separator)}.journal-toc-link{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:baseline;padding:16px 0;color:inherit}.journal-toc-link:hover{opacity:1}.journal-toc-link:hover .journal-toc-title{color:var(--sage-ink)}.journal-toc-title{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em;line-height:1.3;color:var(--label)}.journal-toc-meta{margin:4px 0 0;font-size:13px;color:var(--label-tertiary)}.journal-toc-mark{font-size:13px;color:var(--sage-ink);letter-spacing:.06em}.journal-empty{padding:28px 0;font-size:15px;color:var(--label-tertiary)}.journal-form{display:grid;gap:4px;max-width:420px}.journal-form .field{margin-bottom:12px}.journal-submit{width:100%;margin-top:8px;height:44px;border-radius:12px;font-size:15px;letter-spacing:0}.journal-note{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--label-tertiary)}.trip-back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;margin:0 8px 0 0;padding:0;color:var(--label-secondary);background:none;border:none;text-decoration:none}.trip-back:hover{color:var(--sage-ink);opacity:1;text-decoration:none}.auth-page{max-width:none;margin:0}.auth-wordmark{margin:0;font-family:var(--font-display);font-size:clamp(32px,6vw,42px);font-weight:600;letter-spacing:.02em;line-height:1.15;text-align:left}.auth-lede{margin:10px 0 28px;font-size:16px;color:var(--label-secondary);text-align:left}.auth-qr-box{padding:8px 0 20px;text-align:left;border-top:1px solid var(--separator)}.auth-qr-box .bind-qr{margin:8px 0;border:1px solid var(--separator)}.auth-card{max-width:420px;margin:8px auto 0}.auth-card h1{text-align:left;font-size:34px;font-weight:700;letter-spacing:.37px;line-height:1.12;margin:0 0 6px}.auth-card .lede{text-align:left;margin:0 0 22px}.field{display:grid;gap:6px;margin-bottom:14px;flex:1;min-width:0}.field>span{font-size:13px;color:var(--label-secondary);padding-left:4px}.field-row{display:flex;gap:12px;align-items:flex-start}.field-row .field{margin-bottom:0}.date-field{position:relative}.date-field-inline.field{margin:0;gap:0;background:#fff}.date-field-inline .ios-form-row{padding:2px 16px}.date-field-inline .date-trigger{flex:1;background:transparent;justify-content:flex-end;padding:10px 0;box-shadow:none;border-radius:0;color:var(--sage-ink);font-size:17px}.date-field-inline .date-trigger.placeholder{color:var(--label-tertiary)}.date-field-inline .date-trigger.open,.date-field-inline .date-trigger:hover{background:transparent}.date-field-inline .date-chips{padding:0 16px 10px 88px}.date-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:8px 12px;border-radius:12px;background:var(--fill-secondary);color:var(--label);font-size:15px;font-weight:400;text-align:left;border:1px solid var(--separator)}.date-trigger:hover{background:var(--bg-elevated)}.date-trigger.open{box-shadow:0 0 0 3px var(--sage-ring);outline:none;border-color:var(--sage-border);background:var(--bg-elevated)}.date-trigger.placeholder{color:var(--label-tertiary)}.date-trigger-icon{color:var(--label-tertiary);font-size:10px;line-height:1}.date-hidden-required{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.date-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.date-chip{padding:3px 9px;font-size:12px;font-weight:500;border-radius:3px;background:var(--fill);color:var(--label)}.date-chip:hover{background:var(--sage)}.date-chip.active{background:var(--sage);color:var(--sage-ink)}.date-pop{position:absolute;z-index:40;left:0;width:min(100%,268px);box-sizing:border-box;top:calc(100% - 2px);margin-top:6px;padding:8px;background:var(--bg-elevated);border:.5px solid var(--separator);border-radius:12px;box-shadow:var(--shadow-float)}.date-pop.is-up{top:auto;bottom:calc(100% - 2px);margin-top:0;margin-bottom:6px}.date-pop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.date-pop-title{display:flex;align-items:center;justify-content:center;gap:2px;font-size:13px;font-weight:600;letter-spacing:-.02em}button.plain.date-jump{min-height:28px;padding:2px 6px;border-radius:6px;font-size:13px;font-weight:600;color:var(--label)}button.plain.date-jump:hover{background:var(--sage)}button.plain.date-jump.is-on{background:var(--sage);color:var(--sage-ink)}.date-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:176px}.date-pick-item,button.date-pick-item{box-sizing:border-box;height:40px;margin:0;padding:0;border-radius:8px;background:transparent;color:var(--label);font-size:13px;font-weight:500}.date-pick-item:hover:not(:disabled){background:var(--fill)}button.date-pick-item.is-on{background:var(--sage);color:var(--sage-ink);font-weight:600}button.date-pick-item:disabled{opacity:.28;cursor:not-allowed}.date-nav{width:28px;height:28px;padding:0;border-radius:50%;background:var(--fill);color:var(--label);font-size:18px;font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center}.date-nav:hover{background:var(--sage)}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:18px;grid-auto-rows:34px;column-gap:1px;row-gap:0;justify-items:center;align-items:center}.date-dow{display:flex;align-items:center;justify-content:center;width:100%;height:18px;padding:0;font-size:11px;line-height:1;color:var(--label-tertiary)}.date-cell,button.date-cell{box-sizing:border-box;width:34px;height:34px;max-width:34px;max-height:34px;min-width:0;min-height:0;aspect-ratio:auto;margin:0;padding:0;border-radius:50%;background:transparent;color:var(--label);font-size:13px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;display:flex;align-items:center;justify-content:center}.date-cell:hover:not(:disabled):not(.empty){background:var(--fill)}.date-cell.today:not(.selected){color:var(--sage-ink);font-weight:600}.date-cell.selected{background:var(--blue);color:#fff;font-weight:600}.date-cell.selected:hover{background:var(--blue-pressed)}.date-cell:disabled{opacity:.28;cursor:not-allowed;transform:none}.date-cell.empty{pointer-events:none;background:transparent}.date-pop-foot{display:flex;justify-content:flex-end;gap:2px;margin-top:6px;padding-top:4px;border-top:.5px solid var(--separator)}.date-pop-foot .plain{font-size:13px;padding:4px 8px}.auth-card button[type=submit]{width:100%;margin-top:8px;padding:12px 18px}.invite-box{margin-top:14px;padding:14px;background:var(--fill-secondary);border-radius:var(--radius);display:grid;gap:10px}.invite-box-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.invite-box-row .mono{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.invite-box-actions{display:flex;flex-shrink:0;gap:8px}.share-actions{display:flex;flex-wrap:wrap;gap:8px}.app-frame.is-share .app-rail{display:none}@media(min-width:900px){.app-frame.is-share .topbar{display:flex}}.share-page .share-banner{margin:0 0 4px;font-size:12px;letter-spacing:.04em;color:var(--label-tertiary)}.share-page .trip-workspace-bar-row{grid-template-columns:minmax(0,1fr) auto}.share-page .block-drag-handle.is-static{visibility:hidden}.bind-code-box{justify-items:center;text-align:center}.bind-qr-wrap{display:grid;gap:8px;justify-items:center}.bind-qr{display:block;width:240px;height:240px;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.bind-qr-caption{margin:0;max-width:280px;line-height:1.4}.bind-code-text{font-size:22px;font-weight:600;letter-spacing:.06em}.bind-verify-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%;max-width:320px}.bind-verify-row input{flex:1;min-width:140px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.empty{padding:28px 16px;text-align:center;color:var(--label-tertiary);font-size:15px}.candidate-empty-hint{max-width:28em;margin-left:auto;margin-right:auto;text-align:left;line-height:1.7}.candidate-empty-hint p{margin:0 0 8px}.candidate-empty-hint p:last-child{margin-bottom:0}.trip-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.trip-header .meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.trip-dates{margin:6px 0 0;font-size:17px;font-weight:510;color:var(--label-secondary);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.trip-dates-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:2px}.trip-dates-row .trip-dates{margin:0}.trip-dates-edit{font-size:15px;padding:4px 8px}.date-edit-box{margin-top:14px;padding-top:14px;border-top:.5px solid var(--separator);display:grid;gap:10px}.expense-hero{text-align:center;padding:20px 16px 18px}.expense-hero-label{font-size:13px;font-weight:510;color:var(--label-tertiary);letter-spacing:.02em}.expense-hero-totals{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:4px}.expense-hero-total{font-size:34px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--label);line-height:1.15}.expense-hero-totals .expense-hero-total+.expense-hero-total{font-size:22px;font-weight:650;color:var(--label-secondary)}.expense-hero-fx{font-size:15px;font-weight:550;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--label-secondary);line-height:1.35}.expense-hero-meta{margin-top:8px;font-size:13px;color:var(--label-tertiary)}.expense-amount{font-weight:600;font-variant-numeric:tabular-nums;color:var(--label);text-align:right}.expense-stat-list .row.between{align-items:flex-start;gap:8px 12px}.expense-stat-list .expense-amount,.expense-net{flex:1 1 10rem;min-width:0;white-space:normal}.expense-net{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.expense-net.positive{color:var(--green)}.expense-net.negative{color:var(--orange)}.expense-stat-list .list-title{font-weight:510}.expense-bar-track{margin:8px 0 4px;height:6px;border-radius:99px;background:var(--fill);overflow:hidden}.expense-bar-fill{height:100%;border-radius:99px;background:var(--blue);min-width:6px}.block-expenses{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.block-expenses>li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--fill-secondary);font-size:14px;min-height:0}.block-expenses>li:before{display:none}.block-expense-label{min-width:0;color:var(--label-secondary)}.day-loose-expenses strong{font-size:15px;color:var(--label-secondary)}.expense-link{color:var(--blue);font-size:13px}.expense-meta-field{display:inline-flex;align-items:baseline;gap:0;max-width:100%}.expense-meta-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:max-content;max-width:11em;margin:0 -2px;padding:1px 16px 1px 4px;border:0;border-radius:6px;background-color:transparent;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%238a8680' d='M1.2 1.4 L6 6.2 L10.8 1.4'/></svg>");background-repeat:no-repeat;background-position:right 2px center;background-size:9px 6px;color:inherit;font:inherit;font-size:inherit;line-height:inherit;cursor:pointer}.expense-meta-select:hover,.expense-meta-select:focus-visible{background-color:var(--fill);outline:none}.expense-meta-select:disabled{opacity:.55;cursor:wait}.candidate-hours{font-size:13px;color:var(--label-tertiary);line-height:1.4}.candidate-review{font-size:14px;color:var(--label-secondary);line-height:1.4;margin-top:2px}@media(pointer:coarse){button{min-height:44px}button.plain,a.plain{min-height:44px;padding:10px 12px}button.plain.studio-name-btn{min-height:0;padding:0}.app-rail-btn{width:44px;height:44px}.tab{min-height:44px;padding:10px 16px}.studio-wechat-action{min-height:44px;padding:8px 12px}.date-nav{width:36px;height:36px}.date-cell,button.date-cell{min-height:0;min-width:0;width:34px;height:34px;max-width:34px;max-height:34px;padding:0}button.plain.date-jump{min-height:32px;padding:4px 8px}button.date-pick-item{min-height:40px;height:40px;padding:0}.date-trigger{min-height:44px}.trip-chat-collapse,.trip-chat-attach,.trip-back,button.plain.checklist-del:not(.is-confirm),button.plain.candidate-del:not(.is-confirm){width:44px;height:44px}button.plain.candidate-del.is-confirm,button.plain.checklist-del.is-confirm{min-height:44px;padding:0 12px}.trip-chat-prompt button.trip-chat-send{width:44px;height:44px}button.plain.trip-chat-followup,button.plain.candidate-city-chip,button.plain.candidate-vote{min-height:44px;padding:8px 12px}button.plain.map-pane-switch-btn{min-height:40px;padding:10px 12px}.journal-day-index{min-height:44px;padding:8px 12px}.block-item-select{min-height:44px}.block-drag-handle{width:44px;height:44px}}.trip-export-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.trip-export-toolbar-actions{display:flex;align-items:center;gap:12px}.trip-export-print-hint{margin:0;font-size:12px;color:var(--label-tertiary)}.trip-export-doc{color:var(--label)}.trip-export-masthead{padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--separator)}.trip-export-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--sage-ink)}.trip-export-kicker .brand-mark{width:20px;height:20px}.trip-export-doc h1{margin:0;font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:.02em}.trip-export-meta{margin:8px 0 0;font-size:14px;color:var(--label-secondary)}.trip-export-day{padding:18px 0;border-bottom:1px solid var(--separator)}.trip-export-day h2{margin:0 0 12px;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--label)}.trip-export-day-n{margin-right:10px;font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--sage-ink)}.trip-export-city{margin-left:10px;font-family:var(--font-ui);font-size:13px;font-weight:500;color:var(--label-tertiary)}.trip-export-blocks{list-style:none;margin:0;padding:0}.trip-export-blocks>li{break-inside:avoid;page-break-inside:avoid}.trip-export-blocks>li+li{margin-top:12px}.trip-export-block-top{display:grid;grid-template-columns:5.5em 1fr;gap:10px 14px;align-items:start}.trip-export-block-body{display:flex;gap:12px;align-items:flex-start;min-width:0}.trip-export-cover{display:block;flex-shrink:0;width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--fill)}.trip-export-cover img{display:block;width:100%;height:100%;object-fit:cover}.trip-export-block-copy{min-width:0;flex:1}.trip-export-time{font-size:13px;font-variant-numeric:tabular-nums;color:var(--label-tertiary)}.trip-export-block-title{font-family:var(--font-display);font-size:16px;font-weight:600}.trip-export-block-meta{margin-top:2px;font-size:12px;color:var(--label-tertiary)}.trip-export-notes{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--label-secondary);white-space:pre-wrap}.trip-export-empty{margin:0;font-size:14px;color:var(--label-tertiary)}.trip-export-expense-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.trip-export-amount{font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}@media print{.topbar,.no-print{display:none!important}html,body,#root,.shell:has(.trip-export){max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.trip-export-day{break-inside:auto;page-break-inside:auto;padding:10px 0}.trip-export-day h2{break-after:avoid;page-break-after:avoid}.trip-export-blocks>li{break-inside:avoid;page-break-inside:avoid}.trip-export-doc,.trip-export-cover,.trip-export-cover img,.transport-cover,.stay-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:10mm}.app-rail{display:none!important}}.studio{display:grid;grid-template-columns:minmax(260px,var(--inspector-w)) minmax(0,1fr);min-height:100%;height:100%}.studio-inspector{display:flex;flex-direction:column;gap:18px;padding:28px 24px 32px;background:var(--bg-elevated);border-right:1px solid var(--separator);overflow:auto}.studio-kicker{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink)}.studio-name{margin:0;font-family:var(--font-display);font-size:clamp(28px,3vw,36px);font-weight:600;letter-spacing:-.03em;line-height:1.12;color:var(--label)}button.plain.studio-name-btn{display:block;width:auto;max-width:100%;margin:0;padding:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;cursor:text}button.plain.studio-name-btn:hover,button.plain.studio-name-btn:focus-visible{background:transparent;color:inherit}.studio-name-edit{display:grid;gap:8px}.studio-name-input{width:100%;margin:0;padding:6px 10px;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.2}.studio-lede{margin:0;max-width:28ch;font-size:14px;line-height:1.55;color:var(--label-secondary)}.studio-block{display:flex;flex-direction:column;gap:8px;padding-top:8px}.studio-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--label-tertiary)}.studio-wechat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.studio-wechat-status{font-size:12px;font-weight:550;letter-spacing:.02em;color:var(--label-tertiary)}.studio-wechat-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--label-tertiary);vertical-align:1px}.studio-wechat-status.is-on{color:var(--sage-ink)}.studio-wechat-status.is-on:before{background:var(--green)}.studio-wechat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.studio-wechat-action{min-height:28px;padding:3px 10px;border:1px solid var(--sage-border);border-radius:8px;background:var(--sage);color:var(--sage-ink);font-size:12px;font-weight:600}.studio-wechat-action:hover{background:var(--sage-hover);color:var(--sage-ink)}.studio-wechat-action.is-danger{background:var(--bg);border-color:color-mix(in oklch,var(--red) 32%,var(--separator));color:var(--red)}.studio-wechat-action.is-danger:hover{background:#a43c3314}.studio-wechat-action:disabled{opacity:.45}.studio-email-bound{margin:8px 0 0;font-size:13px;line-height:1.4;color:var(--label-secondary);word-break:break-all}.studio-email-bind{margin-top:12px}.studio-email-bind .auth-email{margin:8px 0 0}.studio-email-bind .auth-email-actions button{min-height:36px;padding:6px 12px;font-size:13px}.admin-page{max-width:960px;margin:0 auto;padding:24px 20px 64px}.admin-title{margin:0;font-family:var(--font-display);font-size:28px;font-weight:600}.admin-lede{margin:6px 0 20px;color:var(--label-secondary);font-size:14px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 28px;padding:0;list-style:none}.admin-stats li{padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--radius-lg)}.admin-stat-n{display:block;font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.admin-stat-l{display:block;margin-top:4px;font-size:12px;color:var(--label-tertiary)}.admin-h{margin:8px 0 10px;font-size:15px;font-weight:600}.admin-table-wrap{overflow-x:auto;margin:0 0 28px;border:1px solid var(--separator);border-radius:var(--radius-lg);background:var(--bg-elevated)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--separator)}.admin-table th{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--label-tertiary);background:var(--fill)}.admin-table tr:last-child td{border-bottom:none}.admin-id{margin-top:2px;font-size:11px;color:var(--label-tertiary);font-variant-numeric:tabular-nums}@media(max-width:720px){.admin-stats{grid-template-columns:1fr 1fr}}.studio-cta{margin-top:auto;width:100%;height:44px;border-radius:12px;background:var(--blue);color:#f5faf5;font-size:14px;font-weight:600}.studio-cta:hover{background:var(--blue-pressed)}.studio-canvas{min-width:0;min-height:0;overflow:auto;padding:28px 28px 40px;background-color:var(--bg);background-image:var(--canvas-dots);background-size:18px 18px}.studio-canvas-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px}.studio-canvas-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--label-secondary)}.studio-canvas-count{font-size:12px;color:var(--label-tertiary);font-variant-numeric:tabular-nums}.trip-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;align-items:stretch}.trip-card{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:18px;box-shadow:var(--shadow);color:inherit;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.trip-card:not(.trip-card-ghost):hover{opacity:1;transform:translateY(-3px);box-shadow:var(--shadow-float)}.trip-card.is-live{border-color:var(--sage-border)}.trip-card-cover{position:relative;aspect-ratio:4 / 5;min-height:220px;background:#364e3e}.trip-card-cover-photo{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.trip-card-cover-photo img{display:block;width:100%;height:100%;object-fit:cover}.trip-card-cover-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.trip-card-cover-actions{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.trip-card-cover-action{margin:0;padding:5px 9px;border:0;border-radius:999px;background:#06150c8c;color:#f8fef8;font-size:11px;font-weight:600;letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.trip-card-cover-action:disabled{opacity:.65}.trip-card-cover:after{content:"";position:absolute;top:40%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#06150c8c);pointer-events:none}.trip-card-cover-title{position:absolute;left:14px;right:14px;bottom:36px;z-index:1;pointer-events:none;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.03em;line-height:1.25;color:#f8fef8;text-shadow:0 10px 24px oklch(.2 .03 155 / .35)}.trip-card-cover:not(:has(.trip-card-cover-dates)) .trip-card-cover-title{bottom:14px}.trip-card-cover-dates{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;pointer-events:none;font-size:12px;font-weight:500;letter-spacing:.02em;color:#f1f7f1e0;text-shadow:0 8px 18px oklch(.2 .03 155 / .4)}.trip-card-body{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 14px;color:inherit}.trip-card-meta{margin:0;font-size:12px;line-height:1.4;color:var(--label-tertiary)}.trip-card-live{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--green)}.trip-card-live i{width:6px;height:6px;border-radius:50%;background:var(--green)}.trip-card-open{font-size:12px;color:var(--sage-ink)}.trip-card-ghost{width:100%;padding:0;text-align:left;border-style:dashed;background:color-mix(in oklch,var(--bg-elevated) 55%,transparent);box-shadow:none;color:var(--label-tertiary)}.trip-card-ghost:hover{background:var(--bg-elevated);color:var(--label)}.trip-card-ghost-cover{display:flex;align-items:center;justify-content:center;background:transparent}.trip-card-ghost-cover:after{content:none}.trip-card-plus{font-size:28px;line-height:1;font-weight:400}.studio-auth{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 20px 48px;background-color:var(--bg);background-image:var(--canvas-dots);background-size:18px 18px}.studio-auth-card{width:min(440px,100%);padding:32px 28px 28px;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:20px;box-shadow:var(--shadow)}.studio-auth .auth-wordmark{font-size:clamp(28px,5vw,36px);letter-spacing:-.03em}.studio-auth .auth-lede{margin-bottom:20px;font-size:14px}.studio-auth .auth-qr-box{border-top:none;padding-top:0}.auth-email{display:grid;gap:10px;margin:0 0 8px}.auth-email-actions{display:flex;flex-wrap:wrap;gap:8px}.auth-email-actions button{width:auto}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;font-size:12px;color:var(--label-tertiary)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--separator)}.auth-dev-code{margin:0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--label-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-frame.is-auth,.app-frame.is-auth .app-stage,.app-frame.is-auth .shell{min-height:100dvh;background:#fff}.app-frame.is-auth .shell{overflow:auto}.auth-welcome{display:grid;min-height:100dvh;background:#fff}.auth-welcome-pane{display:flex;justify-content:center;align-items:flex-start;padding:56px 24px 48px}.auth-welcome-inner{width:min(360px,100%)}.auth-welcome-logo{display:block;width:36px;height:36px;margin:0 0 36px;border-radius:10px;object-fit:cover}.auth-welcome-title{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,36px);font-weight:700;letter-spacing:-.04em;line-height:1.15;color:#16100d}.auth-welcome-sub{margin:10px 0 36px;font-size:15px;color:#6e6864}.auth-welcome-social{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;margin:0;padding:0 16px;border:1px solid oklch(.9 .006 55);border-radius:14px;background:#fff;color:#1f1915;font-size:14px;font-weight:550}.auth-welcome-social:hover{background:#fcf9f8;color:#1f1915}.auth-welcome-social.is-on{background:#fcf9f8;border-color:#c9c2be}.auth-welcome-social-icon{color:#07c160;flex-shrink:0}.auth-welcome-qr{margin-top:12px;padding:16px 12px 12px;border:1px solid oklch(.92 .006 55);border-radius:16px;background:#fefdfc}.auth-welcome-qr .auth-qr-box{padding:0;border-top:none;text-align:center}.auth-welcome-qr .bind-qr{width:176px;height:176px;margin:0 auto;border:none;box-shadow:none}.auth-welcome-qr .bind-qr-wrap{justify-items:center}.auth-welcome-or{display:flex;align-items:center;gap:12px;margin:22px 0 18px;font-size:12px;color:#a39d9a}.auth-welcome-or:before,.auth-welcome-or:after{content:"";flex:1;height:1px;background:#e8e4e1}.auth-email.is-welcome{gap:12px;margin:0}.auth-email.is-welcome .field{margin:0;gap:0}.auth-email.is-welcome input{height:48px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid oklch(.9 .006 55)}.auth-email.is-welcome input:focus{border-color:#5e534b;box-shadow:0 0 0 3px #231e1b1f}.auth-email.is-welcome .auth-email-actions{display:grid;gap:8px}.auth-email.is-welcome .auth-email-actions button{width:100%;height:48px;border-radius:14px;background:#16100d;color:#fff;font-size:14px;font-weight:600}.auth-email.is-welcome .auth-email-actions button:hover{background:#080503}.auth-email.is-welcome .auth-email-actions button:disabled{opacity:1;background:#aaa39f}.auth-email.is-welcome .auth-email-actions button.secondary{height:auto;padding:6px 8px;background:transparent;color:#68625e;font-weight:500}.auth-email.is-welcome .auth-email-actions button.secondary:hover{background:transparent;color:#2e2723}.auth-email.is-welcome .journal-note,.auth-email.is-welcome .auth-dev-code{margin:0;font-size:13px;color:#68625e}.auth-welcome-legal{margin:18px 0 0;font-size:12px;line-height:1.5;text-align:center;color:#9c9794}.auth-welcome-art{display:none;padding:16px 16px 16px 8px}.auth-welcome-carousel{position:relative;height:calc(100dvh - 32px);border-radius:24px;overflow:hidden}.auth-welcome-photo{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:55% 50%;visibility:hidden;transform:translate(100%)}.auth-welcome-photo.is-on,.auth-welcome-photo.is-exit{visibility:visible}.auth-welcome-photo.is-on{z-index:1}.auth-welcome-photo.is-on:not(.is-from-right):not(.is-from-left){transform:translate(0)}.auth-welcome-photo.is-from-right{animation:auth-slide-in-right .7s cubic-bezier(.22,1,.36,1) both}.auth-welcome-photo.is-from-left{animation:auth-slide-in-left .7s cubic-bezier(.22,1,.36,1) both}.auth-welcome-photo.is-to-left{animation:auth-slide-out-left .7s cubic-bezier(.22,1,.36,1) both}.auth-welcome-photo.is-to-right{animation:auth-slide-out-right .7s cubic-bezier(.22,1,.36,1) both}@keyframes auth-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes auth-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes auth-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes auth-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}.auth-welcome-dots{position:absolute;left:0;right:0;bottom:18px;z-index:2;display:flex;justify-content:center;gap:8px}button.auth-welcome-dot{position:relative;width:7px;height:7px;min-height:0;padding:0;border:none;border-radius:999px;background:#ffffff80;box-shadow:0 1px 4px #0000002e}button.auth-welcome-dot:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}button.auth-welcome-dot:hover{background:#fffc}button.auth-welcome-dot.is-on{width:22px;background:#fff}@media(min-width:960px){.auth-welcome{grid-template-columns:minmax(380px,1fr) minmax(0,1.2fr)}.auth-welcome-pane{align-items:center;padding:48px 40px}.auth-welcome-art{display:block}}@media(prefers-reduced-motion:reduce){.auth-welcome-social,.auth-email.is-welcome input,.auth-email.is-welcome .auth-email-actions button,.auth-welcome-photo,.auth-welcome-photo.is-from-right,.auth-welcome-photo.is-from-left,.auth-welcome-photo.is-to-left,.auth-welcome-photo.is-to-right{animation:none;transform:translate(100%)}.auth-welcome-photo.is-on{transform:translate(0)}}@media(max-width:899px){.studio{grid-template-columns:1fr;height:auto}.studio-inspector{border-right:none;border-bottom:1px solid var(--separator);padding:18px 20px 16px}.studio-cta{margin-top:8px}.studio-canvas{padding:20px 16px 40px}.trip-board{grid-template-columns:1fr 1fr;gap:12px}.trip-card-cover{min-height:0;aspect-ratio:16 / 10}.trip-card-cover-title{font-size:16px}}@media(max-width:560px){.trip-board{grid-template-columns:1fr}.trip-card-cover{aspect-ratio:16 / 9}}@media(prefers-reduced-motion:reduce){.trip-card,.trip-card:not(.trip-card-ghost):hover{transition:none;transform:none}}
