:root{--ts-user:1;--ts-device:1;--ts:calc(var(--ts-user) * var(--ts-device));--fs-min:0px}@media (max-width:900px){:root{--ts-device:1.1;--fs-min:13px}}*{box-sizing:border-box}html,body{background:#f7f5f1;margin:0;padding:0}body{color:#1f1b16;font-family:IBM Plex Sans,-apple-system,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:calc(15px * var(--ts));-webkit-font-smoothing:antialiased;line-height:1.55}button{cursor:pointer;color:inherit;font-family:inherit}input,select,textarea{font-family:inherit;font-size:calc(15px * var(--ts));color:inherit}textarea{line-height:1.6;padding:10px 12px!important}a{color:#8a6a3a}a:hover{color:#1f1b16}:focus-visible{outline-offset:2px;outline:2px solid #bc935d}.shell{min-height:100vh;display:flex}.sidebar{color:#e8e2d8;background:#1f1b16;flex-direction:column;flex-shrink:0;gap:2px;width:248px;height:100vh;padding:22px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{flex-direction:column;gap:8px;padding:4px 10px 22px;text-decoration:none;display:flex}.sidebar .brand span{font-size:calc(11.5px * var(--ts));letter-spacing:.14em;color:#bfb5a5}.nav-item{color:#e8e2d8;min-height:42px;font-size:calc(14.5px * var(--ts));border-radius:8px;align-items:center;gap:12px;padding:0 12px;text-decoration:none;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#bc935d3d;font-weight:600}.nav-item.minor{min-height:36px;font-size:calc(14px * var(--ts));color:#cfc6b8}.nav-item .count{font-size:calc(12px * var(--ts));color:#1f1b16;background:#dfc27e;border-radius:999px;margin-left:auto;padding:1px 8px;font-weight:700}.nav-sub{border-left:1px solid #ffffff29;flex-direction:column;gap:1px;margin:2px 0 6px 22px;padding-left:10px;display:flex}.nav-sub a{color:#cfc6b8;font-size:calc(13.5px * var(--ts));white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:7px 10px;text-decoration:none;display:block;overflow:hidden}.nav-sub a:hover,.nav-sub a.active{color:#fff;background:#ffffff14}.nav-group{font-size:calc(11.5px * var(--ts));letter-spacing:.08em;color:#9c8f7c;padding:18px 12px 6px}.nav-bottom{border-top:1px solid #ffffff24;flex-direction:column;gap:2px;margin-top:auto;padding-top:12px;display:flex}.nav-user{align-items:center;gap:10px;padding:12px 10px 0;display:flex}.nav-user .avatar{color:#1f1b16;width:32px;height:32px;font-size:calc(13px * var(--ts));background:#f4ecdd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.nav-user button{color:#cfc6b8;font-size:calc(12px * var(--ts));background:0 0;border:1px solid #ffffff38;border-radius:6px;margin-left:auto;padding:5px 9px}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:clip}.content{overflow-wrap:anywhere}.topbar{z-index:20;background:#fff;border-bottom:1px solid #e6e0d6;align-items:center;gap:12px;height:68px;padding:0 32px;display:flex;position:sticky;top:0}.topbar .search{color:#6b645a;background:#fbfaf7;border:1px solid #d6cec1;border-radius:10px;flex:1;align-items:center;gap:10px;max-width:560px;height:42px;padding:0 14px;display:flex}.topbar .search input{background:0 0;border:none;outline:none;flex:1;min-width:0}.topbar .actions{gap:10px;margin-left:auto;display:flex}.topbar .mobile-logo{display:none}.content{width:100%;margin:0 auto;padding:30px 32px 64px}.tabbar{display:none}.sheet-backdrop{z-index:50;background:#1f1b1673;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;padding:12px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;flex-direction:column;gap:12px;max-height:85vh;display:flex;overflow-y:auto}.sheet .grip{background:#d6cec1;border-radius:3px;align-self:center;width:40px;height:5px}.sheet-item{color:#1f1b16;border:1px solid #e6e0d6;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex}.sheet-item.primary{background:#f4ecdd;border-color:#f4ecdd}.sheet-item .icon{color:#8a6a3a;background:#f7f5f1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.sheet-item.primary .icon{color:#fff;background:#8a6a3a}.sheet-item b{font-size:calc(16px * var(--ts));font-weight:600;display:block}.sheet-item small{font-size:calc(13px * var(--ts));color:#6b645a;margin-top:2px;display:block}.split{align-items:flex-start;gap:24px;display:flex}.split>.split-main{flex:1;min-width:0}.split>.split-side{flex-shrink:0;width:360px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.scroll-x{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}@media (max-width:1100px){.split{flex-direction:column}.split>.split-side{width:100%}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sidebar{display:none}.topbar{height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));background:#1f1b16;border-bottom:none}.topbar .mobile-logo{display:block}.topbar .search,.topbar .actions{display:none}.topbar .mobile-search{display:flex!important}.content{padding:18px 16px calc(110px + env(safe-area-inset-bottom))}.tabbar{z-index:30;padding:8px 0 calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e6e0d6;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:#6b645a;font-size:calc(11.5px * var(--ts));background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:0;text-decoration:none;display:flex}.tab.active{color:#1f1b16;font-weight:700}.tab-plus{background:0 0;border:none;justify-content:center;margin-top:-22px;padding:0;display:flex}.tab-plus span{color:#fff;background:#8a6a3a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 6px 16px #8a6a3a59}input,select,textarea{font-size:max(16px, calc(15px * var(--ts)))!important}.tab{font-size:max(12.5px, calc(11.5px * var(--ts)))}}.files-browser{grid-template-columns:280px minmax(0,1fr);display:grid}.files-tree{background:#fcfbf8;border-right:1px solid #e6e0d6;max-height:70vh;padding:12px 10px;overflow-y:auto}.files-tree-toggle{display:none!important}@media (max-width:900px){.files-browser{grid-template-columns:minmax(0,1fr)}.files-tree{border-bottom:1px solid #e6e0d6;border-right:none;max-height:60vh;display:none}.files-tree.open{display:block}.files-tree-toggle{text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:60vw;overflow:hidden;display:inline-flex!important}}.chat-shell{background:#f7f5f1;flex-direction:column;height:100dvh;display:flex}.chat-header{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#1f1b16;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-icon-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chat-main{-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:760px;margin:0 auto;padding:18px 16px 12px;overflow-y:auto}.chat-welcome{padding-top:6vh}.chat-suggestion{text-align:left;color:#1f1b16;cursor:pointer;background:#fff;border:1px solid #e6e0d6;border-radius:14px;align-items:center;gap:10px;min-height:52px;padding:10px 14px;display:flex}.chat-user{color:#1f1b16;white-space:pre-line;overflow-wrap:anywhere;background:#efe4d0;border-radius:18px 18px 4px;align-self:flex-end;max-width:85%;padding:10px 14px;line-height:1.6}.chat-composer{padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#f7f5f100,#f7f5f1 30%);flex-shrink:0}.chat-input{background:#fff;border:1px solid #d6cec1;border-radius:22px;align-items:flex-end;gap:6px;max-width:760px;margin:0 auto;padding:6px 6px 6px 14px;display:flex;box-shadow:0 2px 10px #1f1b160f}.chat-input textarea{resize:none;color:#1f1b16;background:0 0;border:none;outline:none;flex:1;min-width:0;max-height:160px;padding:7px 0;font-family:inherit;font-size:16px;line-height:1.5}.chat-mic,.chat-send{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chat-mic{color:#8a6a3a;background:#f4ecdd}.chat-mic.on{background:#b3412f;animation:1.4s ease-in-out infinite chat-pulse}.chat-send{color:#dfc27e;background:#1f1b16;font-size:20px;font-weight:700}.chat-send:disabled{color:#fff;cursor:default;background:#d6cec1}.chat-typing{gap:5px;padding:10px 0;display:flex}.chat-typing span{background:#bc935d;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite chat-dot}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes chat-pulse{0%,to{box-shadow:0 0 #b3412f73}50%{box-shadow:0 0 0 8px #b3412f00}}@media (prefers-reduced-motion:reduce){.chat-typing span,.chat-mic.on{animation:none}}
