.prototype-page{max-width:1180px}.prototype-panel,.prototype-timeline{gap:var(--space-16);display:grid}.prototype-panel h1,.timeline-heading h1{font-size:var(--font-size-32);margin:0;line-height:1.2}.field-label{color:var(--color-text);font-size:var(--font-size-14);font-weight:700;display:block}.prototype-page textarea,.prototype-page input{box-sizing:border-box;border:var(--border-default);border-radius:var(--radius-8);background:var(--color-surface);width:100%;color:var(--color-text);padding:var(--space-12)}.prototype-page textarea{resize:vertical;min-height:220px}.field-error{color:var(--color-blocker);margin:0}.action-row,.card-actions,.option-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.review-question,.review-later,.auth-dialog{gap:var(--space-12);display:grid}.day-column,.timeline-card,.option-region{border:var(--border-default);border-radius:var(--radius-12);background:var(--color-surface);padding:var(--space-16)}.review-question,.review-later{gap:var(--space-12);display:grid}.review-question-list{gap:var(--space-8);margin:0;padding-inline-start:var(--space-24);display:grid}.review-question-list li{gap:var(--space-4);overflow-wrap:anywhere;display:grid}.review-question-list span{color:var(--color-text-muted);font-size:var(--font-size-14)}.review-question h2,.review-later h2,.day-column h2,.prototype-dialog h2{font-size:var(--font-size-20);margin:0}.timeline-heading{justify-content:space-between;align-items:end;gap:var(--space-16);flex-wrap:wrap;display:flex}.timeline-heading p{margin:var(--space-8) 0 0;color:var(--color-text-muted)}.impact-summary{border-inline-start:4px solid var(--color-success);border-radius:var(--radius-8);background:var(--color-surface);padding:var(--space-12);margin:0}.alerts-stack,.day-column,.timeline-card,.option-region{gap:var(--space-12);display:grid}.alert-with-action{gap:var(--space-8);display:grid}.duration-badge{color:var(--color-text-muted);font-size:var(--font-size-14);margin:0}.prototype-dialog{z-index:10;background:color-mix(in srgb, var(--color-text) 42%, transparent);padding:var(--space-16);place-items:center;display:grid;position:fixed;inset:0}.prototype-dialog__body{gap:var(--space-16);border:var(--border-default);border-radius:var(--radius-12);background:var(--color-surface);width:min(100%,520px);padding:var(--space-24);display:grid}.prototype-dialog__body p{margin:0}.editor-details{gap:var(--space-4);color:var(--color-text-muted);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.editor-details dt{font-weight:700}.editor-details dd{overflow-wrap:anywhere;margin:0}@media (width>=760px){.alerts-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-with-action{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing) * 2)}}:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#d4d8de;--color-text:#1a1d21;--color-text-muted:#5e6670;--color-text-inferred:#59616b;--color-pending:#875a00;--color-pending-border:#9d6900;--color-pending-surface:#fff6de;--color-blocker:#9c273d;--color-blocker-surface:#fff1f3;--color-warning:#8a5500;--color-warning-surface:#fff6de;--color-info:#2f5f8b;--color-info-surface:#eef7ff;--color-alternative:#5c6470;--color-alternative-surface:#f1f3f5;--color-focus:#165fa8;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--font-size-12:12px;--font-size-14:14px;--font-size-16:16px;--font-size-18:18px;--font-size-20:20px;--font-size-24:24px;--font-size-32:32px;--radius-4:4px;--radius-8:8px;--radius-12:12px;--border-default:1px solid var(--color-border);--border-pending:1px dashed var(--color-pending-border);--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}.ui-button{border-radius:var(--radius-8);cursor:pointer;min-height:40px;font-size:var(--font-size-16);padding:var(--space-8) var(--space-12);border:1px solid #0000;justify-content:center;align-items:center;line-height:1.3;display:inline-flex}.ui-button--compact{min-height:32px;font-size:var(--font-size-14);padding:var(--space-4) var(--space-8)}.ui-button--primary{background:var(--color-text);color:var(--color-surface)}.ui-button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-button--quiet{color:var(--color-text);background:0 0}.ui-button:disabled{cursor:not-allowed;opacity:.55}.itinerary-item{border:var(--border-default);border-radius:var(--radius-8);background:var(--color-surface);padding:var(--space-12)}.itinerary-item--pending{border:var(--border-pending);background:var(--color-pending-surface)}.itinerary-item__meta{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.itinerary-item__kind{color:var(--color-text-muted);font-size:var(--font-size-14)}.itinerary-item__detail{margin:var(--space-8) 0 0;overflow-wrap:anywhere;word-break:break-word}.itinerary-item--inferred .itinerary-item__detail{color:var(--color-text-inferred);text-underline-offset:var(--space-4);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.state-marker,.lock-marker{align-items:center;gap:var(--space-4);font-size:var(--font-size-14);line-height:1.3;display:inline-flex}.state-marker--pending{color:var(--color-pending)}.state-marker--inferred{color:var(--color-text-inferred)}.lock-marker{color:var(--color-text-muted)}.state-marker__icon,.lock-marker__icon{flex:none;width:16px;height:16px}.alert-banner{gap:var(--space-12);border:var(--border-default);border-radius:var(--radius-8);padding:var(--space-12);grid-template-columns:auto minmax(0,1fr);display:grid}.alert-banner--blocker{border-color:var(--color-blocker);background:var(--color-blocker-surface);color:var(--color-blocker)}.alert-banner--warning{border-color:var(--color-warning);background:var(--color-warning-surface);color:var(--color-warning)}.alert-banner--info{border-color:var(--color-info);background:var(--color-info-surface);color:var(--color-info)}.alert-banner__icon{width:20px;height:20px;margin-top:2px}.alert-banner__label,.alert-banner__message{overflow-wrap:anywhere;margin:0}.alert-banner__label{font-size:var(--font-size-16);font-weight:700}.alert-banner__message{color:var(--color-text);font-size:var(--font-size-14)}.option-group{gap:var(--space-8);display:grid}.option-card{border:var(--border-default);border-radius:var(--radius-8);background:var(--color-surface);padding:var(--space-12)}.option-card--alternative{border-left:4px solid var(--color-alternative);background:var(--color-alternative-surface);color:var(--color-alternative)}.option-card__label{color:var(--color-text-muted);font-size:var(--font-size-14)}.option-card p{margin:var(--space-4) 0 0;overflow-wrap:anywhere}.system-feedback{align-items:center;gap:var(--space-8);border:var(--border-default);border-radius:var(--radius-8);background:var(--color-surface);color:var(--color-text);padding:var(--space-8) var(--space-12);flex-wrap:wrap;display:inline-flex}.system-feedback--saving{color:var(--color-text-muted)}.system-feedback--saved{color:var(--color-info)}.system-feedback--failed{border-color:var(--color-blocker);color:var(--color-blocker)}.system-feedback--offline{color:var(--color-text-muted);border-style:dashed}.system-feedback__icon{flex:none;width:18px;height:18px}.system-feedback--saving .system-feedback__icon{animation:.9s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.system-feedback--saving .system-feedback__icon{animation:none}}@page{margin:16mm}@media print{:root{--color-bg:white;--color-surface:white;--color-border:dimgray;--color-text:black;--color-text-muted:dimgray;--color-text-inferred:dimgray;--color-pending:black;--color-pending-border:black;--color-pending-surface:white;--color-blocker:black;--color-blocker-surface:white;--color-warning:black;--color-warning-surface:white;--color-info:black;--color-info-surface:white;--color-alternative:dimgray;--color-alternative-surface:white;--color-focus:black}.app-header,.ui-button,[data-print-hidden=true]{display:none!important}a[href]:after{content:none!important}.itinerary-item,.option-card,.alert-banner,.system-feedback,.day-block{break-inside:avoid;page-break-inside:avoid}}:root{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility}body{background:var(--color-bg);min-width:0;min-height:100vh;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.app-shell{min-height:100vh}.app-header{justify-content:space-between;align-items:center;gap:var(--space-16);border-bottom:var(--border-default);background:var(--color-surface);min-height:64px;padding:var(--space-12) var(--space-16);display:flex}.app-brand{color:var(--color-text);font-size:var(--font-size-20);font-weight:700}.app-brand .app-header-actions,.app-brand .auth-control{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.app-brand .auth-control__state{color:var(--color-text-muted);font-size:var(--font-size-14)}.app-brand{text-decoration:none}.app-content{max-width:1120px;padding:var(--space-24) var(--space-16) var(--space-48);margin:0 auto}.surface-panel{border:var(--border-default);border-radius:var(--radius-12);background:var(--color-surface);padding:var(--space-24)}.surface-panel h1{font-size:var(--font-size-32);margin:0;line-height:1.25}.surface-panel p{overflow-wrap:anywhere;max-width:60ch}.eyebrow{color:var(--color-text-muted);font-size:var(--font-size-14)}@media (width>=640px){.app-header,.app-content{padding-right:var(--space-24);padding-left:var(--space-24)}}
