@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:45 920;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}:root{--c-route:#0b6f6a;--c-route-deep:#075a57;--c-route-soft:#e1f0ee;--c-destination:#c84e3c;--c-destination-deep:#ad3e2f;--c-destination-soft:#faeae6;--c-danger:#b33a3a;--c-warning:#925c00;--c-orange:var(--c-warning);--c-success:#25734b;--c-bg:#f5f8f7;--c-page:#dfe9e8;--c-surface:#fff;--c-text:#17333d;--c-muted:#4c626a;--c-surface-cool:#edf3f2;--c-danger-light:#f9e9e8;--c-warning-light:#f7edd6;--border-color:#cad8d7;--bg-secondary:var(--c-route-soft);--radius-card:14px;--radius-control:10px;--radius-sheet:20px;--shadow-card:none;--shadow-frame:0 24px 64px #17333d24;--shadow-overlay:0 16px 40px #17333d2e;--ease-route:cubic-bezier(.22, 1, .36, 1);--type-display-size:2rem;--type-screen-size:1.625rem;--type-title-size:1.25rem;--type-body-size:1rem;--type-supporting-size:.875rem;--type-label-size:.75rem;--type-presentation-size:clamp(2rem, 9vw, 2.75rem);--type-display-line:1.18;--type-heading-line:1.3;--type-body-line:1.6;--type-supporting-line:1.5;--type-label-line:1.35;--font-weight-body:500;--font-weight-strong:700;--font-weight-display:800;color:var(--c-text);background:var(--c-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:var(--type-body-size);font-weight:var(--font-weight-body);line-height:var(--type-body-line);letter-spacing:0}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100dvh;min-height:100dvh;margin:0;padding:0;overflow:hidden}body{background:var(--c-page);min-width:0}button,a{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button,a,input,select,textarea{transition:color .16s var(--ease-route), background-color .16s var(--ease-route), border-color .16s var(--ease-route), opacity .16s var(--ease-route), transform .16s var(--ease-route)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #0b6f6a47}button:disabled{cursor:not-allowed;opacity:.65}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--c-danger);background:var(--c-danger-light)}.app-shell{background:var(--c-page);place-items:center;height:100dvh;min-height:100dvh;padding:24px;display:grid;overflow:hidden}@media (width<=480px){.app-shell{padding:0;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}.phone-frame{width:100%!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;border:none!important;border-radius:0!important}}.phone-frame{background:var(--c-bg);border:1px solid var(--border-color);border-radius:var(--radius-sheet);width:min(100%,430px);min-width:0;height:min(860px,100dvh - 48px);box-shadow:var(--shadow-frame);grid-template-rows:1fr auto;display:grid;overflow:hidden}.content{background:var(--c-bg);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none;min-width:0;padding-bottom:24px;overflow:hidden auto}.content::-webkit-scrollbar{display:none}.screen{padding:calc(24px + env(safe-area-inset-top)) 20px calc(32px + env(safe-area-inset-bottom));overflow-wrap:break-word;word-break:keep-all}@media (width<=240px){.screen{padding:calc(16px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom))}.status-card{padding:44px 12px 14px}.status-card:before{top:18px;left:18px}.date-form{grid-template-columns:minmax(0,1fr)}}.trip-header{margin-bottom:20px}.trip-dates{color:var(--c-muted);font-weight:var(--font-weight-strong);margin-bottom:0}.status-card{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);color:var(--c-text);gap:6px;margin-top:16px;padding:17px 18px 17px 48px;display:grid;position:relative}.status-card:before{border:3px solid var(--c-surface);background:var(--c-route);width:12px;height:12px;box-shadow:0 0 0 2px var(--c-route);content:"";border-radius:50%;position:absolute;top:21px;left:20px}.status-card.before:before,.status-card.after:before{background:var(--c-destination);box-shadow:0 0 0 2px var(--c-destination)}.status-card span{font-size:var(--type-title-size);font-weight:var(--font-weight-strong);letter-spacing:-.02em}.status-card p{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);margin-bottom:0}.date-form{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.date-form label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);gap:6px;display:grid}.date-form input{background:var(--c-surface);width:100%;min-height:48px;color:var(--c-text);font:inherit;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border:1px solid #17333d1f;border-radius:10px;padding:8px 10px}.auth-form{gap:12px;margin-top:20px;display:grid}.auth-form label{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);letter-spacing:-.01em;gap:6px;display:grid}.auth-form input,.auth-form textarea,.auth-form select{border:1px solid var(--border-color);border-radius:var(--radius-control);width:100%;min-height:48px;color:var(--c-text);font:inherit;font-size:var(--type-body-size);font-weight:var(--font-weight-strong);box-shadow:none;transition:border-color .18s var(--ease-route), box-shadow .18s var(--ease-route);background:#fff;padding:10px 14px}.auth-form input:focus,.auth-form textarea:focus,.auth-form select:focus{border-color:var(--c-route);background:var(--c-surface);outline:none;box-shadow:0 0 0 3px #0b6f6a2e}.auth-form select{appearance:none}.auth-form textarea{resize:vertical;min-height:92px;line-height:1.5}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=360px){.form-grid-two{grid-template-columns:minmax(0,1fr)}}.trip-create-form{margin-top:12px}.trip-edit-form{border-top:1px solid #17333d14;margin-top:0;padding-top:18px}.compact-owner-form{margin-top:0}.compact-title-row{margin-bottom:0}.compact-title-row h3{margin:0}.auth-card{border-top:5px solid var(--c-route)}.auth-switch-button{width:100%}.auth-help{color:var(--c-muted);font-size:var(--type-supporting-size);margin:14px 0 0}.auth-help code{color:var(--c-route);font-weight:var(--font-weight-strong)}.form-error{background:var(--c-danger-light);color:var(--c-danger);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border-radius:8px;margin:0;padding:10px 12px}.form-success{background:var(--c-route-soft);color:var(--c-route);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border-radius:8px;margin:0;padding:10px 12px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}.owner-frame{grid-template-rows:1fr}.owner-frame .content{padding-bottom:env(safe-area-inset-bottom)}.owner-screen{min-height:100%}.owner-header{justify-content:space-between;align-items:center;gap:12px;padding-bottom:4px;display:flex}.owner-header>div{min-width:0}.owner-account-link{white-space:nowrap;flex:none;width:auto}.account-back-link{justify-self:start}.owner-header h1{margin:4px 0 2px}.owner-account-email{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);overflow-wrap:anywhere;margin:0}.first-trip-create{border-top:1px solid var(--border-color);padding-top:24px}.first-trip-intro{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:13px;display:grid}.first-trip-route-mark{background:var(--c-route);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.first-trip-kicker{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:2px;display:block}.first-trip-intro h2{margin-bottom:4px}.first-trip-intro p{max-width:34ch;color:var(--c-muted);font-size:var(--type-supporting-size);line-height:var(--type-supporting-line);margin:0}.first-trip-create-form{margin-top:20px}.form-label-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.form-label-row small{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.trip-end-date-hint{color:var(--c-muted);font-size:var(--type-label-size);line-height:var(--type-label-line);margin:-6px 0 0}.manage-page-state{text-align:center;align-content:center;place-items:center;gap:10px;min-height:320px;padding-block:48px;display:grid}.manage-page-state-action{margin-top:16px}.edit-hub-back-link{min-height:44px;color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);align-items:center;gap:4px;margin-bottom:12px;text-decoration:none;display:inline-flex}.edit-hub-back-link:hover{color:var(--c-route)}.edit-hub-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:24px;display:grid}.edit-hub-header h1{overflow-wrap:anywhere;margin:8px 0 2px}.edit-hub-next-step{border:1px solid color-mix(in srgb, var(--c-route) 28%, transparent);background:var(--c-route-soft);border-radius:16px;grid-template-columns:48px minmax(0,1fr);gap:12px 14px;padding:20px;display:grid}.edit-hub-next-icon{background:var(--c-route);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.edit-hub-kicker{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.edit-hub-next-copy h2{font-size:var(--type-title-size);line-height:var(--type-heading-line);margin:2px 0 5px}.edit-hub-next-copy p{max-width:42ch;color:var(--c-muted);font-size:var(--type-supporting-size);line-height:var(--type-supporting-line);margin:0}.edit-hub-next-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:4px;display:grid}.edit-hub-all-sections{gap:14px;margin-top:32px;display:grid}.edit-hub-all-sections h2{font-size:var(--type-title-size);margin:0}.edit-hub-all-sections>div>p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:3px 0 0}.edit-hub-list{border-block:1px solid var(--border-color);margin:0;padding:0;list-style:none}.edit-hub-list li+li{border-top:1px solid var(--border-color)}.edit-hub-list a{min-height:72px;color:var(--c-text);grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:11px 4px;text-decoration:none;display:grid}.edit-hub-list a:hover{color:var(--c-route)}.edit-hub-list-icon{background:var(--c-surface-cool);width:40px;height:40px;color:var(--c-route);border-radius:12px;place-items:center;display:grid}.edit-hub-list-copy{gap:1px;display:grid}.edit-hub-list-copy strong{font-size:var(--type-body-size)}.edit-hub-list-copy small{color:var(--c-muted);font-size:var(--type-label-size);line-height:var(--type-label-line)}.edit-hub-list-status{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.edit-hub-list-chevron{color:var(--c-muted)}.edit-hub-data-state{border-block:1px solid var(--border-color);grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;padding:20px 0;display:grid}.edit-hub-data-state h2{font-size:var(--type-title-size);margin:0}.edit-hub-data-state p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0}.edit-hub-data-state>.secondary-button{grid-column:1/-1}.trip-create-disclosure{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);overflow:clip}.trip-create-disclosure>summary{cursor:pointer;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:78px;padding:14px 16px;list-style:none;display:grid}.trip-create-disclosure>summary::-webkit-details-marker{display:none}.trip-create-disclosure>summary:focus-visible{outline-offset:-3px;outline:3px solid #0b6f6a47}.trip-create-disclosure>summary[aria-disabled=true]{cursor:progress}.trip-create-summary-icon{background:var(--c-route-soft);width:40px;height:40px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.trip-create-summary-copy{min-width:0}.trip-create-summary-copy strong,.trip-create-summary-copy>span{display:block}.trip-create-summary-copy strong{color:var(--c-text);font-size:var(--type-body-size);font-weight:var(--font-weight-display)}.trip-create-summary-copy>span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin-top:2px;line-height:1.45}.trip-create-summary-chevron{color:var(--c-muted);transition:transform .2s var(--ease-route)}.trip-create-disclosure[open] .trip-create-summary-chevron{transform:rotate(180deg)}.trip-create-disclosure .trip-create-form{border-top:1px solid var(--border-color);margin-top:0;padding:18px 16px 16px}.trip-create-optional-fields{border-top:1px solid var(--border-color)}.trip-create-optional-fields>summary{min-height:48px;color:var(--c-text);cursor:pointer;font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);align-items:center;gap:8px;list-style:none;display:flex}.trip-create-optional-fields>summary::-webkit-details-marker{display:none}.trip-create-optional-fields>summary:after{color:var(--c-muted);content:"+";font-size:var(--type-title-size);margin-left:auto}.trip-create-optional-fields[open]>summary:after{content:"−"}.trip-create-optional-fields>summary span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.trip-create-optional-fields>div{gap:12px;padding:4px 0 12px;display:grid}.owner-trip-card{background:var(--c-surface);border:1px solid var(--border-color);border-radius:var(--radius-card);gap:14px;padding:18px;display:grid}.owner-trip-card.is-deleting{opacity:.6}.owner-trip-summary{min-width:0}.owner-trip-summary h2{margin:10px 0 12px}.owner-trip-status.status-during{background:var(--c-route-soft);color:var(--c-route)}.owner-trip-status.status-before{background:var(--c-warning-light);color:var(--c-warning)}.owner-trip-status.status-after{border:1px solid var(--border-color);background:var(--c-surface-cool);color:var(--c-muted)}.owner-trip-meta{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);align-items:center;gap:7px;margin:6px 0 0;display:flex}.owner-trip-meta svg{color:var(--c-route);flex:none}.owner-trip-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;display:grid}.owner-trip-actions .primary-button,.owner-trip-actions .secondary-button{width:100%;min-width:0;min-height:44px;padding-inline:12px}.owner-trip-manage{border-top:1px solid var(--border-color)}.owner-trip-manage>summary{min-height:44px;color:var(--c-muted);cursor:pointer;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);justify-content:flex-end;align-items:center;gap:6px;list-style:none;display:flex}.owner-trip-manage>summary::-webkit-details-marker{display:none}.owner-trip-manage>summary svg{transition:transform .2s var(--ease-route)}.owner-trip-manage[open]>summary svg{transform:rotate(180deg)}.owner-trip-manage-panel{gap:10px;padding-top:10px;display:grid}.owner-trip-manage-panel p{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin:0;line-height:1.5}.owner-trip-manage-panel .danger-button{width:100%}.owner-detail-error-state{align-content:start;gap:10px;padding-top:48px;display:grid}.owner-detail-error-state h1,.owner-detail-error-state p{margin-bottom:0}.owner-detail-error-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.place-advanced-fields,.schedule-recommendations{border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--c-surface-cool)}.place-advanced-fields>summary,.schedule-recommendations>summary{min-height:48px;color:var(--c-text);cursor:pointer;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);align-items:center;gap:8px;padding:11px 14px;list-style:none;display:flex}.place-advanced-fields>summary::-webkit-details-marker{display:none}.schedule-recommendations>summary::-webkit-details-marker{display:none}.place-advanced-fields>summary:after,.schedule-recommendations>summary:after{color:var(--c-muted);content:"+";font-size:var(--type-title-size);font-weight:var(--font-weight-body);margin-left:auto}.place-advanced-fields[open]>summary:after,.schedule-recommendations[open]>summary:after{content:"−"}.place-advanced-fields-body{gap:12px;padding:0 14px 14px;display:grid}.schedule-recommendations{margin-top:16px}.schedule-recommendations>summary{color:var(--c-route)}.schedule-recommendations>summary small{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body)}.schedule-recommendations .shanghai-starter-planner{margin:0 12px 12px}.start-screen{grid-template-rows:auto auto auto;align-content:start;gap:24px;min-height:100%;display:grid}.start-hero{gap:10px;padding:6px 0 0;display:grid}.start-hero h1{font-size:var(--type-display-size);text-wrap:balance;margin-bottom:0;line-height:1.18}.start-hero>p{max-width:36ch;color:var(--c-muted);font-size:var(--type-body-size);margin-bottom:0;line-height:1.65}.start-brand{color:var(--c-text);align-items:center;gap:10px;margin-bottom:12px;display:flex}.start-brand-mark{background:var(--c-route);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.start-brand strong{font-size:var(--type-body-size);letter-spacing:-.02em}.start-route-preview{gap:0;padding:6px 0;display:grid;position:relative}.start-route-preview:before{background:var(--c-route);content:"";border-radius:999px;width:2px;position:absolute;top:42px;bottom:42px;left:19px}.start-route-stop{z-index:1;grid-template-columns:40px 1fr;align-items:center;gap:12px;min-height:72px;display:grid;position:relative}.start-route-stop>span{border:2px solid var(--c-route);background:var(--c-bg);width:40px;height:40px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.start-route-stop.destination>span{border-color:var(--c-destination);background:var(--c-destination);color:#fff}.start-route-stop strong,.start-route-stop small{display:block}.start-route-stop strong{color:var(--c-text);font-size:var(--type-body-size)}.start-route-stop small{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);line-height:var(--type-supporting-line);margin-top:2px}.start-action-stack{gap:10px;display:grid}.start-primary-action,.start-secondary-action{width:100%}.start-primary-action{padding-inline:44px;position:relative}.start-primary-action .trailing-icon{position:absolute;right:16px}.start-guide-card{border:1px solid var(--border-color);background:var(--c-surface);box-shadow:none;border-radius:14px;gap:14px;padding:18px;display:grid}.start-guide-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.start-guide-list li{border:1px solid var(--border-color);background:var(--c-surface-cool);color:var(--c-route);border-radius:12px;grid-template-columns:32px 1fr;align-items:start;gap:10px;padding:12px;display:grid}.start-guide-list strong,.start-guide-list span{display:block}.start-guide-list strong{font-size:var(--type-supporting-size)}.start-guide-list span{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);margin-top:2px;line-height:1.45}.manage-flow-card{border:1px solid var(--border-color);background:var(--c-surface);box-shadow:none;border-radius:14px;gap:16px;margin-top:18px;padding:18px;display:grid}.manage-flow-card h2{margin:8px 0 4px}.manage-flow-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.manage-flow-steps li{background:var(--c-route-soft);min-height:76px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);text-align:center;border-radius:12px;place-items:center;gap:6px;display:grid}.owner-trip-detail-card{background:var(--c-surface);border:1px solid var(--border-color);box-shadow:none;border-radius:12px;gap:18px;padding:22px;display:grid}.owner-detail-section{border-top:1px solid #17333d14;padding-top:22px}.detail-grid{gap:14px;display:grid}.detail-step-guide{background:var(--c-destination-soft);border-radius:12px;gap:14px;padding:14px;display:grid}.detail-step-guide h3{color:var(--c-text);font-size:var(--type-title-size);letter-spacing:-.01em;margin-bottom:0}.detail-step-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.detail-step-list li{min-height:58px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);background:#ffffff9e;border-radius:10px;place-items:center;gap:4px;display:grid}.muted-label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:4px;display:block}.owner-action-grid{gap:10px;display:grid}.owner-linked-data-section{border-top:1px solid #17333d14;gap:12px;padding-top:18px;display:grid}.shanghai-starter-planner{background:var(--c-destination-soft);border:1px solid #c94f3d3d;border-radius:14px;gap:12px;margin-bottom:8px;padding:16px;display:grid}.shanghai-planner-heading{color:var(--c-destination);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shanghai-planner-heading h4{color:var(--c-text);font-size:var(--type-title-size);margin:8px 0 0}.shanghai-plan-list{gap:8px;display:grid}.shanghai-plan-item{background:#ffffffbd;border:1px solid #17333d1a;border-radius:12px;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.shanghai-plan-time{color:var(--c-text);font-size:var(--type-label-size);gap:2px;display:grid}.shanghai-plan-time span{color:var(--c-muted)}.shanghai-plan-copy{min-width:0}.shanghai-plan-copy h5{color:var(--c-text);font-size:var(--type-body-size);margin:0 0 5px}.planner-place-status{color:var(--c-muted);font-size:var(--type-label-size);align-items:center;gap:4px;display:inline-flex}.planner-place-status.connected{color:var(--c-route);font-weight:var(--font-weight-strong)}@media (width<=560px){.edit-hub-header{grid-template-columns:1fr;align-items:start}.edit-hub-header .compact-button{width:100%}.edit-hub-next-actions{grid-template-columns:1fr}.shanghai-plan-item{grid-template-columns:1fr auto}.shanghai-plan-time{grid-column:1/-1;grid-template-columns:auto 1fr;gap:8px}}.compact-card-stack{gap:8px}.owner-linked-card{background:var(--c-bg);border:1px solid #17333d1a;border-radius:10px;gap:8px;padding:14px;display:grid}.owner-linked-card h2{font-size:var(--type-title-size);margin-bottom:0}.share-link-panel{background:var(--c-route-soft);border-radius:12px;gap:10px;padding:14px;display:grid}.share-link-panel label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);gap:6px;display:grid}.share-link-panel input{background:var(--c-surface);width:100%;min-height:44px;color:var(--c-text);font:inherit;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border:1px solid #17333d1f;border-radius:10px;padding:8px 10px}.share-link-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.owner-trip-card h2,.empty-state-card h2{margin-top:10px}.empty-state-card{text-align:center;background:var(--c-surface);border:1px dashed var(--border-color);place-items:center;gap:10px;padding:32px 24px;display:grid}.info-card.auth-card-premium{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:8px 0 24px}.auth-card-premium h1{max-width:100%;font-size:var(--type-display-size);text-wrap:balance;margin-bottom:8px}.auth-card-premium>.muted{max-width:36ch;line-height:var(--type-body-line);margin-bottom:0}.auth-brand-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.auth-product-link{min-width:0;min-height:44px;color:var(--c-text);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.auth-brand-circle{background:var(--c-route-soft);width:38px;height:38px;color:var(--c-route);border-radius:11px;flex:none;place-items:center;display:grid}.auth-hero-icon{color:var(--c-route)}.spin-slow{animation:none}.auth-loading{text-align:center;place-content:center;justify-items:center;min-height:320px;display:grid}.auth-loading h1{margin-top:12px}.auth-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0 0;padding:0;list-style:none;display:grid;position:relative}.auth-progress:before{background:var(--border-color);content:"";height:1px;position:absolute;top:13px;left:calc(25% + 13px);right:calc(25% + 13px)}.auth-progress li{z-index:1;color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);text-align:center;justify-items:center;gap:6px;display:grid;position:relative}.auth-progress li>span{border:1px solid var(--border-color);background:var(--c-surface);width:27px;height:27px;color:var(--c-muted);border-radius:50%;place-items:center;display:grid}.auth-progress li.is-current,.auth-progress li.is-complete{color:var(--c-route)}.auth-progress li.is-current>span,.auth-progress li.is-complete>span{border-color:var(--c-route);background:var(--c-route);color:#fff}.auth-form .auth-field-label{font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);color:var(--c-muted);gap:8px;display:grid}.auth-field-label>label{color:var(--c-text)}.auth-form input.is-verified{border-color:var(--c-route);background:var(--c-route-soft)}.auth-send-code-button{width:100%;margin-top:0}.auth-verification-step{border-radius:var(--radius-control);background:var(--c-surface-cool);gap:9px;padding:16px;display:grid}.auth-verification-heading{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex}.auth-verification-heading label{color:var(--c-text);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display)}.auth-inline-action,.auth-text-action{color:var(--c-muted);background:0 0;border:0}.auth-inline-action{min-height:36px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);text-underline-offset:3px;padding:4px 6px;text-decoration:underline}.auth-verification-row{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:8px;min-width:0;display:grid}.auth-verification-row>input{min-width:0}.auth-verify-code-button{min-height:48px;font-size:var(--type-supporting-size);margin-top:0;padding-inline:13px}.auth-verified-state{border-radius:var(--radius-control);background:var(--c-route-soft);color:var(--c-route-deep);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:12px 14px;display:grid}.auth-verified-state span,.auth-verified-state strong,.auth-verified-state small{display:block}.auth-verified-state strong{font-size:var(--type-supporting-size)}.auth-verified-state small{overflow-wrap:anywhere;color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin-top:1px}.auth-field-hint{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin:0;line-height:1.5}.auth-submit-button{width:100%;margin-top:4px}.auth-alternative-actions{gap:2px;margin-top:12px;display:grid}.auth-text-action{min-height:44px;font-size:var(--type-supporting-size);padding:8px}.auth-text-action strong{color:var(--c-route)}.auth-inline-action:hover,.auth-text-action:hover{color:var(--c-route-deep);background:var(--c-route-soft)}.input-with-icon{width:100%;position:relative}.input-with-icon .field-icon{color:var(--c-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-with-icon input{padding-left:40px}.forgot-password-overlay{z-index:1000;padding:max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));background:#17333db8;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.forgot-password-dialog{border-radius:var(--radius-sheet);background:var(--c-surface);width:min(100%,380px);min-width:0;box-shadow:var(--shadow-overlay);gap:16px;padding:24px;display:grid}.forgot-password-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.forgot-password-header>div{min-width:0}.forgot-password-header span{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display)}.forgot-password-header h2{color:var(--c-text);font-size:var(--type-title-size);letter-spacing:-.025em;margin:3px 0 0;line-height:1.3}.forgot-password-close{width:44px;height:44px;color:var(--c-muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-8px -8px 0 0;padding:0;display:grid}.forgot-password-close:hover{background:var(--c-surface-cool);color:var(--c-text)}.forgot-password-description{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0;line-height:1.6}.forgot-password-form{min-width:0;margin-top:0}.forgot-password-form .auth-field-label,.forgot-password-form .input-with-icon,.forgot-password-form input{width:100%;min-width:0}.forgot-password-send-code{width:100%;margin-top:-2px}.forgot-password-status,.forgot-password-development-code{border-radius:var(--radius-control);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin:0;padding:10px 12px;line-height:1.5}.forgot-password-status{background:var(--c-route-soft);color:var(--c-route-deep)}.forgot-password-development-code{border:1px dashed var(--border-color);background:var(--c-surface-cool);color:var(--c-muted)}.forgot-password-development-code strong{color:var(--c-text);letter-spacing:.08em}.forgot-password-error{font-size:var(--type-label-size);margin:0}.forgot-password-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px;display:grid}.forgot-password-actions .primary-button,.forgot-password-actions .secondary-button,.forgot-password-result .primary-button{width:100%;min-width:0;margin-top:0}.forgot-password-result{text-align:center;gap:14px;display:grid}.forgot-password-password{border:1px solid var(--border-color);background:var(--c-route-soft);border-radius:12px;padding:16px}.forgot-password-password span,.forgot-password-password strong{display:block}.forgot-password-password span{color:var(--c-muted);font-size:var(--type-label-size)}.forgot-password-password strong{overflow-wrap:anywhere;color:var(--c-route);font-size:var(--type-screen-size);letter-spacing:.08em;margin-top:4px}@media (width<=360px){.auth-verification-row{grid-template-columns:1fr}.auth-verify-code-button{width:100%}.forgot-password-overlay{padding-left:16px;padding-right:16px}.forgot-password-dialog{padding:20px}.forgot-password-actions{grid-template-columns:1fr}}@media (width<=240px){.info-card.auth-card-premium{padding:0 0 16px}.auth-brand-row{flex-wrap:wrap;align-items:flex-start}.input-with-icon .field-icon{display:none}.input-with-icon input{padding-left:12px}}.password-toggle-btn{color:var(--c-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:color .15s,opacity .15s;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--c-text);opacity:.85}.auth-form .input-with-icon input.with-password-toggle{padding-right:48px}.place-search-panel{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-route-soft);gap:14px;margin-bottom:8px;padding:16px;display:grid}.place-search-heading{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.place-search-icon{background:var(--c-surface);width:36px;height:36px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.place-search-heading h4,.place-search-heading p{margin:0}.place-search-heading h4{color:var(--c-text);font-size:var(--type-supporting-size)}.place-search-heading p{color:var(--c-muted);font-size:var(--type-label-size);margin-top:4px;line-height:1.5}.place-search-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.place-search-controls input{border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--c-surface);width:100%;min-width:0;min-height:48px;color:var(--c-text);font:inherit;font-size:var(--type-supporting-size);padding:10px 12px}.place-search-controls input:focus{border-color:var(--c-route);outline-offset:0;outline:3px solid #0b6f6a2e}.place-search-controls .compact-button{min-width:82px}.place-search-results{overscroll-behavior:contain;gap:8px;max-height:240px;display:grid;overflow-y:auto}.place-search-results-header{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);justify-content:space-between;align-items:center;gap:8px;display:flex}.place-search-results-header a{color:var(--c-muted);font-weight:var(--font-weight-body);white-space:nowrap;flex:none;text-decoration:none}.place-search-result{border:1px solid var(--border-color);border-radius:var(--radius-control);width:100%;min-height:64px;color:var(--c-text);text-align:left;background:#ffffffb8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.place-search-result.selected{border-color:var(--c-route);background:var(--c-surface)}.place-search-result-copy{min-width:0}.place-search-result-copy strong,.place-search-result-copy span{display:block}.place-search-result-copy strong{color:var(--c-text);font-size:var(--type-supporting-size);overflow-wrap:anywhere;line-height:1.4}.place-search-result.selected .place-search-result-copy strong{color:var(--c-route)}.place-search-result-copy span{color:var(--c-muted);font-size:var(--type-label-size);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;line-height:1.45;display:-webkit-box;overflow:hidden}.place-search-result-state{border:1px solid var(--c-route);min-height:28px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.place-search-result-state.selected{background:var(--c-route-soft);border-color:#0000}.place-search-error{border-radius:var(--radius-control);background:var(--c-danger-light);color:var(--c-danger);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:7px;padding:10px 12px;display:grid}@media (width<=280px){.place-search-panel{padding:14px 10px}.place-search-heading,.place-search-controls{grid-template-columns:minmax(0,1fr)}.place-search-controls .compact-button{width:100%}.place-search-results-header{flex-direction:column;align-items:flex-start}.place-search-result{grid-template-columns:minmax(0,1fr)}.place-search-result-state{justify-self:start}}.shared-frame{background:var(--c-bg)}.shared-frame .content{padding-bottom:0}.shared-screen{min-height:100%;padding:0 0 calc(36px + env(safe-area-inset-bottom))}.shared-hero{padding:calc(28px + env(safe-area-inset-top)) 20px 24px;border-bottom:1px solid var(--border-color);background:var(--c-surface);gap:12px;display:grid}.shared-brand-row{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-display);letter-spacing:.01em;align-items:center;gap:9px;display:flex}.shared-brand-mark{background:var(--c-route-soft);width:32px;height:32px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.shared-load-state{justify-items:start;gap:10px;padding:42px 0;display:grid}.shared-load-state h1,.shared-load-state p{margin:0}.shared-load-state h1{color:var(--c-text);font-size:var(--type-display-size);letter-spacing:-.03em;line-height:1.16}.shared-load-state p{color:var(--c-muted);font-size:var(--type-supporting-size)}.shared-load-state>div{gap:8px;width:100%;margin-top:8px;display:flex}.shared-load-state>div .primary-button,.shared-load-state>div .secondary-button{flex:1}.shared-loading-mark{border:3px solid var(--c-route-soft);border-top-color:var(--c-route);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite shared-spin}@keyframes shared-spin{to{transform:rotate(360deg)}}.shared-load-error{color:var(--c-danger)}.shared-offline-warning{border-radius:var(--radius-control);background:var(--c-warning-light);color:var(--c-warning);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);border:1px solid #9a650038;margin:12px 20px 0;padding:10px 12px;line-height:1.5}.shared-view-badge{border-color:var(--border-color);background:var(--c-surface-cool);color:var(--c-route);gap:5px}.shared-trip-header .trip-header-meta{align-items:flex-start;gap:8px}.shared-trip-header .trip-badges{flex-wrap:wrap;justify-content:flex-end;max-width:220px}@media (prefers-reduced-motion:reduce){.shared-loading-mark{animation:none}}.eyebrow{color:var(--c-route);font-weight:var(--font-weight-strong);margin:0 0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:var(--type-display-size);font-weight:var(--font-weight-display);line-height:var(--type-display-line);letter-spacing:-.03em;color:var(--c-text);margin-bottom:10px}h2{font-size:var(--type-title-size);font-weight:var(--font-weight-display);line-height:var(--type-heading-line);letter-spacing:-.025em;color:var(--c-text)}h3{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);letter-spacing:.04em;margin-bottom:10px}p{line-height:var(--type-body-line);font-weight:var(--font-weight-body)}.muted{color:var(--c-muted);font-size:var(--type-supporting-size);line-height:var(--type-supporting-line);font-weight:var(--font-weight-body)}.screen-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.screen-title-row h1{margin-bottom:0}.screen-title-actions{flex:none;align-items:center;gap:8px;display:flex}.screen-kicker{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);letter-spacing:.08em;margin-bottom:5px;display:block}.segment-control-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);gap:4px;margin-bottom:20px;padding:4px;display:flex}.segment-btn{min-height:44px;color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);transition:background-color .18s var(--ease-route), color .18s var(--ease-route);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.segment-btn.active{background:var(--c-route);color:#fff}.hero-card,.info-card,.emergency-card,.place-card,.list-card,.schedule-card,.flight-card,.owner-trip-card,.owner-linked-card{background:var(--c-surface);border:1px solid var(--border-color);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.hero-card{border:1px solid var(--border-color);background:var(--c-surface);box-shadow:var(--shadow-card);gap:18px;margin:22px 0;padding:24px;display:grid}.next-schedule-card{padding:22px 20px 22px 52px;position:relative}.next-schedule-card:before{background:var(--c-route);content:"";border-radius:999px;width:2px;position:absolute;top:22px;bottom:22px;left:25px}.next-schedule-card:after{border:2px solid var(--c-surface);background:var(--c-destination);width:8px;height:8px;box-shadow:0 0 0 2px var(--c-destination);content:"";border-radius:50%;position:absolute;top:24px;left:20px}.next-schedule-kicker{color:var(--c-destination);font-size:var(--type-label-size);font-weight:var(--font-weight-display);align-items:center;gap:6px;margin-bottom:8px;display:inline-flex}.next-schedule-time{color:var(--c-route);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);align-items:center;gap:6px;margin-bottom:8px;display:flex}.next-schedule-empty{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:8px 12px;padding:20px}.next-schedule-empty>svg{color:var(--c-route);margin-top:2px}.next-schedule-empty h2,.next-schedule-empty p{margin-bottom:0}.next-schedule-empty p{color:var(--c-muted);font-size:var(--type-supporting-size);margin-top:5px;line-height:1.5}.next-schedule-empty .primary-button,.next-schedule-empty .secondary-button{grid-column:2;justify-self:start}.shared-hero-card{margin-top:0}.shared-screen{padding-bottom:28px}.pill{background:var(--c-route-soft);width:fit-content;min-height:28px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.pill.subtle{background:var(--c-surface-cool);color:var(--c-muted);border:1px solid var(--border-color)}.pill.destination{background:var(--c-destination-soft);color:var(--c-destination);border-color:#0000}.primary-button,.destination-button,.secondary-button,.danger-button,.quick-button{min-height:48px;font-weight:var(--font-weight-strong);border-radius:var(--radius-control);transition:transform .16s var(--ease-route), opacity .16s var(--ease-route), background-color .16s var(--ease-route), border-color .16s var(--ease-route);border:0;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.primary-button:active:not(:disabled),.destination-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled),.quick-button:active:not(:disabled){transform:scale(.98)}.primary-button:hover:not(:disabled){background:var(--c-route-deep)}.secondary-button:hover:not(:disabled),.quick-button:hover:not(:disabled){border-color:var(--c-route);background:var(--c-route-soft)}.danger-button:hover:not(:disabled){border-color:var(--c-danger)}.primary-button{color:#fff;background:var(--c-route);width:100%;padding:12px 16px}.destination-button{background:var(--c-destination);color:#fff;border:0;width:100%;padding:12px 16px}.destination-button:hover:not(:disabled){background:var(--c-destination-deep)}.secondary-button{color:var(--c-text);background:var(--c-surface-cool);border:1px solid var(--border-color);padding:10px 14px}.danger-button{color:var(--c-danger);background:var(--c-danger-light);padding:10px 14px}.quick-button{background:var(--c-surface);color:var(--c-text);border:1px solid var(--border-color);padding:14px 10px}.quick-button.danger{color:var(--c-danger);background:var(--c-danger-light)}.grid-two{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.section-block{margin-top:26px}.recommended-routes{gap:10px;display:grid}.recommended-routes>h2{margin-bottom:2px}.recommended-route{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);grid-template-columns:26px 1fr;gap:12px;padding:15px 16px;display:grid;position:relative}.recommended-route>svg{color:var(--c-route);margin-top:1px}.recommended-route strong{color:var(--c-text);font-size:var(--type-body-size);font-weight:var(--font-weight-display)}.recommended-route p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0;line-height:1.5}.section-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-title-row h2{margin-bottom:0}.section-caption{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);margin:4px 0 0;line-height:1.5}.card-stack{gap:12px;display:grid}.list-card{gap:12px;padding:20px 24px;display:flex}.date-tabs{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);scrollbar-width:none;gap:4px;margin:20px 0;padding:4px;display:flex;overflow-x:auto}.date-tabs.fit-tabs{display:grid}.date-tabs.scroll-tabs{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;touch-action:pan-x;scroll-padding-inline:4px}.date-tabs::-webkit-scrollbar{display:none}.date-tabs button{min-width:88px;min-height:44px;color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding-inline:4px}.date-tabs.fit-tabs button{min-width:0}.date-tabs.scroll-tabs button{scroll-snap-align:center}.date-tabs button.active{background:var(--c-route);color:#fff}.timeline-stack{margin-top:14px;padding-left:20px;position:relative}.timeline-stack:before{content:"";background:var(--border-color);z-index:1;width:2px;position:absolute;top:12px;bottom:12px;left:36px}.schedule-card{z-index:2;border-radius:var(--radius-card);grid-template-columns:72px minmax(0,1fr);gap:12px;margin-left:24px;padding:18px;display:grid;position:relative}.schedule-card:before{content:"";background:var(--c-surface);border:3px solid var(--c-destination);width:10px;height:10px;box-shadow:0 0 0 3px var(--c-bg);z-index:3;border-radius:50%;position:absolute;top:26px;left:-33px}.schedule-card.completed:before{border-color:var(--c-success);background:var(--c-success);box-shadow:0 0 0 3px var(--c-bg)}.schedule-card.completed{background:var(--c-route-soft);opacity:.82}.schedule-card.completed h2{text-decoration:line-through}.schedule-content{gap:10px;min-width:0;display:grid}.schedule-content h2,.schedule-detail,.schedule-detail p{overflow-wrap:anywhere}.schedule-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.place-label{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong)}.completed-pill{background:var(--c-route);color:#fff}.schedule-summary{background:var(--c-surface);border:1px solid #17333d1a;border-radius:8px;gap:4px;margin:0 0 16px;padding:14px 16px;display:grid}.schedule-summary span{font-weight:var(--font-weight-strong)}.schedule-summary small{color:var(--c-muted);font-weight:var(--font-weight-strong)}.schedule-view-switch{margin-top:2px}.schedule-empty-state,.checklist-empty-state{text-align:left;grid-template-columns:32px minmax(0,1fr);place-items:start;padding:22px 18px}.schedule-empty-state>svg,.checklist-empty-state>svg{color:var(--c-route)}.schedule-empty-state strong,.checklist-empty-state strong{color:var(--c-text);margin-bottom:4px;display:block}.schedule-empty-state p,.checklist-empty-state p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0;line-height:1.5}.empty-state-action{margin-top:12px}.trip-checklist-view{margin-top:4px}.trip-checklist-context{background:var(--c-route-soft);color:var(--c-muted);font-size:var(--type-supporting-size);border-radius:10px;margin:0;padding:12px 14px;line-height:1.5}.trip-checklist-view>.section-block{margin-top:22px}.schedule-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-move-actions{gap:6px;display:flex}.schedule-detail{color:var(--c-muted);font-size:var(--type-supporting-size);gap:4px;margin-bottom:0;display:grid}.schedule-detail strong{color:var(--c-route);font-size:var(--type-label-size)}.danger-note{color:var(--c-danger)}.time{font-weight:var(--font-weight-strong);color:var(--c-route)}.trip-header-meta{justify-content:space-between;align-items:center;width:100%;margin-bottom:12px;display:flex}.trip-badges{align-items:center;gap:8px;display:flex}.badge-item{font-size:var(--type-label-size);font-weight:var(--font-weight-display);letter-spacing:-.01em;box-shadow:none;border-radius:999px;align-items:center;padding:5px 12px;display:inline-flex}.country-badge{background:var(--c-surface-cool);color:var(--c-text);border:1px solid var(--border-color)}.dday-badge{border:1px solid #0000}.dday-upcoming{background:var(--c-destination-soft);color:var(--c-destination);border-color:#c94f3d3d}.dday-active{background:var(--c-destination);color:#fff;border-color:var(--c-destination)}.dday-past{color:var(--c-muted);background:#5e6b631f;border-color:#5e6b6333}.progress-container{background:var(--c-surface);border:1px solid #17333d14;border-radius:16px;align-items:center;gap:12px;margin:12px 0 20px;padding:10px 14px;display:flex}.progress-track{background:#17333d14;border-radius:999px;flex:1;height:9px;overflow:hidden}.progress-fill{background:var(--c-route);transform-origin:0;border-radius:999px;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.progress-percentage{font-size:var(--type-label-size);font-weight:var(--font-weight-display);color:var(--c-route);white-space:nowrap}.home-task-summary{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);flex-wrap:wrap;gap:6px 16px;margin:2px 0 12px;display:flex}.home-task-summary span+span{position:relative}.home-task-summary span+span:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:-9px}.today-demo-tools{margin-top:28px}.back-to-list-link{min-height:44px;font-size:var(--type-label-size);font-weight:var(--font-weight-strong);color:var(--c-muted);background:#17333d0d;border-radius:12px;align-items:center;gap:4px;padding:8px 12px 8px 10px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.back-to-list-link:hover{color:var(--c-route);background:#17333d1a;transform:translate(-2px)}.back-to-list-link svg{display:block}.mypage-screen{gap:28px;display:grid}.mypage-header{gap:6px;display:grid}.mypage-header h1,.mypage-header p{margin:0}.mypage-header p{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body)}.mypage-demo-card{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);gap:20px;padding:20px;display:grid}.mypage-demo-heading span{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display)}.mypage-demo-heading h2{color:var(--c-text);font-size:var(--type-title-size);text-wrap:balance;margin:5px 0 8px;line-height:1.35}.mypage-demo-heading p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0;line-height:1.55}.mypage-demo-feature-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.mypage-demo-feature-list li{border-top:1px solid var(--border-color);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:14px 0;display:grid}.mypage-demo-feature-icon{background:var(--c-route-soft);width:36px;height:36px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.mypage-demo-feature-list strong,.mypage-demo-feature-list div>span{display:block}.mypage-demo-feature-list strong{color:var(--c-text);font-size:var(--type-supporting-size);line-height:1.45}.mypage-demo-feature-list div>span{color:var(--c-muted);font-size:var(--type-label-size);margin-top:3px;line-height:1.5}.mypage-demo-action{white-space:nowrap;width:100%;min-width:0;margin:0;text-decoration:none}.mypage-account-card,.mypage-trip-card,.mypage-security-card{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface)}.mypage-account-card{padding:16px}.mypage-account-main{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid}.mypage-avatar{flex:none}.mypage-account-copy{min-width:0}.mypage-account-copy span,.mypage-account-copy strong{display:block}.mypage-account-copy span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:2px}.mypage-account-copy strong{overflow-wrap:anywhere;color:var(--c-text);font-size:var(--type-body-size);line-height:1.4}.mypage-account-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.mypage-logout-button{border-radius:var(--radius-control);min-height:44px;color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.mypage-logout-button:hover{background:var(--c-surface-cool);color:var(--c-text)}.mypage-section{gap:10px;display:grid}.mypage-section-title{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);letter-spacing:0;margin:0}.mypage-trip-card{gap:16px;padding:16px;display:grid}.mypage-trip-copy{grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;display:grid}.mypage-route-stop{border:3px solid var(--c-surface);background:var(--c-route);width:12px;height:12px;box-shadow:0 0 0 2px var(--c-route);border-radius:50%;margin-top:7px}.mypage-trip-copy h3{overflow-wrap:anywhere;color:var(--c-text);font-size:var(--type-title-size);font-weight:var(--font-weight-display);letter-spacing:-.025em;margin:0;line-height:1.35}.mypage-trip-copy p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0;line-height:1.5}.mypage-trip-actions{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px;display:grid}.mypage-trip-actions .primary-button,.mypage-trip-actions .secondary-button{white-space:nowrap;width:100%;min-width:0;padding-left:10px;padding-right:10px}.mypage-security-card{overflow:clip}.mypage-security-summary{cursor:pointer;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:80px;padding:15px 16px;list-style:none;display:grid}.mypage-security-summary::-webkit-details-marker{display:none}.mypage-security-summary:focus-visible{outline-offset:-3px;outline:3px solid #0b6f6a47}.mypage-security-icon{background:var(--c-route-soft);width:40px;height:40px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.mypage-security-copy{min-width:0}.mypage-security-copy strong,.mypage-security-copy>span{display:block}.mypage-security-copy strong{color:var(--c-text);font-size:var(--type-body-size);font-weight:var(--font-weight-display)}.mypage-security-copy>span{color:var(--c-muted);font-size:var(--type-label-size);margin-top:2px;line-height:1.45}.mypage-security-chevron{color:var(--c-muted);transition:transform .2s var(--ease-route)}.mypage-security-card[open] .mypage-security-chevron{transform:rotate(180deg)}.mypage-security-content{border-top:1px solid var(--border-color);padding:18px 16px 16px}.mypage-password-form{gap:16px;margin-top:0}.mypage-password-form .auth-field-label{gap:8px}.mypage-password-form input[aria-invalid=true]{border-color:var(--c-danger)}.mypage-field-help{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin:-8px 2px 0;line-height:1.5}.mypage-field-help.is-error{color:var(--c-danger)}.mypage-password-submit{margin-top:2px}.mypage-danger-card .mypage-security-icon{background:var(--c-danger-light);color:var(--c-danger)}.mypage-delete-warning{color:var(--c-danger);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);margin:0;line-height:1.55}.mypage-delete-confirm{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;line-height:1.5;display:grid}.mypage-delete-confirm input{width:20px;height:20px;accent-color:var(--c-danger);margin:0}.mypage-delete-submit{width:100%;min-height:48px}@media (width<=360px){.mypage-screen{gap:24px}.mypage-trip-actions{grid-template-columns:1fr}.timeline-stack{padding-left:0}.timeline-stack:before{left:12px}.schedule-card{grid-template-columns:minmax(0,1fr);gap:8px;margin-left:28px;padding:16px 12px}.schedule-card:before{top:22px;left:-23px}}@media (width<=240px){h1{font-size:var(--type-screen-size)}.trip-header-meta,.screen-title-row,.section-title-row{flex-direction:column;align-items:stretch}.trip-header-meta{gap:10px}.trip-badges{flex-wrap:wrap;align-items:center;gap:6px}.badge-item{padding-left:8px;padding-right:8px}.back-to-list-link{white-space:nowrap;align-self:flex-start}.mypage-demo-card{gap:16px;padding:16px 12px}.mypage-demo-feature-list li{grid-template-columns:28px minmax(0,1fr);gap:9px}.mypage-demo-feature-icon{width:28px;height:28px}.hero-card,.info-card,.emergency-card,.flight-card{padding:16px 12px}.next-schedule-card{padding:18px 12px 18px 36px}.next-schedule-card:before{top:18px;bottom:18px;left:15px}.next-schedule-card:after{top:20px;left:10px}.next-schedule-time{flex-wrap:wrap;align-items:flex-start}.next-schedule-empty{grid-template-columns:minmax(0,1fr)}.next-schedule-empty .primary-button,.next-schedule-empty .secondary-button{grid-column:1;justify-self:stretch}.schedule-actions{flex-direction:column;align-items:stretch}.schedule-actions>.compact-button{width:100%}.schedule-move-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schedule-move-actions .icon-button{width:100%}.screen-title-actions,.section-actions,.owner-linked-actions{flex-direction:column;align-items:stretch}.section-title-row .compact-button,.screen-title-actions .compact-button,.section-actions .compact-button,.owner-linked-actions .compact-button{width:100%}.grid-two{grid-template-columns:minmax(0,1fr)}.progress-container{flex-direction:column;align-items:stretch}.progress-track{flex:none;width:100%}.progress-percentage{align-self:flex-end}}.map-screen-intro{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0;line-height:1.5}.map-segment-control{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);gap:4px;margin-bottom:20px;padding:4px;display:flex}.map-segment-control button{min-height:44px;color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);cursor:pointer;transition:background-color .18s var(--ease-route), color .18s var(--ease-route);background:0 0;border:0;border-radius:8px;flex:1;padding:9px 10px}.map-segment-control button.active{background:var(--c-route);color:#fff}.map-segment-control button span{background:var(--c-surface-cool);min-width:20px;height:20px;color:var(--c-muted);font-size:var(--type-label-size);border-radius:999px;place-items:center;margin-left:3px;display:inline-grid}.map-segment-control button.active span{color:#fff;background:#ffffff2e}.map-destination-panel{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);padding:20px}.map-destination-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.map-destination-heading h2{font-size:var(--type-screen-size);overflow-wrap:anywhere;margin:4px 0 0}.map-destination-kicker,.map-route-date{color:var(--c-destination);font-size:var(--type-label-size);font-weight:var(--font-weight-display);align-items:center;gap:5px;display:inline-flex}.map-destination-time{background:var(--c-route-soft);color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);border-radius:999px;flex:none;padding:5px 9px}.map-local-name{color:var(--c-muted);font-size:var(--type-supporting-size);overflow-wrap:anywhere;margin:3px 0 0}.map-place-essentials{gap:7px;margin-top:16px;display:grid}.map-place-essentials p{color:var(--c-muted);font-size:var(--type-supporting-size);overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin:0;line-height:1.5;display:flex}.map-place-essentials svg{color:var(--c-route);flex:none;margin-top:2px}.place-location-warning{background:var(--c-warning-light);color:var(--c-warning);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);border:1px solid #9a65003d;border-radius:8px;align-items:flex-start;gap:7px;margin-top:14px;padding:9px 10px;line-height:1.4;display:flex}.place-location-warning svg{flex:none;margin-top:1px}.map-destination-actions{border-top:1px solid var(--border-color);gap:8px;margin-top:18px;padding-top:16px;display:grid}.map-place-utilities{flex-wrap:wrap;gap:8px;display:flex}.map-place-utilities .secondary-button{min-height:44px;font-size:var(--type-label-size)}.map-route-overview{margin-top:30px}.map-route-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.map-route-date{color:var(--c-route);margin-bottom:4px}.map-route-heading h2{font-size:var(--type-title-size);margin:0}.map-route-heading p{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin:3px 0 0}.map-route-heading .secondary-button{font-size:var(--type-label-size);flex:none}.map-stop-list{margin:0;padding:0;list-style:none;display:grid}.map-stop{min-width:0}.map-stop-button{width:100%;min-height:68px;color:var(--c-text);text-align:left;cursor:pointer;transition:background-color .18s var(--ease-route), border-color .18s var(--ease-route);background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.map-stop-button:hover,.map-stop-button.selected{border-color:var(--border-color);background:var(--c-route-soft)}.map-stop-button.completed .map-stop-copy strong{color:var(--c-muted);text-decoration:line-through}.map-stop-index,.map-saved-marker{border:2px solid var(--c-route);background:var(--c-surface);width:34px;height:34px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);border-radius:50%;place-items:center;display:grid}.map-stop-button.selected .map-stop-index{border-color:var(--c-destination);color:var(--c-destination)}.map-stop-button.completed .map-stop-index{border-color:var(--c-success);background:var(--c-success);color:#fff}.travel-map{gap:10px;margin-bottom:24px;display:grid}.travel-map-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.travel-map-toolbar>div{gap:2px;min-width:0;display:grid}.travel-map-toolbar strong{color:var(--c-text);font-size:var(--type-body-size)}.travel-map-kicker{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);align-items:center;gap:5px;display:inline-flex}.travel-map-location-button{white-space:nowrap;flex:none;min-height:44px}.travel-map-stage{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface-cool);min-height:clamp(260px,72vw,340px);position:relative;overflow:hidden}.travel-map-canvas{width:100%;min-height:clamp(260px,72vw,340px)}.travel-map-state{background:var(--c-surface-cool);color:var(--c-muted);text-align:center;align-content:center;justify-items:center;gap:8px;padding:28px;display:grid;position:absolute;inset:0}.travel-map-state strong{color:var(--c-text);font-size:var(--type-body-size)}.travel-map-state p{max-width:28ch;font-size:var(--type-supporting-size);margin:0;line-height:1.55}.travel-map-error svg,.travel-map-coordinate-note svg{color:var(--c-warning)}.travel-map-loading-dot{border:3px solid var(--border-color);border-top-color:var(--c-route);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite travel-map-spin}.travel-map-coordinate-note,.travel-map-location-success,.travel-map-location-error{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);align-items:flex-start;gap:6px;margin:0;padding-inline:2px;line-height:1.5;display:flex}.travel-map-coordinate-note svg{flex:none;margin-top:2px}.travel-map-location-success{color:var(--c-success)}.travel-map-location-success svg{flex:none;margin-top:2px}.travel-map-location-error{background:var(--c-danger-light);color:var(--c-danger);border:1px solid #b33a3a40;border-radius:10px;padding:10px 12px}@keyframes travel-map-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.travel-map-loading-dot{animation-duration:1.8s}}.map-stop-copy{min-width:0}.map-stop-copy small,.map-stop-copy strong{display:block}.map-stop-copy small{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:2px}.map-stop-copy strong{font-size:var(--type-body-size);overflow-wrap:anywhere}.map-stop-selected-label{color:var(--c-destination);font-size:var(--type-label-size);font-weight:var(--font-weight-display)}.map-route-leg{grid-template-columns:38px minmax(0,1fr);gap:10px;min-height:24px;padding:0 12px;display:grid}.map-route-leg>span{background:var(--c-route);width:2px;height:24px;margin:0 auto}.map-route-leg small{color:var(--c-muted);font-size:var(--type-label-size);align-self:center;line-height:1.4}.map-saved-heading{margin-bottom:14px}.map-saved-heading h2{font-size:var(--type-title-size);margin:0}.map-saved-heading p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0}.map-saved-list{gap:10px;display:grid}.map-saved-place{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);overflow:hidden}.map-saved-summary{width:100%;min-height:72px;color:var(--c-text);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:12px 14px;display:grid}.map-saved-place.selected{border-color:#0b6f6a7a}.map-saved-summary:focus-visible{outline-offset:-3px;outline:3px solid #0b6f6a47}.map-saved-copy{min-width:0}.map-saved-copy small,.map-saved-copy strong,.map-saved-copy span{display:block}.map-saved-copy small{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display)}.map-saved-copy strong{font-size:var(--type-body-size);overflow-wrap:anywhere;margin-top:1px}.map-saved-copy span{color:var(--c-muted);font-size:var(--type-label-size);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.map-saved-chevron{color:var(--c-muted);transition:transform .18s var(--ease-route)}.map-saved-place.selected .map-saved-chevron{transform:rotate(180deg)}.map-saved-details{border-top:1px solid var(--border-color);background:var(--c-surface-cool);gap:12px;padding:16px;display:grid}.map-saved-details .map-place-essentials,.map-saved-details .place-location-warning{margin-top:0}.map-saved-reason{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0;line-height:1.5}.map-empty-state{text-align:left;grid-template-columns:32px minmax(0,1fr);place-items:start;padding:22px 18px;display:grid}.map-empty-state>svg{color:var(--c-route)}.map-empty-state strong{color:var(--c-text);margin-bottom:4px;display:block}.map-empty-state p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0 0 12px}.map-copy-error{background:var(--c-danger-light);color:var(--c-danger);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);border-radius:8px;margin:14px 0 0;padding:10px 12px;line-height:1.45}.place-card{gap:8px;padding:24px;display:grid}.directions-choice{flex:180px;gap:8px;width:100%;display:grid}.directions-trigger,.directions-link{text-align:center;justify-content:center;width:100%;text-decoration:none}.directions-options{border-top:1px solid var(--border-color);gap:8px;padding-top:10px;display:grid}.directions-options>span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.directions-grid{grid-template-columns:1fr;gap:6px;display:grid}.directions-grid.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}.taxi-phrase-overlay{z-index:1000;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));color:#fff;background:#000;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0;overflow-y:auto}.taxi-phrase-header{top:calc(24px + env(safe-area-inset-top));right:calc(24px + env(safe-area-inset-right));position:absolute}.taxi-phrase-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.taxi-phrase-content{text-align:center;width:100%;max-width:600px;margin:0 auto}.taxi-phrase-label{color:#d6e3e1;font-size:var(--type-supporting-size);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.taxi-phrase-title{color:#fff;font-size:var(--type-presentation-size);font-weight:var(--font-weight-display);overflow-wrap:anywhere;margin-bottom:32px;line-height:1.2}.taxi-phrase-address{color:#9ca3af;font-size:var(--type-screen-size);overflow-wrap:anywhere;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;padding:20px;line-height:1.4}.taxi-address-label{margin-top:40px}@media (width<=360px){.map-destination-heading h2{font-size:var(--type-title-size)}.map-route-heading{align-items:flex-start}.map-stop-selected-label{display:none}}.shared-place-card,.shared-route-card{gap:12px;padding:22px}.shared-schedule-card{background:var(--c-surface);border:1px solid #17333d1f;box-shadow:0 4px 16px #17333d0a}.card-footer{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border-top:1px solid #17333d14;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:12px;display:flex}.compact-button{min-height:44px;margin-top:0;padding:8px 12px}.section-actions,.owner-linked-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.owner-linked-actions .primary-button.compact-button{width:auto}.share-step-section{border-top-color:#c94f3d57}.owner-inline-edit-form{border-top:1px dashed #17333d2e;margin-top:14px;padding-top:14px}.restore-button{width:100%;margin:0 0 12px}.translation-actions{gap:10px;margin-top:16px;display:grid}.translation-button{width:100%;margin-top:0}.translation-button .trailing-icon{margin-left:auto}.home-checklist-card{box-shadow:none;background:0 0;border:none;gap:8px;padding:0;display:grid}.home-checklist-card p{margin:0;padding:10px}.home-check-item{background:var(--c-bg);min-height:50px;color:var(--c-text);text-align:left;font-weight:var(--font-weight-strong);border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.home-check-item.completed{background:var(--c-route-soft);color:var(--c-muted)}.home-check-item.completed span{text-decoration:line-through}.date-details{background:#17333d08;border:1px solid #17333d14;border-radius:14px;padding:14px 16px}.date-details summary{cursor:pointer;color:var(--c-muted);font-weight:var(--font-weight-strong)}.info-card,.emergency-card{margin-bottom:12px;padding:24px}.flight-card{background:var(--c-surface);border:1px solid #17333d1f;border-radius:12px;gap:16px;padding:24px;display:grid;box-shadow:0 10px 26px #17333d0f}.flight-card-header{color:var(--c-destination);justify-content:space-between;align-items:center;gap:12px;display:flex}.flight-details{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.flight-details div{background:var(--c-route-soft);border-radius:8px;padding:14px}.flight-details dt{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:4px}.flight-details dd{color:var(--c-text);font-weight:var(--font-weight-strong);margin:0}.check-row{background:var(--c-surface);text-align:left;min-height:58px;font-weight:var(--font-weight-strong);border:1px solid #17333d1a;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.check-row.completed{background:var(--c-route-soft)}.check-row.completed .check-toggle>span:not(.check-item-copy),.check-row.completed .check-item-copy>span:first-child{color:var(--c-muted);text-decoration:line-through}.check-toggle{min-height:44px;color:var(--c-text);text-align:left;font-weight:var(--font-weight-strong);background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:8px;display:flex}.icon-button{background:var(--c-danger-light);width:44px;min-width:44px;height:44px;color:var(--c-danger);border:0;border-radius:8px;place-items:center;display:grid}.icon-button.neutral{background:var(--c-route-soft);color:var(--c-route)}.icon-button:disabled{cursor:not-allowed;opacity:.35}.check-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.check-summary p{margin-bottom:0}.check-summary span{background:var(--c-route);color:#fff;min-width:54px;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);text-align:center;border-radius:999px;padding:6px 10px}.check-add-form{background:var(--c-surface);border:1px solid #17333d1a;border-radius:8px;gap:10px;margin-bottom:22px;padding:16px;display:grid}.check-add-form label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);gap:6px;display:grid}.check-add-form input,.check-add-form select{background:var(--c-bg);width:100%;min-height:44px;color:var(--c-text);font:inherit;font-size:var(--type-body-size);font-weight:var(--font-weight-strong);border:1px solid #17333d1f;border-radius:10px;padding:10px 12px}.check-groups{gap:18px;display:grid}.check-group{gap:8px;display:grid}.checklist-date-filter{scrollbar-width:none;gap:8px;margin:0 -2px 16px;padding:2px;display:flex;overflow-x:auto}.checklist-date-filter::-webkit-scrollbar{display:none}.checklist-date-filter button{border:1px solid var(--border-color);background:var(--c-surface);min-height:44px;color:var(--c-muted);font:inherit;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);white-space:nowrap;border-radius:10px;flex:none;padding:9px 13px}.checklist-date-filter button.active{border-color:var(--c-route);background:var(--c-route);color:#fff}.check-item-copy,.checklist-item-copy{gap:2px;min-width:0;display:grid}.check-item-copy small,.checklist-category-label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);line-height:1.4;text-decoration:none}.check-scope-guide{background:var(--c-route-soft);color:var(--c-route);border-radius:10px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.check-scope-guide div,.check-scope-guide strong,.check-scope-guide span{display:block}.check-scope-guide strong{color:var(--c-text);font-size:var(--type-supporting-size)}.check-scope-guide span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin-top:2px}.manage-check-add-form{margin:18px 0 24px}.checklist-scope-stack{gap:24px;display:grid}.checklist-scope-section{gap:10px;display:grid}.checklist-scope-heading{border-bottom:1px solid var(--border-color);padding-bottom:10px}.checklist-scope-heading h3,.checklist-scope-heading p{margin:0}.checklist-scope-heading h3{color:var(--c-text);font-size:var(--type-body-size)}.checklist-scope-heading p{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);margin-top:3px}.checklist-item-list{gap:8px;display:grid}.checklist-item-row{background:var(--c-surface);border:1px solid #17333d1a;border-radius:12px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:60px;padding:7px 7px 7px 12px;display:grid}.checklist-item-row.completed{background:var(--c-route-soft)}.checklist-item-row.completed .item-title{color:var(--c-muted);text-decoration:line-through}.checkbox-container{cursor:pointer;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;display:grid}.checkbox-container input{width:20px;height:20px;accent-color:var(--c-route);margin:0}.checkbox-container .checkmark{display:none}.item-title{overflow-wrap:anywhere;color:var(--c-text);font-weight:var(--font-weight-strong)}.delete-item-button{background:var(--c-danger-light);width:44px;height:44px;color:var(--c-danger);border:0;border-radius:10px;place-items:center;display:grid}.checked{color:var(--c-route);fill:var(--c-route-soft)}.bottom-tabs{min-height:calc(68px + env(safe-area-inset-bottom));background:var(--c-surface);border-top:1px solid var(--border-color);padding:5px 6px calc(5px + env(safe-area-inset-bottom));z-index:100;grid-template-columns:repeat(5,1fr);display:grid;position:sticky;bottom:0}.bottom-tabs button{min-height:54px;color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-body);cursor:pointer;transition:color .18s var(--ease-route), box-shadow .18s var(--ease-route);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 2px;display:flex}.bottom-tabs button svg{transition:transform .18s var(--ease-route)}.bottom-tabs button.active{color:var(--c-route);box-shadow:inset 0 3px var(--c-route);background:0 0}.bottom-tabs button.active svg{transform:translateY(-1px)}.bottom-tabs button.active span{font-weight:var(--font-weight-strong);color:var(--c-route);letter-spacing:-.01em}.primary-button:active,.secondary-button:active,.danger-button:active,.quick-button:active,.home-check-item:active,.check-toggle:active,.icon-button:active{transition:transform .1s;transform:scale(.97)}.icon-button:disabled:active{transform:none}.section-block.compact{margin-top:0}.flight-card-premium{background:var(--c-surface);border-top:none;border:1px solid var(--border-color);box-shadow:none;border-radius:var(--radius-card);gap:16px;padding:20px;display:grid;position:relative;overflow:hidden}.flight-card-premium:after{content:"";border-bottom:1px dashed #17333d14;position:absolute;bottom:56px;left:0;right:0}.ticket-airport-row{text-align:center;justify-content:space-between;align-items:center;display:flex}.airport-box{gap:2px;display:grid}.airport-code{font-size:var(--type-screen-size);font-weight:var(--font-weight-strong);color:var(--c-text);letter-spacing:-.02em}.airport-name{font-size:var(--type-label-size);color:var(--c-muted);font-weight:var(--font-weight-strong)}.ticket-plane-divider{flex:1;justify-content:center;align-items:center;margin:0 16px;display:flex;position:relative}.plane-line{border-top:1px dashed #17333d26;position:absolute;top:50%;left:0;right:0}.plane-icon-wrapper{background:var(--c-surface);z-index:1;color:var(--c-route);padding:0 8px;transform:rotate(90deg)}.ticket-time-detail{font-size:var(--type-supporting-size);color:var(--c-text);font-weight:var(--font-weight-strong);border-top:1px solid #17333d0d;justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;display:flex}.ticket-bottom-info{font-size:var(--type-label-size);font-weight:var(--font-weight-strong);color:var(--c-muted);justify-content:space-between;align-items:center;padding-top:4px;display:flex}.flight-screen-intro{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0;line-height:1.5}.flight-manage-row{background:var(--c-route-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:11px 12px;display:flex}.flight-manage-row span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);line-height:1.45}.flight-manage-row .secondary-button{background:var(--c-surface);font-size:var(--type-label-size);flex:none}.flight-journey-list{gap:14px;display:grid}.flight-journey-card{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);padding:18px}.flight-journey-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.flight-journey-header .pill{flex:none}.flight-identity{text-align:right;min-width:0}.flight-identity h2{font-size:var(--type-title-size);overflow-wrap:anywhere;margin:0}.flight-identity p{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);overflow-wrap:anywhere;margin:2px 0 0}.flight-route{border-block:1px solid var(--border-color);grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:8px;margin-top:18px;padding:16px 0;display:grid}.flight-route-point{min-width:0}.flight-route-point.arrival{text-align:right}.flight-route-point span,.flight-route-point strong,.flight-route-point small,.flight-route-point b{display:block}.flight-route-point span{color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);margin-bottom:3px}.flight-route-point strong{min-height:42px;color:var(--c-text);font-size:var(--type-body-size);overflow-wrap:anywhere;line-height:1.4}.flight-route-point small{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-top:7px;line-height:1.4}.flight-route-point b{color:var(--c-text);font-size:var(--type-supporting-size);overflow-wrap:anywhere;margin-top:2px;line-height:1.4}.flight-route-line{height:32px;color:var(--c-destination);place-items:center;display:grid;position:relative}.flight-route-line span{background:var(--border-color);height:1px;position:absolute;left:0;right:0}.flight-route-line svg{background:var(--c-surface);box-sizing:content-box;border-radius:50%;padding:3px;position:relative;transform:rotate(90deg)}.flight-memo{margin-top:14px}.flight-memo summary{min-height:44px;color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);cursor:pointer;padding:11px 2px}.flight-memo summary:focus-visible{outline-offset:1px;border-radius:8px;outline:3px solid #0b6f6a47}.flight-memo>div{background:var(--c-surface-cool);color:var(--c-muted);font-size:var(--type-label-size);border-radius:8px;padding:11px 12px}.flight-checklist-section{margin-top:30px}.flight-check-count{background:var(--c-route);color:#fff;min-width:42px;font-size:var(--type-label-size);font-weight:var(--font-weight-display);text-align:center;border-radius:999px;padding:5px 9px}.flight-checklist-empty{background:var(--c-surface-cool);color:var(--c-muted);font-size:var(--type-supporting-size);border-radius:10px;margin:0;padding:14px}.flight-empty-state{text-align:left;grid-template-columns:32px minmax(0,1fr);place-items:start;padding:22px 18px;display:grid}.flight-empty-state>svg{color:var(--c-route)}.flight-empty-state strong{color:var(--c-text);margin-bottom:4px;display:block}.flight-empty-state p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:0 0 12px}@media (width<=360px){.flight-manage-row{flex-direction:column;align-items:flex-start}.flight-route{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:6px}.flight-route-point strong{font-size:var(--type-supporting-size)}}@media (width<=240px){.info-card,.emergency-card{padding:16px 12px}.info-card.auth-card-premium{padding:0 0 16px}.flight-empty-state{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 12px}.home-check-item{align-items:flex-start;padding-left:10px;padding-right:10px}.home-check-item>svg{flex:none}.bottom-tabs{padding-left:2px;padding-right:2px}.bottom-tabs button{padding-left:0;padding-right:0}}.header-profile-btn{border:1px solid var(--border-color);background:var(--c-route-soft);width:44px;height:44px;color:var(--c-route);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.header-profile-btn:hover{background:var(--c-surface);border-color:var(--c-route);color:var(--c-route)}.header-profile-btn:active{transform:scale(.95)}.masked-text-wrapper{align-items:center;gap:6px;font-family:monospace;display:inline-flex}.masked-text-label{color:var(--c-muted);font-size:var(--type-label-size);margin-right:2px;font-family:sans-serif}.masked-text-value{letter-spacing:.05em;color:var(--c-text);transition:all .2s}.masked-toggle-btn{width:40px;height:40px;color:var(--c-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.masked-toggle-btn:hover{color:var(--c-route);background:var(--c-route-soft)}.masked-toggle-btn:focus-visible{outline:3px solid #0b6f6a80}.toast-viewport{z-index:2000;pointer-events:none;width:min(100%,430px);padding:0 12px;position:fixed;left:50%;transform:translate(-50%)}.toast-viewport-top{top:calc(12px + env(safe-area-inset-top))}.toast-viewport-bottom{bottom:calc(12px + env(safe-area-inset-bottom))}.toast-card{border:1px solid var(--border-color);color:var(--c-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#fffffff7;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;animation:.25s ease-out toastIn;display:grid;box-shadow:0 14px 38px #17333d33}.toast-icon{margin-top:2px;display:inline-flex}.toast-success{background:#f0f7f3f7;border-color:#39745440}.toast-success .toast-icon{color:#397454}.toast-error{background:#fdf2f2f7;border-color:#a64b4540}.toast-error .toast-icon{color:var(--c-danger)}.toast-warning{background:#fefaf3f7;border-color:#c94f3d40}.toast-warning .toast-icon{color:#87652e}.toast-info{background:#f2f7faf7;border-color:#39708d40}.toast-info .toast-icon{color:#39708d}.toast-content{min-width:0}.toast-content h2{font-size:var(--type-body-size);letter-spacing:-.01em;margin:0 0 3px;line-height:1.4}.toast-content p{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-body);overflow-wrap:anywhere;margin:0;line-height:1.5}.toast-action{background:var(--c-route);color:#fff;min-height:44px;font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);border:0;border-radius:10px;margin-top:8px;padding:7px 12px}.toast-close{width:44px;height:44px;color:var(--c-muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;margin:-8px -4px 0 0;padding:0;display:inline-flex}.toast-close:hover{background:var(--c-route-soft);color:var(--c-route)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=520px){.app-shell{padding:0;display:block}.phone-frame{width:100%;height:100dvh;box-shadow:none;border:0}}.screen-intro{max-width:28rem;color:var(--c-muted);font-size:var(--type-supporting-size);margin:5px 0 0;line-height:1.5}.china-payment-helper{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);color:var(--c-text);gap:16px;margin:24px 0;padding:20px;display:grid}.china-payment-heading{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;display:grid}.china-payment-icon{background:var(--c-route-soft);width:40px;height:40px;color:var(--c-route);border-radius:50%;place-items:center;display:grid}.china-payment-heading span:not(.china-payment-icon){color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);display:block}.china-payment-heading h2{font-size:var(--type-title-size);margin:2px 0 0}.china-payment-description{color:var(--c-muted);font-size:var(--type-supporting-size);line-height:var(--type-supporting-line);margin:0}.china-payment-apps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.payment-app-button{border-radius:var(--radius-control);min-width:0;min-height:48px;font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:10px 12px;display:inline-flex}.payment-app-button svg{flex:none}.payment-app-button.alipay{background:var(--c-route);color:#fff}.payment-app-button.wechat{border-color:var(--border-color);background:var(--c-surface-cool);color:var(--c-text)}.china-payment-tip{border-top:1px solid var(--border-color);padding-top:4px}.china-payment-tip-toggle{width:100%;min-height:44px;color:var(--c-route);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 0;display:flex}.china-payment-tip-toggle svg{flex:none}.china-payment-tip-content{border-radius:var(--radius-control);background:var(--c-surface-cool);color:var(--c-muted);font-size:var(--type-label-size);gap:8px;margin-top:8px;padding:12px;display:grid}.china-payment-tip-content p{margin:0}.china-payment-tip-content strong{color:var(--c-text)}.text-link{min-height:44px;color:var(--c-route);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);text-underline-offset:3px;align-items:center;-webkit-text-decoration:underline #0b6f6a59;text-decoration:underline #0b6f6a59;display:inline-flex}.text-link:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #0b6f6a40}.emergency-contact-list{gap:10px;display:grid}.emergency-contact{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.emergency-contact>div{min-width:0}.emergency-contact h3{color:var(--c-text);font-size:var(--type-body-size);overflow-wrap:anywhere;margin:0;line-height:1.35}.emergency-contact p{color:var(--c-muted);font-size:var(--type-label-size);overflow-wrap:anywhere;margin:4px 0 0;line-height:1.5}.emergency-contact>div>span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);overflow-wrap:anywhere;align-items:flex-start;gap:5px;margin-top:8px;display:inline-flex}.emergency-contact>div>span svg{flex:none;margin-top:2px}.emergency-call-button{border-radius:var(--radius-control);background:var(--c-danger-light);min-height:44px;color:var(--c-danger);font-size:var(--type-label-size);font-weight:var(--font-weight-display);justify-content:center;align-items:center;gap:6px;padding:9px 11px;text-decoration:none;display:inline-flex}.emergency-call-button:focus-visible{outline-offset:2px;outline:3px solid #b33a3a38}.emergency-unregistered{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);text-align:right}.concierge-empty-state{border:1px dashed var(--border-color);border-radius:var(--radius-card);background:var(--c-surface-cool);grid-template-columns:30px minmax(0,1fr);gap:10px;padding:18px;display:grid}.concierge-empty-state>svg{color:var(--c-route)}.concierge-empty-state strong{color:var(--c-text);font-size:var(--type-supporting-size);display:block}.concierge-empty-state p{color:var(--c-muted);font-size:var(--type-label-size);margin:4px 0 0;line-height:1.5}.accommodation-summary{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);padding:18px}.accommodation-summary header{align-items:flex-start;gap:10px;display:flex}.accommodation-summary header>svg{color:var(--c-route);flex:none;margin-top:2px}.accommodation-summary header span{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-display);display:block}.accommodation-summary h3{color:var(--c-text);font-size:var(--type-title-size);overflow-wrap:anywhere;margin:2px 0 0;line-height:1.4}.accommodation-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.accommodation-summary dl div{background:var(--c-surface-cool);border-radius:9px;padding:10px 12px}.accommodation-summary dt{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.accommodation-summary dd{color:var(--c-text);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);overflow-wrap:anywhere;margin:3px 0 0}.accommodation-address,.accommodation-phone{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);overflow-wrap:anywhere;align-items:flex-start;gap:7px;margin:9px 0 0;line-height:1.5;display:flex}.accommodation-address svg,.accommodation-phone svg{flex:none;margin-top:2px}.accommodation-phone{min-height:44px;color:var(--c-route);align-items:center;text-decoration:none}.accommodation-memo{background:var(--c-route-soft);color:var(--c-muted);font-size:var(--type-label-size);overflow-wrap:anywhere;border-radius:9px;margin:10px 0 0;padding:10px 12px;line-height:1.55}.accommodation-summary .secondary-button{width:100%;margin-top:14px}.quick-helper-container{gap:16px;display:grid}.travel-tools-fallback{border-color:var(--border-color);box-shadow:none;grid-template-columns:28px minmax(0,1fr);gap:10px 12px;margin-bottom:0;padding:18px;display:grid}.travel-tools-fallback>svg{color:var(--c-route)}.travel-tools-fallback h2{font-size:var(--type-title-size);margin:0}.travel-tools-fallback p{color:var(--c-muted);font-size:var(--type-supporting-size);margin:4px 0 0}.travel-tools-links{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.travel-tools-links .secondary-button{min-width:0;font-size:var(--type-label-size);padding-inline:10px}.exchange-widget,.translation-widget{border:1px solid var(--border-color);border-radius:var(--radius-card);background:var(--c-surface);box-shadow:none;gap:16px;margin-bottom:0;padding:18px;display:grid}.travel-tool-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.travel-tool-title-row>div{align-items:flex-start;gap:9px;min-width:0;display:flex}.travel-tool-title-row>div>svg{color:var(--c-route);flex:none;margin-top:2px}.travel-tool-title-row h2{color:var(--c-text);font-size:var(--type-body-size);margin:0;line-height:1.4}.travel-tool-title-row p{color:var(--c-muted);font-size:var(--type-label-size);margin:2px 0 0;line-height:1.45}.tool-refresh-button{min-height:44px;color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:5px;padding:7px 8px;display:inline-flex}.tool-refresh-button:disabled{color:var(--c-muted);cursor:wait}.exchange-rate-status{background:var(--c-route-soft);border-radius:10px;gap:7px;padding:11px 12px;display:grid}.exchange-rate-status>span{color:var(--c-route-deep);font-size:var(--type-label-size);font-weight:var(--font-weight-display)}.exchange-rate-status label{color:var(--c-text);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);grid-template-columns:auto minmax(74px,1fr) auto;align-items:center;gap:6px;display:grid}.exchange-rate-status input{border:1px solid var(--border-color);background:var(--c-surface);min-width:0;height:44px;color:var(--c-text);font:inherit;text-align:right;border-radius:8px;padding:6px 8px}.exchange-rate-status.error{background:var(--c-danger-light)}.exchange-rate-status.error>span{color:var(--c-danger)}.exchange-error-help{color:var(--c-danger);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin:-8px 0 0}.exchange-fields{gap:8px;display:grid}.exchange-field label{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin-bottom:5px;display:block}.exchange-field>input{border:1px solid var(--border-color);border-radius:var(--radius-control);background:var(--c-surface);width:100%;min-height:48px;color:var(--c-text);font-size:var(--type-title-size);font-weight:var(--font-weight-strong);padding:11px 13px}.exchange-field input:focus,.exchange-rate-status input:focus{border-color:var(--c-route);outline:3px solid #0b6f6a2b}.exchange-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.exchange-quick-actions button{border:1px solid var(--border-color);background:var(--c-surface-cool);min-width:0;min-height:44px;color:var(--c-text);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);overflow-wrap:anywhere;border-radius:8px;padding:6px 3px}.exchange-swap-icon{color:var(--c-route);justify-self:center}.tool-language-label{background:var(--c-route-soft);color:var(--c-route);font-size:var(--type-label-size);font-weight:var(--font-weight-display);border-radius:999px;flex:none;padding:5px 8px}.phrase-grid{gap:8px;display:grid}.phrase-row{background:var(--c-surface-cool);border:1px solid #17333d14;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}.phrase-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.korean-text{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong)}.foreign-text{color:var(--c-text);font-size:var(--type-body-size);font-weight:var(--font-weight-display);overflow-wrap:anywhere}.pronun-text{color:var(--c-destination);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);overflow-wrap:anywhere}.phrase-actions{flex:none;gap:6px;display:flex}.phrase-actions .icon-button,.zoom-modal-card .close-btn{border:1px solid var(--border-color);background:var(--c-surface);min-width:44px;min-height:44px;color:var(--c-route);border-radius:8px;place-items:center;display:grid}.modal-overlay{z-index:999;background:#0b2229b8;place-items:center;padding:24px;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.zoom-modal-card{border-radius:var(--radius-sheet);background:var(--c-surface);width:100%;max-width:480px;box-shadow:var(--shadow-overlay);text-align:center;padding:52px 24px 26px;position:relative}.zoom-modal-card .close-btn{color:var(--c-muted);background:0 0;border:0;position:absolute;top:10px;right:10px}.zoom-modal-content{flex-direction:column;gap:12px;display:flex}.zoom-korean{color:var(--c-muted);font-size:var(--type-body-size);font-weight:var(--font-weight-strong)}.zoom-foreign{color:var(--c-text);font-size:var(--type-presentation-size);font-weight:var(--font-weight-display);overflow-wrap:anywhere;line-height:1.25}.zoom-pronun{color:var(--c-destination);font-size:var(--type-title-size);font-weight:var(--font-weight-display);overflow-wrap:anywhere}.zoom-instruction{border-top:1px solid var(--border-color);color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin:8px 0 0;padding-top:14px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=360px){.emergency-contact{grid-template-columns:1fr}.emergency-call-button{justify-self:stretch}.emergency-unregistered{text-align:left}.travel-tools-links{grid-template-columns:1fr}.tool-refresh-button span{display:none}.exchange-rate-status label{grid-template-columns:1fr auto}.exchange-rate-status label span{grid-column:1/-1}.phrase-row{flex-direction:column;align-items:flex-start}.phrase-actions{align-self:stretch}.phrase-actions .icon-button{flex:1}}@media (width<=240px){.china-payment-helper{gap:14px;padding:16px 12px}.china-payment-heading,.china-payment-apps{grid-template-columns:minmax(0,1fr)}}.place-local-name{color:var(--c-route);font-size:var(--type-title-size);font-weight:var(--font-weight-display);margin:4px 0 0;line-height:1.35}.place-local-address,.place-subway-exit{color:var(--c-muted);font-size:var(--type-supporting-size);font-weight:var(--font-weight-strong);margin:4px 0 0}.zoom-taxi-phrase{background:var(--c-destination-soft);color:var(--c-text);font-size:var(--type-title-size);font-weight:var(--font-weight-display);border-radius:10px;margin-top:18px;padding:14px;line-height:1.45;display:block}.field-help{color:var(--c-muted);font-size:var(--type-label-size);font-weight:var(--font-weight-strong);margin:-4px 0 0}.local-place-fieldset{background:var(--c-destination-soft);border:1px solid #c94f3d3d;border-radius:12px;gap:12px;min-width:0;margin:2px 0 0;padding:14px;display:grid}.local-place-fieldset legend{color:var(--c-destination);font-size:var(--type-supporting-size);font-weight:var(--font-weight-display);padding:0 6px}.shared-place-card .primary-button.compact-button{width:auto}
