:root{--ion-font-family: "Source Han Sans TW", "Source Han Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ion-color-primary: #ff385c;--ion-color-primary-rgb: 255, 56, 92;--ion-color-primary-contrast: #ffffff;--ion-background-color: #f7f7f7;--ion-text-color: #222222;--haolv-page-top: #f2f3f5;--haolv-surface: #ffffff;--haolv-surface-strong: #f9fafb;--haolv-surface-muted: #f0f2f5;--haolv-surface-elevated: #ffffff;--haolv-border: rgba(31, 35, 40, .14);--haolv-border-strong: rgba(31, 35, 40, .22);--haolv-muted: #5d6673;--haolv-text-muted: var(--haolv-muted);--haolv-shadow: 0 1px 2px rgba(15, 23, 42, .08);--haolv-content-max: min(100%, 1520px);--haolv-main-gutter: 14px;--haolv-tab-fade: var(--ion-background-color)}@font-face{font-family:Source Han Sans TW;src:url(/assets/SourceHanSansTW-VF.otf.woff2) format("woff2");font-weight:250 900;font-style:normal;font-display:swap}@font-face{font-family:Source Han Sans KR;src:url(/assets/SourceHanSansKR-VF.otf.woff2) format("woff2");font-weight:250 900;font-style:normal;font-display:swap}html,body,#root{height:100%}body{margin:0;background:var(--ion-background-color);font-family:var(--ion-font-family);overflow:hidden}button,input,select,textarea{font:inherit}.haolv-select{--color: var(--ion-text-color);color:var(--ion-text-color);width:100%}.haolv-select::part(label){color:var(--haolv-muted);opacity:1}.haolv-select::part(text){color:var(--ion-text-color)}.haolv-select::part(icon){color:var(--haolv-muted);opacity:1}.haolv-select-overlay{--background: var(--haolv-surface-strong);--color: var(--ion-text-color);--ion-item-background: var(--haolv-surface-strong);--ion-item-color: var(--color);--ion-text-color: var(--color);color:var(--ion-text-color)}.haolv-select-overlay .alert-wrapper,.haolv-select-overlay .action-sheet-wrapper,.haolv-select-overlay .action-sheet-group,.haolv-select-overlay .alert-head,.haolv-select-overlay .alert-message,.haolv-select-overlay .alert-radio-group,.haolv-select-overlay .action-sheet-container{background:var(--haolv-surface-strong);color:var(--ion-text-color)}.haolv-select-overlay .alert-title,.haolv-select-overlay .alert-radio-label,.haolv-select-overlay .alert-button,.haolv-select-overlay .action-sheet-title,.haolv-select-overlay .action-sheet-button,.haolv-select-overlay ion-item{color:var(--ion-text-color)}.haolv-select-overlay .alert-radio-icon{border-color:var(--haolv-border-strong)}.haolv-select-overlay .alert-radio-inner,.haolv-select-overlay .action-sheet-selected,.haolv-select-overlay .item-radio-checked,.haolv-select-overlay .alert-button[aria-checked=true]{color:var(--ion-color-primary)}.haolv-select-overlay .alert-radio-group{border-color:var(--haolv-border)}.haolv-select-overlay .alert-button,.haolv-select-overlay .action-sheet-selected,.haolv-select-overlay .item-radio-checked{color:var(--ion-color-primary)}.haolv-app{background:var(--ion-background-color)}.app-shell{background:var(--ion-background-color);min-height:100%}.theme-dark{--ion-background-color: #0f1115;--ion-text-color: #f1f3f5;--haolv-page-top: #111318;--haolv-surface: #16181d;--haolv-surface-strong: #1b1e24;--haolv-surface-muted: #20242b;--haolv-surface-elevated: #23262d;--haolv-border: rgba(255, 255, 255, .08);--haolv-border-strong: rgba(255, 255, 255, .14);--haolv-muted: #a6adb8;--haolv-text-muted: var(--haolv-muted);--haolv-shadow: 0 1px 2px rgba(0, 0, 0, .28);--haolv-tab-fade: var(--ion-background-color)}:root.theme-dark ion-alert,body.theme-dark ion-alert{--background: var(--haolv-surface);--color: var(--ion-text-color);--ion-background-color: var(--haolv-surface);--ion-item-background: var(--haolv-surface);--ion-item-color: var(--ion-text-color);color:var(--ion-text-color)}:root.theme-dark ion-alert::part(header),:root.theme-dark ion-alert::part(title),:root.theme-dark ion-alert::part(sub-title),:root.theme-dark ion-alert::part(message),:root.theme-dark ion-alert::part(content),body.theme-dark ion-alert::part(header),body.theme-dark ion-alert::part(title),body.theme-dark ion-alert::part(sub-title),body.theme-dark ion-alert::part(message),body.theme-dark ion-alert::part(content){color:var(--ion-text-color)}:root.theme-dark .alert-wrapper,:root.theme-dark .alert-head,:root.theme-dark .alert-title,:root.theme-dark .alert-sub-title,:root.theme-dark .alert-message,:root.theme-dark .alert-radio-label,:root.theme-dark .alert-checkbox-label,body.theme-dark .alert-wrapper,body.theme-dark .alert-head,body.theme-dark .alert-title,body.theme-dark .alert-sub-title,body.theme-dark .alert-message,body.theme-dark .alert-radio-label,body.theme-dark .alert-checkbox-label{color:var(--ion-text-color)}:root.theme-dark .alert-wrapper,body.theme-dark .alert-wrapper{background:var(--haolv-surface)}.app-content{--background: var(--ion-background-color)}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:stretch;background:var(--ion-background-color);color:var(--ion-text-color);overflow:hidden}.theme-dark .app-loading{background:var(--ion-background-color)}.app-loading-card{position:relative;display:grid;align-content:start;gap:18px;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));background:var(--haolv-surface);overflow:hidden;animation:loading-card-in .56s cubic-bezier(.2,.8,.2,1) both}.app-loading-card:before{display:none}.app-loading-kicker,.app-loading-title,.app-loading-note,.app-loading-row,.app-loading-gif,.app-loading-skeleton{position:relative;z-index:1}.app-loading-kicker{align-items:center;color:var(--haolv-muted);display:flex;font-size:11px;font-weight:800;gap:12px;letter-spacing:.08em;text-transform:uppercase}.app-loading-kicker:after{flex:1;max-width:42px;height:1px;background:var(--haolv-border-strong);content:"";animation:loading-route-pulse 1.8s ease-in-out infinite}.app-loading-title{margin:0;font-size:24px;font-weight:850;line-height:1.15}.app-loading-note{color:var(--haolv-muted);font-size:14px;line-height:1.55;margin:-6px 0 0}.app-loading-row{display:flex;flex-wrap:wrap;gap:8px}.app-loading-row span,.app-loading-pill,.app-loading-line,.app-loading-block{background:var(--haolv-surface-muted);border-radius:999px;animation:loading-route-pulse 1.4s ease-in-out infinite}.app-loading-row span{display:block;height:24px;width:74px}.app-loading-row span:nth-child(2){width:108px}.app-loading-row span:nth-child(3){width:58px}.app-loading-gif{align-items:center;align-self:center;background:color-mix(in srgb,var(--haolv-surface-muted) 65%,transparent);border:1px solid var(--haolv-border);border-radius:8px;display:flex;justify-content:center;min-height:210px;overflow:hidden}.app-loading-gif img{display:block;max-height:172px;max-width:min(260px,82vw);object-fit:contain}.app-loading-refresh{justify-self:start;margin-top:-4px;--background: var(--ion-color-primary);--background-hover: color-mix(in srgb, var(--ion-color-primary) 90%, black);--background-activated: color-mix(in srgb, var(--ion-color-primary) 82%, black);--border-radius: 8px;--box-shadow: none;--color: #ffffff;--padding-start: 18px;--padding-end: 18px;font-weight:800}.app-loading-skeleton{display:grid;gap:10px}.app-loading-pill{display:block;height:26px;width:120px}.app-loading-line{display:block;height:14px;width:76%}.app-loading-line--wide{width:96%}.app-loading-line--short{width:48%}.app-loading-block{display:block;height:72px;border-radius:8px}.app-update-prompt{align-items:center;background:var(--haolv-surface-elevated);border:1px solid var(--haolv-border-strong);border-radius:10px;box-shadow:var(--haolv-shadow);color:var(--ion-text-color);display:inline-flex;font:inherit;font-size:.88rem;font-weight:850;gap:9px;padding:10px 12px}.app-update-prompt strong{align-items:center;background:color-mix(in srgb,var(--ion-color-primary) 12%,var(--haolv-surface-strong));border:1px solid rgba(var(--ion-color-primary-rgb),.26);border-radius:8px;color:var(--ion-color-primary);display:inline-flex;gap:5px;padding:5px 8px}.app-update-prompt__bell{animation:update-bell-ring 1.8s ease-in-out infinite;font-size:18px;transform-origin:50% 0}.app-tabs{--background: var(--haolv-surface);--border: 0;position:relative;width:min(760px,calc(100% - 20px));margin:0 auto calc(8px + env(safe-area-inset-bottom));padding:5px;border:1px solid var(--haolv-border-strong);border-radius:14px;box-shadow:0 -1px #0000000a,var(--haolv-shadow);isolation:isolate;overflow:visible}.app-tabs:before{display:none}.app-tabs ion-tab-button{--background: transparent;--background-focused: transparent;--background-focused-opacity: 0;--background-hover: transparent;--background-hover-opacity: 0;--color: var(--haolv-muted);--color-selected: var(--ion-color-primary);--ripple-color: transparent;--padding-bottom: 8px;--padding-end: 4px;--padding-start: 4px;--padding-top: 8px;min-height:48px;border:1px solid transparent;border-radius:10px;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.app-tab-update-dot{position:absolute;right:calc(50% - 22px);top:7px;width:9px;height:9px;background:#e11937;border:2px solid var(--haolv-surface-strong);border-radius:999px;box-shadow:0 0 0 2px #e119372e;pointer-events:none}.app-tabs ion-tab-button:hover,.app-tabs ion-tab-button.tab-selected{--background: transparent;border-color:transparent}.app-tabs ion-tab-button:hover{transform:none}.app-tabs ion-icon{color:currentColor;font-size:21px}.app-tabs ion-label{font-size:11px;font-weight:700;line-height:1.05}.theme-dark .app-tabs{border-color:var(--haolv-border-strong);box-shadow:0 -1px #ffffff08,var(--haolv-shadow)}.page-shell{min-height:100%;padding:max(14px,env(safe-area-inset-top)) var(--haolv-main-gutter) calc(84px + env(safe-area-inset-bottom));color:var(--ion-text-color)}.trips-page{display:flex;flex-direction:column;min-height:100%;padding-bottom:calc(92px + env(safe-area-inset-bottom));padding-top:0}.trip-header,.compact-header{margin:0 auto 14px;max-width:var(--haolv-content-max);width:100%}.compact-header__top{align-items:center;border-bottom:1px solid var(--haolv-border);display:flex;gap:10px;min-height:40px;padding-bottom:10px}.compact-header__title-block{flex:1 1 auto;min-width:0}.trip-manager__header-main{align-items:center;display:flex;flex:1 1 auto;gap:10px}.app-back-button{--background: var(--haolv-surface);--border-color: var(--haolv-border);--border-radius: 8px;--border-style: solid;--border-width: 1px;--box-shadow: none;--color: var(--ion-text-color);--padding-end: 0;--padding-start: 0;margin:0;min-height:32px;min-width:32px}.app-back-button ion-icon{font-size:1.15rem}.trip-header{border-bottom:1px solid var(--haolv-border);padding:2px 0 12px}.eyebrow{margin:0 0 4px;color:var(--ion-color-primary);font-size:.75rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{letter-spacing:0}h1{margin:0;font-size:1.9rem;line-height:1.08}h2{margin:0;font-size:1.35rem}h3{margin:0;font-size:1.05rem}.trip-subtitle,.compact-header p{margin:8px 0 0;color:var(--haolv-muted);line-height:1.55}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.summary-strip span,.date-pill,.stop-index,.transfer-mode,.transfer-time{border:1px solid var(--haolv-border-strong);border-radius:8px;background:var(--haolv-surface-strong);color:var(--haolv-muted);font-size:.78rem;font-weight:700;padding:5px 9px}.day-segment{background:color-mix(in srgb,var(--haolv-surface-muted) 82%,transparent);border-radius:8px;min-height:40px}.day-segment ion-segment-button{--color: var(--haolv-muted);--color-checked: var(--ion-text-color);--indicator-color: var(--ion-color-primary);--padding-bottom: 5px;--padding-top: 5px;min-height:36px}.day-section{margin:0 auto;max-width:var(--haolv-content-max);width:100%}.trip-manager{margin:0 auto 18px;max-width:var(--haolv-content-max)}.trip-manager--page{width:100%}.trip-manager--secondary{width:min(100%,980px);margin-top:22px;margin-bottom:0;opacity:.78}.trip-manager__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.trip-manager--page>.trip-manager__header{padding-top:8px}.trip-manager__title-block{min-width:0;flex:1 1 auto}.trip-manager__title-row{align-items:center;display:flex;gap:12px;justify-content:flex-start;min-height:32px}.trip-manager__header h1{font-size:1.55rem;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-manager__status{margin:0 0 12px;color:var(--haolv-muted);font-size:.88rem;line-height:1.55}.trip-manager__tools{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.trip-manager__tools .trip-manager__status{margin:0}.trip-manager__create-button{--background: var(--haolv-surface-strong);--border-color: var(--haolv-border-strong);--border-radius: 8px;--border-style: solid;--border-width: 1px;--box-shadow: none;--color: var(--ion-text-color);--padding-end: 15px;--padding-start: 15px;font-size:.82rem;font-weight:780;min-height:34px}.trip-list{display:grid;gap:10px}.trip-list__item{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--haolv-border);border-radius:8px;background:var(--haolv-surface);box-shadow:var(--haolv-shadow)}.trip-list__head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;min-width:0}.trip-list__body{flex:1 1 220px;min-width:0}.trip-list__body h2{margin:0;font-size:1.02rem;font-weight:800;overflow-wrap:anywhere}.trip-list__body p{margin:6px 0 0;color:var(--haolv-muted);font-size:.84rem;line-height:1.55;overflow-wrap:anywhere}.trip-list__item--active{border-color:color-mix(in srgb,var(--ion-color-primary) 44%,var(--haolv-border));background:color-mix(in srgb,var(--ion-color-primary) 8%,var(--haolv-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ion-color-primary) 12%,transparent)}.trip-list__item--active .trip-list__body p{color:color-mix(in srgb,var(--ion-color-primary) 62%,var(--haolv-muted))}.trip-list__select-button{--border-radius: 999px;--box-shadow: none;font-size:.76rem;font-weight:780;min-height:32px}.trip-list__actions{display:flex;flex-wrap:wrap;gap:6px}.trip-list__actions ion-button{--border-radius: 999px;font-size:.78rem;font-weight:720}.trip-form-content{--background: var(--ion-background-color)}.trip-form{margin:18px auto;max-width:640px}.trip-form ion-list{background:transparent}.trip-form__actions{padding:0 16px}.editor-toolbar{display:flex;justify-content:flex-end;margin:-6px auto 8px;max-width:var(--haolv-content-max);width:100%}.trip-inline-toolbar{align-items:center;background:var(--ion-background-color);border-bottom:1px solid var(--haolv-border);border-radius:0;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;margin:0 calc(var(--haolv-main-gutter) * -1) 10px;min-height:42px;overscroll-behavior-x:contain;overflow-x:auto;overflow-y:hidden;padding:calc(5px + env(safe-area-inset-top)) var(--haolv-main-gutter) 5px;position:sticky;scrollbar-width:none;touch-action:pan-x pan-y;top:0;-webkit-overflow-scrolling:touch;z-index:5}.trip-inline-toolbar::-webkit-scrollbar{display:none}.trip-inline-button{--background: var(--haolv-surface);--border-color: var(--haolv-border);--border-radius: 8px;--border-style: solid;--border-width: 1px;--box-shadow: none;--color: var(--ion-text-color);--padding-end: 14px;--padding-start: 10px;font-size:.75rem;font-weight:750;flex:0 0 auto;min-height:32px}.trip-inline-button ion-icon{color:var(--ion-color-primary);font-size:17px;margin-right:5px}.day-pager{align-items:start;display:grid;grid-auto-columns:100%;grid-auto-flow:column;margin:0 calc(var(--haolv-main-gutter) * -1);max-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:0;scroll-padding-inline:var(--haolv-main-gutter);scroll-snap-type:x mandatory;scrollbar-width:none;transition:height .18s ease;width:calc(100% + (var(--haolv-main-gutter) * 2))}.day-pager::-webkit-scrollbar{display:none}.day-pager__page{min-height:0;min-width:0;overflow-y:visible;scroll-snap-align:start;scroll-snap-stop:always;scrollbar-width:thin}.day-pager__page .day-section{background:transparent;border:0;border-radius:0;max-width:none;padding:12px 12px 20px}@media(max-width:430px){.day-pager__page .day-section{padding:6px 0 12px}}.day-pager-dots{align-items:center;background:transparent;border:0;border-radius:0;bottom:calc(78px + env(safe-area-inset-bottom));box-shadow:none;display:flex;gap:8px;left:50%;padding:8px 10px;position:fixed;transform:translate(-50%);z-index:30}.day-pager-dots button{background:var(--haolv-surface-elevated);border:1px solid var(--haolv-border-strong);border-radius:999px;box-shadow:none;display:block;height:8px;padding:0;transition:background .18s ease,transform .18s ease,width .18s ease;width:8px}.day-pager-dots button.is-active{background:var(--ion-color-primary);transform:translateY(-1px);width:18px}.toolbox-section{margin:0 auto 18px;max-width:980px;scroll-margin-top:16px}.toolbox-section--page{animation:page-fade-in .18s ease}.toolbox-switcher{background:var(--haolv-surface);border:1px solid var(--haolv-border-strong);border-radius:10px;box-shadow:var(--haolv-shadow);display:grid;gap:3px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto 16px;max-width:980px;padding:3px}.toolbox-switcher__button{align-items:center;background:transparent;border:0;border:1px solid transparent;border-radius:7px;color:var(--ion-text-color);display:grid;gap:2px;min-height:52px;padding:8px 6px;text-align:center}.toolbox-switcher__button strong{font-size:.92rem;font-weight:850;line-height:1.2}.toolbox-switcher__button span{color:var(--haolv-muted);font-size:.72rem;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbox-switcher__button.is-active{background:var(--haolv-surface-strong);border-color:rgba(var(--ion-color-primary-rgb),.28);box-shadow:none;color:var(--ion-color-primary)}.toolbox-switcher__button.is-active span{color:color-mix(in srgb,var(--ion-color-primary) 74%,var(--haolv-muted))}.toolbox-section:focus{outline:none}.toolbox-section__header{margin-bottom:10px}.toolbox-section__header p{color:var(--haolv-muted);line-height:1.5;margin:6px 0 0}.toolbox-tools-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.converter-panel{margin:18px auto;max-width:520px;padding:0 14px}.converter-card{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;box-shadow:var(--haolv-shadow);display:grid;gap:14px;padding:14px}.converter-card__header{align-items:center;display:flex;gap:12px;justify-content:space-between}.converter-card__header h2{font-size:1.25rem}.converter-card__header ion-button{--border-radius: 999px;font-weight:800}.converter-card__header ion-icon{margin-right:5px}.converter-route{align-items:center;background:var(--haolv-surface-strong);border:1px solid color-mix(in srgb,var(--ion-color-primary) 20%,var(--haolv-border));border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:12px}.converter-route span{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:8px;color:var(--haolv-muted);display:grid;font-size:.78rem;font-weight:800;gap:2px;min-width:0;padding:9px;text-align:center}.converter-route strong{color:var(--ion-text-color);font-size:1rem}.converter-fields{background:transparent}.converter-field-item{--border-color: var(--haolv-border);--highlight-color-focused: var(--ion-color-primary)}.converter-field-item.is-active{--border-color: color-mix(in srgb, var(--ion-color-primary) 42%, var(--haolv-border))}.converter-field-item.is-active::part(native){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ion-color-primary) 24%,transparent)}.converter-quick,.converter-numpad{display:grid;gap:8px}.converter-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.converter-quick button,.converter-numpad button{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:8px;color:var(--ion-text-color);font:inherit;font-weight:800;min-height:40px}.converter-numpad{grid-template-columns:repeat(3,minmax(0,1fr))}.converter-result{background:color-mix(in srgb,var(--ion-color-primary) 10%,var(--haolv-surface-strong));border:1px solid color-mix(in srgb,var(--ion-color-primary) 28%,var(--haolv-border));border-radius:8px;display:grid;gap:8px;margin:0;padding:16px}.converter-result span{align-items:center;color:var(--haolv-muted);display:flex;font-size:.86rem;font-weight:800;gap:8px}.converter-result strong{font-size:clamp(1.55rem,8vw,2.2rem);line-height:1.1}.form-error{color:var(--ion-color-danger, #eb445a);font-size:.85rem;margin:6px 20px 10px}.day-section__header{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 0 12px}.day-section--editing,.stop-card--editing{position:relative}.day-section--focused-edit{border-color:color-mix(in srgb,var(--ion-color-primary) 36%,var(--haolv-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ion-color-primary) 18%,transparent)}.day-section.is-changed,.stop-card.is-changed{border-style:dashed;border-color:color-mix(in srgb,var(--ion-color-primary) 48%,var(--haolv-border))}.day-section.is-dragging,.stop-card.is-dragging{box-shadow:0 8px 18px #0f172a29;transform:scale(1.01);z-index:2}.day-section.is-dragging{opacity:.38;transform:scale(.985);transition:opacity .15s ease,transform .15s ease}.day-section.is-reorder-target{animation:day-reorder-land .26s ease}.day-drag-handle{touch-action:none}.day-drag-preview{position:fixed;left:0;top:0;z-index:700;pointer-events:none;display:grid;gap:8px;padding:18px;border:2px solid var(--ion-color-primary);border-radius:var(--haolv-radius-2);background:var(--haolv-surface);box-shadow:0 18px 42px #0f172a42;opacity:.96;overflow:hidden;will-change:transform}.day-drag-preview span{color:var(--ion-color-primary);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.day-drag-preview strong{color:var(--ion-text-color);font-size:1.35rem;line-height:1.1}body.is-day-reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}@keyframes day-reorder-land{0%{transform:scale(.985)}55%{transform:scale(1.015)}to{transform:scale(1)}}.stop-card--editing:not(.is-dragging){animation:haolv-wiggle .19s ease-in-out infinite alternate;transform-origin:50% 50%}@keyframes haolv-wiggle{0%{transform:rotate(-.45deg)}to{transform:rotate(.45deg)}}.day-section__title-row,.stop-card__meta{align-items:center;display:flex;gap:10px}.day-section__edit-hint{color:var(--haolv-text-muted);font-size:.82rem;line-height:1.45;margin:4px 0 0}.drag-handle{align-items:center;background:color-mix(in srgb,var(--haolv-surface) 84%,var(--ion-color-primary) 16%);border:1px solid color-mix(in srgb,var(--ion-color-primary) 24%,var(--haolv-border));border-radius:8px;color:var(--ion-text-color);cursor:grab;display:inline-flex;flex:0 0 auto;font:inherit;justify-content:center;min-height:34px;min-width:34px;padding:0}.drag-handle:active{cursor:grabbing}.day-drag-handle,.stop-drag-handle{margin:0}.day-section__actions,.stop-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.icon-only-link-button{--border-radius: 8px;--box-shadow: none;--padding-start: 0;--padding-end: 0;margin:0;min-height:34px;min-width:34px}.icon-only-link-button ion-icon{font-size:1rem}.stop-card__editor-actions{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;margin-top:12px}.stop-card__meta{min-width:0}.meta-list{display:grid;gap:8px;list-style:none;margin:0 0 14px;padding:0}.meta-list li,.todo-panel,.empty-state{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;padding:12px}.stop-list,.nearby-grid,.map-list,.transit-list{display:grid;gap:10px}.stop-list{width:100%}.empty-state--compact{margin-top:10px}.stop-card{border-radius:8px;box-shadow:none;margin:0;border:1px solid var(--haolv-border);background:var(--haolv-surface);width:100%}.stop-card ion-card-content{padding:14px}.stop-card__topline,.map-row{align-items:center;display:flex;justify-content:space-between;gap:10px}.stop-card__title{margin-top:8px}.ko-copy{align-items:center;background:transparent;border:0;color:var(--haolv-muted);display:inline-flex;font:inherit;gap:5px;margin:4px 0 0;padding:0}.stop-card__note{color:var(--ion-text-color);line-height:1.55;margin:9px 0 0}.station-line{color:var(--haolv-muted);font-size:.88rem;line-height:1.45;margin-top:10px}.transfer-row{align-items:center;display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.transfer-note{color:var(--haolv-muted);font-size:.9rem}.nearby-section{margin-top:18px}.nearby-section h3{margin-bottom:10px}.day-overview-map{margin:0 0 16px}.day-overview-map__header{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.day-overview-map__header h3{margin:0}.day-overview-map__header span{color:var(--haolv-text-muted);font-size:.84rem}.stop-card--compact .stop-card__note{font-size:.92rem}.map-row,.transit-card{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;padding:12px}.map-row.is-selected{border-color:#00c0bf;background:color-mix(in srgb,#00c0bf 9%,var(--haolv-surface))}.map-row div,.transit-card{min-width:0}.map-row__actions{align-items:center;display:flex;flex:0 0 auto;gap:4px}.map-row span,.transit-card span{color:var(--haolv-muted);display:block;font-size:.84rem;margin-top:2px}.map-panel{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;margin:0 0 12px;overflow:hidden}.map-panel--preview-shell{position:relative}.map-panel-preview,.subway-map-preview{background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:0;padding:0;position:relative;text-align:left;width:100%}.map-panel-preview:after,.subway-map-preview:after{background:linear-gradient(180deg,#11131700,#1113170d);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.map-panel-preview__hint,.subway-map-preview__hint{align-items:center;background:var(--haolv-surface-elevated);border:1px solid var(--haolv-border-strong);border-radius:8px;box-shadow:var(--haolv-shadow);color:var(--ion-text-color);display:inline-flex;font-size:.82rem;font-weight:800;gap:6px;padding:8px 12px;position:absolute;right:12px;top:12px;z-index:2}.toolbox-remote-shell{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;box-shadow:var(--haolv-shadow);display:grid;gap:12px;margin-bottom:16px;padding:12px}.toolbox-remote-shell__header h2{font-size:1.1rem;line-height:1.2;margin:0 0 5px}.toolbox-remote-shell__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.toolbox-remote-shell__header p{color:var(--haolv-muted);line-height:1.5;margin:0}.toolbox-remote-shell__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.toolbox-remote-shell__meta span,.toolbox-remote-shell__meta-button{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:7px;color:var(--haolv-muted);font-size:.72rem;font-weight:850;line-height:1.2;padding:5px 8px}.toolbox-remote-shell__meta-button{cursor:pointer}.toolbox-remote-shell__action{--border-color: rgba(var(--ion-color-primary-rgb), .28);--border-radius: 8px;--color: var(--ion-color-primary);--padding-end: 10px;--padding-start: 10px;flex:0 0 auto;margin:0}.toolbox-remote-shell__action ion-icon{font-size:.95rem;margin-right:0}.toolbox-permissions{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:6px;padding:8px}.toolbox-permissions--modal{background:transparent;border:0;padding:0}.toolbox-permissions span{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:7px;color:var(--haolv-muted);font-size:.72rem;font-weight:800;line-height:1.2;padding:6px 9px}.toolbox-permissions-modal{gap:16px}.toolbox-remote-loading,.toolbox-remote-fallback{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;color:var(--haolv-muted);padding:14px}.toolbox-remote-fallback h3{color:var(--ion-text-color);font-size:1rem;margin:0 0 6px}.toolbox-remote-fallback p{margin:0}.remote-tool{background:color-mix(in srgb,var(--haolv-surface-strong) 76%,var(--haolv-surface));border:1px solid var(--haolv-border);border-radius:8px;display:grid;gap:12px;padding:12px}.remote-tool button,.remote-tool input,.remote-tool select{font:inherit}.remote-tool__segmented{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px}.remote-tool__segmented button{background:transparent;border:0;border-radius:6px;color:var(--haolv-muted);font-weight:850;min-height:36px;padding:8px}.remote-tool__segmented button.is-active{background:var(--haolv-surface-strong);color:var(--ion-text-color);box-shadow:none}.remote-tool__field{display:grid;gap:6px}.remote-tool__field span,.remote-tool__result span{color:var(--haolv-muted);font-size:.78rem;font-weight:850}.remote-tool__field input,.remote-tool__field select{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:8px;color:var(--ion-text-color);min-height:42px;padding:10px 11px;width:100%}.remote-tool__chips{display:flex;flex-wrap:wrap;gap:6px}.remote-tool__chips button{background:var(--haolv-surface-muted);border:1px solid var(--haolv-border);border-radius:999px;color:var(--ion-text-color);font-size:.78rem;font-weight:850;padding:7px 9px}.remote-tool__unit-row{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.remote-tool__result{background:var(--haolv-surface-strong);border:1px solid var(--haolv-border);border-radius:8px;display:grid;gap:6px;padding:12px}.remote-tool__result strong{font-size:1.25rem;line-height:1.15;overflow-wrap:anywhere}.remote-tool__breakdown{color:var(--haolv-muted);font-size:.86rem;font-weight:750}.remote-checklist-tool{gap:14px;padding:14px}.remote-checklist-tool__header{align-items:end;display:flex;gap:12px;justify-content:space-between}.remote-checklist-tool__header div{display:grid;gap:3px;min-width:0}.remote-checklist-tool__header span{color:var(--haolv-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.remote-checklist-tool__header strong{color:var(--ion-text-color);font-size:1.35rem;line-height:1.05}.remote-checklist-tool__header output{border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);color:var(--ion-color-primary);font-size:.95rem;font-weight:900;min-width:56px;padding:8px 10px;text-align:center}.remote-checklist-tool__progress{background:var(--haolv-surface-muted);border:1px solid var(--haolv-border);border-radius:999px;height:10px;overflow:hidden}.remote-checklist-tool__progress span{background:var(--ion-color-primary);border-radius:inherit;display:block;height:100%;min-width:8px;transition:width .18s ease}.remote-checklist-tool__list{display:grid;gap:8px}.remote-tool__checkbox{align-items:center;background:var(--haolv-surface);border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);color:var(--ion-text-color);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);min-height:var(--haolv-tap);padding:10px 12px}.remote-tool__checkbox input{accent-color:var(--ion-color-primary);height:20px;margin:0;width:20px}.remote-tool__checkbox span{font-weight:780;line-height:1.35;overflow-wrap:anywhere}.remote-tool__checkbox.is-checked{background:color-mix(in oklch,var(--ion-color-primary) 8%,var(--haolv-surface));border-color:color-mix(in oklch,var(--ion-color-primary) 46%,var(--haolv-border-strong))}.remote-tool__checkbox.is-checked span{color:var(--haolv-muted);text-decoration:line-through;text-decoration-thickness:2px}.remote-checklist-tool__form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.remote-checklist-tool__form input{background:var(--haolv-surface);border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);color:var(--ion-text-color);min-height:var(--haolv-tap);padding:10px 12px}.remote-checklist-tool__form button{background:var(--ion-text-color);border:1.5px solid var(--ion-text-color);border-radius:var(--haolv-radius-1);color:var(--haolv-surface);font-weight:900;min-height:var(--haolv-tap);padding:10px 14px}.remote-transit-tool{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;display:grid;gap:10px;overflow:hidden;padding:10px}.remote-transit-tool--compact{padding:8px}.remote-transit-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.remote-transit-city-tabs{display:flex;flex-wrap:wrap;gap:6px}.remote-transit-city-tabs button,.remote-transit-location,.remote-transit-spot-list button{border:1px solid var(--haolv-border);border-radius:8px;color:var(--ion-text-color);cursor:pointer;font:inherit}.remote-transit-city-tabs button,.remote-transit-location{background:var(--haolv-surface-strong);font-size:.84rem;font-weight:850;min-height:36px;padding:0 10px}.remote-transit-city-tabs button.is-active{background:var(--ion-color-primary);border-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.remote-transit-map-frame{border-radius:8px;min-height:min(62dvh,520px);overflow:hidden;position:relative}.remote-transit-tool--compact .remote-transit-map-frame{min-height:230px}.remote-transit-map{height:min(62dvh,520px);min-height:340px;width:100%}.remote-transit-tool--compact .remote-transit-map{height:230px;min-height:230px}.remote-transit-status,.remote-transit-error{background:var(--haolv-surface-elevated);border:1px solid var(--haolv-border-strong);border-radius:8px;color:var(--ion-text-color);font-size:.84rem;font-weight:800;left:12px;max-width:calc(100% - 24px);padding:8px 10px;position:absolute;top:12px;z-index:2}.remote-transit-error{background:#fff4f4;color:#9f1b1b;top:auto;bottom:12px}.remote-transit-spot-list{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-height:210px;overflow:auto}.remote-transit-spot-list button{background:var(--haolv-surface-strong);display:grid;gap:2px;min-width:0;padding:10px;text-align:left}.remote-transit-spot-list button.is-active{border-color:var(--ion-color-primary);box-shadow:inset 0 0 0 1px rgba(var(--ion-color-primary-rgb),.22)}.remote-transit-map-frame .maplibregl-popup-content{background:#161b22;border:1px solid #2a3442;border-radius:10px;box-shadow:0 12px 32px #00000047;color:#f5f7fb;padding:10px 12px}.remote-transit-map-frame .maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#161b22}.remote-transit-map-frame .maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#161b22}.remote-transit-map-frame .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#161b22}.remote-transit-map-frame .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#161b22}.remote-transit-popup{color:inherit}.remote-transit-popup strong{color:#f5f7fb;display:block;font-size:.9rem;line-height:1.35}.remote-transit-popup p{color:#b5bfcc;font-size:.8rem;line-height:1.45;margin:4px 0 0}.remote-transit-spot-list strong,.remote-transit-spot-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remote-transit-spot-list span,.remote-transit-empty{color:var(--haolv-muted);font-size:.84rem}.transit-card h2{font-size:1rem;margin-top:4px}.transit-card p,.todo-panel p{color:var(--haolv-muted);line-height:1.5;margin:6px 0 0}.subway-panel{display:grid;gap:12px;margin-bottom:16px}.subway-panel__header h2{font-size:1.1rem;margin:2px 0 4px}.subway-panel__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.subway-panel__header p:last-child{color:var(--haolv-muted);line-height:1.5;margin:0}.subway-tool{display:grid;gap:12px}.subway-map-shell{background:#f7f3e9;border:1px solid var(--haolv-border);border-radius:8px;box-shadow:none;min-height:280px;overflow:auto}.subway-map-shell--fullscreen{max-height:none}.subway-map-canvas{min-width:780px;position:relative;width:100%}.subway-map-canvas--fullscreen{min-width:1120px}.subway-map-canvas img{display:block;width:100%}.subway-selected-marker{align-items:center;background:var(--ion-color-primary);border:2px solid #ffffff;border-radius:999px;box-shadow:0 0 0 3px rgba(var(--ion-color-primary-rgb),.18);color:#fff;display:inline-flex;font:inherit;font-size:.78rem;font-weight:850;gap:6px;max-width:160px;min-height:28px;padding:0 9px;position:absolute;transform:translate(-50%,-50%);white-space:nowrap}.subway-selected-marker:before{background:#fff;border-radius:50%;content:"";height:8px;width:8px}.subway-selected-marker span{overflow:hidden;text-overflow:ellipsis}.subway-sidebar{display:grid;gap:10px}.subway-sidebar--fullscreen{align-content:start}.subway-search{display:grid;gap:6px}.subway-search>span{align-items:center;color:var(--haolv-muted);display:inline-flex;font-size:.84rem;font-weight:800;gap:6px}.subway-search-input{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;color:var(--ion-text-color);font:inherit;min-height:40px;padding:0 11px;width:100%}.subway-status,.subway-station-meta,.subway-detail p,.subway-itinerary-stops,.subway-empty-state{color:var(--haolv-muted);font-size:.86rem;line-height:1.45;margin:0}.subway-station-list{display:grid;gap:6px;list-style:none;margin:0;max-height:300px;overflow:auto;padding:0}.subway-station-list--fullscreen{max-height:min(42dvh,420px)}.subway-station-button{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;color:var(--ion-text-color);cursor:pointer;display:grid;gap:5px;padding:10px;text-align:left;width:100%}.subway-station-button.is-active{background:var(--haolv-surface-muted);border-color:rgba(var(--ion-color-primary-rgb),.46)}.subway-station-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.subway-station-name{font-weight:850}.subway-line-badges{display:flex;flex-wrap:wrap;gap:5px}.subway-line-badge,.subway-itinerary-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:850;line-height:1;min-height:20px;padding:0 7px;white-space:nowrap}.subway-line-badge{background:var(--line-color, var(--ion-color-primary));color:#fff}.subway-itinerary-badge{background:rgba(var(--ion-color-primary-rgb),.12);color:var(--ion-color-primary)}.subway-empty-state{border:1px dashed var(--haolv-border);border-radius:8px;padding:10px}.subway-detail{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;display:grid;gap:9px;padding:12px}.subway-detail h3{font-size:1rem;margin:0}.subway-itinerary-context{background:var(--haolv-surface-muted);border:1px solid rgba(var(--ion-color-primary-rgb),.2);border-radius:8px;display:grid;gap:6px;padding:9px 10px}.subway-itinerary-context-title{font-size:.85rem;font-weight:850}.subway-itinerary-stops,.subway-itinerary-days,.subway-actions{display:flex;flex-wrap:wrap;gap:6px}.subway-actions ion-button{margin:0}.settings-list{background:transparent;border:0;border-radius:0;display:grid;gap:10px;margin-left:auto;margin-right:auto;max-width:980px;overflow:visible}.settings-list ion-item{--background: var(--haolv-surface);--background-activated: var(--haolv-surface);--background-focused: var(--haolv-surface);--background-hover: var(--haolv-surface);--border-color: var(--haolv-border);--color: var(--ion-text-color);--inner-border-width: 0;--inner-padding-bottom: 10px;--inner-padding-end: 14px;--inner-padding-top: 10px;--min-height: 62px;--padding-end: 0;--padding-start: 14px;border:2px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);box-shadow:none;overflow:hidden}.settings-list ion-item::part(native){background:var(--haolv-surface);border:0;border-radius:var(--haolv-radius-1);min-height:var(--haolv-tap)}.settings-version{align-items:center;background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:18px auto 0;max-width:980px;padding:14px 16px}.settings-version h2,.settings-version p{margin:0}.settings-version h2{font-size:1.1rem}.settings-version p:not(.eyebrow){color:var(--haolv-muted);font-size:.9rem}@media(min-width:720px){.page-shell{padding-left:32px;padding-right:32px}h1{font-size:2.4rem}.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subway-tool{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}}@keyframes loading-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-route-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes update-bell-ring{0%,42%,to{transform:rotate(0)}10%{transform:rotate(10deg)}22%{transform:rotate(-9deg)}32%{transform:rotate(6deg)}}@media(min-width:1180px){.page-shell{padding-left:18px;padding-right:18px}.trip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.fullscreen-sheet{inset:0 0 calc(84px + env(safe-area-inset-bottom)) 0;position:fixed;z-index:1000}.fullscreen-sheet__scrim{background:#0f1216ad;border:0;top:0;right:0;bottom:0;left:0;padding:0;position:absolute;width:100%}.fullscreen-sheet__panel{background:var(--haolv-surface);border:1px solid var(--haolv-border-strong);border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -10px 24px #0000002e;display:grid;gap:14px;top:0;right:0;bottom:0;left:0;overflow:auto;padding:max(16px,env(safe-area-inset-top)) 14px 16px;position:absolute}.fullscreen-sheet__panel--subway,.fullscreen-sheet__panel--map{gap:16px}.fullscreen-sheet__panel--map .remote-transit-map,.fullscreen-sheet__panel--map .remote-transit-map-frame{height:min(72dvh,680px);min-height:420px}.fullscreen-sheet:has(.fullscreen-sheet__panel--map),.fullscreen-sheet:has(.toolbox-tool-modal--transit-map){top:0;right:0;bottom:0;left:0}.fullscreen-sheet__panel--map,.toolbox-tool-modal--transit-map{border:0;border-radius:0;display:grid;gap:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.toolbox-tool-modal--transit-map .toolbox-tool-modal__header,.fullscreen-sheet__panel--map>.fullscreen-sheet__header{padding:10px 12px}.toolbox-tool-modal--transit-map .remote-tool-renderer,.toolbox-tool-modal--transit-map .toolbox-remote-shell,.fullscreen-sheet__panel--map .remote-transit-tool--full{min-height:0;height:100%}.toolbox-tool-modal--transit-map .remote-tool-renderer,.toolbox-tool-modal--transit-map .toolbox-remote-shell{display:grid;grid-template-rows:auto minmax(0,1fr)}.toolbox-tool-modal--transit-map .remote-tool-renderer{grid-template-rows:minmax(0,1fr)}.toolbox-tool-modal--transit-map .toolbox-remote-shell{border:0;border-radius:0;box-shadow:none;margin:0;padding:0}.toolbox-tool-modal--transit-map .toolbox-remote-shell__header{padding:10px 12px}.toolbox-tool-modal--transit-map .remote-transit-tool,.fullscreen-sheet__panel--map .remote-transit-tool--full{border:0;border-radius:0;display:grid;gap:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.toolbox-tool-modal--transit-map .remote-transit-toolbar,.fullscreen-sheet__panel--map .remote-transit-toolbar{padding:10px 12px}.toolbox-tool-modal--transit-map .remote-transit-map-frame,.toolbox-tool-modal--transit-map .remote-transit-map,.fullscreen-sheet__panel--map .remote-transit-map,.fullscreen-sheet__panel--map .remote-transit-map-frame{border-radius:0;height:100%;min-height:0}.toolbox-tool-modal--transit-map .remote-transit-map .maplibregl-canvas,.toolbox-tool-modal--transit-map .remote-transit-map .maplibregl-canvas-container,.fullscreen-sheet__panel--map .remote-transit-map .maplibregl-canvas,.fullscreen-sheet__panel--map .remote-transit-map .maplibregl-canvas-container{height:100%!important;width:100%!important}.fullscreen-sheet__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.fullscreen-sheet__header h2{font-size:1.1rem}.fullscreen-sheet__header p{color:var(--haolv-muted);line-height:1.45;margin:6px 0 0}.fullscreen-sheet__chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.fullscreen-sheet__chip{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:999px;color:var(--ion-text-color);flex:0 0 auto;font-weight:700;padding:9px 12px}.fullscreen-sheet__chip.is-active{background:color-mix(in srgb,var(--ion-color-primary) 12%,var(--haolv-surface-strong));border-color:rgba(var(--ion-color-primary-rgb),.34);color:var(--ion-color-primary)}.fullscreen-sheet__body--subway{display:grid;gap:14px}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toolbox-page--store-first{padding-bottom:28px}.toolbox-section--page{margin:0 auto;max-width:var(--haolv-content-max)}.compact-header--subpage .compact-header__top{border-bottom:0;padding-bottom:0}.toolbox-header-action{--background: #00c0bf;--background-hover: #00b0af;--background-activated: #009e9d;--background-focused: #00b0af;--border-radius: 12px;--color: #061817;font-weight:700}.inline-tool-toolbar{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:18px;margin-bottom:14px;padding:12px}.inline-tool-toolbar__header{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.inline-tool-toolbar__header span{color:var(--haolv-muted);font-size:.84rem}.inline-tool-toolbar__scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.inline-tool-toolbar__scroll::-webkit-scrollbar{display:none}.inline-tool-button{align-items:flex-start;background:var(--ion-background-color);border:1px solid var(--haolv-border);border-radius:14px;color:var(--ion-text-color);display:flex;flex:0 0 auto;flex-direction:column;gap:6px;min-width:106px;padding:12px;text-align:left}.inline-tool-button span{align-items:center;background:#00c0bf;border-radius:10px;color:#032221;display:inline-flex;font-size:.88rem;font-weight:800;height:28px;justify-content:center;width:28px}.inline-tool-button strong{font-size:.92rem}.toolbox-section__header{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;margin-bottom:12px}.toolbox-section__header p{color:var(--haolv-muted);margin:0}.toolbox-tool-grid,.tool-store-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.toolbox-card,.tool-store-card,.tool-store-panel{background:var(--haolv-surface);border:1px solid var(--haolv-border);border-radius:18px}.toolbox-card,.tool-store-card{padding:16px}.toolbox-card__header,.tool-store-card__header{display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.toolbox-card__header h2,.tool-store-card__header h2{font-size:1rem;margin:0 0 6px}.toolbox-card__header p,.tool-store-card p{color:var(--haolv-muted);margin:0}.toolbox-card__icon{align-items:center;background:#00c0bf;border-radius:14px;color:#032221;display:inline-flex;font-size:.95rem;font-weight:800;height:36px;justify-content:center;min-width:36px}.toolbox-card__actions,.tool-store-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.toolbox-card__actions button,.tool-install-button,.tool-store-card__pin,.toolbox-empty-state__cta,.tool-store-category-filter button{background:var(--ion-background-color);border:1px solid var(--haolv-border);border-radius:12px;color:var(--ion-text-color);font:inherit;padding:10px 12px}.toolbox-card__open,.tool-install-button:not(.is-installed),.toolbox-empty-state__cta,.tool-store-category-filter .is-active{background:#00c0bf;border-color:#00c0bf;color:#042423;font-weight:700}.tool-install-button.is-installed,.toolbox-card__remove{color:#c43f5d}.tool-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:700;padding:6px 10px}.tool-status-badge--installed{background:#dff9f8;color:#046968}html[data-theme=dark] .tool-status-badge--installed{background:#123f3f;color:#9ff0ef}.tool-permission-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tool-permission-badges span,.tool-store-card__kicker,.tool-store-card__meta span{background:var(--ion-background-color);border:1px solid var(--haolv-border);border-radius:999px;color:var(--haolv-muted);display:inline-flex;font-size:.74rem;padding:5px 9px}.tool-store-card__kicker{margin-bottom:8px;text-transform:uppercase}.tool-store-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tool-store-panel{padding:14px}.tool-store-search{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.tool-store-search span{color:var(--haolv-muted);font-size:.84rem}.tool-store-search input{background:var(--ion-background-color);border:1px solid var(--haolv-border);border-radius:12px;color:var(--ion-text-color);font:inherit;padding:12px 14px}.tool-store-category-filter{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.tool-store-category-filter::-webkit-scrollbar{display:none}.toolbox-empty-state{text-align:center}.toolbox-empty-state h3{margin-top:0}.toolbox-tool-modal{border-left:0;border-radius:0;border-right:0;max-width:none;width:auto}.toolbox-tool-modal__header{align-items:flex-start}.toolbox-tool-modal__header p{margin-bottom:8px}.remote-tool-renderer{min-height:120px}@media(min-width:720px){.toolbox-card__actions,.tool-store-card__actions{align-items:center}}:root{--haolv-bg: oklch(96% .004 100);--haolv-fg: oklch(15% .02 100);--haolv-paper: oklch(100% 0 0);--haolv-paper-muted: oklch(94% .006 100);--haolv-ink-muted: oklch(40% .02 100);--haolv-ink-border: oklch(15% .02 100);--haolv-accent: oklch(60% .22 25);--haolv-accent-rgb: 229, 55, 40;--haolv-radius-1: 6px;--haolv-radius-2: 10px;--haolv-tap: 44px;--ion-color-primary: var(--haolv-accent);--ion-color-primary-rgb: var(--haolv-accent-rgb);--ion-color-primary-contrast: #ffffff;--ion-background-color: var(--haolv-bg);--ion-text-color: var(--haolv-fg);--haolv-page-top: var(--haolv-bg);--haolv-surface: var(--haolv-paper);--haolv-surface-strong: var(--haolv-paper);--haolv-surface-muted: var(--haolv-paper-muted);--haolv-surface-elevated: var(--haolv-paper);--haolv-border: color-mix(in oklch, var(--haolv-ink-border) 46%, transparent);--haolv-border-strong: var(--haolv-ink-border);--haolv-muted: var(--haolv-ink-muted);--haolv-text-muted: var(--haolv-muted);--haolv-shadow: 0 1px 0 color-mix(in oklch, var(--haolv-ink-border) 18%, transparent)}:root.theme-dark{--haolv-bg: oklch(18% .01 100);--haolv-fg: oklch(96% .004 100);--haolv-paper: oklch(23% .012 100);--haolv-paper-muted: oklch(28% .012 100);--haolv-ink-muted: oklch(72% .01 100);--haolv-ink-border: oklch(86% .004 100);--haolv-accent: oklch(68% .2 25);--haolv-accent-rgb: 255, 95, 70;--ion-color-primary: var(--haolv-accent);--ion-color-primary-rgb: var(--haolv-accent-rgb);--ion-color-primary-contrast: #161413;--ion-background-color: var(--haolv-bg);--ion-text-color: var(--haolv-fg);--haolv-page-top: var(--haolv-bg);--haolv-surface: var(--haolv-paper);--haolv-surface-strong: var(--haolv-paper);--haolv-surface-muted: var(--haolv-paper-muted);--haolv-surface-elevated: var(--haolv-paper);--haolv-border: color-mix(in oklch, var(--haolv-ink-border) 42%, transparent);--haolv-border-strong: color-mix(in oklch, var(--haolv-ink-border) 88%, transparent);--haolv-muted: var(--haolv-ink-muted);--haolv-text-muted: var(--haolv-muted);--haolv-shadow: 0 1px 0 color-mix(in oklch, black 46%, transparent)}html,body,#root{background:linear-gradient(90deg,color-mix(in oklch,var(--haolv-border-strong) 7%,transparent) 1px,transparent 1px),linear-gradient(0deg,color-mix(in oklch,var(--haolv-border-strong) 5%,transparent) 1px,transparent 1px),var(--ion-background-color);background-size:44px 44px}.haolv-app ion-button::part(native){border:0;box-shadow:none}.haolv-app ion-button{--box-shadow: none}.compact-header--paper,.trip-header,.inline-tool-toolbar,.toolbox-card,.tool-store-card,.tool-store-panel,.settings-version,.toolbox-remote-loading,.toolbox-remote-fallback,.remote-tool,.remote-transit-tool,.converter-card,.map-panel,.meta-list li,.todo-panel,.empty-state,.trip-list__item{border:2px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-2);box-shadow:none;background:var(--haolv-surface)}.compact-header--paper,.trip-header{padding:14px}.compact-header__top{align-items:center;border-bottom:2px solid var(--haolv-border-strong);flex-wrap:nowrap;min-height:var(--haolv-tap);padding-bottom:12px}.compact-header__title-block{min-width:0}.compact-header__title-block h1,.trip-header h1{font-size:clamp(2rem,4vw,2.6rem);font-weight:900;line-height:.98}.compact-header__title-block h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-header__note{display:none}.trip-header{display:grid;gap:10px;border-bottom:0}.trip-header__brand-row{display:flex;gap:12px;align-items:flex-start}.trip-header__mark{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);font-size:1.2rem;font-weight:900;line-height:1;flex:0 0 auto}.trip-header__brand{display:inline-block;margin-bottom:6px;color:var(--haolv-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.summary-strip{gap:7px;margin:2px 0 0}.summary-strip span,.date-pill,.stop-index,.transfer-mode,.transfer-time,.station-chip{border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:var(--haolv-surface);color:var(--ion-text-color);padding:6px 10px}.editor-toolbar,.edit-banner,.day-pager-dots,.toolbox-section,.settings-list,.settings-version{max-width:min(100%,980px)}.edit-banner{position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:6;margin:0 auto 12px;padding:12px 14px;display:flex;gap:12px;justify-content:space-between;align-items:center;border:2px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-2);background:color-mix(in oklch,var(--ion-color-primary) 10%,var(--haolv-surface))}.edit-banner.is-dirty{background:color-mix(in oklch,var(--ion-color-primary) 16%,var(--haolv-surface))}.edit-banner strong,.edit-banner span{display:block}.edit-banner span{margin-top:4px;color:var(--haolv-muted);font-size:.88rem}.edit-banner__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.trip-inline-toolbar{gap:8px;min-height:58px;padding:calc(8px + env(safe-area-inset-top)) var(--haolv-main-gutter) 10px;border-bottom:2px solid var(--haolv-border-strong);background:color-mix(in oklch,var(--haolv-surface) 88%,var(--haolv-bg))}.trip-inline-brand{align-items:center;display:inline-flex;flex:0 0 auto;gap:8px;margin-right:4px;min-height:var(--haolv-tap)}.trip-inline-brand__mark{align-items:center;background:var(--ion-color-primary);border:0;border-radius:var(--haolv-radius-1);color:var(--ion-color-primary-contrast);display:inline-flex;font-size:1rem;font-weight:900;height:34px;justify-content:center;line-height:1;width:34px}.trip-inline-brand__text{color:var(--ion-text-color);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.trip-inline-button{--background: var(--haolv-surface);--border-color: var(--haolv-border-strong);--border-radius: var(--haolv-radius-1);--border-style: solid;--border-width: 1.5px;--padding-start: 12px;--padding-end: 12px;min-height:var(--haolv-tap);font-size:.78rem;font-weight:800}.trip-inline-button ion-icon{margin-right:6px}.trip-header,.stop-index{border:0}.day-pager{gap:0}.day-pager__page .day-section{background:transparent;border:0;border-radius:0;padding:14px 5px}.day-pager-dots{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:center;justify-content:center;gap:8px;position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);margin:0;padding:7px 9px;pointer-events:auto;z-index:28}.day-pager-dots button{width:7px;height:7px;min-height:7px;padding:0;border:0;border-radius:999px;background:color-mix(in oklch,var(--haolv-muted) 34%,transparent);display:block;opacity:.8;text-indent:-9999px;overflow:hidden;transition:background .18s ease,opacity .18s ease,transform .18s ease,width .18s ease}.day-pager-dots button.is-active{width:7px;background:var(--ion-color-primary);opacity:1;transform:scale(1.15)}:root.theme-dark .day-pager-dots button.is-active{background:var(--ion-color-primary)}.day-overview-map{display:grid;gap:10px}.editor-toolbar{display:contents}.trip-add-day-fab{--border-radius: 999px;--box-shadow: 0 10px 22px color-mix(in oklch, var(--haolv-ink-border) 22%, transparent);--padding-bottom: 0;--padding-end: 0;--padding-start: 0;--padding-top: 0;bottom:calc(92px + env(safe-area-inset-bottom));font-size:0;height:54px;margin:0;min-height:54px;min-width:54px;position:fixed;right:max(18px,env(safe-area-inset-right));width:54px;z-index:29}.trip-add-day-fab ion-icon{font-size:1.55rem;margin:0}.day-overview-map .remote-transit-tool{gap:8px;padding:10px}.day-overview-map .toolbox-remote-shell{position:relative;padding:10px}.day-overview-map .toolbox-remote-shell__header{position:absolute;right:16px;top:16px;z-index:4;margin:0;padding:0;border:0}.day-overview-map .toolbox-remote-shell__header>div{display:none}.day-overview-map .toolbox-remote-shell__action{--background: var(--haolv-surface);--border-color: color-mix(in oklch, var(--ion-color-primary) 35%, var(--haolv-border-strong))}.day-overview-map .remote-transit-toolbar{align-items:flex-start;padding-right:46px}.day-overview-map .remote-transit-map-frame{border:2px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-2);height:132px;min-height:132px}.day-overview-map .remote-transit-map{height:132px;min-height:132px}.day-overview-map .remote-transit-spot-list{display:none}.day-section__header{margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--haolv-border-strong)}.day-section__kicker{display:inline-block;margin-bottom:6px;color:var(--haolv-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.day-section__actions ion-button,.stop-card__editor-actions ion-button,.app-back-button,.toolbox-header-action{min-height:var(--haolv-tap)}.toolbox-header-action{--background: var(--ion-color-primary);--color: var(--ion-color-primary-contrast);--border-radius: var(--haolv-radius-1);--box-shadow: none;--padding-start: 14px;--padding-end: 14px;font-weight:800}.toolbox-header-tools{display:flex;justify-content:flex-end;margin:0 auto 12px;max-width:min(100%,980px)}.toolbox-header-tools .toolbox-header-action{width:auto}.stop-card{overflow:visible}.stop-card ion-card-content{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:14px}.stop-card__timeline{display:grid;justify-items:center;align-content:start;gap:8px}.stop-card__node{width:12px;height:12px;border:2px solid var(--haolv-border-strong);border-radius:999px;background:var(--ion-color-primary)}.stop-card__rail{width:2px;min-height:calc(100% - 12px);background:color-mix(in oklch,var(--haolv-border-strong) 24%,transparent)}.stop-card:last-child .stop-card__rail{opacity:.25}.stop-card__body{display:grid;gap:8px}.station-chip{display:inline-flex;justify-self:start;margin-top:2px;max-width:100%;overflow-wrap:anywhere;color:var(--haolv-muted)}.stop-card__title{margin-top:0;font-size:1.16rem;line-height:1.2}.ko-copy{min-height:var(--haolv-tap);width:fit-content;max-width:100%;padding:8px 10px;border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:var(--haolv-surface);color:var(--ion-text-color)}.ko-copy strong{font-weight:800;overflow-wrap:anywhere}.ko-copy span{color:var(--haolv-muted);font-size:.75rem;font-weight:800}.stop-card__note{margin-top:0;color:var(--haolv-muted)}.transfer-row{align-items:center;display:grid;gap:8px;grid-template-columns:28px minmax(0,max-content) max-content minmax(0,1fr);margin:-2px 0;min-height:54px;padding:4px 0 4px 18px;position:relative}.transfer-row>ion-icon{align-self:center;color:var(--ion-color-primary);font-size:1rem;grid-column:1;justify-self:center;z-index:1;animation:transfer-arrow-flow 1.4s ease-in-out infinite}.transfer-row:before{background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--ion-color-primary) 54%,var(--haolv-border-strong)),transparent);border-radius:999px;content:"";height:100%;left:31px;position:absolute;top:0;width:2px}.transfer-row:after{border-bottom:2px solid var(--ion-color-primary);border-right:2px solid var(--ion-color-primary);content:"";height:8px;left:27px;position:absolute;top:calc(50% + 9px);transform:rotate(45deg);width:8px;animation:transfer-chevron-drop 1.4s ease-in-out infinite}.transfer-note{grid-column:4;line-height:1.45}@keyframes transfer-arrow-flow{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@keyframes transfer-chevron-drop{0%,to{opacity:.55;transform:translateY(-2px) rotate(45deg)}50%{opacity:1;transform:translateY(3px) rotate(45deg)}}@media(prefers-reduced-motion:reduce){.transfer-row>ion-icon,.transfer-row:after{animation:none}}.stop-card__editor-actions{justify-content:flex-start;gap:6px;margin-top:4px;padding-top:10px;border-top:1px solid var(--haolv-border)}.stop-card__editor-actions ion-button{--border-color: var(--haolv-border);--border-style: solid;--border-width: 1px;--border-radius: var(--haolv-radius-1)}.toolbox-section__header--paper{margin-bottom:12px;padding:0 2px}.inline-tool-toolbar{display:grid;gap:10px;margin-bottom:14px;padding:12px}.inline-tool-toolbar--empty{align-items:start;min-height:96px}.inline-tool-toolbar--empty .inline-tool-toolbar__header{min-height:72px}.inline-tool-toolbar__header{align-items:baseline;display:flex;justify-content:space-between;gap:10px}.inline-tool-toolbar__header span{text-align:right}.inline-tool-toolbar__scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(108px,1fr);gap:8px;overflow-x:auto}.inline-tool-button,.tool-store-category-filter button,.tool-store-card__pin,.toolbox-card__open,.toolbox-card__pin,.toolbox-card__remove,.toolbox-empty-state__cta{min-height:var(--haolv-tap);border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:var(--haolv-surface)}.inline-tool-button span,.toolbox-card__icon{background:color-mix(in oklch,var(--ion-color-primary) 13%,var(--haolv-surface));color:var(--ion-text-color)}.toolbox-tools-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.toolbox-card,.tool-store-card{padding:14px}.toolbox-card__header,.tool-store-card__header{align-items:flex-start}.toolbox-card__icon{width:40px;height:40px;border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:color-mix(in oklch,var(--ion-color-primary) 10%,var(--haolv-surface));color:var(--ion-text-color)}.toolbox-card__actions,.tool-store-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.toolbox-card__open{grid-column:1 / -1}.toolbox-card__open,.toolbox-card__pin,.toolbox-card__remove,.tool-store-card__pin,.toolbox-empty-state__cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ion-text-color);font-weight:800;padding:10px 12px}.toolbox-card__open,.tool-install-button{background:var(--ion-text-color);color:var(--haolv-surface)}.toolbox-card__remove{color:var(--ion-color-danger, #d73c2c)}.tool-status-badge--installed{background:color-mix(in oklch,var(--ion-color-primary) 16%,var(--haolv-surface));color:var(--ion-text-color)}.remote-transit-error{background:color-mix(in oklch,var(--ion-color-danger, #d73c2c) 14%,var(--haolv-surface));color:var(--ion-text-color)}.remote-transit-map-frame .maplibregl-popup-content{background:var(--haolv-surface);border-color:var(--haolv-border-strong);color:var(--ion-text-color)}.remote-transit-map-frame .maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--haolv-surface)}.remote-transit-map-frame .maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--haolv-surface)}.remote-transit-map-frame .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--haolv-surface)}.remote-transit-map-frame .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--haolv-surface)}.remote-transit-popup strong,.remote-transit-popup p{color:var(--ion-text-color)}.tool-store-panel{display:grid;gap:12px;padding:12px}.tool-store-search{display:grid;gap:6px}.tool-store-search input{min-height:var(--haolv-tap);border:1.5px solid var(--haolv-border-strong);border-radius:var(--haolv-radius-1);background:var(--haolv-surface)}.tool-store-category-filter{gap:8px;margin-bottom:0}.tool-store-category-filter button.is-active{background:var(--ion-text-color);color:var(--haolv-surface)}.tool-store-card__kicker,.settings-version__kicker{display:inline-block;margin-bottom:6px;color:var(--haolv-muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tool-store-card__meta{display:flex;flex-wrap:wrap;gap:6px}.tool-store-card__meta span,.toolbox-remote-shell__meta span,.toolbox-remote-shell__meta-button,.toolbox-permissions span{border:1px solid var(--haolv-border-strong)}.settings-page .compact-header{margin-bottom:12px}.settings-list ion-item{--inner-padding-bottom: 12px;--inner-padding-top: 12px}.settings-version{display:grid;gap:12px;padding:14px}.settings-version__body{display:grid;gap:6px}.app-update-prompt{min-height:var(--haolv-tap);border:2px solid var(--haolv-border-strong)}.app-tabs{border-top:2px solid var(--haolv-border-strong)}.app-tabs ion-tab-button{min-height:62px;border:0;border-radius:var(--haolv-radius-1)}.app-tabs ion-tab-button::part(native){background:transparent;border:0}.remote-checklist-tool{background:linear-gradient(180deg,color-mix(in oklch,var(--ion-color-primary) 5%,transparent),transparent 78px),var(--haolv-surface);border-width:1.5px;gap:12px;padding:14px}.remote-checklist-tool__header{align-items:center}.remote-checklist-tool__header output{background:color-mix(in oklch,var(--ion-color-primary) 10%,var(--haolv-surface));border:1px solid color-mix(in oklch,var(--ion-color-primary) 38%,var(--haolv-border))}.remote-checklist-tool__progress{border:0;height:8px}.remote-checklist-tool__list{gap:7px}.remote-checklist-tool .remote-tool__checkbox{background:color-mix(in oklch,var(--haolv-surface) 82%,var(--haolv-surface-muted));border:1px solid var(--haolv-border);border-radius:var(--haolv-radius-1);min-height:calc(var(--haolv-tap) + 2px)}.remote-checklist-tool .remote-tool__checkbox span{font-size:.98rem;font-weight:760}.remote-checklist-tool .remote-tool__checkbox.is-checked{background:color-mix(in oklch,var(--ion-color-primary) 9%,var(--haolv-surface));border-color:color-mix(in oklch,var(--ion-color-primary) 34%,var(--haolv-border))}.remote-checklist-tool__form{gap:8px}.remote-checklist-tool__form input{border:1px solid var(--haolv-border)}.remote-checklist-tool__form button{background:var(--ion-color-primary);border:1px solid var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.app-loading-card{gap:16px;padding:calc(26px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));background:var(--haolv-surface)}.app-loading-kicker,.app-loading-title,.app-loading-note{max-width:520px}@media(max-width:720px){.edit-banner,.settings-version,.toolbox-card__actions,.tool-store-card__actions{flex-direction:column;align-items:stretch}.compact-header__top{align-items:center;flex-direction:row}.compact-header__title-block h1{font-size:clamp(1.7rem,9vw,2.15rem)}.toolbox-header-tools{justify-content:stretch}.toolbox-header-tools .toolbox-header-action{width:100%}.toolbox-tools-grid{grid-template-columns:1fr}.inline-tool-toolbar__header span{text-align:left}.day-pager-dots{justify-content:center;overflow:visible}}
