*{box-sizing:border-box}:root{--bg: #f7f3ed;--bg2: #f1ebe3;--card: #ffffff;--card2: #fbf8f3;--ink: #231e19;--ink2: #4b433a;--ink-contrast: #ffffff;--muted: #74695c;--line: #eae2d7;--terra: #b0512c;--terra-2: #d98355;--terra-soft: #f9e8dd;--sage: #557a62;--sage-soft: #e8f0e9;--amber: #8a5f16;--amber-soft: #f7edd8;--red: #b6443a;--red-soft: #fae8e5;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #171310;--bg2: #1f1a16;--card: #241f1a;--card2: #2a231d;--ink: #f3ece3;--ink2: #d6ccbf;--ink-contrast: #1b1612;--muted: #9b8f81;--line: #342c24;--terra: #e08a5c;--terra-2: #f0a778;--terra-soft: #3a281d;--sage: #8db79a;--sage-soft: #233027;--amber: #ddb273;--amber-soft: #342b1d;--red: #e18c82;--red-soft: #392422;color-scheme:dark}}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Segoe UI,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:var(--ink);background:none;border:0;outline:none;width:100%;padding:0}input::placeholder,textarea::placeholder{color:var(--muted)}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);background:var(--bg)}.content{flex:1;min-height:0;overflow-y:auto}.page{padding:14px 18px 40px;display:flex;flex-direction:column;min-height:100%}.tophead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 2px 16px}.eyebrow{font-size:10.5px;font-weight:650;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.display{font-size:31px;line-height:1.05;letter-spacing:-.045em;font-weight:800;margin:4px 0 0}.display.small{font-size:28px}.headsub{font-size:11.5px;color:var(--muted);margin-top:6px}.avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:linear-gradient(145deg,#db8557,#b9552f);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700;box-shadow:0 8px 16px -8px #aa461ecc,inset 0 1px #ffffff47}.searchpill{display:flex;align-items:center;gap:9px;height:44px;padding:0 13px;border-radius:15px;background:var(--card);border:1px solid var(--line);color:var(--muted);font-size:12.5px;margin-bottom:14px;width:100%;text-align:left}.search-pill-text{flex:1}.searchfield{display:flex;align-items:center;gap:9px;height:42px;padding:0 12px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:12.5px}.searchfield:focus-within{border-color:color-mix(in srgb,var(--terra) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--terra) 10%,transparent)}.alertcard{position:relative;overflow:hidden;border-radius:24px;padding:16px 18px;color:#fff;min-height:118px;background:linear-gradient(135deg,#ad4b28,#c46a3a);box-shadow:0 16px 30px -18px #aa461ecc;border:0;width:100%;text-align:left;display:block}.alertcard.calm{background:linear-gradient(135deg,color-mix(in srgb,var(--sage) 30%,var(--card)) 0%,var(--card) 100%);color:var(--ink);box-shadow:none;border:1px solid color-mix(in srgb,var(--sage) 25%,var(--line))}.alertcard:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-54px;top:-78px;background:#ffffff1a;pointer-events:none}.alert-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.92;position:relative;z-index:1}.alert-cta{display:flex;align-items:center;gap:2px;letter-spacing:.02em;font-weight:700;background:#fff;color:#a94d28;padding:4px 8px;border-radius:999px}.alert-cta svg{width:11px;height:11px}.alert-main{display:flex;align-items:center;gap:14px;margin-top:15px;position:relative;z-index:1}.alert-num{font-family:ui-serif,Georgia,Songti SC,serif;font-size:46px;line-height:.86;font-weight:600;letter-spacing:-.04em}.alert-num small{font-family:inherit;font-size:11.5px;font-weight:650;margin-left:4px;opacity:.85}.alert-text{font-size:12px;line-height:1.55;opacity:.96}.alert-emojis{margin-left:auto;display:flex}.alert-emojis span{width:32px;height:32px;border-radius:50%;background:#fff3;border:2px solid rgba(255,255,255,.32);display:grid;place-items:center;font-size:15px;margin-left:-8px}.alert-emojis span:first-child{margin-left:0}.sechead{display:flex;align-items:baseline;justify-content:space-between;margin:20px 2px 9px}.sechead h2{font-size:15px;font-weight:750;letter-spacing:-.025em;margin:0}.link{font-size:11px;color:var(--terra);font-weight:650;display:flex;align-items:center;gap:2px;background:none}.link svg{width:11px;height:11px}.roomscroll{display:flex;gap:9px;margin:0 -18px;padding:0 18px 2px;overflow-x:auto;scrollbar-width:none}.roomscroll::-webkit-scrollbar{display:none}.miniroom{flex:0 0 120px;min-height:100px;border-radius:20px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid color-mix(in srgb,var(--tone) 26%,var(--line));background:color-mix(in srgb,var(--tone) 17%,var(--card));text-align:left}.r-emoji{width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--tone) 27%,var(--card));display:grid;place-items:center;font-size:18px}.r-name{font-size:14px;font-weight:750;letter-spacing:-.02em;margin-top:auto}.r-meta{font-size:10px;color:var(--muted);margin-top:2px}.listcard{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.row{display:flex;align-items:center;gap:11px;padding:11px 13px;background:var(--card);width:100%;text-align:left}.row+.row{border-top:1px solid var(--line)}.emoji-tile{width:42px;height:42px;border-radius:13px;flex-shrink:0;background:color-mix(in srgb,var(--tone) 19%,var(--card));display:grid;place-items:center;font-size:21px}.mid{flex:1;min-width:0}.rname{font-size:14.5px;font-weight:650;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rmeta{font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{font-size:9.5px;font-weight:650;padding:4px 7px;border-radius:8px;flex-shrink:0;white-space:nowrap}.badge.red{color:var(--red);background:var(--red-soft)}.badge.amber{color:var(--amber);background:var(--amber-soft)}.chev{font-size:17px;line-height:1;color:var(--muted);opacity:.6;flex-shrink:0}.softtip{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);padding:14px 4px 0;width:100%}.softtip .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0}.tabbar{flex-shrink:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:start;padding:7px 10px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border-top:1px solid var(--line);position:relative;z-index:50}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9.5px;color:var(--muted);padding-top:3px}.tab svg{width:21px;height:21px}.ticon{width:44px;height:27px;border-radius:9px;display:grid;place-items:center}.tab.active{color:var(--terra);font-weight:700}.tab.active .ticon{background:var(--terra-soft)}.tabadd{position:relative;display:flex;justify-content:center}.addbtn{position:absolute;top:-24px;width:54px;height:54px;border-radius:50%;background:linear-gradient(145deg,#d98355,#b9552f);color:#fff;display:grid;place-items:center;box-shadow:0 12px 22px -8px #b45028e6,inset 0 1px #ffffff52}.addbtn svg{width:25px;height:25px}.titleline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.titleline .display{display:flex;align-items:center;gap:8px}.countpill{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;color:var(--terra);background:var(--terra-soft)}.headactions{display:flex;gap:6px}.iconbtn{width:37px;height:37px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2);flex-shrink:0}.iconbtn svg{width:17px;height:17px}.iconbtn.round{width:42px;height:42px;border-radius:50%}.chips{display:flex;gap:7px;margin:12px -18px 0;padding:0 18px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink2);font-size:11px;white-space:nowrap}.chip i{font-style:normal;font-size:9px;opacity:.55}.chip.on{background:var(--ink);color:var(--ink-contrast);border-color:var(--ink);font-weight:650}.listmeta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);padding:12px 4px 7px}.listmeta b{font-weight:650;color:var(--ink2)}.listmeta .sortbtn{color:var(--muted)}.roomgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.roomcard{min-height:148px;border-radius:22px;padding:14px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--tone) 21%,var(--card)),color-mix(in srgb,var(--tone) 8%,var(--card)));border:1px solid color-mix(in srgb,var(--tone) 25%,var(--line));text-align:left}.roomcard:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-28px;bottom:-34px;background:color-mix(in srgb,var(--tone) 13%,transparent);pointer-events:none}.rc-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}.rc-emoji{width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--tone) 30%,var(--card));display:grid;place-items:center;font-size:22px}.rc-count{font-size:10px;color:var(--muted)}.rc-count b{font-size:14px;color:var(--ink);font-weight:700;margin-right:1px}.rc-name{position:relative;z-index:1;margin-top:auto;font-size:16.5px;font-weight:750;letter-spacing:-.025em}.rc-meta{position:relative;z-index:1;font-size:10px;color:var(--muted);margin-top:2px}.rc-preview{position:relative;z-index:1;display:flex;margin-top:8px}.rc-preview span{width:21px;height:21px;border-radius:50%;background:color-mix(in srgb,var(--tone) 25%,var(--card));border:1.5px solid color-mix(in srgb,var(--tone) 14%,var(--card));display:grid;place-items:center;font-size:10px;margin-right:-4px}.navbar{position:relative;flex-shrink:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;margin-bottom:2px}.navbtn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--terra);background:none}.navbtn svg{width:19px;height:19px}.navtitle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.detailhero{border-radius:26px;padding:18px;margin-top:2px;background:linear-gradient(155deg,color-mix(in srgb,var(--tone) 23%,var(--card)),var(--card) 86%);border:1px solid color-mix(in srgb,var(--tone) 27%,var(--line));position:relative;overflow:hidden}.detailhero:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-46px;top:-54px;background:color-mix(in srgb,var(--tone) 12%,transparent);pointer-events:none}.bigemoji{width:64px;height:64px;border-radius:20px;background:color-mix(in srgb,var(--tone) 31%,var(--card));display:grid;place-items:center;font-size:32px;position:relative;z-index:1}.detailhero h2{position:relative;z-index:1;font-size:24px;font-weight:800;letter-spacing:-.04em;margin:13px 0 4px}.detailhero .sub{position:relative;z-index:1;font-size:11px;color:var(--muted)}.pillrow{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.pill{font-size:10px;padding:4px 9px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink2)}.pill.red{background:var(--red-soft);border-color:transparent;color:var(--red);font-weight:650}.pill.amber{background:var(--amber-soft);border-color:transparent;color:var(--amber);font-weight:650}.alertstrip{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 11px;border-radius:11px;background:var(--red-soft);color:var(--red);font-size:10.5px;font-weight:600}.kv{display:flex;align-items:center;gap:12px;padding:13px;background:var(--card);border-top:1px solid var(--line)}.kv:first-child{border-top:0}.kv .k{width:56px;flex-shrink:0;font-size:11px;color:var(--muted)}.kv .v{flex:1;font-size:13px;font-weight:550;color:var(--ink);display:flex;align-items:center;gap:6px}.kv .v.terra{color:var(--terra);font-weight:650}.unit-inline{font-size:11px;color:var(--muted);margin-left:5px}.stepper{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:9px;background:var(--bg2);border:1px solid var(--line)}.stepper button{width:24px;height:24px;border-radius:7px;background:var(--card);display:grid;place-items:center;font-style:normal;font-size:14px;color:var(--ink2);line-height:1}.stepper span{min-width:28px;text-align:center;font-size:12px;font-weight:700}.notecard{margin-top:12px;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line)}.note-label{font-size:9.5px;letter-spacing:.1em;color:var(--muted);font-weight:700;text-transform:uppercase}.note-text{font-size:12.5px;line-height:1.65;margin-top:6px;color:var(--ink2)}.detailactions{display:flex;gap:10px;margin-top:auto;padding:16px 0 8px}.btn{flex:1;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13.5px;font-weight:700;letter-spacing:-.01em}.btn svg{width:16px;height:16px}.btn.primary{background:var(--ink);color:var(--ink-contrast)}.btn.danger{background:var(--red-soft);color:var(--red)}.btn.accent{background:linear-gradient(145deg,#d98355,#b9552f);color:#fff;box-shadow:0 12px 22px -12px #b45028e6}.btn:disabled{opacity:.4;box-shadow:none}.addhero{display:flex;align-items:center;gap:14px;margin:4px 2px 16px}.iconpick{position:relative;width:72px;height:72px;border-radius:22px;flex-shrink:0;background:color-mix(in srgb,var(--tone) 20%,var(--card));border:1px dashed color-mix(in srgb,var(--terra) 45%,var(--line));display:grid;place-items:center;font-size:33px}.addhero b{display:block;font-size:13.5px;letter-spacing:-.015em}.addhero span{display:block;font-size:10.5px;color:var(--muted);margin-top:4px;line-height:1.5}.fieldcard{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:11px}.field{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.field:first-child{border-top:0}.field .flabel{width:56px;flex-shrink:0;font-size:11px;color:var(--muted)}.field .fvalue{flex:1;font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:5px;min-width:0}.namefield{padding:14px 16px}.namefield input{font-size:19px;font-weight:750;letter-spacing:-.025em}.catblock{padding:12px 14px}.catlabel{font-size:11px;color:var(--muted);margin-bottom:9px}.catchips{display:flex;flex-wrap:wrap;gap:6px}.catchip{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);font-size:11px;color:var(--ink2)}.catchip.on{background:var(--terra-soft);border-color:color-mix(in srgb,var(--terra) 35%,transparent);color:var(--terra);font-weight:700}.unitselect{flex:0 0 56px;font-size:12px;color:var(--ink2);background:var(--bg2);border:1px solid var(--line);border-radius:9px;height:30px;padding:0 8px}.dateval{color:var(--ink)}.noteblock{padding:12px 14px 14px}.noteblock textarea{font-size:12.5px;line-height:1.6;color:var(--ink2);resize:none;min-height:56px}.stickyfoot{margin-top:auto;padding:14px 0 8px}.stickyfoot .btn{width:100%}.foothint{font-size:9.5px;color:var(--muted);text-align:center;margin-top:8px}.expsum{padding:4px 2px 16px}.expbig{font-family:ui-serif,Georgia,Songti SC,serif;font-size:44px;line-height:.95;font-weight:600;letter-spacing:-.045em;margin-top:8px;color:var(--terra)}.expbig span{font-family:inherit;font-size:12px;color:var(--ink2);font-weight:600;letter-spacing:0;margin-left:7px}.expsum p{font-size:11.5px;line-height:1.5;color:var(--muted);margin:8px 0 0}.segmented{display:flex;gap:3px;padding:3px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);margin-bottom:4px}.segmented button{flex:1;height:30px;border-radius:9px;display:grid;place-items:center;font-size:10.5px;color:var(--muted)}.segmented button.on{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 1px 3px #3c281414}.grouphead{display:flex;align-items:center;gap:6px;margin:16px 4px 8px;font-size:10.5px;font-weight:700;color:var(--muted)}.grouphead .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.grouphead .cnt{margin-left:auto;font-weight:600;opacity:.8}.expfoot{display:flex;align-items:center;gap:6px;justify-content:center;font-size:9.5px;color:var(--muted);padding:18px 0 8px;margin-top:auto}.datacard{border-radius:24px;padding:16px 17px;background:linear-gradient(155deg,color-mix(in srgb,var(--sage) 17%,var(--card)),var(--card) 82%);border:1px solid color-mix(in srgb,var(--sage) 24%,var(--line));margin-top:2px}.dc-top{display:flex;align-items:center;justify-content:space-between;font-size:9.5px;color:var(--muted)}.localpill{display:inline-flex;align-items:center;gap:5px;font-weight:650;color:var(--sage)}.localpill i{width:6px;height:6px;border-radius:50%;background:var(--sage);display:block}.dc-stats{display:flex;gap:20px;margin:14px 0 13px}.dc-stats>div{display:flex;flex-direction:column;gap:2px}.dc-stats b{font-family:ui-serif,Georgia,serif;font-size:23px;font-weight:600;letter-spacing:-.03em;line-height:1}.dc-stats span{font-size:9.5px;color:var(--muted)}.dc-bar{height:4px;border-radius:2px;background:color-mix(in srgb,var(--sage) 16%,var(--bg2));overflow:hidden}.dc-bar i{display:block;height:100%;background:var(--sage);border-radius:2px}.dc-btext{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:9.5px;color:var(--muted)}.dc-btn{font-size:10px;font-weight:700;color:var(--sage)}.seclabel{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:750;color:var(--muted);margin:20px 4px 8px}.setrow{display:flex;align-items:center;gap:11px;padding:12px 13px;background:var(--card);border-top:1px solid var(--line);width:100%;text-align:left}.setrow:first-child{border-top:0}.s-ic{width:32px;height:32px;border-radius:10px;flex-shrink:0;background:var(--bg2);display:grid;place-items:center;font-size:15px}.s-mid{flex:1;min-width:0}.s-name{font-size:12.5px;font-weight:600;letter-spacing:-.01em}.s-sub{font-size:9.5px;color:var(--muted);margin-top:2px}.s-val{font-size:10.5px;color:var(--muted);white-space:nowrap}.version{text-align:center;font-size:9px;color:var(--muted);margin:18px 0 0}.search-top{display:flex;align-items:center;gap:10px;padding:8px 18px 12px;flex-shrink:0}.search-top .searchfield{flex:1}.cancel{font-size:12.5px;font-weight:650;color:var(--terra);flex-shrink:0;background:none}.recentchips{display:flex;flex-wrap:wrap;gap:6px}.catgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.catcard{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:11px;color:var(--ink2)}.catcard b{margin-left:auto;font-size:9.5px;color:var(--muted);font-weight:600}.search-hint{font-size:10px;color:var(--muted);line-height:1.6;margin-top:auto;padding:16px 2px 24px}.overlay-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#140c0673;display:flex;align-items:flex-end;justify-content:center;animation:fadein .15s ease}.modal{width:100%;max-width:420px;background:var(--card);border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;animation:slideup .2s ease}.modal h3{margin:0;font-size:15px;letter-spacing:-.02em}.modal p{margin:0;font-size:11.5px;color:var(--muted);line-height:1.6}.modal-actions{display:flex;gap:8px;margin-top:8px}.modal-actions .btn{height:42px;font-size:12.5px}@keyframes slideup{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);animation:fadein .18s ease;padding-bottom:env(safe-area-inset-bottom)}.sheet .content{flex:1;min-height:0;overflow-y:auto}.sheet .page{display:flex;flex-direction:column}.empty{text-align:center;color:var(--muted);font-size:12px;padding:28px 18px;line-height:1.7}.empty b{display:block;font-size:34px;margin-bottom:8px}
