:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#152238;--muted:#6b7a90;--line:#e5eaf1;--primary:#335cff;--primary-2:#6c4dff;--primary-soft:#eef2ff;--success:#16a36a;--success-soft:#e9f9f1;--warn:#e8a317;--warn-soft:#fff7df;--danger:#df4b5b;--danger-soft:#fff0f2;--shadow:0 16px 50px #1f2d4b14;--shadow-sm:0 8px 24px #1f2d4b12;--radius:18px;--radius-sm:12px;--sidebar-w:260px;--header-h:72px}[data-theme=dark]{--bg:#0d1320;--surface:#121b2b;--surface-2:#172235;--text:#f3f6fb;--muted:#93a2b8;--line:#243249;--primary:#6d86ff;--primary-2:#9477ff;--primary-soft:#1d2944;--success:#31c985;--success-soft:#123629;--warn:#f3bd45;--warn-soft:#3c3015;--danger:#ff6e7d;--danger-soft:#3a1f27;--shadow:0 16px 50px #00000040;--shadow-sm:0 8px 24px #00000038}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.45;transition:background-color .25s,color .25s}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.workspace{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .22s;display:flex;overflow-x:hidden}@media (width<=820px){.workspace{margin-left:0}}.topbar{height:var(--header-h);z-index:30;background:color-mix(in srgb, var(--surface) 91%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 28px;transition:background-color .25s,border-color .25s;display:flex;position:sticky;top:0}@media (width<=820px){.topbar{padding:0 16px}}.top-left{align-items:center;gap:14px;display:flex}.crumb{font-size:15px;font-weight:800}.crumb small{color:var(--muted);font-size:11px;font-weight:600;display:block}.top-actions{align-items:center;gap:10px;display:flex}.mobile-menu{display:none}@media (width<=820px){.mobile-menu{display:grid}}main{flex:1;width:100%;max-width:1680px;margin:0 auto;padding:26px 28px 46px}@media (width<=820px){main{padding:20px 16px 40px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color .25s,border-color .25s,box-shadow .25s;overflow:hidden}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 18px 14px;display:flex}.card-head h3{margin:0;font-size:15px}.card-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.card-body{padding:18px}.grid-2{grid-template-columns:1.6fr 1fr;gap:18px;display:grid}@media (width<=1120px){.grid-2{grid-template-columns:1fr}}.grid-equal{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}@media (width<=820px){.grid-equal{grid-template-columns:1fr}}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.025em;margin:0;font-size:28px}.page-head p{color:var(--muted);margin:6px 0 0}@media (width<=820px){.page-head{flex-direction:column;align-items:flex-start}}.head-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=560px){.head-actions{width:100%}.head-actions .btn{flex:1}}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-weight:750;transition:all .18s;display:inline-flex}.btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn.primary{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-2));border-color:#0000}.btn.success{background:var(--success);color:#fff;border-color:#0000}.btn.danger{background:var(--danger);color:#fff;border-color:#0000}.btn.ghost{color:var(--text);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.soft{background:var(--primary-soft);color:var(--primary);border-color:#0000}.btn.soft:hover{opacity:.9}.icon-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--text);border-radius:11px;justify-content:center;align-items:center;padding:0;font-weight:750;transition:all .18s;display:inline-flex}.icon-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.mini{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;padding:0;transition:border-color .18s,color .18s;display:grid}.mini:hover{color:var(--primary);border-color:var(--primary)}.avatar{color:#3a4a91;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#d4dcff,#e9ddff);border-radius:12px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:900;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}@media (width<=560px){.toolbar{align-items:stretch}}.search{flex:1;min-width:260px;position:relative}.search input{padding-left:40px}.search svg{width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}@media (width<=560px){.search{min-width:100%}}.select-sm{width:auto;min-width:150px}@media (width<=560px){.select-sm{width:100%}}input,select,textarea,.editable{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:11px;outline:none;padding:10px 12px;transition:border-color .16s,box-shadow .16s}input:focus,select:focus,textarea:focus,.editable:focus{border-color:color-mix(in srgb, var(--primary) 65%, var(--line));box-shadow:0 0 0 3px var(--primary-soft)}.table-wrap{border-radius:var(--radius);width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 14px}th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-2);z-index:10;font-size:10px;font-weight:850;position:sticky;top:0}td{font-size:13px}.thumb{object-fit:cover;background:linear-gradient(135deg,#9fc2ff,#856cff);border-radius:9px;width:54px;height:38px}.title-cell{align-items:center;gap:11px;display:flex}.title-cell b{display:block}.title-cell small{color:var(--muted);margin-top:3px;display:block}.badge{border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--primary-soft);color:var(--primary)}.dot{background:currentColor;border-radius:50%;width:6px;height:6px}.actions{gap:6px;display:flex}.pagination{color:var(--muted);justify-content:space-between;align-items:center;padding:14px 2px 0;font-size:12px;display:flex}.pages{gap:6px;display:flex}.pages button{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;transition:all .18s;display:flex}.pages button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.notice{background:var(--warn-soft);color:color-mix(in srgb, var(--warn) 65%, var(--text));border:1px solid color-mix(in srgb, var(--warn) 25%, transparent);border-radius:11px;padding:12px 14px;font-size:11px}.modal{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b12208c;justify-content:center;align-items:center;padding:22px;transition:opacity .25s;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;width:min(620px,100%);max-height:92vh;display:flex;overflow:auto;box-shadow:0 30px 90px #00000040}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-head h3{margin:0;font-size:16px}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:14px 20px;display:flex}.toast{z-index:100;color:#fff;opacity:0;pointer-events:none;background:#101d38;border-radius:12px;min-width:280px;max-width:420px;padding:13px 15px;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .24s;position:fixed;bottom:24px;right:24px;transform:translateY(30px);box-shadow:0 16px 50px #00000040}.toast.show{opacity:1;pointer-events:auto;transform:none}.toast b{font-size:12px;display:block}.toast span{color:#c8d5eb;font-size:11px}.empty{text-align:center;color:var(--muted);padding:50px 20px}.empty .circle{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:20px;display:grid}.kbd{border:1px solid var(--line);background:var(--surface-2);border-bottom-width:2px;border-radius:5px;padding:2px 5px;font-size:10px}@media (width<=820px){.hide-mobile{display:none!important}}.auth-input-group{align-items:center;width:100%;margin-bottom:20px;display:flex;position:relative}.auth-input-group .auth-icon{color:#8898b5;pointer-events:none;z-index:5;font-size:18px;transition:color .2s;position:absolute;left:14px}.auth-input-group input,.auth-input-group select{border-radius:12px;outline:none;width:100%;font-size:15px;transition:all .25s cubic-bezier(.16,1,.3,1);color:#fff!important;caret-color:#fff!important;background:#ffffff08!important;border:1px solid #ffffff14!important;padding:12px 14px 12px 42px!important}.auth-input-group input::placeholder,.auth-input-group select::placeholder{color:#ffffff40}.auth-input-group input:hover,.auth-input-group select:hover{border-color:#fff3!important}.auth-input-group input:focus,.auth-input-group select:focus{background:#ffffff0d!important;border-color:#5f7cff!important;box-shadow:0 0 0 4px #5f7cff26!important}.auth-input-group input:focus~.auth-icon,.auth-input-group select:focus~.auth-icon{color:#5fd8ff}.auth-input-group select{padding-left:14px!important}input:-webkit-autofill{border-radius:12px;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1a!important;-webkit-box-shadow:inset 0 0 0 1000px #0b1428!important}input:-webkit-autofill:hover{border-radius:12px;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1a!important;-webkit-box-shadow:inset 0 0 0 1000px #0b1428!important}input:-webkit-autofill:focus{border-radius:12px;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1a!important;-webkit-box-shadow:inset 0 0 0 1000px #0b1428!important}input:-webkit-autofill:active{border-radius:12px;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;border:1px solid #ffffff1a!important;-webkit-box-shadow:inset 0 0 0 1000px #0b1428!important}.info-list{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;margin-top:18px;padding:16px;transition:background-color .25s,border-color .25s;display:flex}.info-list .info-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;font-size:13px;display:flex}.info-list .info-row:last-child{border-bottom:none;padding-bottom:0}.info-list .info-row span{color:var(--muted);flex-shrink:0;font-weight:700}.info-list .info-row b{color:var(--text);text-align:right;font-weight:750}.info-list .info-row code{background:var(--surface);border:1px solid var(--line);color:var(--primary);text-overflow:ellipsis;white-space:nowrap;text-align:right;border-radius:6px;max-width:65%;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;overflow:hidden}.sidebar{width:var(--sidebar-w);color:#fff;z-index:40;background:linear-gradient(#101d38 0%,#14264d 62%,#17356a 100%);flex-direction:column;padding:22px 16px;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 28px #0c162d1f}@media (width<=820px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.brand{align-items:center;gap:12px;padding:2px 8px 24px;display:flex}.brand b{font-size:16px;display:block}.brand span{color:#aebbd3;font-size:12px}.brand-mark{color:#fff;background:linear-gradient(135deg,#5fd8ff,#5f7cff 55%,#9a6bff);border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;box-shadow:0 10px 30px #5c82ff59}.nav-title{letter-spacing:.14em;text-transform:uppercase;color:#8095ba;padding:10px 12px 7px;font-size:10px;font-weight:800}.nav{flex-direction:column;gap:5px;display:flex}.nav button,.nav a{color:#c8d3e7;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-weight:650;transition:all .18s;display:flex}.nav button:hover,.nav a:hover{color:#fff;background:#ffffff12}.nav button.active,.nav a.active{color:#fff;background:#6683ff30;box-shadow:inset 0 0 0 1px #87a1ff29}.nav svg{stroke-width:1.8px;flex:none;width:18px;height:18px}.sidebar-bottom{margin-top:auto}.sidebar-bottom .system-box{background:#ffffff0a;border:1px solid #ffffff17;border-radius:12px;padding:10px 12px}.sidebar-bottom .system-box .status-header{justify-content:space-between;align-items:center;font-size:11px;font-weight:800;display:flex}.sidebar-bottom .system-box .status-header .status-indicator{color:#6fe2ad}.sidebar-bottom .system-box .status-version{color:#8799b8;margin-top:6px;font-size:10px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}@media (width<=1120px){.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.stats{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px;transition:background-color .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.stat:after{content:"";background:var(--primary-soft);pointer-events:none;z-index:1;border-radius:50%;width:90px;height:90px;transition:background-color .25s;position:absolute;top:-30px;right:-28px}.stat-top{color:var(--muted);z-index:2;justify-content:space-between;align-items:center;font-size:12px;font-weight:750;display:flex;position:relative}.stat-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;place-items:center;font-size:15px;transition:background-color .25s,color .25s;display:grid}.stat-value{letter-spacing:-.03em;z-index:2;margin-top:12px;font-size:29px;font-weight:900;position:relative}.delta{color:var(--success);z-index:2;margin-top:5px;font-size:11px;font-weight:750;position:relative}.chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px;height:226px;padding:16px 8px 24px;transition:border-color .25s;display:flex;position:relative}.bar{background:linear-gradient(180deg, var(--primary), var(--primary-2));opacity:.9;border-radius:8px 8px 3px 3px;flex:1;min-width:14px;transition:opacity .2s,height .6s cubic-bezier(.16,1,.3,1);position:relative}.bar:hover{opacity:1;box-shadow:0 0 10px #5c82ff40}.bar span{color:var(--muted);font-size:10px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.activity{flex-direction:column;gap:13px;display:flex}.activity-item{gap:12px;display:flex}.activity-item b{font-size:13px}.activity-item p{color:var(--muted);margin:3px 0;font-size:12px}.activity-item time{color:var(--muted);font-size:10px}.activity-dot{background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 5px var(--primary-soft);border-radius:50%;flex-shrink:0;margin-top:6px;transition:background-color .25s,box-shadow .25s}.editor-workspace{grid-template-columns:minmax(0,1fr) 340px;gap:24px;max-width:1320px;margin:24px auto;padding:0 24px;display:grid}@media (width<=1024px){.editor-workspace{grid-template-columns:1fr}}.editor-main-col{flex-direction:column;gap:20px;display:flex}.editor-sidebar-col{flex-direction:column;gap:20px;height:fit-content;display:flex;position:sticky;top:92px}@media (width<=1024px){.editor-sidebar-col{position:static}}.editor-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;transition:background-color .25s,border-color .25s;box-shadow:0 4px 18px #00000005}.editor-card h2{letter-spacing:-.01em;color:var(--text);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0 0 18px;padding-bottom:10px;font-size:16px;font-weight:800;display:flex}.editor-card h3{color:var(--text);margin:18px 0 10px;font-size:13px;font-weight:750}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field label{color:var(--text);letter-spacing:.02em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.field label .counter{color:var(--muted);background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:10px;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:all .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-soft)}.field input::placeholder,.field textarea::placeholder,.field select::placeholder{color:var(--muted);opacity:.7}.field textarea{resize:vertical;min-height:86px;line-height:1.5}.field .slug-row{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;align-items:stretch;transition:all .2s;display:flex;overflow:hidden}.field .slug-row:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-soft)}.field .slug-row:focus-within span{background:var(--surface-2)}.field .slug-row:focus-within input{background:var(--surface)}.field .slug-row span{background:var(--line);color:var(--muted);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:flex}.field .slug-row input{background:var(--surface-2);border:0;border-radius:0}.field .slug-row input:focus{box-shadow:none}.field .hint{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.4}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.grid2{grid-template-columns:1fr;gap:0}}.editor-toolbar{border:1px solid var(--line);background:var(--surface-2);border-bottom:0;border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.editor-toolbar .toolbar-btn{width:34px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.editor-toolbar .toolbar-btn:hover{background:var(--surface);border-color:var(--line);color:var(--primary)}.editor-toolbar .toolbar-btn.text-btn{width:auto;padding:0 10px;font-size:11px;font-weight:700}.editor-toolbar .toolbar-divider{background:var(--line);width:1px;height:18px;margin:0 4px}.editable{border:1px solid var(--line);background:var(--surface);min-height:400px;color:var(--text);border-radius:0 0 12px 12px;outline:none;padding:24px;font-size:15px;line-height:1.7;transition:border-color .2s;overflow-y:auto}.editable:focus{border-color:var(--primary)}.editable p{margin:0 0 16px}.editable p.lead{color:var(--text);font-size:17px;font-weight:500;line-height:1.6}.editable h2{letter-spacing:-.02em;margin:32px 0 14px;font-size:22px;font-weight:800}.editable h3{margin:24px 0 10px;font-size:18px;font-weight:750}.editable ul,.editable ol{margin:0 0 16px;padding-left:20px}.editable blockquote{border-radius:0 12px 12px 0;margin:22px 0;padding:18px 20px;font-style:normal;border-left:4px solid var(--primary)!important;background:var(--primary-soft)!important}.editable blockquote strong{color:var(--primary)}.editable .step{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:22px 0;padding:20px;box-shadow:0 2px 8px #00000003}.editable .step .step-no{background:var(--primary-soft);color:var(--primary);text-transform:uppercase;letter-spacing:.05em;border-radius:99px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.editable .step h3{color:var(--text);margin-top:0;font-size:16px;font-weight:750}.editable .step p{color:var(--muted);margin:0;font-size:13px}.editable figure{margin:20px 0}.editable figure img{border:1px solid var(--line);border-radius:8px;max-width:100%}.editable figure figcaption{color:var(--muted);text-align:center;margin-top:6px;font-size:12px}.insertbar{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.insertbar .insert-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s}.insertbar .insert-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.checks-grid{flex-direction:column;gap:8px;margin-top:14px;display:flex}.check-item{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.check-item.ok{color:#159b63;border-color:#159b6326}.check-item.ok:before{content:"✓";font-weight:900}.check-item.warn{color:#e68a00;border-color:#e68a0026}.check-item.warn:before{content:"!";font-size:13px;font-weight:900}.thumbnail-preview-container{border:1px solid var(--line);aspect-ratio:16/9;border-radius:10px;margin-top:12px;position:relative;overflow:hidden}.thumbnail-preview-container img{object-fit:cover;width:100%;height:100%}.editable .selected-widget{outline-offset:4px;border-radius:4px;transition:outline .15s;outline:2px solid var(--primary)!important}.floating-editor-toolbar{background:var(--surface);border:1px solid var(--line);pointer-events:auto;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:6px;transition:opacity .2s,transform .2s;animation:.18s cubic-bezier(.16,1,.3,1) fadeInDown;display:flex;box-shadow:0 6px 24px #00000014}.floating-editor-toolbar .toolbar-btn{width:32px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.floating-editor-toolbar .toolbar-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.floating-editor-toolbar .toolbar-btn.text-btn{width:auto;padding:0 10px;font-size:11px;font-weight:750}.floating-editor-toolbar .toolbar-divider{background:var(--line);width:1px;height:18px;margin:0 4px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1120px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.project-grid{grid-template-columns:1fr}}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:17px;transition:transform .18s,box-shadow .18s,background-color .25s,border-color .25s}.project-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.project-card h3{margin:12px 0 4px;font-size:15px}.project-card p{color:var(--muted);min-height:34px;margin:0;font-size:12px}.project-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-logo{color:#4058b3;text-transform:uppercase;background:linear-gradient(135deg,#e9efff,#efe8ff);border-radius:12px;place-items:center;width:44px;height:44px;font-size:14px;font-weight:900;display:grid}.project-meta{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0;display:grid}.meta-box{background:var(--surface-2);border-radius:10px;padding:10px;transition:background-color .25s}.meta-box span{color:var(--muted);font-size:10px;display:block}.meta-box b{font-size:12px}.secret-line{background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;align-items:center;gap:8px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;transition:background-color .25s,border-color .25s;display:flex}.secret-line code{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-actions{gap:8px;margin-top:12px;display:flex}.project-actions .btn{flex:1;padding:8px;font-size:11px}.media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=1120px){.media-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.media-grid{grid-template-columns:1fr}}.media-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;transition:background-color .25s,border-color .25s;overflow:hidden}.media-card img{aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#b8c7ff,#9279ff);width:100%}.media-card div{padding:10px}.media-card b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.media-card small{color:var(--muted)}.security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=820px){.security-grid{grid-template-columns:1fr}}.security-card{padding:18px}.security-card h3{margin:0 0 5px;font-size:14px}.security-card p{color:var(--muted);margin:0 0 13px;font-size:12px}.integration-box{color:#dbe7ff;white-space:pre-wrap;text-align:left;background:#0f1b30;border-radius:14px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.7;overflow:auto}.switch-row{background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:9px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;font-size:13px;font-weight:550;transition:border-color .25s,background-color .25s;display:flex}.switch-row:hover{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));background:var(--surface)}.switch-row span{color:var(--text)}
