: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}*{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))}.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}.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}
