:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", sans-serif;--radius-pill: 8px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-card: 16px;--radius-control: 12px;--hairline: .5px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--glass-blur: 22px;--glass-saturate: 180%;--glass-filter: saturate(var(--glass-saturate)) blur(var(--glass-blur));--z-popover: 1100}:root[data-theme=light]{--surface: #ffffff;--surface-2: #f2f2f7;--bg: #f2f2f7;--period-bg: #eaf2fb;--text: #1c1c1e;--text-strong: #000000;--text-secondary: #8e8e93;--accent: #0a84ff;--accent-contrast: #ffffff;--pos: #34c759;--neg: #ff3b30;--price: #ff9500;--recipe: #5e5ce6;--volume: #64d2ff;--mix: #bf5af2;--separator: #e5e5ea;--glass-bg: color-mix(in srgb, var(--surface) 72%, transparent);--feed-scrim: rgba(0, 0, 0, .15)}:root[data-theme=dark]{--surface: #1c1c1e;--surface-2: #2c2c2e;--bg: #000000;--period-bg: #10233b;--text: #f5f5f7;--text-strong: #ffffff;--text-secondary: #8e8e93;--accent: #0a84ff;--accent-contrast: #ffffff;--pos: #30d158;--neg: #ff453a;--price: #ff9f0a;--recipe: #7d7aff;--volume: #64d2ff;--mix: #da8fff;--separator: #38383a;--glass-bg: color-mix(in srgb, var(--surface) 64%, transparent);--glass-blur: 24px;--feed-scrim: rgba(0, 0, 0, .45)}html,body,#root{margin:0;height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}*{box-sizing:border-box}.glass{background:var(--surface);border:var(--hairline) solid var(--separator);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.glass-header{background:var(--surface);border-bottom:var(--hairline) solid var(--separator);box-shadow:var(--shadow-card);position:sticky;top:0;z-index:50}.shell{display:flex;flex-direction:column;height:100vh}.shell-head{display:flex;align-items:center;gap:10px;padding:8px 16px}.shell-head .brand{font-size:15px;font-weight:700;letter-spacing:-.01em}.shell-head .spacer{flex:1}.shell-tabs{display:flex;gap:4px}.shell-tabs button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--radius-control);transition:color .15s ease,background .15s ease}.shell-tabs button:hover{color:var(--text)}.shell-tabs button.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}.shell-body{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden;gap:8px;padding:8px}.shell-page{flex:1;min-width:0;overflow:auto}.nav-rail{display:flex;flex-direction:column;gap:6px;padding:10px;width:188px;flex:none;transition:width .15s ease}.nav-rail.collapsed{width:52px;padding:10px 6px;align-items:stretch}.nav-burger{border:none;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:6px;border-radius:var(--radius-control);text-align:left}.nav-burger:hover{color:var(--text)}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:9px 11px;border-radius:var(--radius-control);width:100%;text-align:left;white-space:nowrap;overflow:hidden;transition:color .15s ease,background .15s ease}.nav-rail.collapsed .nav-item{justify-content:center;padding:9px 0}.nav-item:hover{color:var(--text);background:var(--surface-2)}.nav-item.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}.nav-ic{font-size:16px;line-height:1}.nav-lbl{overflow:hidden;text-overflow:ellipsis}.app{display:grid;grid-template-columns:256px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "side main";height:100%;gap:12px;padding:12px}.app-header{grid-area:header}.app-side{grid-area:side;overflow-y:auto}.app-main{grid-area:main;overflow-y:auto;padding-right:4px}.header{display:flex;align-items:center;gap:16px;padding:10px 16px}.header h1{font-size:16px;font-weight:600;margin:0;letter-spacing:-.01em}.header .sub{font-size:12px;color:var(--text-secondary)}.header .spacer{flex:1}.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--radius-control);padding:2px;gap:2px}.seg button{border:0;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;padding:6px 14px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;white-space:nowrap;transition:color .15s ease,background .15s ease}.seg button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001f}.seg button:hover:not(.active){color:var(--text)}select,input[type=text]{font-family:inherit;font-size:13px;color:var(--text);background:var(--surface-2);border:var(--hairline) solid var(--separator);border-radius:var(--radius-control);padding:8px 12px;outline:none;width:100%;transition:border-color .15s ease,box-shadow .15s ease}select:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}label.fld{display:block;font-size:11px;color:var(--text-secondary);margin:12px 0 5px;text-transform:uppercase;letter-spacing:.04em}.btn{border:0;border-radius:var(--radius-control);padding:8px 14px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--text);transition:background .15s ease,filter .15s ease,transform .05s ease}.btn.accent{background:var(--accent);color:var(--accent-contrast)}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}.side{padding:14px}.side h2{font-size:13px;font-weight:600;margin:0 0 4px}.period-swap{width:100%;margin-top:10px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpi{padding:14px 16px}.kpi .t{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.kpi .v{font-size:22px;font-weight:650;margin-top:6px;letter-spacing:-.02em}.kpi .d{font-size:12px;margin-top:4px;font-weight:500}.up{color:var(--neg)}.down{color:var(--pos)}.card{padding:16px;margin-bottom:12px;background:var(--surface);border-radius:var(--radius-card)}.card .head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.card .head h3{font-size:14px;font-weight:600;margin:0}.card .head .hint{font-size:12px;color:var(--text-secondary)}.card .head .spacer{flex:1}.tbl-wrap{overflow-x:auto}table.bridge{width:100%;border-collapse:collapse;font-size:13px}table.bridge th,table.bridge td{padding:10px 12px;text-align:right;white-space:nowrap}table.bridge th{position:sticky;top:0;background:var(--surface);z-index:1;font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-bottom:var(--hairline) solid var(--separator)}table.bridge th.name,table.bridge td.name{text-align:left;white-space:normal}table.bridge tbody tr{border-bottom:var(--hairline) solid var(--separator);transition:background .12s ease}table.bridge tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);cursor:pointer}table.bridge tbody tr.sel{background:color-mix(in srgb,var(--accent) 16%,transparent)}table.bridge tfoot td{font-weight:700;border-top:var(--hairline) solid var(--separator);padding-top:12px}.num.pos{color:var(--neg)}.num.neg{color:var(--pos)}.muted{color:var(--text-secondary)}.badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--text-secondary);margin-left:6px}.chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--text-secondary)}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle}.empty{padding:40px;text-align:center;color:var(--text-secondary);font-size:13px}.loading{display:grid;place-items:center;height:100vh;color:var(--text-secondary)}.crumbs{font-size:12px;color:var(--text-secondary);margin-bottom:2px}.crumbs a{color:var(--accent);cursor:pointer}.caret{display:inline-block;width:14px;color:var(--text-secondary);font-size:10px}table.bridge tr.expand-row:hover{background:transparent;cursor:default}table.bridge tr.expand-row>td{padding:0;background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-bottom:var(--hairline) solid var(--separator)}.breakdown{padding:14px 16px 18px}.breakdown h4{font-size:13px;font-weight:600;margin:0}.breakdown .head{display:flex;align-items:baseline;gap:10px}.breakdown .head .spacer{flex:1}.breakdown .head .hint{font-size:12px;color:var(--text-secondary)}.sx-page{display:grid;grid-template-columns:var(--col-period, 210px) 410px 1fr var(--col-filter, 210px);gap:10px;padding:10px;min-height:100%;align-items:start}.sx-spacer{flex:1}.sx-period{padding:14px;display:flex;flex-direction:column;min-height:480px}.sx-period-title{font-size:14px;font-weight:600;margin-bottom:4px}.sx-period.collapsed{align-items:center;padding:8px 6px}.sx-period-head{display:flex;align-items:center;justify-content:space-between}.sx-warn{font-size:11px;color:var(--neg);margin-top:8px}.sx-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sx-tbtn{border:1px solid var(--separator);background:transparent;color:var(--text);border-radius:8px;padding:3px 10px;font-size:12px;cursor:pointer;font-family:inherit}.sx-tbtn:disabled{opacity:.4;cursor:default}.sx-tbtn:hover:not(:disabled){background:var(--surface-2)}.sx-icon{border:none;background:transparent;color:var(--text);cursor:pointer;font-size:15px;line-height:1;padding:0 4px;opacity:.6}.sx-icon:hover{opacity:1}.sx-kebab{opacity:0;transition:opacity .12s}.sx-tcard:hover .sx-kebab{opacity:.6}.sx-tcard:hover .sx-kebab:hover{opacity:1}.sx-grip{opacity:.35;cursor:default;padding:0 4px;-webkit-user-select:none;user-select:none;font-size:13px}.sx-charts-list{display:flex;flex-direction:column;gap:8px}.sx-ccard{padding:8px 10px;display:flex;flex-direction:column;gap:6px;height:210px}.sx-chead{display:flex;align-items:center;gap:8px}.sx-cbody{display:grid;grid-template-columns:1fr 96px;gap:2px;flex:1;min-height:120px}.sx-cline,.sx-chist{min-height:120px;width:100%;height:100%}.sx-ccard-fs{height:100%}.sx-tables-zone{display:flex;flex-direction:column;gap:10px}.sx-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:360px;grid-auto-flow:row dense;gap:10px}@media (max-width: 1200px){.sx-tgrid{grid-template-columns:1fr}}.sx-tcard{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden}.sx-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;z-index:4;background:linear-gradient(135deg,transparent 50%,var(--text-secondary) 50%);border-radius:0 0 12px;opacity:0}.sx-tcard:hover .sx-resize{opacity:.5}.sx-resize:hover{opacity:.9}.sx-tcard-fs{height:100%}.sx-thead{display:flex;align-items:center;gap:6px;padding:5px 10px}.sx-tname{font-size:12px;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-tbody{flex:1;min-height:0;overflow:auto;background:var(--surface)}table.sx-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:11px}table.sx-grid th,table.sx-grid td{padding:4px 8px;white-space:nowrap;border-bottom:var(--hairline) solid color-mix(in srgb,var(--separator) 45%,transparent)}table.sx-grid thead th{position:sticky;z-index:3;background:color-mix(in srgb,var(--surface) 96%,var(--bg));font-weight:600;font-size:11px;color:var(--text);border-bottom:var(--hairline) solid var(--separator)}table.sx-grid thead tr:first-child th{top:0;height:26px}table.sx-grid thead tr.sx-subhdr th{top:26px}.sx-mgrp{text-align:center;border-left:var(--hairline) solid var(--separator)}.sx-subhdr th{font-weight:600;color:var(--text-secondary);text-align:right}.sx-subhdr th.sx-d{text-align:center}.sx-gcol{text-align:left;min-width:150px;max-width:240px}td.sx-gcol{overflow:hidden}.sx-num{text-align:right;font-variant-numeric:tabular-nums}.sx-d{text-align:center;min-width:44px}.sx-up{color:var(--neg)}.sx-down{color:var(--pos)}table.sx-grid tbody tr:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.sx-chev{border:none;background:transparent;cursor:pointer;font-size:9px;width:14px;color:var(--text);opacity:.7;padding:0}.sx-chev:hover{opacity:1}.sx-chev-sp{display:inline-block;width:14px}.sx-glabel{display:inline}.sx-total td{font-weight:700;border-top:var(--hairline) solid var(--separator);position:sticky;bottom:0;background:var(--surface)}.sx-dd{position:relative;display:inline-flex}.sx-dd-btn{font-size:12px;padding:2px 8px;border-radius:8px;border:.5px solid var(--separator);background:transparent;color:var(--text);cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit}.sx-pick-btn{font-size:11px;padding:1px 6px;border-radius:7px;border:.5px solid var(--separator);background:transparent;color:var(--text-secondary);cursor:pointer;opacity:.85;font-family:inherit}.sx-pick-btn:hover{opacity:1}.sx-menu{padding:6px;border-radius:12px;min-width:220px}.sx-search{width:100%;margin:0 0 6px;padding:6px 8px;box-sizing:border-box;border:.5px solid var(--separator);border-radius:8px;background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--text);font-size:12px;outline:none;font-family:inherit}.sx-search:focus{border-color:var(--accent)}.sx-opt{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer}.sx-opt:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.sx-opt-head{font-size:11px;font-weight:600;color:color-mix(in srgb,var(--text) 55%,transparent);padding:5px 8px 2px}.sx-sec{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:6px 8px 3px}.sx-lvl{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));margin-bottom:2px}.sx-ord{font-size:10px;font-weight:700;color:var(--accent);min-width:12px}.sx-lvl-name{flex:1;overflow:hidden;text-overflow:ellipsis}.sx-mini{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:11px;padding:1px 4px}.sx-mini:disabled{opacity:.3;cursor:default}.sx-mini:hover:not(:disabled){color:var(--text)}.sx-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.sx-modal-inner{position:fixed;top:16px;right:16px;bottom:16px;left:16px;display:flex}.sx-modal-inner>*{flex:1}table.sx-grid tbody tr{cursor:pointer}table.sx-grid tbody tr.sx-rowsel{background:color-mix(in srgb,var(--accent) 16%,transparent)}.sx-page.pcol-collapsed{--col-period: 44px}.sx-page.fcol-collapsed{--col-filter: 46px}.sx-filters{padding:12px;display:flex;flex-direction:column;gap:8px;height:100%;min-height:480px;box-sizing:border-box;font-size:13px}.sx-filters.collapsed{padding:8px 6px;align-items:center}.sx-fhead{display:flex;align-items:center;justify-content:space-between;font-weight:600}.sx-fexp{width:26px;height:26px;border-radius:8px;cursor:pointer;background:color-mix(in srgb,var(--accent) 12%,transparent);border:.5px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.sx-fvert{writing-mode:vertical-rl;text-orientation:mixed;font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:10px}.sx-fbadge{min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;margin-top:8px}.sx-fblock{display:flex;flex-direction:column;gap:3px}.sx-fscroll{flex:1;min-height:0;overflow-y:auto}.sx-fsec{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-top:6px;display:flex;justify-content:space-between}.sx-fclear{color:var(--accent);cursor:pointer;text-transform:none;font-weight:500}.sx-fopt{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 0;cursor:pointer}.sx-fopt input{width:auto}.sx-fopt-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-fclearall{width:100%}.sx-fclearall:disabled{opacity:.4;cursor:default}.sx-chips{display:flex;flex-direction:column;gap:4px}.sx-chip2{font-size:11px;padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sx-subhdr th.sx-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sx-subhdr th.sx-sortable:hover{color:var(--accent)}.sx-facc{display:flex;flex-direction:column}.sx-facc-h{display:flex;align-items:center;gap:6px;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--text);padding:6px 2px;text-align:left;width:100%}.sx-facc-h span{font-size:9px;color:var(--text-secondary);width:10px}.sx-facc-h em{color:var(--accent);font-style:normal;font-weight:600}.sx-facc-h:hover{color:var(--accent)}.sx-facc-b{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px;padding:6px;border:var(--hairline) solid var(--separator);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.sx-facc-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.sx-facc-cnt{font-size:10px;color:var(--text-secondary);padding:0 2px 4px}.sx-facc-opts{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.sx-facc-opts .sx-fopt{padding-left:2px}.user-chip{display:flex;align-items:center;gap:8px;padding-left:6px}.user-chip .user-name{font-size:13px;font-weight:600}.user-chip .user-role{font-size:11px;color:var(--text-secondary)}.user-chip .user-logout{padding:4px 9px;font-size:14px}.nav-sep{height:var(--hairline);background:color-mix(in srgb,var(--separator) 50%,transparent);margin:6px 4px}.col-rsz{position:absolute;top:0;right:0;bottom:0;width:8px;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:6}.col-rsz:after{content:"";position:absolute;top:0;bottom:0;right:3px;width:2px;background:transparent}.col-rsz:hover:after,.col-rsz:active:after{background:var(--accent)}table.col-resizable th,table.col-resizable td{overflow:hidden;text-overflow:ellipsis}.rf-page{padding:12px}.rf-tabs{display:inline-flex;background:var(--bg);border-radius:var(--radius-pill);padding:2px;margin-bottom:12px}.rf-tab{border:0;background:transparent;padding:6px 16px;border-radius:var(--radius-pill);font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer}.rf-tab.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.rf-field{padding:10px 0;border-top:var(--hairline) solid var(--separator)}.rf-field:first-child{border-top:0}.rf-field-head{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:14px}.rf-field-num{color:var(--text-secondary);font-weight:600;min-width:34px}.rf-field-desc{font-size:13px;color:var(--text);margin:4px 0 0}.rf-field-formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-secondary);margin-top:4px}.rf-field-note{font-size:12px;color:var(--price);margin-top:4px}.rf-method{font-size:13px}.rf-method h4{margin:0 0 2px;font-size:13px}.rf-method p{margin:0 0 10px;color:var(--text)}.rf-formula{font-size:11px;color:var(--text-secondary)}.rf-page table.bridge th{text-align:left}.rf-page table.bridge tbody tr{cursor:default}.feed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;pointer-events:none}.feed-drawer{position:absolute;pointer-events:auto;width:min(420px,92vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000002e;border-radius:var(--radius-card);overflow:hidden;font-family:var(--font-sans)}.feed-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:var(--hairline) solid var(--separator);cursor:move;-webkit-user-select:none;user-select:none}.feed-title{font-weight:600;font-size:14px;color:var(--text)}.feed-close{border:0;background:transparent;font-size:17px;color:var(--text-secondary);cursor:pointer}.feed-composer{margin:12px;padding:12px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.feed-note{width:100%;box-sizing:border-box;min-height:64px;resize:vertical;border:var(--hairline) solid var(--separator);border-radius:var(--radius-control);padding:10px;font:inherit;font-size:13px;color:var(--text);background:var(--bg)}.feed-composer-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}.feed-seg{display:inline-flex;background:var(--bg);border-radius:var(--radius-pill);padding:2px}.feed-seg-filter{margin:0 12px 8px}.feed-seg-filter .feed-seg-btn{font-size:12px;padding:4px 10px}.feed-seg-btn{border:0;background:transparent;padding:6px 12px;border-radius:var(--radius-pill);font:inherit;color:var(--text-secondary);cursor:pointer}.feed-seg-btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card)}.feed-composer .feed-seg-btn{font-size:12px;padding:4px 10px}.feed-send{border:0;border-radius:var(--radius-control);padding:6px 14px;background:var(--accent);color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.feed-send:disabled{opacity:.4;cursor:default}.feed-error{margin:0 12px 8px;color:var(--neg);font-size:13px}.feed-list{flex:1;overflow-y:auto;padding:0 12px 16px;display:flex;flex-direction:column;gap:7px}.feed-empty{color:var(--text-secondary);text-align:center;padding:24px 0}.feed-card{background:var(--surface);border-radius:var(--radius-card);padding:8px 10px;box-shadow:var(--shadow-card)}.feed-card-head{display:flex;align-items:center;gap:7px}.feed-author{font-weight:600;font-size:13px;color:var(--text);flex:1}.feed-badge{font-size:10px;padding:1px 7px;border-radius:var(--radius-pill);color:#fff}.feed-badge.global{background:var(--pos)}.feed-badge.personal{background:var(--text-secondary)}.feed-badge-btn{border:none;cursor:pointer;font-family:inherit;line-height:1.4}.feed-badge-btn:hover{filter:brightness(1.08)}.feed-card-note{margin:5px 0;font-size:13px;line-height:1.35;color:var(--text);white-space:pre-wrap;word-break:break-word}.feed-meta{display:flex;gap:6px;font-size:11px;color:var(--text-secondary)}.feed-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.feed-chip{font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--bg);color:var(--text-secondary)}.feed-card-actions{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px}.feed-apply{border:0;border-radius:var(--radius-control);padding:6px 14px;background:var(--accent);color:#fff;font:inherit;cursor:pointer}.feed-del{border:0;border-radius:var(--radius-control);padding:6px 14px;background:transparent;color:var(--neg);font:inherit;cursor:pointer}.feed-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#000000d1;color:#fff;padding:10px 18px;border-radius:var(--radius-control);z-index:1300;font-size:14px}.feed-head-actions{display:flex;align-items:center;gap:8px}.feed-newfolder{font:600 12px/1 var(--font-sans);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:none;padding:7px 11px;border-radius:var(--radius-control);cursor:pointer}.feed-newfolder-form{display:flex;flex-direction:column;gap:8px;margin:0 14px 12px;padding:12px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.feed-newfolder-input{border:1px solid var(--separator);border-radius:var(--radius-control);padding:8px 10px;font:400 13px/1.3 var(--font-sans);color:var(--text);background:var(--bg);outline:none}.feed-newfolder-input:focus{border-color:var(--accent)}.feed-section-label{font:600 10px/1 var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:10px 4px 8px}.feed-folder{background:var(--surface);border-radius:var(--radius-card);margin-bottom:8px;box-shadow:var(--shadow-card);overflow:hidden;transition:outline .12s,background .12s}.feed-folder.drop{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.feed-folder-row{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer}.feed-folder-ic{font-size:15px}.feed-folder-name{font:600 13px/1 var(--font-sans);color:var(--text);flex:1}.feed-folder-count{font:600 11px/1 var(--font-sans);color:var(--text-secondary);background:var(--bg);border-radius:var(--radius-pill);padding:2px 7px}.feed-folder-del{background:none;border:none;cursor:pointer;font-size:13px;opacity:.55}.feed-folder-del:hover{opacity:1}.feed-chev{color:var(--text-secondary);font-size:12px}.feed-folder-body{padding-bottom:4px}.feed-folder-add{border:0;background:transparent;color:var(--accent);font:600 14px/1 var(--font-sans);cursor:pointer;padding:0 4px}.feed-folder-composer{padding:8px;display:flex;flex-direction:column;gap:6px}.feed-folder-composer textarea{width:100%;box-sizing:border-box;min-height:48px;resize:vertical;border:var(--hairline) solid var(--separator);border-radius:var(--radius-control);padding:8px;font:inherit;font-size:13px;color:var(--text);background:var(--bg)}.feed-folder-composer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.feed-root.drop{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:var(--radius-card)}.feed-card.nested{margin:0 8px 6px 18px;box-shadow:none;border:1px solid var(--separator)}.feed-apply,.feed-del,.feed-move{padding:4px 10px;font-size:12px}.feed-card.dragging{opacity:.5}.feed-grip{color:var(--text-secondary);font-size:13px;cursor:grab}.feed-move-wrap{position:relative;display:inline-block}.feed-move{background:none;border:none;color:var(--accent);font:600 12px/1 var(--font-sans);cursor:pointer}.feed-move-menu{position:absolute;bottom:100%;left:0;z-index:10;background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-control);box-shadow:var(--shadow-card);min-width:160px;padding:4px}.feed-move-item{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 10px;font:400 12px/1.2 var(--font-sans);color:var(--text);border-radius:7px;cursor:pointer}.feed-move-item:hover{background:var(--bg)}.feed-empty.small{font-size:11px;padding:10px}.glass-header,.nav-rail,.feed-drawer,.sx-menu,.vibrancy{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-header,.nav-rail,.feed-drawer,.sx-menu,.vibrancy{background:var(--surface)}}.auth-wrap{height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg, var(--surface-2))}.auth-loading{color:var(--text-secondary);font-size:14px}.auth-card{width:100%;max-width:380px;padding:28px 26px;display:flex;flex-direction:column;gap:14px}.auth-title{font-size:18px;font-weight:700;letter-spacing:-.01em}.auth-sub{font-size:13px;color:var(--text-secondary);margin-top:-8px}.auth-text{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.auth-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-secondary)}.auth-field input{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface-2);border:var(--hairline) solid color-mix(in srgb,var(--separator) 60%,transparent);border-radius:9px;padding:9px 11px;outline:none}.auth-field input:focus{border-color:var(--accent)}.auth-primary{background:var(--accent);color:#fff;border:0;font-weight:600}.auth-primary:disabled{opacity:.6;cursor:default}.btn.auth-primary:hover{filter:brightness(1.05)}.auth-error{font-size:12.5px;color:#b00020;background:color-mix(in srgb,#b00020 10%,transparent);border-radius:8px;padding:8px 10px}[data-theme=dark] .auth-error{color:#ff8a9a}.auth-code-box{display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:10px;padding:14px;min-height:52px}.auth-code{font-size:28px;font-weight:700;letter-spacing:6px;font-variant-numeric:tabular-nums}.auth-code-empty{font-size:13px;color:var(--text-secondary)}.auth-divider{height:var(--hairline);background:color-mix(in srgb,var(--separator) 50%,transparent);margin:4px 0}.auth-link{background:none;border:0;color:var(--accent);font-family:inherit;font-size:13px;cursor:pointer;padding:4px;text-align:center}.auth-link:hover{text-decoration:underline}.auth-recover{display:flex;flex-direction:column;gap:10px}.admin-page{padding:18px 22px;max-width:1100px}.admin-h2{font-size:17px;font-weight:700;margin:0 0 4px}.admin-text{font-size:13px;color:var(--text-secondary);margin:0 0 14px}.admin-dim{font-size:12px;color:var(--text-secondary)}.admin-createbar,.admin-codebar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.admin-createbar input,.admin-createbar select,.admin-codebar input,.admin-table select{font-family:inherit;font-size:13px;color:var(--text);background:var(--surface-2);border:var(--hairline) solid color-mix(in srgb,var(--separator) 60%,transparent);border-radius:8px;padding:7px 9px;outline:none}.admin-createbar input:focus,.admin-codebar input:focus{border-color:var(--accent)}.admin-primary{background:var(--accent);color:#fff;border:0;font-weight:600}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;font-weight:600;color:var(--text-secondary);padding:8px 10px;border-bottom:var(--hairline) solid color-mix(in srgb,var(--separator) 60%,transparent)}.admin-table td{padding:8px 10px;border-bottom:var(--hairline) solid color-mix(in srgb,var(--separator) 40%,transparent);vertical-align:top}.admin-table tr.row-pending{background:color-mix(in srgb,#f5a623 7%,transparent)}.admin-table tr.row-blocked{background:color-mix(in srgb,#b00020 6%,transparent)}.badge{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px}.badge-pending{background:color-mix(in srgb,#f5a623 22%,transparent);color:#a86a00}.badge-approved{background:color-mix(in srgb,#2e9e4f 20%,transparent);color:#1c7a38}.badge-blocked{background:color-mix(in srgb,#b00020 18%,transparent);color:#b00020}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-sm{font-family:inherit;font-size:12px;padding:5px 9px;border-radius:7px;border:var(--hairline) solid color-mix(in srgb,var(--separator) 60%,transparent);background:var(--surface-2);color:var(--text);cursor:pointer}.btn-sm:hover{border-color:var(--accent)}.btn-sm.ok{color:#1c7a38}.btn-sm.warn{color:#a86a00}.btn-sm.danger{color:#b00020}.admin-err{font-size:12.5px;color:#b00020;background:color-mix(in srgb,#b00020 10%,transparent);border-radius:8px;padding:8px 10px;margin-bottom:10px}.admin-ok{font-size:12.5px;color:#1c7a38;background:color-mix(in srgb,#2e9e4f 12%,transparent);border-radius:8px;padding:8px 10px;margin-bottom:10px}.admin-modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.admin-modal{max-width:460px;width:100%;padding:22px;display:flex;flex-direction:column;gap:12px}.admin-secret{display:flex;flex-direction:column;gap:6px}.admin-secret code{font-size:15px;font-weight:600;background:var(--surface-2);padding:8px 10px;border-radius:8px}.admin-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.admin-codes code{font-size:14px;letter-spacing:1px}.admin-edit{font-family:inherit;font-size:13px;color:var(--text);background:transparent;border:var(--hairline) solid transparent;border-radius:6px;padding:5px 7px;width:100%;min-width:120px;outline:none}.admin-edit:hover{border-color:color-mix(in srgb,var(--separator) 50%,transparent)}.admin-edit:focus{background:var(--surface-2);border-color:var(--accent)}:root[data-theme=dark] .badge-pending{background:color-mix(in srgb,#ffd60a 20%,transparent);color:#ffd60a}:root[data-theme=dark] .badge-approved{background:color-mix(in srgb,#30d158 22%,transparent);color:#30d158}:root[data-theme=dark] .badge-blocked{background:color-mix(in srgb,#ff453a 16%,transparent);color:#ff6961}:root[data-theme=dark] .btn-sm.ok{color:#30d158}:root[data-theme=dark] .btn-sm.warn{color:#ffd60a}:root[data-theme=dark] .btn-sm.danger{color:#ff6961}:root[data-theme=dark] .admin-err{color:#ff6961}:root[data-theme=dark] .admin-ok{color:#30d158}
