:root{font-family:DM Sans,Noto Sans TC,sans-serif;color:#28241f;background:#faf8f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;font-weight:400;--orange:#ed7044;--orange-dark:#d95d32;--ink:#28241f;--muted:#928b83;--line:#eee9e3;--paper:#fff;--cream:#f6f1eb}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f5b59c;outline-offset:2px}.app-shell{min-height:100vh;padding-bottom:92px;max-width:780px;margin:0 auto;background:#faf8f5}.topbar{height:78px;padding:14px 22px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;background:#faf8f5f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(238,233,227,.75)}.brandmark{width:42px;height:42px;border-radius:15px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;box-shadow:0 6px 15px #ed704436}.topbar h1{margin:1px 0;font-size:19px;line-height:1.1;font-weight:800;letter-spacing:-.04em}.topbar h1 span{font-size:10px;letter-spacing:.1em;color:#aaa097;margin-left:7px;font-weight:600}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:700;color:#a79c91;margin:0 0 5px}.topbar .eyebrow{font-size:8px;margin:0 0 3px}.avatar{margin-left:auto;border:0;border-radius:50%;background:#f4ded2;color:#b7512d;width:38px;height:38px;font-weight:800}.main-content{padding:21px 20px 26px}.hero{height:292px;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(135deg,#ef8157,#e9663c 65%,#d94f32);color:#fff;padding:26px 24px;box-shadow:0 13px 30px #db684028}.hero-copy{position:relative;z-index:1}.light-pill{background:#ffffff32;color:#fff}.pill{display:inline-flex;border-radius:100px;padding:5px 10px;background:#f4eee8;color:#88796c;font-size:10px;font-weight:600}.hero h2{font-size:34px;line-height:1.29;letter-spacing:-.07em;margin:15px 0 7px;font-weight:800}.hero p{font-size:12px;color:#ffebe1;margin:0 0 17px}.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;font-weight:700;transition:transform .15s,background .15s}.primary-btn:active,.secondary-btn:active{transform:scale(.98)}.primary-btn{background:var(--orange);color:#fff;padding:13px 17px;box-shadow:0 5px 12px #d65f3830}.hero-btn{background:#fff;color:#cf5935;padding:11px 14px;font-size:12px}.hero-plate{position:absolute;width:198px;height:198px;border-radius:50%;right:-24px;bottom:-25px;border:1px solid #ffffff3b;background:radial-gradient(circle at 45% 38%,#fffaf0 0,#fffaf0 33%,#f7e2ca 34%,#f7e2ca 38%,#fbf2e6 39%,#fbf2e6 51%,#e8b48e 52%,#e8b48e 55%,#f6e5d2 56%);color:#db7650;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-14deg);box-shadow:0 12px 35px #9e3d2a35}.hero-plate svg{margin-top:8px;stroke-width:1.2}.hero-plate span{font-size:8px;letter-spacing:.2em;text-align:center;font-weight:700;margin-top:4px}.hero-orb{position:absolute;border:1px solid #ffffff2b;border-radius:50%}.orb-one{width:255px;height:255px;right:-70px;top:-110px}.orb-two{width:180px;height:180px;left:42%;bottom:-135px}.section-head,.page-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 2px 14px}.section-head h2,.page-heading h2{font-size:21px;letter-spacing:-.055em;margin:0;font-weight:800}.section-head .eyebrow,.page-heading .eyebrow{margin-bottom:4px}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:8px;font-size:11px;color:#cc633d;background:#f8e5db;vertical-align:3px;margin-left:4px}.text-btn{border:0;background:none;color:#8a8178;font-size:11px;font-weight:600}.text-btn span{color:var(--orange);font-size:18px;vertical-align:-1px;margin-left:4px}.segmented{display:flex;background:#f0ece7;border-radius:13px;padding:4px;margin:14px 0 13px}.segmented button{flex:1;border:0;background:transparent;border-radius:10px;padding:9px 3px;font-size:10px;font-weight:600;color:#938a80;white-space:nowrap}.segmented button.active{background:#fff;color:#bd5934;box-shadow:0 2px 6px #4f39240d}.card-list{display:grid;gap:10px}.restaurant-card{background:#fff;border:1px solid #f0ece7;border-radius:18px;padding:11px;display:flex;align-items:center;min-width:0;box-shadow:0 4px 15px #57473306}.card-main{display:flex;align-items:center;gap:12px;flex:1;text-align:left;min-width:0;border:0;background:transparent;padding:0;color:inherit}.food-thumb{width:68px;height:68px;flex:none;border-radius:15px;background:linear-gradient(145deg,#f8e5d1,#ecd1b8);position:relative;display:flex;align-items:flex-end;padding:7px;background-size:cover;background-position:center;overflow:hidden}.food-thumb:before{content:"";position:absolute;width:36px;height:36px;border-radius:50%;background:#fff9ef;top:11px;left:16px;box-shadow:inset 0 0 0 3px #ead1b7}.food-thumb.has-image:before{display:none}.food-thumb span{z-index:1;font-size:8px;background:#ffffffdf;border-radius:7px;padding:3px 6px;color:#867263}.food-thumb i{position:absolute;right:8px;top:4px;color:#df9670;font-style:normal}.restaurant-info{min-width:0;flex:1}.restaurant-title{display:flex;align-items:center;gap:6px}.restaurant-title h3{margin:0;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.03em}.restaurant-sub{margin:5px 0 8px;color:#968d84;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-tags{display:flex;gap:5px;flex-wrap:wrap}.card-tags span{font-size:9px;color:#9b8d81;background:#f7f4f0;border-radius:6px;padding:3px 6px}.heart-btn{border:0;background:transparent;color:#c7bdb3;padding:9px 4px 9px 10px}.heart-btn.hearted{color:var(--orange)}.rating-label{font-size:9px;border-radius:6px;padding:3px 5px;white-space:nowrap}.rating-label.recommend{background:#e8f3e6;color:#4c8153}.rating-label.neutral{background:#f4efe5;color:#927841}.rating-label.avoid{background:#f8e8e4;color:#bb6253}.page-heading{margin:9px 1px 20px}.page-heading h2{font-size:25px}.round-add{width:41px;height:41px;border:0;border-radius:14px;background:var(--orange);color:#fff;display:grid;place-items:center;box-shadow:0 5px 12px #d65f3830}.heading-icon{color:#d9825e}.search-box{height:47px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px;color:#a69a8e}.search-box input{border:0;outline:0;min-width:0;flex:1;background:transparent;color:var(--ink);font-size:12px}.filters{display:flex;gap:8px;margin:10px 0 16px}.filters select{flex:1;border:1px solid var(--line);border-radius:11px;background:#fff;padding:9px 10px;color:#80766c;font-size:10px}.empty-card{border:1px dashed #e6d8cb;border-radius:20px;background:#fffdfa;padding:28px 20px;text-align:center}.empty-illustration{width:54px;height:54px;border-radius:18px;background:#f9e8de;color:var(--orange);display:grid;place-items:center;margin:0 auto 12px}.empty-card h3{font-size:15px;margin:0 0 6px}.empty-card p{font-size:11px;color:var(--muted);margin:0 auto 16px;max-width:240px;line-height:1.7}.secondary-btn{border:1px solid #f0d7ca;color:#ba5b38;background:#fff9f5;padding:10px 13px;font-size:11px}.bottom-nav{position:fixed;z-index:8;bottom:0;left:50%;transform:translate(-50%);width:min(100%,780px);height:78px;padding:8px 7px max(10px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:#fffefaed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #eee9e3}.bottom-nav button{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;border:0;background:transparent;color:#a69d94;min-width:58px;font-size:9px;font-weight:600}.bottom-nav button.selected{color:var(--orange)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#28211c66;display:flex;align-items:flex-end;justify-content:center}.sheet{max-height:92dvh;overflow:auto;width:min(100%,680px);background:#fffefa;border-radius:25px 25px 0 0;padding:12px 21px max(24px,env(safe-area-inset-bottom));box-shadow:0 -10px 40px #20180e20}.sheet-grab{width:40px;height:4px;border-radius:9px;background:#ddd5cc;margin:0 auto 18px}.sheet-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sheet-title h2{font-size:22px;letter-spacing:-.05em;margin:0}.icon-btn{border:0;background:#f6f2ed;color:#82786f;border-radius:11px;width:36px;height:36px;display:grid;place-items:center}.icon-btn svg{width:17px}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:7px;font-size:11px;color:#665e56;font-weight:700}.form-stack em{font-style:normal;color:#c56645;font-size:9px;margin-left:4px}.form-stack input,.form-stack textarea,.post-form textarea{border:1px solid #e9e3dc;background:#fff;border-radius:11px;padding:12px;font-size:12px;color:var(--ink);width:100%;resize:vertical}.form-stack label small{color:#aaa097;font-weight:400;font-size:9px;margin-top:-4px}.budget-fields{display:flex;gap:10px}.budget-fields label{flex:1}.full-btn{width:100%;min-height:45px}.form-stack .primary-btn{margin-top:3px}.detail-sheet{max-height:95dvh}.detail-sheet>.sheet-title{margin-bottom:7px}.sheet-actions{display:flex;gap:7px}.detail-name{font-size:26px;letter-spacing:-.06em;margin:0 0 10px}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:10px;color:#8b8178}.map-line{margin:16px 0;padding:12px;border-radius:12px;background:#f7f4f0;display:flex;align-items:center;gap:7px;font-size:11px;color:#827a70}.map-line svg{color:var(--orange);flex:none}.map-line a,.map-line button{margin-left:auto;color:#c65d38;border:0;background:none;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}.memo{font-size:12px;line-height:1.8;color:#6e655c;background:#fff8f2;padding:12px;border-radius:12px}.rating-block{padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:#80766d}.rating-actions{display:flex;gap:4px}.rating-actions button{display:flex;align-items:center;gap:3px;border:1px solid #eee7df;border-radius:8px;background:#fff;color:#93897e;padding:6px;font-size:9px}.rating-actions button.rating-on{border-color:#efb79e;background:#fff4ee;color:#c86039}.partner-wish{border:0;background:transparent;color:#bd623e;font-size:10px;font-weight:600}.posts-heading{margin:20px 0 10px}.posts-heading h3{font-size:15px;margin:0}.posts-heading h3 span{color:#b1a59a;font-size:11px;margin-left:4px}.post-form{border-radius:15px;border:1px solid #eee8e0;background:#fff;padding:10px}.post-form textarea{border:0;padding:4px;min-height:64px;outline:none}.post-form-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f2ede8;padding-top:9px}.post-form-footer button{border:0;border-radius:9px;background:var(--orange);color:#fff;padding:8px 12px;font-size:10px;font-weight:700}.photo-pick{color:#8b8178;font-size:10px;cursor:pointer}.photo-pick input{display:none}.posts-list{display:grid;gap:9px;margin-top:11px}.post-card{position:relative;border:1px solid #eee9e2;background:#fff;border-radius:14px;padding:13px}.post-card>p{font-size:12px;line-height:1.8;white-space:pre-wrap;margin:0 0 12px;color:#504840}.pinned{display:inline-block;font-size:8px;color:#bd623e;background:#fff0e7;border-radius:5px;padding:3px 6px;margin-bottom:7px}.post-photos{display:flex;gap:7px;overflow-x:auto;margin-bottom:10px}.post-photos img{width:98px;height:98px;object-fit:cover;border-radius:10px}.post-byline{border-top:1px solid #f2eee9;padding-top:9px;display:flex;justify-content:space-between;gap:6px;align-items:center;color:#a0968c;font-size:9px}.post-byline div{display:flex;gap:9px}.post-byline button{border:0;background:transparent;color:#9b8d81;padding:2px;font-size:9px}.empty-inline{text-align:center;color:#aaa097;font-size:10px;padding:15px}.backup-card{background:#fff;border:1px solid var(--line);border-radius:21px;text-align:center;padding:24px 19px;box-shadow:0 7px 20px #51432c08}.backup-icon,.sync-symbol{width:50px;height:50px;border-radius:17px;background:#fff0e7;color:var(--orange);display:grid;place-items:center;margin:0 auto 12px}.backup-card h3{font-size:16px;margin:0 0 7px}.backup-card p{font-size:11px;color:#92887e;line-height:1.8;margin:0 auto 17px;max-width:300px}.backup-card .secondary-btn{margin-top:8px;cursor:pointer}.backup-card small{display:block;color:#aaa097;font-size:9px;margin-top:14px}.info-card{display:flex;gap:11px;background:#f2eee8;border-radius:15px;padding:14px;margin-top:13px;color:#a07a61}.info-card svg{flex:none}.info-card p{font-size:10px;line-height:1.7;color:#81766c;margin:0}.settings-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:15px;border-radius:16px;margin-bottom:9px}.profile-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f6ded1;color:#bc603b;font-weight:800}.settings-card b{font-size:12px}.settings-card p{font-size:10px;color:#a1988e;margin:4px 0 0}.setting-row{justify-content:space-between}.status-dot{border-radius:100px;background:#edf4e9;color:#568055;font-size:9px;padding:5px 9px}.warning-card{margin-top:25px;border:1px solid #f1ded6;border-radius:17px;padding:15px;background:#fff9f6}.warning-card h3{color:#a64b36;font-size:13px;margin:0 0 7px}.warning-card p{font-size:10px;line-height:1.8;color:#907b70;margin:0 0 13px}.danger-btn{background:#fff;border:1px solid #e9c6bb;color:#b3523d;padding:9px 12px;font-size:10px}.fine-print{font-size:9px;line-height:1.8;color:#aaa097;padding:8px 2px}.compact-sheet{padding-bottom:25px}.preview-copy{font-size:11px;line-height:1.8;color:#887e74}.preview-counts{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:15px 0}.preview-counts div{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #f2eee9;font-size:11px;color:#756c63}.preview-counts div:last-child{border:0}.preview-counts b{color:#bb5b38}.toast{position:fixed;z-index:40;left:50%;transform:translate(-50%);bottom:90px;width:min(calc(100% - 32px),460px);background:#332b25;color:#fff;border-radius:13px;padding:13px 14px;box-shadow:0 8px 28px #30251e40;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px}.toast button{background:transparent;color:#fff;border:0;padding:2px;display:grid;place-items:center}@media(min-width:700px){.main-content{padding:26px 34px}.hero{height:310px}.hero h2{font-size:39px}.hero-plate{width:225px;height:225px;right:18px;bottom:-24px}.restaurant-card{padding:13px}.food-thumb{width:76px;height:76px}.modal-backdrop{align-items:center;padding:25px}.sheet{border-radius:25px;max-height:88dvh}.detail-sheet{max-width:600px}.bottom-nav{border-radius:20px 20px 0 0}}.restore-btn{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;border:1px solid #ead7ce;border-radius:12px;background:#fffaf7;color:#a65c43;font-size:10px;font-weight:700;padding:12px}.backup-reminder{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:11px 12px;border-radius:12px;background:#fff0e7;color:#9e5135;font-size:10px;line-height:1.5}.backup-reminder span{flex:1}.backup-reminder button{border:0;background:transparent;color:#ad5435;font-size:10px;font-weight:700;padding:3px}.rtc-panel{margin:0 20px 26px;padding:18px;border:1px solid #eee7df;background:#fffefa;border-radius:19px}.rtc-heading{display:flex;align-items:center;justify-content:space-between}.rtc-heading h3{font-size:16px;margin:0}.rtc-dot{width:9px;height:9px;background:#c7beb4;border-radius:50%}.rtc-dot.online{background:#65a66b;box-shadow:0 0 0 4px #e6f1e5}.rtc-copy,.rtc-label{font-size:10px;line-height:1.7;color:#91877d}.rtc-status{padding:9px 11px;margin:12px 0;border-radius:9px;background:#f5f1ec;color:#756b62;font-size:10px}.rtc-actions{display:flex;gap:8px;margin:9px 0}.rtc-actions>*{flex:1}.rtc-actions button{font-size:10px;padding:10px}.rtc-reset{border:1px solid #eee5dd;border-radius:12px;color:#8c8177;background:#fff}.rtc-label{display:grid;gap:6px;margin:11px 0 5px}.rtc-label textarea{width:100%;height:92px;resize:vertical;padding:9px;border:1px solid #e8e1d9;border-radius:10px;background:#fff;font:10px/1.5 ui-monospace,monospace;color:#665c53;overflow-wrap:anywhere}.peer-card,.merge-panel{display:grid;gap:8px;padding:13px;margin-top:12px;border:1px solid #f0e4db;border-radius:13px;background:#fffaf6}.peer-card b,.merge-panel h4{font-size:12px;margin:0}.peer-card span,.peer-card small{font-size:9px;color:#8e8379}.peer-card code{font-size:10px;line-height:1.7;color:#b35135;overflow-wrap:anywhere}.peer-card .primary-btn{font-size:10px}.peer-card button:disabled{opacity:.48}.transfer-progress{font-size:10px;color:#84796f;margin:11px 0}.transfer-progress progress{display:block;width:100%;height:8px;margin-top:7px;accent-color:#ed7044}.merge-counts{display:flex;flex-wrap:wrap;gap:7px}.merge-counts span{background:#f4efe9;color:#84766a;border-radius:7px;padding:5px 7px;font-size:9px}.merge-conflict{display:grid;gap:7px;border-top:1px solid #eee5dd;padding:9px 0}.merge-conflict b{font-size:9px;color:#715f52}.merge-conflict label{font-size:10px;color:#82786f;display:flex;gap:6px;align-items:center}.merge-conflict input{accent-color:#ed7044}.app-shell .main-content{padding-top:12px}.profile-setup{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:#faf8f5;color:#28241f}.profile-setup .brandmark{margin-bottom:22px}.profile-setup h1{font-size:24px;margin:0 0 8px}.profile-setup>.eyebrow{margin-bottom:8px}.setup-copy{font-size:12px;color:#928b83;margin:0 0 22px}.setup-choices{display:flex;gap:12px;width:min(100%,360px)}.setup-choices button{flex:1;min-height:48px}.hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-filter-btn{padding:10px 12px;font-size:11px;background:#fff;color:#b94829;border:1px solid #fff;box-shadow:0 4px 12px #8d321c35}.hero-actions .hero-btn{padding:10px 12px}.install-settings{margin:0 20px 16px;width:calc(100% - 40px);min-height:46px}.picker-sheet{display:grid;gap:17px}.picker-sheet .sheet-title{margin:0}.picker-group{display:grid;gap:9px}.picker-group>b{font-size:12px;color:#51473e}.picker-group small{font-size:9px;font-weight:400;color:#a0968c;margin-left:4px}.picker-options{display:flex;flex-wrap:wrap;gap:7px}.picker-options button{border:1px solid #eee7df;border-radius:9px;background:#fff;color:#84796f;padding:8px 11px;font-size:10px}.picker-options button.active{border-color:#efb79e;background:#fff2eb;color:#bd5934}.picker-budget label{display:grid;gap:6px;flex:1;font-size:10px;color:#81766d}.picker-budget input{width:100%;min-width:0;border:1px solid #e9e3dc;border-radius:11px;background:#fff;padding:11px;font-size:12px;color:#28241f}.picker-hint{color:#aaa097;font-size:10px;padding:7px 0}.photo-preview{display:flex;align-items:center;gap:10px;color:#8b8178;font-size:10px}.photo-preview img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid #eee7df}.photo-preview-list{display:flex;gap:8px;overflow-x:auto;padding:9px 0 2px}.photo-preview-list img{width:68px;height:68px;flex:none;object-fit:cover;border-radius:10px;border:1px solid #eee7df}.delete-restaurant{display:inline-flex;margin:0 0 10px;align-items:center;gap:6px}.option-tabs{display:flex;gap:6px;padding:4px;border-radius:13px;background:#f0ece7;margin:13px 0}.option-tabs button{flex:1;border:0;border-radius:10px;padding:10px 4px;background:transparent;color:#8e857b;font-size:11px}.option-tabs button.active{background:#fff;color:#bc5934;box-shadow:0 2px 6px #4f39240d}.settings-link{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #eee8e0;border-radius:14px;padding:12px;background:#fff;color:#bd5c39}.settings-link span{display:grid;gap:3px;flex:1}.settings-link b{font-size:11px}.settings-link small{font-size:9px;color:#9b9187}.settings-link-arrow{transform:rotate(180deg);width:16px}.option-editor,.option-card{background:#fff;border:1px solid #eee8e0;border-radius:15px;padding:14px;margin:10px 0}.option-editor h3{font-size:13px;margin:0 0 11px}.option-editor label{display:grid;gap:6px;color:#756b62;font-size:10px;margin:9px 0}.option-editor input{width:100%;border:1px solid #e9e3dc;border-radius:10px;padding:10px;font-size:12px}.option-editor-actions,.option-actions{display:flex;gap:7px}.option-editor-actions button{flex:1}.option-list{display:grid;gap:7px}.option-card{display:flex;align-items:center;justify-content:space-between;margin:0}.option-card>div:first-child{display:grid;gap:5px}.option-card b{font-size:11px;color:#554b42}.option-card small{font-size:9px;color:#92877d}.option-card.archived{background:#f8f5f1;opacity:.75}.option-actions button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #eee7df;border-radius:9px;background:#fff;color:#8a7e73}.option-empty{padding:17px;text-align:center;color:#a0968c;font-size:10px}@media(min-width:700px){.install-settings{width:calc(100% - 68px);margin-left:34px;margin-right:34px}.hero-filter-btn{font-size:12px}}
