:root{font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;color:#33352b;background:#f3ebd9;font-synthesis:none;--paper:#fbf6e9;--card:#fffdf6;--ink:#33352b;--muted:#6e6a58;--line:#e3d8c2;--green:#4f6549}.share-shell{width:100%;max-width:960px;min-height:100dvh;margin:0 auto;background:var(--paper);overflow-wrap:anywhere}.share-header{padding:40px 24px 24px;border-bottom:1px solid var(--line)}.share-date{color:var(--green);font-weight:600}.share-content{padding:24px}.share-day+.share-day,.share-section{margin-top:28px}.share-itinerary,.share-sources{padding:0;list-style:none}.share-itinerary{display:grid;gap:12px;margin:16px 0 0}.share-time{color:var(--green);font-size:14px;font-weight:600}.share-time span{font-weight:400}.share-note{white-space:pre-wrap}.share-sources{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:13px;margin:12px 0 0}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.share-grid>*,.share-itinerary>*{min-width:0}.share-image{margin:16px 0}.share-image img,.share-image-placeholder{width:100%;aspect-ratio:16/10;border-radius:12px;background:#f3ebd9;object-fit:cover}.share-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:14px}.share-image-placeholder>span:first-child{font-size:30px}.share-image figcaption{margin-top:8px;font-size:12px;color:var(--muted)}.share-footer{padding:24px;text-align:center;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:var(--muted)}.share-message{text-align:center;padding:22vh 24px 48px}.share-records{display:grid;gap:16px;margin-top:16px}.share-management{min-width:0;overflow-wrap:anywhere}.share-management input,.share-management select{min-width:0;max-width:100%}.share-card-panel{margin-top:16px}.share-card-preview{display:grid;gap:12px;margin-top:4px}.share-card-image{display:block;width:100%;max-width:342px;height:auto;margin:0 auto;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.share-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.share-card-actions .button{width:auto;padding:10px 8px;font-size:12px}@media(max-width:360px){.share-card-actions{grid-template-columns:1fr}}@media(max-width:600px){.share-header{padding:28px 20px 20px}.share-content{padding:20px}.share-grid{grid-template-columns:1fr}}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}button,a,input,select{touch-action:manipulation}p{line-height:1.7;margin:8px 0}h1{font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:29px;line-height:1.35;margin:10px 0 12px;overflow-wrap:anywhere}h2{font-size:16px;line-height:1.5;margin:0}h3{font-size:15px;margin:10px 0 6px}a{color:var(--green)}.app-shell{width:100%;max-width:520px;min-height:100dvh;margin:0 auto;background:var(--paper);display:flex;flex-direction:column}.app-shell.signed-in{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.signed-in main{padding-bottom:86px}.feedback-fab{position:fixed;right:max(16px,calc((100vw - 520px)/2 + 16px));bottom:calc(92px + env(safe-area-inset-bottom));z-index:15;min-width:66px;min-height:44px;border:1px solid var(--green);border-radius:24px;padding:10px 16px;color:var(--green);background:var(--card);box-shadow:0 3px 12px #33352b20}.feedback-dialog{width:calc(100% - 24px);max-width:492px;max-height:calc(100dvh - 32px);padding:20px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:auto}.feedback-dialog::backdrop{background:#33352b66}.feedback-fields{margin:0;padding:0;border:0;min-width:0}.chat-head-actions{display:flex;align-items:center;gap:16px}.chat-panel>.usage-notice{margin:8px 16px;flex-shrink:0}.feedback-content textarea,.feedback-page textarea{display:block;width:100%;min-height:88px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);background:#fffefa;font:inherit;font-size:16px}.feedback-content textarea:focus-visible,.feedback-page textarea:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}.feedback-content,.feedback-page,.feedback-timeline{overflow-wrap:anywhere;min-width:0}.feedback-file{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.feedback-context{font-size:12px}.feedback-context dt{margin-top:12px}.feedback-list{display:grid;gap:12px;margin:18px 0}.feedback-list>button{text-align:left;color:var(--ink);min-width:0}.feedback-list p,.feedback-detail>p{white-space:pre-wrap}.feedback-list p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback-page .section-heading{flex-wrap:wrap}.feedback-page .compact{width:auto}.feedback-detail{display:grid;gap:16px}.feedback-timeline{padding-left:22px}.feedback-timeline li{border-left:2px solid var(--line);padding:8px 12px;margin-bottom:10px}.feedback-timeline time{color:var(--muted);font-size:11px}.feedback-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.feedback-images img{max-width:100%;height:auto;border-radius:8px}.feedback-recorded{display:grid;gap:8px;justify-items:start}.feedback-organize{display:grid;gap:10px}.feedback-organize .feedback-summary textarea{min-height:120px}.feedback-organize>.button-row,.feedback-fallback .button-row,.feedback-question .button-row{flex-wrap:wrap}.feedback-question{display:grid;gap:10px;margin:6px 0}.feedback-question>p{margin:0}.feedback-fallback{display:grid;gap:10px}.feedback-archived{display:grid;gap:10px;justify-items:start}[id^=message-]:target,[id^=change-]:target{outline:2px solid var(--green);outline-offset:4px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--line);color:var(--green);font-size:13px;letter-spacing:.08em}.header-caption{font-size:10px;color:var(--muted);letter-spacing:0}main{padding:26px 16px 16px;flex:1;min-width:0}section{min-width:0}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:.14em;margin:0 0 8px}.lede{font-size:13px;line-height:1.85;color:var(--muted);margin:10px 0 26px}.muted{color:var(--muted);font-size:12px}.small{font-size:10.5px;line-height:1.6}.centered{text-align:center}.brand-mark{width:48px;height:56px;display:grid;place-items:center;border:1px solid #6f8b6a;border-radius:16px 16px 6px 6px;font:26px Songti SC,SimSun,serif;color:var(--green);background:#f3ebd9}.button{min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:14px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;width:100%}.primary{background:var(--green);color:#fffdf6}.secondary{background:var(--card);border-color:var(--line);color:var(--green)}.button:disabled{background:#e3dccb;color:#6e6a58;border-color:transparent}.text-button{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;background:transparent;border:none;color:var(--green);font-size:12px;gap:8px;text-align:left}.text-button:disabled{color:#8a8474}.danger{color:#9a4932}.back{margin:-16px 0 16px}.card{padding:16px;border:1px solid var(--line);background:var(--card);border-radius:16px}.error{color:#8d3f29;border:1px solid #dcb39b;border-radius:12px;padding:12px;background:#fff5e9;font-size:12px;overflow-wrap:anywhere}.error .text-button{display:flex}.notice{font-size:12px;line-height:1.7;color:#6b4e1e;border-radius:12px;padding:12px;background:#f8e8bd;margin:12px 0}.version{padding:16px 16px 20px;color:var(--muted);font-size:10px;text-align:center}.login{padding:28px 10px 0}.login .brand-mark{margin-bottom:36px}.login h1{font-size:30px;line-height:1.5}.login .lede{margin-top:20px}.journey-lines{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:10px;margin:38px 0}.journey-lines span{height:1px;background:var(--line);flex:1}.login-actions{margin-top:30px;text-align:center}.login-actions .primary{justify-content:space-between;padding-left:20px;padding-right:20px}.login-actions>.small{margin-top:16px}.pin-toggle{margin-top:18px}.pin-form{text-align:left;margin-top:10px}.pin-input{text-align:center;letter-spacing:.3em;font-size:22px}label{font-size:13px;font-weight:700;display:flex;align-items:baseline;gap:10px;margin-bottom:8px}input,select{display:block;width:100%;min-width:0;height:46px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--ink);padding:10px 12px;font-size:16px}input::placeholder{color:#817d6c;font-size:12px}input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 7px;font-size:13px;max-width:100%}.form-stack{display:grid;gap:16px}.optional-fields{margin-top:16px}.optional-fields>label{margin-top:20px}.date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:20px 0}.date-fields>div{min-width:0}.date-fields label{font-size:12px}.disclosure{margin-top:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 12px}.section-heading:first-child{margin-top:0}.section-heading .eyebrow{margin:0}.badge{padding:4px 8px;border-radius:8px;background:#e8eddf;color:var(--green);font-size:10px;white-space:nowrap;line-height:1.5}.badge.subtle{color:var(--muted);background:#f3ebd9}.trip-title{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:var(--ink);padding:0;text-align:left}.trip-title h1{margin-bottom:0;flex:1}.trip-title>span{color:var(--muted);font-size:22px}.trip-profile dl{margin:14px 0 2px}.trip-profile dl>div{display:flex;align-items:baseline;gap:12px;margin:12px 0;font-size:12px}dt{color:var(--muted);min-width:60px}dd{margin:0;overflow-wrap:anywhere}.days-strip{display:flex;gap:8px;overflow-x:auto;padding:16px 0 8px;scrollbar-width:thin}.day-stub{display:flex;flex-direction:column;min-width:60px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px;gap:5px}.day-stub small,.day-stub span{font-size:10px;color:var(--muted)}.day-stub b{font-family:Songti SC,SimSun,serif;font-size:16px}.empty-state{text-align:center}.trip-empty{padding:20px 14px 12px}.trip-empty .muted{max-width:290px;margin:12px auto 22px}.empty-drawing{width:112px;height:66px;position:relative;margin:14px auto 20px;overflow:hidden}.empty-drawing .horizon{border-bottom:1px solid #b3b99f;width:110px;position:absolute;bottom:5px;left:0}.empty-drawing .sun{width:18px;height:18px;border:1px solid #c96f4a;border-radius:50%;position:absolute;top:4px;right:20px}.empty-drawing .hill{width:70px;height:70px;border:1px solid #6f8b6a;border-radius:20px;position:absolute;transform:rotate(45deg);top:33px;left:12px;background:var(--paper)}.no-trip{padding:30px 12px}.no-trip .brand-mark{margin:55px auto 28px}.no-trip .button{margin-top:28px}.bottom-nav{position:fixed;bottom:0;width:100%;max-width:520px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);background:var(--card);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:10}.bottom-nav button{border:0;background:none;min-height:54px;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;font-size:11px}.bottom-nav button.selected{color:var(--green);font-weight:700}.bottom-nav button:disabled{color:#817b6d}.bottom-nav small{display:block;font-size:9.5px;line-height:1.4}.profile-header{display:flex;align-items:center;gap:16px;padding:24px 0}.initial{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#e8eddf;color:var(--green);font-family:Songti SC,SimSun,serif;font-size:16px}.initial.large{width:56px;height:56px;flex-basis:56px;font-size:24px}.initial.removed{background:#f3ebd9;color:var(--muted)}.account-actions{padding:0 16px}.account-actions button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;min-height:60px;font-size:13px;border:0;color:var(--ink);background:none}.account-actions button+button{border-top:1px solid var(--line)}.account-actions b{font-size:20px;margin-left:8px}.logout{margin-top:28px}.account-export{border-top:1px solid var(--line)}.account-export summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;min-height:60px;font-size:13px;cursor:pointer;list-style:none}.account-export summary::-webkit-details-marker{display:none}.account-export summary b{font-size:20px;margin-left:8px}.account-export .export-actions{padding-bottom:18px;flex-wrap:wrap}.account-export .button{width:auto;flex:1 1 130px}.member-limit{margin:-4px 0 10px}.export-links .button{flex:1 1 140px;width:auto}.usage-entry{margin-top:1.5rem}.usage-entry .text-button{margin-top:12px}.trip-list{display:grid;gap:12px;margin:22px 0}.trip-choice{display:block;width:100%;position:relative;text-align:left;color:var(--ink);padding-right:40px}.trip-choice h2{margin:12px 0 6px;overflow-wrap:anywhere}.choice-arrow{position:absolute;right:16px;top:50%;color:var(--green)}.group-card>.button{margin-top:18px}.group-card>.danger{display:flex;margin:8px auto -4px}.chat-choice{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:13px}.chat-choice>div{min-width:0;overflow-wrap:anywhere}.chat-choice .compact{width:auto;flex:0 0 auto;padding:9px 16px}.empty-small{padding:14px 0;font-size:12px;color:var(--muted)}.member{display:flex;align-items:flex-start;gap:10px;padding:16px 0}.member:first-child{padding-top:0}.member:last-child{padding-bottom:0}.member+.member{border-top:1px solid var(--line)}.member-info{min-width:0;flex:1}.member-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.member-name b{overflow-wrap:anywhere}.member-info p{margin:6px 0}.member-actions{display:flex;gap:20px;flex-wrap:wrap}.pin-result{margin-top:16px}.pin-code{font-size:28px;letter-spacing:.25em;text-align:center;color:var(--green)}.confirmation{width:calc(100% - 32px);max-width:420px;padding:22px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:22px}.confirmation::backdrop{background:#33352b59}.confirmation p{margin:16px 0 22px;font-size:13px}.button-row{display:flex;gap:12px}.loading{font-size:13px;padding:32px 16px;text-align:center;color:var(--muted)}.loading-screen{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted);font-size:13px}@media(min-width:521px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}main{padding-left:24px;padding-right:24px}.bottom-nav{width:518px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.profile-header>div:last-child{min-width:0;overflow-wrap:anywhere}.segments{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;margin:18px 0;border-radius:14px;background:#f3ebd9}.segments button{flex:1;min-height:44px;border:0;border-radius:10px;background:none;color:var(--muted);font:inherit;font-size:13px}.segments button.active{color:var(--green);background:var(--card);font-weight:700}.segments>span{padding:8px}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filter-grid>div{min-width:0}.interest-page textarea{display:block;width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:14px;color:var(--ink);background:#fffefa}.interest-page textarea:focus-visible,.interest-page summary:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}.interest-page summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;color:var(--green)}.add-poi{margin-top:20px}.poi-card{display:block;width:100%;text-align:left;color:var(--ink);overflow-wrap:anywhere}.poi-card p,.poi-information p{white-space:pre-wrap;font-size:12px}.interest-page blockquote{margin:12px 0;border-left:2px solid var(--line);padding-left:12px;font-size:13px;white-space:pre-wrap}.interest-page .card,.interest-page a{overflow-wrap:anywhere}.interest-page h2+form{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:root .geocode-choices{border:0;padding:0;margin:0;min-width:0}.geocode-choices legend{margin-bottom:.7rem}.geocode-choice{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;cursor:pointer}.geocode-choice input{width:auto;flex:0 0 auto;margin-top:.3rem;accent-color:var(--green)}.geocode-choice>span{display:grid;gap:.4rem;min-width:0;overflow-wrap:anywhere}.itinerary-page{margin-top:24px}.itinerary-page textarea{width:100%;min-height:90px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;background:#fffefa;color:var(--ink)}.itinerary-page textarea:focus-visible,summary:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--green);font-size:13px}.date-navigation{display:flex;align-items:center;gap:3px;min-width:0}.date-arrow{flex:0 0 25px;border:0;background:transparent;color:var(--green);font-size:25px;min-height:48px;padding:0}.date-arrow:disabled{color:var(--line)}.date-window{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1;min-width:0;gap:4px}.date-window .day-stub{min-width:0;padding:9px 2px;background:var(--card);color:var(--ink)}.date-window .day-stub b{font-size:14px}.date-window .day-stub.past{color:var(--muted);background:#f2ecde}.date-window .day-stub.today{border-color:var(--green)}.date-window .day-stub.selected{background:var(--green);color:#fffdf6;border-color:var(--green)}.date-window .day-stub.selected small,.date-window .day-stub.selected span{color:#fffdf6}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:16px}.timeline-item{display:grid;grid-template-columns:43px minmax(0,1fr);gap:10px}.timeline-time{color:var(--green);font-size:12px;padding-top:14px;display:flex;flex-direction:column;gap:18px;align-items:center}.timeline-time span{font-size:9px}.timeline-item.past .timeline-time{color:var(--muted)}.timeline-item.ongoing .card{border-color:var(--green)}.timeline-item.drop-target .card{outline:2px dashed var(--green);outline-offset:3px}.drag-handle{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;padding:9px}.drag-handle:active{cursor:grabbing}.actual-summary{border-left:3px solid var(--green);background:#f2f5ee;padding:12px;margin-top:12px}.actual-card{border-left:3px solid #6f8b6a;padding:14px;background:#f2f5ee;border-radius:12px;overflow-wrap:anywhere}.actual-card.skipped{border-color:#99968c;background:#f0eeea}.actual-card+.actual-card{margin-top:12px}.unlocked{color:#6b4b28;background:#f7e5bc}.timeline-item.past>.card{background:#eeece7;border-color:#d7d3cb}.timeline-item.past .badge:not(.unlocked){background:#dfddd6;color:#595b55}.timeline-item.past .timeline-time span{color:#92948d}.timeline-item.ongoing>.card{background:#fff3d8;border-color:#e0b977}.timeline-item.ongoing .timeline-time span{color:#c87943}.timeline-item h3{margin-top:0;font-size:16px}.timeline-item p,.version-entry p,.draft-preview p{font-size:12px;overflow-wrap:anywhere}.timeline-item .section-heading{margin:0 0 12px;flex-wrap:wrap}.timeline-item .member-actions{gap:12px}.timeline-item .card{padding:14px;min-width:0}.item-note{white-space:pre-wrap}.plan-editor form{margin-top:18px}.plan-editor .date-fields{margin:0}.checkbox-label{align-items:center;font-weight:400}.checkbox-label input{width:22px;flex:0 0 22px;accent-color:var(--green)}.version-entry+.version-entry{border-top:1px solid var(--line);padding-top:12px}.itinerary-page ul{padding-left:20px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.itinerary-page .button-row{flex-wrap:wrap}.itinerary-page .button-row>.button{flex:1 1 120px}.map-page{min-width:0}.map-date{display:flex;align-items:center;gap:10px}.map-date label{flex-shrink:0;font-size:13px}.map-date select{min-width:0;flex:1}.map-layers{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px}.map-layers label{display:flex;align-items:center;gap:6px;margin:0}.map-layers input{width:18px;height:18px;accent-color:#bb6843}.map-layers .button-row{width:100%}.map-frame{position:relative;border:1px solid #ded7cb;border-radius:22px;overflow:hidden;min-height:280px;background:#eee8dc}.map-canvas{height:360px;width:100%}.map-canvas.map-unavailable{visibility:hidden;height:280px}.map-loading{position:absolute;top:12px;left:12px;right:12px;padding:12px;background:#fff9ee;border-radius:12px;font-size:13px}.map-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px;text-align:center}.map-fallback>span{font-size:40px;color:#a07754}.map-fallback h2{margin:4px 0}.map-fallback p{font-size:13px;line-height:1.7}.map-pin{min-width:44px;height:44px;padding:0 7px;border-radius:50%;border:2px solid #fff9ee;background:#b76140;color:#fff;font-weight:700;box-shadow:0 2px 8px #392b222b;font-size:13px;white-space:nowrap}.map-pin.past{background:#8e8980}.map-pin.ongoing{background:#e19b3a;box-shadow:0 0 0 5px #f4d69a90}.map-pin.actual{background:#496b59}.map-pin.shortlist{border-color:#8b7896;background:#fff9ee;color:#775785;border-radius:8px}.map-pin.interest{background:#aaad86}.map-pin.backup{background:#7c929e;border-radius:8px}.map-legend{display:flex;flex-wrap:wrap;gap:8px;line-height:1.8}.map-legend span:first-child{color:#b76140}.map-legend span:nth-child(2){color:#496b59}.map-legend span:nth-child(3){color:#637c89}.map-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.map-list-select{width:100%;display:flex;gap:12px;align-items:center;border:none;background:transparent;text-align:left;padding:0;color:inherit}.map-list-select>span:nth-child(2){min-width:0;flex:1}.map-list-select strong,.map-list-select .small{display:block;overflow-wrap:anywhere}.map-number{flex-shrink:0;display:inline-grid;place-items:center;width:30px;height:30px;background:#b76140;color:#fff;border-radius:50%;font-size:13px}.map-number.actual{background:#496b59}.map-number.shortlist,.map-number.interest{color:#775785;background:#f4edf3;border:1px solid #a38dac;border-radius:8px}.map-number.backup{background:#7c929e}.map-list-item.plan.past{background:#eeece6}.map-list-item.plan.ongoing{background:#fff2d8;border-color:#e7c085}.map-point-card{border:1px solid #c3996e;scroll-margin-top:16px}.map-point-card p,.map-page details p{overflow-wrap:anywhere}.map-next{background:#f5eedf}.map-page .segments button[aria-pressed=true]{color:var(--green);background:var(--card);font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.header-tools{display:flex;align-items:center;gap:12px;min-width:0}.chat-entry{min-height:44px;padding:8px 14px;border:1px solid #b7c3a8;border-radius:999px;background:#eef1e5;color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:stretch;justify-content:center;background:#33352b61}.chat-panel{width:100%;max-width:520px;background:var(--paper);display:flex;flex-direction:column;min-height:0}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--line);background:var(--paper)}.chat-head h2{font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:20px;line-height:1.3}.chat-head .eyebrow{margin:0 0 2px}.chat-close{min-height:44px;padding:8px 4px;border:0;background:none;color:var(--green);font-size:12px}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{margin:auto 0;text-align:center;padding:8px 0 20px}.chat-empty .muted{margin-bottom:16px}.chat-suggestions{display:grid;gap:8px}.chat-suggestion{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:12px;text-align:left}.chat-bubble{max-width:92%;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:var(--green);border-color:var(--green);color:#fffdf6;border-bottom-right-radius:6px}.chat-bubble.mine .chat-meta,.chat-bubble.mine .small.muted{color:#d9e2cf}.chat-bubble.mine .chat-sources{border-top-color:#7d8f72}.chat-bubble.mine .chat-sources a{color:#f3f7ea}.chat-bubble.theirs{align-self:flex-start;border-bottom-left-radius:6px}.chat-meta{margin:0 0 6px;font-size:10.5px;color:var(--muted)}.chat-origin{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid currentColor;border-radius:999px;font-size:9.5px;line-height:15px;vertical-align:1px;opacity:.75}.chat-origin.feishu{color:#2f6f8f}.chat-bubble.mine .chat-origin{color:#eaf1e1}.chat-sync{margin:0;padding:6px 16px;border-bottom:1px solid var(--line);background:#f7f3e9;color:var(--muted);font-size:11px}.chat-sync.syncing,.chat-sync.retrying{color:#8a6d1a}.chat-sync.failed{color:#8d3f29}.chat-sync.sent{color:#3d6b3d}.chat-text{margin:0;font-size:13px;line-height:1.75;white-space:pre-wrap}.chat-cursor{color:var(--green);animation:chat-blink 1s steps(2) infinite}@keyframes chat-blink{50%{opacity:0}}.chat-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chat-tool{padding:3px 8px;border-radius:999px;background:#f1ead9;color:var(--muted);font-size:10px;line-height:1.6}.chat-tool.ok{color:var(--green);background:#e8eddf}.chat-tool.error{color:#8d3f29;background:#f7e3d8}.chat-sources{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}.chat-sources-title{margin:0 0 4px;font-size:10.5px;color:var(--muted);letter-spacing:.08em}.chat-sources ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.chat-sources a{font-size:12px;word-break:break-all}.chat-sources p,.chat-sources .small{margin:2px 0 0;display:block}.chat-sources .small.muted:last-child{font-size:10px}.chat-hint,.chat-error{margin:0}.chat-error p{margin:0 0 10px}.chat-error .button-row{display:flex;gap:10px;align-items:center}.chat-compose{border-top:1px solid var(--line);padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--card)}.chat-compose textarea{width:100%;min-height:46px;max-height:132px;resize:vertical;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:var(--ink);padding:10px 12px;font:inherit;font-size:16px;line-height:1.5}.chat-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.chat-actions .compact,.chat-error .compact{width:auto;min-width:84px;flex:0 0 auto}.chat-footnote{margin:8px 0 0}@media(min-width:521px){.chat-overlay{justify-content:flex-end}.chat-panel{max-width:460px;border-left:1px solid var(--line)}}@media(max-width:520px){.chat-panel{max-width:100%}}@media(max-width:420px){.header-caption{display:none}}@media(prefers-reduced-motion:reduce){.chat-cursor{animation:none}}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:calc(26px + env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink)}.intro-content{width:100%;max-width:520px;min-width:0;margin:auto}.intro-content .brand-mark{margin-bottom:26px}.intro-copy{margin:16px 0 26px}.intro-pending{visibility:hidden}.intro-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.intro-skip{padding:10px 16px}.material-list{display:grid;gap:12px;margin:18px 0}.material-card{display:flex;gap:12px;width:100%;text-align:left;color:var(--ink);align-items:stretch}.material-thumb{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f3ebd9}.material-kind{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:#f3ebd9;color:var(--green);font-size:12px}.material-info{min-width:0;flex:1;display:grid;gap:5px;align-content:start}.material-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.material-title{font-weight:700;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.material-summary{font-size:12px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge.material-parse.failed{color:#8d3f29;background:#f7e3d8}.badge.material-parse.pending,.badge.material-parse.parsing,.badge.material-parse.unsupported{color:var(--muted);background:#f1ead9}.material-form{margin-top:16px}.material-form .segments{margin:0}.material-form textarea{display:block;width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:14px;color:var(--ink);background:#fffefa}.material-form input[type=file]{padding:8px;font-size:12px;height:auto}.material-detail .section-heading{margin-top:0}.material-detail-meta p{margin:4px 0;overflow-wrap:anywhere}.material-image{width:100%;max-height:360px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#f3ebd9;display:block}.material-text{white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}.material-points{padding-left:20px;font-size:12px;line-height:1.8;margin:8px 0;overflow-wrap:anywhere}.material-job h3{font-size:13px;margin:14px 0 6px}.material-job p{margin:4px 0}.material-job-note{margin:8px 0}.material-frames{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0}.material-frame{display:grid;gap:4px;width:120px;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.material-frame img{width:120px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f3ebd9;display:block}.material-frames-empty,.material-transcripts-empty{margin:6px 0}.material-transcripts{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.material-transcripts li{border-top:1px solid var(--line);padding-top:8px}.material-transcripts li:first-child{border-top:0;padding-top:0}.material-transcripts .material-text{margin:2px 0}.material-references{display:grid;gap:4px;margin-bottom:8px}.material-references p{margin:0}.material-references ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.material-reference{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding:2px 4px 2px 8px;background:var(--card);font-size:11px;max-width:100%;overflow-wrap:anywhere}.material-reference .text-button{min-height:32px;padding:4px 6px;font-size:11px;flex:0 0 auto}.material-picker{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--paper);max-height:220px;overflow:auto;display:grid;gap:6px;margin-bottom:8px}.material-picker p{margin:0}.material-picker ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.material-picker button{width:100%;min-height:44px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:8px 10px;display:flex;gap:8px;align-items:center;font-size:12px}.material-picker button>span:first-child{min-width:0;flex:1;overflow-wrap:anywhere}.material-references-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:8px}.material-references-list li{border-top:1px solid var(--line);padding-top:8px}.material-references-list li:first-child{border-top:0;padding-top:0}.material-references-list p{margin:2px 0}.material-add-button{display:flex;align-items:flex-end}.material-add-button .button{min-height:46px}.materials-page{margin-top:4px}.vision-status.ok{color:var(--green);background:#e8eddf}.vision-status.pending{color:var(--muted);background:#f1ead9}.vision-status.unavailable,.vision-status.unsupported,.vision-status.timeout{color:#6b4e1e;background:#f8e8bd}.vision-status.failed{color:#8d3f29;background:#f7e3d8}.material-vision{display:grid;gap:4px;margin-top:4px}.material-vision h3{margin:12px 0 4px}.vision-places{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}.vision-places li{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border-top:1px dashed var(--line);padding-top:8px}.vision-places li:first-child{border-top:0;padding-top:0}.vision-place-info{min-width:0;overflow-wrap:anywhere}.vision-place-info q{display:block;margin-top:2px}.vision-places .button-row{flex:0 0 auto;align-items:center;gap:4px}.vision-places .button.compact{width:auto;min-width:64px;min-height:38px;padding:8px 12px}.vision-places .text-button{min-height:38px;padding:6px 4px}.chat-attachments{display:grid;gap:8px;margin:8px 0}.chat-attachment{margin:0;display:grid;gap:4px}.chat-attachment img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:#f3ebd9}.chat-bubble.mine .chat-attachment figcaption{color:#d9e2cf}.chat-pending-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chat-pending-image{width:82px;display:grid;gap:2px;justify-items:start}.chat-pending-image img{width:82px;height:82px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f3ebd9;display:block}.chat-pending-image .small.muted{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-pending-image .text-button{min-height:32px;padding:2px 0;font-size:11px}.chat-upload-state{margin:0 0 8px}.chat-upload-state p{margin:0 0 4px}.chat-image-button{width:auto;min-width:76px;flex:0 0 auto}.onboarding-progress{padding:10px 16px;border-bottom:1px solid var(--line);background:#eef1e5;font-size:12px}.onboarding-progress .section-heading{margin:0;gap:10px}.onboarding-progress p,.onboarding-home p{margin:0}.onboarding-progress .text-button{flex-shrink:0}.onboarding-recorded{margin-top:12px;padding:12px;background:#f1f4e9;border:1px solid #c5d0b8;border-radius:12px}.onboarding-recorded h3{margin:0 0 8px;font-size:14px;color:var(--green)}.onboarding-recorded dl{margin:0;display:grid;gap:8px;font-size:12px}.onboarding-recorded dl>div{display:flex;gap:12px}.onboarding-recorded dd{min-width:0}.onboarding-home{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.member-welcome{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-size:13px}.member-welcome>p{margin:0 0 12px}.attribution{min-width:0;max-width:100%;margin:.5rem 0;overflow-wrap:anywhere;line-height:1.6}.attribution-line{display:block}.audit-log,.export-links{margin-top:1.5rem;min-width:0}.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.audit-filters label,.audit-filters select{min-width:0;width:100%}.audit-filters select{display:block;margin-top:.4rem}.audit-entries{list-style:none;padding:0;display:grid;gap:.75rem}.audit-entries li{min-width:0;overflow-wrap:anywhere}.export-links .button-row{flex-wrap:wrap}@media(max-width:600px){.audit-filters{grid-template-columns:minmax(0,1fr)}}.budget-page{margin-top:8px;display:grid;gap:10px;padding-bottom:76px}.budget-page .back{min-height:36px;margin:0 0 2px;padding:4px 0}.budget-title{font-size:20px;line-height:1.4;margin:4px 0 8px;overflow-wrap:anywhere}.budget-total{display:grid;gap:10px;padding:14px}.budget-total-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.budget-total-head>div{min-width:0}.budget-total-label{margin:0;font-size:11px;color:var(--muted);letter-spacing:.06em}.budget-amount{margin:4px 0 0;font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:28px;line-height:1.2;font-weight:700;color:var(--green);overflow-wrap:anywhere}.budget-over{color:#8d3f29;background:#f7e3d8}.budget-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.budget-figures>div{min-width:0}.budget-figures dt{color:var(--muted);font-size:11px}.budget-figures dd{margin:2px 0 0;font-size:16px;font-weight:700;overflow-wrap:anywhere}.budget-remaining{margin:0;font-size:12px;color:var(--green)}.budget-friend{margin:0;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);overflow-wrap:anywhere}.budget-views{margin:0}.budget-categories{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.budget-category{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px 14px;min-height:38px;min-width:0}.budget-category+.budget-category{border-top:1px solid var(--line)}.budget-category-name{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:13px;overflow-wrap:anywhere}.budget-category-name small{flex:0 0 auto;color:var(--muted);font-size:10px}.budget-category-value{font-size:14px;font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-category.over .budget-category-value{color:#8d3f29}.budget-categories .badge{padding:3px 6px;font-size:9px}.budget-actions{flex-wrap:wrap}.budget-actions .button{flex:1 1 160px}.budget-item-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.budget-item{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}.budget-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.budget-item-head>div{min-width:0}.budget-item-head h3{margin:6px 0 0;font-size:15px;overflow-wrap:anywhere}.budget-item-figures{flex:0 0 auto;display:grid;justify-items:end;gap:4px}.budget-item-value{flex:0 0 auto;font-size:16px;font-weight:700;white-space:nowrap}.budget-item-value.over{color:#8d3f29}.budget-item .badge{font-size:9px}.budget-item p{margin:0}.budget-item .member-actions{gap:12px}.budget-field-label{display:block;margin-bottom:8px;font-size:12px;font-weight:700}.budget-scope{margin:0}.budget-share-preview{display:grid;gap:4px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:#f8f3e7;font-size:12px;overflow-wrap:anywhere}.budget-share-preview p,.budget-form .segments,.budget-form .date-fields{margin:0}.budget-form label{font-size:12px}.budget-form textarea{display:block;width:100%;min-height:90px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);background:#fffefa;font:inherit;font-size:16px}.budget-form textarea:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}.budget-form .button-row>.button{flex:1 1 130px}.budget-entry{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;text-align:left;color:var(--ink)}.budget-entry>span:first-child{min-width:0}.budget-entry-title{display:block;font-size:14px;font-weight:700;overflow-wrap:anywhere}.budget-entry-total{flex:0 0 auto;color:var(--green);font-size:13px;font-weight:700;white-space:nowrap}@media(max-width:380px){.budget-amount{font-size:24px}.budget-category{padding:9px 10px;gap:6px}.budget-category-value{font-size:13px}}.budget-page{padding-bottom:84px;gap:8px}.budget-page .budget-title{font-size:18px;margin:2px 0}.budget-total{padding:10px 12px;gap:6px}.budget-amount{font-size:24px;margin:2px 0 0}.budget-figures{gap:4px 12px}.budget-views{margin-top:2px}.budget-category{min-height:32px;padding:5px 12px}.budget-actions{margin-top:2px}.reminders{min-width:0;overflow-wrap:anywhere}.reminders h1{margin-bottom:6px}.reminders .section-heading{margin-top:26px}.reminder-item{margin:12px 0;display:grid;gap:8px}.reminder-item h3{margin:0;font-size:15px}.reminder-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.reminder-top>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.reminder-time{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}.reminder-content{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.reminder-meta,.reminder-last{margin:0}.reminder-actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.reminder-time-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.reminder-time-form label{font-size:11px;color:var(--muted)}.reminder-time-form input{width:auto;min-width:120px}.reminder-actions .button.compact{width:auto;min-height:38px;padding:8px 12px}.reminder-actions .text-button{margin-left:auto}.badge.reminder-status.pending{color:#6b4e1e;background:#f8e8bd}.badge.reminder-status.warn{color:#8d3f29;background:#f7e3d8}.reminder-pending{border-color:#e6cf96;background:#fffaf0}.reminder-nl textarea,.reminder-form input,.reminder-form select{width:100%;min-width:0}.reminder-nl textarea{min-height:76px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;color:var(--ink);background:#fffefa}.reminder-confirm{border-color:#b9c9ab;background:#f6f8ef}.reminder-confirm .button-row{flex-wrap:wrap;margin-top:10px}.reminder-confirm .compact,.reminder-decide .compact{width:auto;flex:1 1 120px}.reminder-restatement{font-weight:700;font-size:14px}.reminder-decide{margin-top:4px}.reminders .loading{margin:16px 0}@media(min-width:900px){.reminders{max-width:720px}}.route-proposals-page{display:grid;gap:10px;padding-bottom:84px;min-width:0}.route-proposals-page .back{min-height:36px;margin:0;padding:4px 0}.route-proposals-page .section-heading{margin:4px 0 0;flex-wrap:wrap}.route-proposals-page .section-heading h1{margin:0;font-size:24px}.route-proposals-page .lede{margin:0 0 4px}.routes-page{display:grid;gap:12px;min-width:0}.route-limit-note{margin:0}.route-proposal{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}.route-proposal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.route-proposal-head .badge+.badge{margin-left:6px}.route-proposal h3{margin:0;font-size:16px;overflow-wrap:anywhere}.route-proposal p{margin:0}.route-days{display:grid;gap:6px}.route-days ul{margin:4px 0 0;padding-left:18px;font-size:12px}.route-days li{margin:2px 0;overflow-wrap:anywhere}.route-diff{border-top:1px dashed var(--line);padding-top:8px;display:grid;gap:6px;font-size:12px}.route-diff-day p{margin:2px 0}.route-actions{gap:14px;align-items:center}.route-actions .button{width:auto;min-height:40px;padding:8px 14px}.route-detail{display:grid;gap:8px;min-width:0;overflow-wrap:anywhere}.route-detail .back{margin:0;padding:2px 0;min-height:32px}.route-detail .section-heading{margin:0;flex-wrap:wrap}.route-detail .section-heading h2{overflow-wrap:anywhere}.route-history{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}.route-history li{border-left:2px solid var(--line);padding-left:10px;font-size:12px}.route-history p{margin:2px 0;overflow-wrap:anywhere}.route-form{display:grid;gap:12px;min-width:0}.route-form .date-fields,.route-form .route-limit-note{margin:0}.route-add{margin:0;padding:12px;border:1px dashed var(--line);border-radius:12px;display:grid;gap:10px;min-width:0}.route-add legend{padding:0 6px;font-size:12px;font-weight:700}.route-add-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-add-fields>div{min-width:0}.route-add-fields label{font-size:12px}.route-add .button{width:auto;justify-self:start;min-width:120px}.route-form .route-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}.route-form .route-items li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fffefa;font-size:12px;min-width:0}.route-form .route-items span{min-width:0;overflow-wrap:anywhere}.route-form .route-items .text-button{flex:0 0 auto;min-height:34px;padding:4px 0}.route-form .button-row>.button{flex:1 1 130px}.route-entry{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;text-align:left;color:var(--ink)}.route-entry>span:first-child{min-width:0}.route-entry-title{display:block;font-size:14px;font-weight:700;overflow-wrap:anywhere}.route-entry-count{flex:0 0 auto;color:var(--green);font-size:13px;font-weight:700;white-space:nowrap}#routes:target,[id^=route-]:target{outline:2px solid var(--green);outline-offset:4px}@media(max-width:380px){.route-add-fields{grid-template-columns:1fr}.route-proposals-page .section-heading h1{font-size:22px}}.chat-balance-banner{display:flex;align-items:flex-start;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);background:#f8e8bd;color:#6b4e1e;font-size:12px;flex-shrink:0}.chat-balance-banner.danger{background:#f7e0d5;color:#8d3f29;border-bottom-color:#e5c4b3}.chat-balance-banner p{margin:0;flex:1;min-width:0;line-height:1.6}.chat-balance-dismiss{flex:0 0 auto;min-height:32px;padding:4px 6px;border:0;background:none;color:inherit;font-size:11px;text-decoration:underline}.usage-page{min-width:0;overflow-wrap:anywhere}.usage-page .usage-balance-amount{margin:6px 0 10px;font-family:Songti SC,SimSun,"Noto Serif SC",serif;font-size:34px;line-height:1.2;color:var(--green)}.usage-page .usage-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.usage-page .usage-meta dt{font-size:11px;color:var(--muted)}.usage-page .usage-meta dd{margin:2px 0 0;font-size:13px}.usage-page .usage-total-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.usage-page .usage-total-grid article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffefa;min-width:0}.usage-page .usage-total-grid h3{margin:0;font-size:12px;color:var(--muted);font-weight:700}.usage-page .usage-total-number{margin:6px 0 4px;font-size:22px;font-weight:700;color:var(--ink)}.usage-page .usage-total-number span{font-size:11px;font-weight:400;color:var(--muted)}.usage-page .usage-budget-line{margin:6px 0;font-size:14px}.usage-page .usage-budget-line b{color:var(--green)}.usage-page .usage-budget-bar{height:8px;border-radius:999px;background:#efe6d2;overflow:hidden;margin:8px 0 4px}.usage-page .usage-budget-bar>span{display:block;height:100%;background:var(--green)}.usage-page .usage-budget-form{display:grid;gap:8px;margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}.usage-page .usage-budget-form input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fffefa;color:var(--ink);padding:8px 10px;font-size:15px}.usage-page .usage-budget-form .button-row .button{width:auto;flex:0 1 auto;min-width:108px}.usage-page .usage-warnings{display:grid;gap:8px;margin-top:14px}.usage-page .usage-warnings .notice{margin:0}.usage-page .usage-warnings .notice.info{background:#f2ede0;color:var(--muted)}.usage-page .usage-entry-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}.usage-page .usage-entry{padding:10px 0;border-top:1px solid var(--line);min-width:0}.usage-page .usage-entry:first-child{border-top:0;padding-top:0}.usage-page .usage-entry-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.usage-page .usage-entry-main b{font-size:13px}.usage-page .usage-entry p{margin:4px 0 0;overflow-wrap:anywhere}.usage-page .badge.subtle.warn,.usage-page .badge.subtle.warn80,.usage-page .badge.subtle.over100{color:#8d3f29;background:#f7e3d8}.usage-page .badge.subtle.failed,.usage-page .badge.subtle.uncounted,.usage-page .badge.subtle.aborted{color:#8a6d1a;background:#f8e8bd}.usage-page .usage-export .button-row .button{flex:1 1 140px;width:auto}@media(max-width:420px){.usage-page .usage-balance-amount{font-size:28px}.usage-page .usage-meta,.usage-page .usage-total-grid{grid-template-columns:1fr}}@media(min-width:900px){.usage-page .usage-balance,.usage-page .usage-totals,.usage-page .usage-budget,.usage-page .usage-entries,.usage-page .usage-export{max-width:820px}.usage-page .usage-entry-main{justify-content:flex-start}}.preferences-page{display:grid;gap:10px;padding-bottom:84px;min-width:0}.preferences-page .back{min-height:36px;margin:0;padding:4px 0}.preferences-header{min-width:0}.preferences-title{font-size:24px;line-height:1.35;margin:2px 0 6px;overflow-wrap:anywhere}.preferences-hint{margin:0;font-size:12px;line-height:1.75;color:#6b4e1e;background:#f8e8bd;border-radius:12px;padding:10px 12px}.preference-my-empty{margin:0}.preference-person{display:grid;gap:10px;min-width:0;overflow-wrap:anywhere}.preference-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.preference-person-head>div{min-width:0}.preference-person-head h2{overflow-wrap:anywhere}.preference-person-head p{margin:4px 0 0}.preference-groups{display:grid;gap:4px}.preference-group{border-top:1px solid var(--line);padding-top:8px;min-width:0}.preference-group:first-child{border-top:0;padding-top:0}.preference-group h3{display:flex;align-items:baseline;gap:8px;margin:6px 0;font-size:13px;color:var(--green)}.preference-group h3 small{color:var(--muted);font-size:10px;font-weight:400}.preference-entries{list-style:none;margin:0;padding:0;display:grid;gap:8px}.preference-entry{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.preference-content{margin:0;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.preference-meta{margin:4px 0 0}.preference-actions{margin-top:2px;gap:16px}.preference-actions .text-button{min-height:36px;padding:4px 0}.preference-empty{margin:0;font-size:12px;color:var(--muted)}.preference-add{margin-top:2px}.preference-conflict{margin:0;border:1px solid #e6cf96;background:#fffaf0}.preference-conflict p{margin:0 0 6px}.preference-conflict-actions{display:flex;flex-wrap:wrap;gap:4px 16px}.preference-conflict-actions .text-button{min-height:36px;padding:2px 0}.preference-history{min-width:0}.preference-history .section-heading{margin:18px 0 8px;flex-wrap:wrap}.preference-history-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.preference-history-list li{min-width:0;border-left:2px solid var(--line);padding-left:10px;font-size:12px;overflow-wrap:anywhere}.preference-history-head{margin:0 0 2px}.preference-history-change{margin:2px 0;color:var(--ink)}.preference-form textarea{display:block;width:100%;min-height:88px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);background:#fffefa;font:inherit;font-size:16px}.preference-form textarea:focus-visible{outline:3px solid #6f8b6a;outline-offset:3px}.preference-form .button-row>.button{flex:1 1 130px}.preference-remove .button-row>.button{flex:1 1 130px}.preferences-before-plan{margin:8px 0 0}@media(min-width:900px){.preferences-page{max-width:720px}}.draft-preview .preference-conflict{margin:10px 0}.draft-preview .preference-conflict ul{margin:6px 0 0;padding-left:18px;font-size:12px}.draft-preview ul[aria-label=用到的偏好]{font-size:12px;line-height:1.8}.route-preferences{margin:4px 0;overflow-wrap:anywhere}.travel-section{margin-top:18px}.travel-panel{scroll-margin-top:24px}.travel-panel .eyebrow{margin:0 0 2px}.travel-panel h2{margin:0;font-size:18px}.travel-panel .button{width:100%;margin-top:10px}.travel-body{padding:14px}.travel-form>div{min-width:0}.travel-form label,.travel-manual label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.travel-form input,.travel-manual input{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}.travel-results{display:grid;gap:10px}.travel-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:2px 4px;font-size:12px;color:var(--muted)}.travel-quote-list{display:grid;gap:10px}.travel-quote-card{padding:12px 13px}.travel-quote-card h3{margin:0;font-size:15px;overflow-wrap:anywhere}.travel-quote-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.travel-quote-head .badge{flex:0 0 auto}.travel-route{margin:6px 0 2px;font-size:14px;font-weight:600;color:var(--green)}.travel-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 2px}.travel-price b{font-size:17px;color:#8a5a2b}.travel-price .badge{background:#f6e7c8;color:#7a5a22}.travel-quote-card .member-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.travel-quote-card .member-actions .text-button{min-height:40px}.travel-filters{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:var(--paper)}.travel-filters label{font-size:12px;color:var(--muted)}.travel-filters select,.travel-filters input{width:100%;min-height:40px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.travel-unavailable b{display:block;margin-bottom:4px}.travel-unavailable p{margin:0 0 8px}.travel-unavailable .button-row,.travel-results .notice .button-row{display:flex;flex-wrap:wrap;gap:8px}.travel-footnote{margin:0}.travel-confirm p{margin:0;overflow-wrap:anywhere}.travel-confirm .button-row,.travel-manual .button-row{display:flex;flex-wrap:wrap;gap:8px}.travel-confirm .button-row>.button,.travel-manual .button-row>.button{flex:1 1 120px}.travel-panel:target{outline:2px solid var(--green);outline-offset:4px}.booking-import-panel{scroll-margin-top:24px}.booking-import-panel .eyebrow{margin:0 0 2px}.booking-import-panel h2{margin:0;font-size:18px}.booking-import-panel .button{width:100%;margin-top:10px}.booking-import-member-tip{margin:8px 0 0}.booking-import-body{padding:14px}.booking-import-body textarea{width:100%;min-height:96px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit;line-height:1.6;resize:vertical}.booking-import-body .button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.booking-import-file{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.booking-import-file input{display:none}.booking-import-card{padding:14px}.booking-import-card h3{margin:0 0 2px}.booking-import-source{margin:0 0 6px;overflow-wrap:anywhere}.booking-import-raw{margin:6px 0;padding:8px 10px;border-left:3px solid var(--line);border-radius:6px;background:var(--paper);color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.booking-import-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.booking-import-fields>div{min-width:0}.booking-import-fields label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:4px}.booking-import-fields input{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit}.booking-import-fields [data-uncertain=true] input{border-color:#c9903a;background:#fdf3dd}.booking-import-uncertain{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:#f6e7c8;color:#7a5a22;font-size:11px;font-weight:600}.booking-import-checked{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;background:#e4eddf;color:var(--green);font-size:11px;font-weight:600}.booking-import-fields [data-checked=true] input{border-color:#a9bda1}.booking-import-fields input[readonly]{background:var(--paper);color:var(--muted);cursor:default}.booking-import-card .button-row{display:flex;flex-wrap:wrap;gap:8px}.booking-import-duplicate b{display:block;margin-bottom:4px}.booking-import-duplicate p{margin:0 0 8px}.booking-import-wait{display:inline-flex;align-items:center;min-height:40px}.booking-import-failure b{display:block;margin-bottom:4px}.booking-import-failure p{margin:0 0 8px}.booking-order-hint{margin:8px 0 0;padding:10px 12px}.booking-order-hint .eyebrow{margin:0 0 2px}.booking-order-hint p{margin:4px 0}.booking-order-hint .button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.chat-message-group{display:contents}#booking-import:target{outline:2px solid var(--green);outline-offset:4px}@media(max-width:420px){.booking-import-fields{grid-template-columns:1fr}}
