:root{--accent: #007aff;--accent-soft: rgba(0, 122, 255, .12);--focus: rgba(0, 122, 255, .28);--window: rgba(246, 246, 248, .86);--window-border: rgba(0, 0, 0, .16);--titlebar: rgba(238, 238, 241, .78);--sidebar: rgba(232, 232, 235, .6);--content: #ffffff;--card: #ffffff;--row: rgba(0, 0, 0, .022);--row-hover: rgba(0, 0, 0, .05);--row-strong: rgba(0, 0, 0, .06);--hairline: rgba(0, 0, 0, .075);--hairline-strong: rgba(0, 0, 0, .14);--text: #1d1d1f;--text-2: rgba(60, 60, 67, .66);--text-3: rgba(60, 60, 67, .42);--input-bg: rgba(255, 255, 255, .9);--btn-bg: rgba(255, 255, 255, .94);--btn-bg-hover: #ffffff;--switch-off: rgba(120, 120, 128, .22);--green: #28c840;--red: #ff3b30;--orange: #ff9500;--purple: #af52de;--teal: #30b0c7;--shadow-window: 0 32px 90px rgba(0, 0, 0, .42), 0 2px 10px rgba(0, 0, 0, .14);--shadow-sheet: 0 28px 70px rgba(0, 0, 0, .4)}[data-theme=dark]{--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .16);--focus: rgba(10, 132, 255, .34);--window: rgba(30, 30, 33, .86);--window-border: rgba(255, 255, 255, .11);--titlebar: rgba(40, 40, 44, .7);--sidebar: rgba(44, 44, 48, .5);--content: #1b1b1e;--card: rgba(255, 255, 255, .038);--row: rgba(255, 255, 255, .045);--row-hover: rgba(255, 255, 255, .078);--row-strong: rgba(255, 255, 255, .1);--hairline: rgba(255, 255, 255, .085);--hairline-strong: rgba(255, 255, 255, .16);--text: #f2f2f5;--text-2: rgba(235, 235, 245, .62);--text-3: rgba(235, 235, 245, .38);--input-bg: rgba(255, 255, 255, .055);--btn-bg: rgba(255, 255, 255, .09);--btn-bg-hover: rgba(255, 255, 255, .14);--switch-off: rgba(120, 120, 128, .4);--green: #30d158;--red: #ff453a;--orange: #ff9f0a;--purple: #bf5af2;--teal: #40c8e0;--shadow-window: 0 34px 100px rgba(0, 0, 0, .72), 0 2px 10px rgba(0, 0, 0, .4);--shadow-sheet: 0 28px 80px rgba(0, 0, 0, .65)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.45;letter-spacing:.008em;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0d}[data-theme=light] body{background:#dfe3ea}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--row-strong);border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--hairline-strong);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.desk{--scrim: linear-gradient(180deg, rgba(6, 8, 14, .4), rgba(6, 8, 14, .64));--mesh: radial-gradient(1000px 700px at 10% 4%, rgba(10, 132, 255, .42), transparent 60%), radial-gradient(900px 720px at 90% 0%, rgba(124, 92, 255, .36), transparent 58%), radial-gradient(1100px 800px at 82% 100%, rgba(48, 176, 199, .26), transparent 62%), radial-gradient(800px 600px at 30% 100%, rgba(191, 90, 242, .18), transparent 65%), linear-gradient(158deg, #101017 0%, #08080b 100%);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background-image:var(--mesh);background-size:cover;background-position:center;background-repeat:no-repeat}.desk.has-wallpaper{background-image:var(--scrim),var(--wp),var(--mesh)}[data-theme=light] .desk{--scrim: linear-gradient(180deg, rgba(238, 243, 251, .44), rgba(222, 229, 241, .66));--mesh: radial-gradient(1000px 700px at 8% 0%, rgba(90, 160, 255, .55), transparent 60%), radial-gradient(900px 720px at 92% 4%, rgba(150, 130, 255, .42), transparent 58%), radial-gradient(1100px 800px at 84% 100%, rgba(120, 210, 220, .34), transparent 62%), linear-gradient(158deg, #e8ecf5 0%, #cfd6e2 100%)}.desk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(120% 90% at 50% 50%,transparent 40%,rgba(0,0,0,.32) 100%);pointer-events:none}[data-theme=light] .desk:after{background:radial-gradient(120% 90% at 50% 50%,transparent 45%,rgba(30,40,60,.16) 100%)}.window{position:absolute;top:22px;right:22px;bottom:22px;left:22px;z-index:1;display:flex;flex-direction:column;border-radius:14px;background:var(--window);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:var(--shadow-window),inset 0 0 0 1px var(--window-border);overflow:hidden}.window.leaving{pointer-events:none;overflow:hidden}.window.leaving .titlebar,.window.leaving .workspace{opacity:0;transition:opacity .18s ease}.window.floating{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:auto;max-height:86vh}.titlebar{position:relative;display:flex;align-items:center;gap:10px;height:46px;flex:0 0 46px;padding:0 14px;background:var(--titlebar);border-bottom:1px solid var(--hairline);user-select:none;-webkit-user-select:none}.titlebar-title{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:590;color:var(--text);pointer-events:none}.titlebar-title img{width:17px;height:17px;border-radius:5px;object-fit:cover}.avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;margin-left:2px;box-shadow:0 0 0 1px var(--hairline-strong)}.titlebar-actions{margin-left:auto;display:flex;align-items:center;gap:6px;z-index:2}.workspace{display:flex;flex:1;min-height:0}.sidebar{width:208px;flex:0 0 208px;padding:8px;display:flex;flex-direction:column;gap:1px;background:var(--sidebar);border-right:1px solid var(--hairline);overflow-y:auto}.nav-label{padding:12px 9px 5px;font-size:10.5px;font-weight:590;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.nav-label:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:9px;height:29px;padding:0 9px;border-radius:7px;color:var(--text-2);font-size:12.5px;cursor:default;transition:background .12s,color .12s;white-space:nowrap}.nav-item svg{flex:0 0 auto;opacity:.85}.nav-item:hover{background:var(--row-hover);color:var(--text)}.nav-item.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #00000038,inset 0 1px #ffffff2e}.nav-item.active svg{opacity:1}.nav-badge{margin-left:auto;font-size:10.5px;padding:1px 5px;border-radius:4px;background:var(--row-strong);color:var(--text-2);font-variant-numeric:tabular-nums}.nav-item.active .nav-badge{background:#ffffff3d;color:#fff}.sidebar-footer{margin-top:auto;padding:10px 10px 6px;font-size:10.5px;color:var(--text-3);display:flex;gap:6px;align-items:center}.content{flex:1;min-width:0;overflow-y:auto;background:var(--content);scroll-behavior:smooth}.page{padding:22px 26px 44px;max-width:1160px;margin:0 auto;animation:page-in .24s cubic-bezier(.32,.72,0,1)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.022em}.page-sub{margin-top:3px;font-size:12px;color:var(--text-3)}.row-actions{display:flex;align-items:center;gap:8px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 9px;font-size:12px;font-weight:590;color:var(--text-2)}.section-title:first-child{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:27px;padding:0 11px;border-radius:6px;border:1px solid var(--hairline-strong);background:var(--btn-bg);color:var(--text);font-size:12.5px;cursor:default;white-space:nowrap;box-shadow:0 1px 1px #0000000f;transition:background .13s,transform .13s cubic-bezier(.32,.72,0,1),opacity .13s}.btn:hover{background:var(--btn-bg-hover)}.btn:active{transform:scale(.976)}.btn.primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 1px 3px #0000003d,inset 0 1px #fff3}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn.ghost:hover{background:var(--row-hover);color:var(--text)}.btn.danger{color:var(--red)}.btn.danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.btn.sm{height:23px;padding:0 8px;font-size:11.5px;border-radius:5px}.btn.icon{width:27px;padding:0}.btn:disabled{opacity:.42;pointer-events:none}.field{width:100%;height:27px;padding:0 9px;border-radius:6px;border:1px solid var(--hairline-strong);background:var(--input-bg);font-size:12.5px;outline:none;transition:border-color .13s,box-shadow .13s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.field::placeholder{color:var(--text-3)}textarea.field{height:auto;min-height:64px;padding:7px 9px;resize:vertical;line-height:1.55;font-family:inherit}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:default;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 8px) 12px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}.search{position:relative;width:200px}.search svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.search .field{padding-left:27px}.segmented{position:relative;display:inline-flex;padding:2px;border-radius:7px;background:var(--row);border:1px solid var(--hairline)}.segmented-thumb{position:absolute;top:2px;left:2px;height:22px;border-radius:5px;background:var(--btn-bg-hover);box-shadow:0 1px 2px #00000029;transition:transform .24s cubic-bezier(.32,.72,0,1);pointer-events:none}.segmented button{position:relative;z-index:1;flex:1;height:22px;padding:0 12px;border:none;border-radius:5px;background:transparent;color:var(--text-2);font-size:11.5px;cursor:default;white-space:nowrap;transition:color .18s}.segmented button.active{color:var(--text)}[data-theme=dark] .segmented-thumb{background:#ffffff24}[data-theme=dark] .segmented button.active{color:#fff}.auth-switch{display:flex;flex-direction:column;animation:auth-slide-right .28s cubic-bezier(.32,.72,0,1) both}.auth-switch.admin{animation-name:auth-slide-left}@keyframes auth-slide-right{0%{opacity:0;transform:translate(16px)}}@keyframes auth-slide-left{0%{opacity:0;transform:translate(-16px)}}.auth-hint{margin-top:14px;min-height:32px;font-size:10.5px;color:var(--text-3);text-align:center;line-height:1.7}.switch{position:relative;width:33px;height:20px;flex:0 0 33px;border-radius:10px;background:var(--switch-off);cursor:default;transition:background .22s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000003d,0 0 1px #0003;transition:transform .22s cubic-bezier(.32,.72,0,1)}.switch.on{background:var(--green)}.switch.on:after{transform:translate(13px)}.card{background:var(--card);border:1px solid var(--hairline);border-radius:10px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 0;font-size:12px;font-weight:590;color:var(--text-2)}.card-body{padding:12px 14px 14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat{position:relative;padding:12px 14px 13px;border-radius:10px;background:var(--card);border:1px solid var(--hairline);overflow:hidden}.stat-label{font-size:11.5px;color:var(--text-3);display:flex;align-items:center;gap:5px}.stat-value{margin-top:5px;font-size:25px;font-weight:600;letter-spacing:-.028em;font-variant-numeric:tabular-nums;line-height:1.15}.stat-value small{font-size:12px;font-weight:500;color:var(--text-3);margin-left:3px;letter-spacing:0}.stat-foot{margin-top:5px;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3)}.delta{display:inline-flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums;font-size:11px}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.delta.flat{color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:5px;font-size:10.5px;font-weight:500;background:var(--row-strong);color:var(--text-2);white-space:nowrap}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.green{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.badge.red{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}.badge.orange{background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange)}.badge.purple{background:color-mix(in srgb,var(--purple) 18%,transparent);color:var(--purple)}[data-theme=light] .badge.green{color:#127d2c}[data-theme=light] .badge.red{color:#c22a20}[data-theme=light] .badge.orange{color:#9a5c00}[data-theme=light] .badge.purple{color:#7b2fa8}.dot{width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:var(--text-3)}.dot.green{background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 16%,transparent)}.dot.red{background:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}.dot.orange{background:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 16%,transparent)}.table-wrap{border:1px solid var(--hairline);border-radius:10px;overflow:hidden;background:var(--card)}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.table th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.04em;color:var(--text-3);padding:8px 12px;border-bottom:1px solid var(--hairline);white-space:nowrap;background:var(--row)}.table td{padding:9px 12px;border-bottom:1px solid var(--hairline);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover td{background:var(--row-hover)}.table .num{font-variant-numeric:tabular-nums;text-align:right}.table .mono{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:11.5px}.group{border:1px solid var(--hairline);border-radius:9px;overflow:hidden;background:var(--row)}.group-row{display:flex;align-items:center;gap:12px;min-height:42px;padding:7px 12px;border-top:1px solid var(--hairline)}.group-row:first-child{border-top:none}.group-label{flex:0 0 122px;font-size:12.5px;color:var(--text-2)}.group-control{flex:1;min-width:0;display:flex;align-items:center;gap:8px;justify-content:flex-end}.group-hint{font-size:11px;color:var(--text-3);margin-top:4px}.map-editor{display:flex;flex-direction:column;gap:7px}.map-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;padding:0 2px;font-size:10.5px;color:var(--text-3)}.map-rows{display:flex;flex-direction:column;gap:6px;max-height:210px;overflow-y:auto;padding-right:2px}.map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;align-items:center}.map-empty{padding:12px 10px;text-align:center;font-size:11.5px;color:var(--text-3);border:1px dashed var(--hairline-strong);border-radius:8px}.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.map-switch{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-2);white-space:nowrap}.notice-item{display:flex;gap:12px;padding:13px 14px;border-top:1px solid var(--hairline)}.notice-item:first-child{border-top:none}.notice-bar{flex:0 0 3px;border-radius:2px;background:var(--accent)}.notice-bar.success{background:var(--green)}.notice-bar.warning{background:var(--orange)}.notice-title{font-size:13px;font-weight:590;color:var(--text)}.notice-body{margin-top:4px;font-size:12px;line-height:1.7;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.notice-card{border:1px solid var(--hairline);border-radius:10px;background:var(--card);overflow:hidden}.notice-card-head{display:flex;align-items:center;gap:7px;padding:10px 13px 0;font-size:11px;color:var(--text-3)}.notice-card-body{padding:8px 13px 12px;font-size:12.5px;line-height:1.75;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.checkbox{display:grid;place-items:center;width:15px;height:15px;flex:0 0 15px;border-radius:4px;border:1px solid var(--hairline-strong);background:var(--input-bg);color:#fff;transition:background .14s,border-color .14s}.checkbox.on{background:var(--accent);border-color:var(--accent)}.check-panel{border:1px solid var(--hairline);border-radius:9px;overflow:hidden;background:var(--row)}.check-panel-head{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--hairline);font-size:11px;color:var(--text-3)}.check-panel-head .btn{margin-left:auto}.check-list{max-height:186px;overflow-y:auto;padding:4px}.check-row{display:flex;align-items:center;gap:8px;height:27px;padding:0 7px;border-radius:6px;font-size:12px;color:var(--text-2);cursor:default}.check-row:hover{background:var(--row-hover);color:var(--text)}.check-row.selected{color:var(--text)}.check-empty{padding:16px 10px;text-align:center;font-size:11.5px;color:var(--text-3)}.select{position:relative;width:100%}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:27px;padding:0 9px;border-radius:6px;border:1px solid var(--hairline-strong);background:var(--input-bg);color:var(--text);font-size:12.5px;cursor:default;transition:border-color .13s,box-shadow .13s,background .13s}.select-trigger:hover{background:var(--btn-bg-hover)}.select-trigger.open,.select-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.select-caret{flex:0 0 auto;opacity:.55;transition:transform .16s cubic-bezier(.32,.72,0,1)}.select-caret.open{transform:rotate(180deg)}.select-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:70;max-height:232px;overflow-y:auto;padding:4px;border-radius:9px;background:var(--window);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 14px 34px #00000057,inset 0 0 0 1px var(--window-border);animation:select-in .14s cubic-bezier(.32,.72,0,1)}@keyframes select-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}}.select-option{display:flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:5px;font-size:12.5px;color:var(--text-2);cursor:default}.select-option:hover{background:var(--accent);color:#fff}.select-option.active{color:var(--text);font-weight:500}.select-option.active:hover{color:#fff}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:46px 20px;color:var(--text-3);font-size:12.5px;text-align:center}.empty svg{opacity:.5}.skeleton{border-radius:5px;background:linear-gradient(90deg,var(--row) 25%,var(--row-strong) 37%,var(--row) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.spinner{width:13px;height:13px;border-radius:50%;border:1.6px solid var(--hairline-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress{position:relative;height:5px;border-radius:3px;background:var(--row-strong);overflow:hidden}.progress span{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--accent);transition:width .3s cubic-bezier(.32,.72,0,1)}.progress.warn span{background:var(--orange)}.progress.full span{background:var(--red)}.pager{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-top:1px solid var(--hairline);font-size:11.5px;color:var(--text-3)}.pager-actions{display:flex;gap:6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:60;animation:fade-in .16s ease}@keyframes fade-in{0%{opacity:0}}.sheet{width:min(560px,calc(100vw - 48px));max-height:84vh;display:flex;flex-direction:column;border-radius:12px;background:var(--window);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:var(--shadow-sheet),inset 0 0 0 1px var(--window-border);overflow:hidden;animation:pop-in .2s cubic-bezier(.32,.72,0,1)}.sheet.wide{width:min(760px,calc(100vw - 48px))}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(8px)}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--hairline);background:var(--titlebar)}.sheet-title{font-size:13px;font-weight:590}.sheet-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.sheet-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--hairline);background:var(--row)}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:9px;min-width:240px;max-width:340px;padding:10px 12px;border-radius:10px;background:var(--window);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 12px 32px #0000004d,inset 0 0 0 1px var(--window-border);font-size:12.5px;animation:toast-in .24s cubic-bezier(.32,.72,0,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.toast-icon{margin-top:1px;flex:0 0 auto}.toast-title{font-weight:590;margin-bottom:1px}.toast-desc{color:var(--text-2);font-size:11.5px;word-break:break-word}.mono{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace}.muted{color:var(--text-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:10px}.code-block{position:relative;border-radius:9px;border:1px solid var(--hairline);background:#0000002e;padding:11px 12px;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.65;white-space:pre-wrap;word-break:break-all;color:var(--text-2);overflow-x:auto}[data-theme=light] .code-block{background:#00000009}.auth-page{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.auth-card{width:352px;padding:22px 22px 18px;border-radius:14px;background:var(--window);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);box-shadow:var(--shadow-window),inset 0 0 0 1px var(--window-border);animation:pop-in .3s cubic-bezier(.32,.72,0,1);transform-origin:center center;will-change:width,height}.auth-card-inner{transition:opacity .24s ease,transform .24s cubic-bezier(.32,.72,0,1)}.auth-card.phase-out .auth-card-inner,.auth-card.phase-launch .auth-card-inner{opacity:0;transform:translateY(-6px) scale(.985)}.auth-card.phase-out,.auth-card.phase-launch{pointer-events:none;animation:none;overflow:hidden;box-shadow:var(--shadow-window),inset 0 0 0 1px var(--window-border)}.auth-mark{width:58px;height:58px;border-radius:15px;margin:0 auto 12px;display:block;object-fit:cover;box-shadow:0 8px 22px #00000052}.auth-title{text-align:center;font-size:15px;font-weight:600}.auth-sub{text-align:center;font-size:11.5px;color:var(--text-3);margin:3px 0 18px}.auth-error{margin-top:9px;font-size:11.5px;color:var(--red);text-align:center;min-height:16px}.chat-scroll{flex:1;overflow-y:auto;padding:18px 20px 8px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:78%;padding:9px 12px;border-radius:12px;font-size:12.8px;line-height:1.62;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px;box-shadow:0 1px 3px #00000029}.bubble.assistant{align-self:flex-start;background:var(--row);border:1px solid var(--hairline);border-bottom-left-radius:4px;color:var(--text)}.bubble-meta{font-size:10.5px;color:var(--text-3);margin-top:5px;display:flex;gap:8px}.composer{border-top:1px solid var(--hairline);padding:12px 16px 14px;display:flex;gap:9px;align-items:flex-end;background:var(--row)}.composer textarea{flex:1;min-height:38px;max-height:132px;padding:9px 11px;border-radius:9px;border:1px solid var(--hairline-strong);background:var(--input-bg);font-size:12.8px;line-height:1.55;resize:none;outline:none;font-family:inherit}.composer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.chart-tip{position:absolute;pointer-events:none;padding:6px 9px;border-radius:7px;background:var(--window);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 22px #00000047,inset 0 0 0 1px var(--window-border);font-size:11px;white-space:nowrap;transform:translate(-50%,-100%);z-index:5}@media(max-width:940px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1fr)}.sidebar{width:178px;flex-basis:178px}.group-label{flex-basis:96px}}@media(max-width:720px){.window{top:0;right:0;bottom:0;left:0;border-radius:0}.sidebar{display:none}.page{padding:16px 14px 32px}}
