:root{--primary: #191818;--secondary: #9b9693;--tertiary: #cdc8c4;--surface: #f8f7f5;--white: #ffffff;--border: #efedeb;--border-2: #e6e3e0;--accent: #1e78ee;--accent-soft: rgba(30, 120, 238, .1);--critical: #d9232e;--success: #28a028;--success-2: #1f7a1f;--warn: #c27a12;--brand: #ff5b4f;--shadow: 0 4px 24px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .16);--r-s: 12px;--r-m: 14px;--r-l: 18px;--r-xl: 24px;--hover: #fcfbfa;--chip: #f0eeec;--chip-hover: #f1eeea;--canvas: #fbfaf8;--sel: #eef4fe;--sel-border: #b9d3fa;--warn-bg: #fff8ef;--on-primary: #ffffff;--primary-hover: #000000;--scrim: rgba(25, 24, 24, .32);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--primary);background:var(--surface);-webkit-font-smoothing:antialiased;font-size:14px}button{font-family:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit;color:var(--primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:#1e78ee38}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--secondary)}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app{display:flex;min-height:100vh}.sidebar{width:76px;background:var(--white);border-right:1px solid var(--border);padding:16px 10px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;z-index:20}.brand-link{display:block;margin-bottom:12px;border-radius:12px}.brand-mark{width:44px;height:44px;display:block}.nav-item{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:var(--secondary);border:none;background:none;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface);color:var(--primary)}.nav-item.active{background:var(--primary);color:var(--on-primary)}.nav-item .count{position:absolute;top:5px;right:5px;background:var(--accent);color:#fff;border-radius:999px;font-size:10px;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}.nav-tip{position:absolute;left:60px;top:50%;transform:translateY(-50%) translate(-4px);background:var(--primary);color:var(--on-primary);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;z-index:50}.nav-item:hover .nav-tip{opacity:1;transform:translateY(-50%)}.sidebar .spacer{flex:1}.userbox{padding:3px;border-radius:999px;cursor:pointer;border:none;background:none}.userbox:hover{background:var(--surface)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:14px;position:sticky;top:0;z-index:15}.content{padding:28px 40px 80px;flex:1;min-width:0}.content.flush{padding:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h2{font-size:24px;font-weight:700;letter-spacing:-.01em}.page-head .sub{font-size:14px;color:var(--secondary);margin-top:4px}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.gsearch{flex:1;max-width:640px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-2);border-radius:999px;padding:0 8px 0 16px;height:42px;color:var(--secondary);cursor:text;transition:border-color .15s,background .15s}.gsearch:hover{border-color:var(--tertiary)}.gsearch{font:inherit;text-align:left;min-width:0}.gsearch .gs-label{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd{font:600 11px/1 var(--font);color:var(--secondary);background:var(--white);border:1px solid var(--border-2);border-bottom-width:2px;border-radius:6px;padding:4px 6px}.topbar .spacer{flex:1}.avatar{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.btn{border:none;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background .15s,border-color .15s,transform .12s}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--primary);border:1px solid var(--border-2)}.btn-secondary:hover{background:var(--chip)}.btn-ghost{background:transparent;color:var(--secondary)}.btn-ghost:hover{background:var(--surface);color:var(--primary)}.btn-danger{background:var(--white);color:var(--critical);border:1.5px solid var(--critical)}.btn-danger:hover{background:#d9232e0f}.btn-sm{padding:8px 14px;font-size:13px}.btn-xs{padding:5px 10px;font-size:12px;gap:5px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%;justify-content:center}.icon-btn{width:36px;height:36px;border-radius:999px;border:none;background:transparent;color:var(--secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface);color:var(--primary)}.icon-btn.on{background:var(--primary);color:var(--on-primary)}.icon-btn.sm{width:30px;height:30px}.close{width:36px;height:36px;border-radius:999px;background:var(--surface);border:none;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.close:hover{background:var(--chip)}.chip{border:1px solid var(--border-2);background:var(--white);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:500;color:var(--primary);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--tertiary)}.chip.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.chip .x{opacity:.6;margin-left:2px}.tabs{display:inline-flex;gap:2px;background:var(--chip);border-radius:999px;padding:3px}.tabs button{border:none;background:none;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:500;color:var(--secondary);white-space:nowrap}.tabs button.active{background:var(--primary);color:var(--on-primary)}.seg{display:inline-flex;background:var(--chip);border-radius:999px;padding:2px;gap:2px}.seg button{border:none;background:none;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:500;color:var(--secondary);display:inline-flex;align-items:center;gap:4px}.seg button.on{background:var(--white);color:var(--primary);box-shadow:0 1px 3px #00000014}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--shadow)}.field-label{font-size:11px;font-weight:600;color:var(--secondary);letter-spacing:.03em;margin:18px 0 8px;text-transform:uppercase}.input,textarea.input,select.input{width:100%;border:1px solid var(--border-2);border-radius:var(--r-m);padding:11px 14px;font-size:14px;background:var(--white);transition:border-color .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{min-height:72px;resize:vertical}.note{display:flex;align-items:flex-start;gap:10px;border-radius:var(--r-m);padding:12px 14px;font-size:13px;font-weight:500;background:var(--surface);color:var(--secondary);line-height:1.45}.note .dot{margin-top:5px}.note.ok{background:#28a02814;color:var(--success-2)}.note.bad{background:#d9232e12;color:var(--critical)}.note.warn{background:var(--warn-bg);color:var(--warn)}.dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex-shrink:0}.login-err{color:var(--critical);font-size:13px;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;white-space:nowrap;background:var(--chip);color:var(--secondary)}.badge.ok{background:#28a0281a;color:var(--success-2)}.badge.info{background:var(--accent-soft);color:var(--accent)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:#d9232e17;color:var(--critical)}.badge.progress{background:var(--accent-soft);color:var(--accent)}.badge.progress:before{content:"";width:7px;height:7px;border-radius:99px;border:1.5px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{padding:60px;text-align:center;color:var(--secondary)}.spin{width:18px;height:18px;border-radius:99px;border:2px solid var(--border-2);border-top-color:var(--primary);animation:spin .7s linear infinite;display:inline-block}.skel{background:linear-gradient(90deg,var(--chip) 0%,var(--surface) 50%,var(--chip) 100%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--secondary);padding:56px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.empty b{display:block;color:var(--primary);font-size:16px}.empty .em-ill{width:120px;height:96px;margin-bottom:8px}.empty .btns{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;justify-content:center}.snacks{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;background:var(--primary);color:var(--on-primary);border-radius:999px;box-shadow:var(--shadow-lg);padding:11px 16px 11px 18px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;animation:toastIn .22s var(--ease);max-width:min(560px,calc(100vw - 32px))}.toast.bad{background:var(--critical);color:#fff}.toast button{border:none;background:#ffffff29;color:inherit;font-weight:600;font-size:13px;border-radius:999px;padding:5px 10px}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:60;display:flex;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal-card{margin:auto;width:480px;max-width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;padding:24px;animation:pop .2s var(--ease)}.modal-card.wide{width:680px}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.modal-head h3{font-size:19px;font-weight:700}.modal-sub{color:var(--secondary);font-size:14px;line-height:1.45;margin-bottom:8px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}.drawer{margin-left:auto;width:440px;max-width:100%;height:100%;background:var(--white);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideIn .2s var(--ease)}@keyframes slideIn{0%{transform:translate(28px);opacity:.5}to{transform:none;opacity:1}}.ctxmenu{position:fixed;z-index:80;background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;min-width:220px;animation:pop .12s ease}.ctxmenu button{display:flex;width:100%;align-items:center;gap:10px;padding:9px 12px;border:none;background:none;font-size:14px;border-radius:9px;text-align:left;color:var(--primary)}.ctxmenu button:hover,.ctxmenu button:focus-visible{background:var(--surface);outline:none}.ctxmenu button.danger{color:var(--critical)}.ctxmenu button svg{color:var(--secondary);flex-shrink:0}.ctxmenu button.danger svg{color:var(--critical)}.ctxmenu .sep{height:1px;background:var(--border);margin:5px 6px}.ctxmenu .hint{margin-left:auto;font-size:12px;color:var(--tertiary)}.ctxmenu .mtitle{font-size:12px;font-weight:600;color:var(--secondary);padding:6px 12px 4px}.ctx-scrim{position:fixed;inset:0;z-index:79}.login{display:flex;min-height:100vh}.login .brand-panel{width:46%;background:var(--primary);color:#fff;padding:72px 64px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login .brand-panel .logo{width:64px;height:64px;border-radius:18px;background:#fff;padding:6px}.login .brand-panel h1{font-size:40px;font-weight:800;margin-top:auto;letter-spacing:-.02em;line-height:1.05}.login .brand-panel h1 b{color:var(--brand)}.login .brand-panel p{color:#ffffffd1;font-size:17px;margin-top:18px;max-width:440px;line-height:1.5}.login .brand-panel .feats{display:grid;gap:10px;margin-top:28px;color:#ffffffc7;font-size:14px}.login .brand-panel .feats div{display:flex;gap:10px;align-items:center}.login .brand-panel .feats i{width:6px;height:6px;border-radius:9px;background:var(--brand)}.login .brand-panel .foot{margin-top:auto;color:#ffffff8c;font-size:13px;font-weight:500;padding-top:32px}.login .panel{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.login .login-card{width:440px;max-width:100%;padding:32px}.login .login-card h2{font-size:24px;font-weight:700}.login .login-card .muted{margin:8px 0 14px;font-size:15px;line-height:1.45}.pw-wrap{position:relative}.pw-wrap .input{padding-right:46px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:9px;background:transparent;border:none;color:var(--secondary);display:flex;align-items:center;justify-content:center}.pw-toggle:hover{background:var(--surface);color:var(--primary)}.demo-box{margin-top:18px;border:1.5px dashed var(--border-2);border-radius:var(--r-m);padding:12px 14px;font-size:13px;color:var(--secondary);line-height:1.5}.demo-box b{color:var(--primary)}.demo-box code{font:12px var(--mono);background:var(--surface);padding:1px 5px;border-radius:5px;color:var(--primary)}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.hero h1{font-size:30px;font-weight:800;letter-spacing:-.02em}.hero p{color:var(--secondary);font-size:15px;margin-top:6px}.dropcta{display:flex;align-items:center;gap:18px;padding:20px 24px;border:1.5px dashed var(--border-2);border-radius:var(--r-l);background:var(--white);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:32px}.dropcta:hover,.dropcta.drag{border-color:var(--accent);background:var(--sel)}.dropcta .dc-ic{width:52px;height:52px;border-radius:16px;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropcta b{font-size:16px;display:block}.dropcta span{color:var(--secondary);font-size:13px}.section{margin-bottom:36px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}.section-head h3{font-size:17px;font-weight:700}.section-head a,.section-head .lnk{font-size:13px;color:var(--accent);font-weight:600;background:none;border:none}.libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.libcard{padding:18px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s;text-align:left;border:1px solid var(--border)}.libcard:hover{transform:translateY(-2px);box-shadow:0 10px 32px #00000014}.libcard .lc-top{display:flex;align-items:center;gap:12px}.lib-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.libcard b{font-size:15px;display:block}.libcard .lc-meta{display:flex;gap:12px;font-size:12.5px;color:var(--secondary);flex-wrap:wrap}.libcard .lc-desc{font-size:13px;color:var(--secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.ficon{border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.02em;position:relative;overflow:hidden}.ficon.folder{background:none}.thumb{position:relative;background:var(--canvas);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .25s ease}.thumb.contain img{object-fit:contain}.thumb.top img{object-position:top center}.thumb .tb-ext{position:absolute;left:8px;bottom:8px;color:#fff;font:700 9.5px/1 var(--font);letter-spacing:.03em;border-radius:5px;padding:3px 5px;box-shadow:0 1px 3px #0000002e}.thumb .tb-badge{position:absolute;left:8px;bottom:8px;background:#191818b8;color:#fff;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 6px;backdrop-filter:blur(4px)}.ex{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - 64px)}.ex.with-details{grid-template-columns:252px minmax(0,1fr) 340px}.ex-side{border-right:1px solid var(--border);background:var(--white);padding:16px 10px;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto}.ex-side h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tertiary);padding:10px 10px 6px;display:flex;align-items:center;justify-content:space-between}.ex-side h4 button{border:none;background:none;color:var(--secondary);display:flex;padding:2px;border-radius:6px}.ex-side h4 button:hover{background:var(--surface);color:var(--primary)}.tnode{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:9px;font-size:13.5px;cursor:pointer;color:var(--primary);user-select:none;position:relative}.tnode:hover{background:var(--surface)}.tnode.active{background:var(--chip);font-weight:600}.tnode.drop{background:var(--sel);box-shadow:inset 0 0 0 1.5px var(--accent)}.tnode .chev{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--tertiary);border:none;background:none;border-radius:5px;flex-shrink:0;transition:transform .15s;padding:0}.tnode .chev.open{transform:rotate(90deg)}.tnode .chev:hover{color:var(--primary);background:var(--chip)}.tnode .tlib{width:18px;height:18px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.tnode .count{margin-left:auto;font-size:11px;color:var(--tertiary)}.ex-main{min-width:0;padding:20px 28px 80px;position:relative;container-type:inline-size}.ex-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:2px;flex-wrap:wrap;font-size:22px;font-weight:700;flex:1;min-width:0;letter-spacing:-.01em}.crumbs button{border:none;background:none;font:inherit;color:var(--secondary);padding:2px 8px;border-radius:9px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs button:hover{background:var(--surface);color:var(--primary)}.crumbs button.cur{color:var(--primary)}.crumbs button.drop{background:var(--sel);box-shadow:inset 0 0 0 1.5px var(--accent)}.crumbs .sep{color:var(--tertiary);font-weight:400}.ex-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap;min-height:40px}.ex-toolbar .spacer{flex:1}.selbar>span{white-space:nowrap}.selbar{display:flex;align-items:center;gap:4px;background:var(--primary);color:var(--on-primary);border-radius:999px;padding:5px 6px 5px 16px;font-size:13px;font-weight:600;animation:pop .15s ease;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.selbar::-webkit-scrollbar{display:none}.selbar button{flex-shrink:0}@container (max-width: 860px){.selbar .lbl-m{display:none}.selbar button:not(.x){padding:7px 9px}}@container (max-width: 520px){.selbar{flex:1 1 100%;order:-1;justify-content:space-between}}.selbar button{border:none;background:transparent;color:inherit;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.selbar button:hover{background:#ffffff24}.selbar .x{width:28px;height:28px;padding:0;justify-content:center}.libinfo{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--secondary);flex-wrap:wrap}.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px}.fgrid>.tile{content-visibility:auto;contain-intrinsic-size:auto 236px}.flist>.frow{content-visibility:auto;contain-intrinsic-size:auto 48px}.tile{position:relative;border-radius:var(--r-m);background:var(--white);border:1px solid var(--border);padding:8px;cursor:default;user-select:none;transition:border-color .12s,box-shadow .15s,transform .15s var(--ease);animation:reveal .24s var(--ease) both;animation-delay:calc(min(var(--i, 0),14)*18ms)}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tile:hover{box-shadow:0 6px 22px #00000012}.tile.sel{border-color:var(--sel-border);background:var(--sel);box-shadow:0 0 0 1.5px var(--accent) inset}.tile.drop{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);transform:scale(1.02)}.tile.dragging{opacity:.45}.tile .thumb{aspect-ratio:4 / 3;width:100%}.tile .tl-name{font-size:13px;font-weight:500;margin:9px 4px 2px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;min-height:34px}.tile .tl-meta{font-size:11.5px;color:var(--secondary);margin:0 4px 2px;display:flex;gap:6px;align-items:center;white-space:nowrap;min-width:0}.pv-badges{display:flex;gap:6px}.m-crumbs{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.m-title{min-width:0;display:flex;flex-direction:column}.m-title b{font-size:19px;font-weight:700;letter-spacing:-.01em}.m-title small{font-size:12px;color:var(--secondary)}.m-lib{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:20px;font-weight:700;min-width:0;letter-spacing:-.01em}.m-lib select{position:absolute;inset:0;opacity:0;font-size:16px}.sheet-scrim{position:fixed;inset:0;background:var(--scrim);z-index:64;animation:fade .15s ease}.tile .tl-fav{position:absolute;top:14px;right:14px;color:#f5b400;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.tile .tl-check{position:absolute;top:14px;left:14px;width:22px;height:22px;border-radius:99px;background:#ffffffeb;border:1.5px solid var(--tertiary);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s;color:#fff}.tile:hover .tl-check,.tile.sel .tl-check,.fgrid.selecting .tl-check{opacity:1}.tile.sel .tl-check{background:var(--accent);border-color:var(--accent)}.tile .tl-status{position:absolute;top:14px;right:14px}.tile.folder .thumb{background:transparent}.folder-ill{width:64%;height:auto}.flist{background:var(--white);border:1px solid var(--border);border-radius:var(--r-l);overflow:hidden}.frow{display:grid;grid-template-columns:28px minmax(0,1fr) 110px 84px 140px 170px 32px;align-items:center;gap:12px;padding:0 16px;height:48px;border-bottom:1px solid var(--surface);font-size:13.5px;user-select:none;animation:reveal .2s var(--ease) both;animation-delay:calc(min(var(--i, 0),14)*12ms)}.frow:last-child{border-bottom:none}.frow:hover{background:var(--hover)}.frow.sel{background:var(--sel)}.frow.drop{background:var(--sel);box-shadow:inset 0 0 0 1.5px var(--accent)}.frow.dragging{opacity:.45}.frow.head{height:38px;font-size:11.5px;font-weight:600;color:var(--secondary);text-transform:uppercase;letter-spacing:.03em;background:var(--canvas);animation:none;position:sticky;top:0;z-index:1}.frow.head button{border:none;background:none;font:inherit;color:inherit;text-transform:inherit;display:inline-flex;align-items:center;gap:4px;padding:0}.frow .nm{display:flex;align-items:center;gap:10px;min-width:0}.frow .nm .ell{font-weight:500}.frow .thumb,.trow .thumb{width:30px;height:30px;border-radius:8px;flex-shrink:0}.frow .thumb .ficon{transform:scale(.82)}.pl-item .thumb{width:36px;height:36px;border-radius:9px}.frow .c{color:var(--secondary);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frow .ck{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--tertiary);display:flex;align-items:center;justify-content:center;color:#fff}.frow.sel .ck{background:var(--accent);border-color:var(--accent)}.frow .c-author{display:flex;align-items:center;gap:8px}@container (max-width: 860px){.frow{grid-template-columns:28px minmax(0,1fr) 84px 130px 32px}.frow .c-type,.frow .c-author{display:none}}@container (max-width: 560px){.frow{grid-template-columns:minmax(0,1fr) 80px 32px}.frow .c-date,.frow .ckc{display:none}}.dropzone-overlay{position:absolute;inset:8px;border:2px dashed var(--accent);border-radius:var(--r-l);background:#1e78ee0f;display:flex;align-items:center;justify-content:center;z-index:12;pointer-events:none;animation:fade .12s ease}.dropzone-overlay div{background:var(--accent);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:center}.drag-ghost{position:fixed;top:-1000px;left:-1000px;background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:999px;font:600 13px var(--font);display:flex;gap:8px;align-items:center}.marquee{position:fixed;border:1px solid var(--accent);background:#1e78ee14;z-index:30;pointer-events:none;border-radius:4px}.details{border-left:1px solid var(--border);background:var(--white);position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto;animation:slideIn .2s var(--ease)}.dt-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px;gap:8px}.dt-head h4{font-size:13px;font-weight:700;color:var(--secondary)}.dt-body{padding:4px 18px 28px}.dt-thumb{width:100%;aspect-ratio:4 / 3;margin-bottom:14px;cursor:zoom-in}.dt-title{font-size:17px;font-weight:700;line-height:1.3;word-break:break-word}.dt-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 4px}.kv{display:grid;grid-template-columns:110px minmax(0,1fr);gap:7px 10px;font-size:13px;margin-top:10px}.kv dt{color:var(--secondary)}.kv dd{word-break:break-word;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.kv dd.who{flex-wrap:nowrap}.kv dd.who .ell{flex:1}.kv dd.mono{font:12px var(--mono)}.dt-sec{margin-top:22px}.dt-sec h5{font-size:11px;font-weight:700;color:var(--tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.dt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.vlist{display:grid;gap:6px}.vrow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);font-size:12.5px}.vrow.cur{border-color:var(--sel-border);background:var(--sel)}.vrow .vn{font-weight:700;width:28px}.vrow .vi{flex:1;min-width:0}.vrow .vi small{color:var(--secondary);display:block}.tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tag{display:inline-flex;align-items:center;gap:4px;background:var(--chip);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.tag button{border:none;background:none;color:var(--secondary);padding:0;display:flex}.tag-input{border:1px dashed var(--border-2);border-radius:999px;padding:4px 10px;font-size:12px;background:transparent;width:110px}.tag-input:focus{outline:none;border-color:var(--accent);border-style:solid}.activity{display:grid;gap:10px}.act{font-size:12.5px;display:flex;gap:8px;line-height:1.35}.act .dot{margin-top:5px;background:var(--tertiary)}.act small{color:var(--secondary);display:block}.warns{display:grid;gap:6px;margin-top:8px}.pv{position:fixed;inset:0;z-index:70;background:#121110;display:flex;flex-direction:column;animation:fade .15s ease;color:#f4f1ee}.pv-head{height:60px;display:flex;align-items:center;gap:12px;padding:0 14px 0 18px;flex-shrink:0}.pv-head .ttl{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.pv-head .ttl b{font-size:15px;font-weight:600}.pv-head .ttl small{color:#ffffff8c;font-size:12px;display:block;margin-top:2px}.pv-btn{height:38px;min-width:38px;border-radius:999px;border:none;background:#ffffff14;color:#f4f1ee;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s}.pv-btn:hover{background:#ffffff29}.pv-btn.on{background:#f4f1ee;color:#191818}.pv-btn:disabled{opacity:.35}.pv-body{flex:1;min-height:0;display:flex;position:relative}.pv-stage{flex:1;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.pv-side{width:340px;background:var(--white);color:var(--primary);overflow-y:auto;border-radius:18px 0 0;animation:slideIn .2s var(--ease)}.pv-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;z-index:3;transition:background .15s}.pv-nav:hover{background:#fff3}.pv-nav.l{left:16px}.pv-nav.r{right:16px}.pv-msg{text-align:center;color:#ffffffbf;max-width:460px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;line-height:1.5}.pv-msg b{color:#fff;font-size:17px}.pv-msg .ficon{margin-bottom:8px}.pv-card{background:var(--white);color:var(--primary);border-radius:var(--r-l);max-width:520px;width:calc(100% - 32px);padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.pv-card .kv{text-align:left;width:100%;margin-top:14px}.pv-tools{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#1e1d1ce6;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:5px;z-index:4;backdrop-filter:blur(10px);color:#f4f1ee;box-shadow:0 10px 30px #00000059}.pv-tools .pv-btn{height:34px;min-width:34px;background:transparent}.pv-tools .pv-btn:hover{background:#ffffff1f}.pv-tools .lbl{font-size:13px;padding:0 8px;font-variant-numeric:tabular-nums;white-space:nowrap}.pv-tools input{width:46px;background:#ffffff1a;border:none;color:inherit;border-radius:8px;text-align:center;padding:6px 2px;font-size:13px}.img-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;touch-action:none}.img-stage.zoomed{cursor:grab}.img-stage img{max-width:calc(100% - 48px);max-height:calc(100% - 48px);transition:transform .2s var(--ease);user-select:none;-webkit-user-drag:none;box-shadow:0 10px 40px #0006;background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0 / 16px 16px}.img-stage.zoomed img{max-width:none;max-height:none;transition:none}.media-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.media-stage video{max-width:100%;max-height:100%;border-radius:12px;background:#000;box-shadow:0 10px 40px #0006}.audio-card{background:var(--white);color:var(--primary);border-radius:24px;padding:28px;width:min(520px,calc(100% - 32px));display:flex;flex-direction:column;gap:18px;align-items:center}.audio-card audio{width:100%}.audio-disc{width:140px;height:140px;border-radius:999px;background:radial-gradient(circle at 50% 50%,var(--white) 0 14%,#12a594 15% 17%,#191818 18% 100%);box-shadow:0 12px 30px #00000040;animation:spin 6s linear infinite paused}.audio-disc.playing{animation-play-state:running}.doc-stage{width:100%;height:100%;overflow:auto;padding:24px 24px 90px;display:flex;flex-direction:column;align-items:center;gap:16px}.paper{background:var(--white);color:var(--primary);border-radius:10px;box-shadow:0 10px 40px #00000059;width:min(860px,100%)}.paper.text{padding:36px 44px;font-size:14.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.paper iframe{width:100%;border:none;display:block;border-radius:10px;min-height:70vh;background:#fff}.pdf-page{background:#fff;box-shadow:0 8px 30px #00000059;position:relative;flex-shrink:0;border-radius:2px}.pdf-page canvas{display:block;width:100%;height:100%}.pdf-page .pnum{position:absolute;left:-44px;top:4px;font-size:11px;color:#ffffff73;font-variant-numeric:tabular-nums}.pdf-page.hit{outline:3px solid var(--accent);outline-offset:4px}.pdf-search{position:absolute;top:12px;right:12px;width:320px;max-height:calc(100% - 100px);background:var(--white);color:var(--primary);border-radius:16px;box-shadow:var(--shadow-lg);z-index:5;display:flex;flex-direction:column;overflow:hidden;animation:pop .15s ease}.pdf-search .ps-in{padding:10px;border-bottom:1px solid var(--border);display:flex;gap:6px}.pdf-search .ps-list{overflow-y:auto;padding:6px}.pdf-search .ps-hit{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:9px;font-size:12.5px;line-height:1.4}.pdf-search .ps-hit:hover{background:var(--surface)}.pdf-search .ps-hit b{font-size:11px;color:var(--secondary);display:block}mark{background:#ffe58a;color:#191818;border-radius:3px;padding:0 1px}.code{background:var(--white);color:var(--primary);border-radius:12px;box-shadow:0 10px 40px #00000059;width:min(1100px,100%);overflow:auto;font:12.5px/1.6 var(--mono)}.code table{border-collapse:collapse;width:100%}.code td.ln{color:var(--tertiary);text-align:right;padding:0 12px 0 16px;user-select:none;vertical-align:top;width:1%;white-space:nowrap;border-right:1px solid var(--border)}.code td.lc{padding:0 16px;white-space:pre}.code.wrap td.lc{white-space:pre-wrap;word-break:break-all}.code tr.hl td{background:#fff7d6}.sheet tr.hl td{box-shadow:inset 0 2px #f5b400,inset 0 -2px #f5b400}mark.kh-mark{background:#ffe680;color:inherit;border-radius:2px;padding:0 1px}.slide mark.kh-mark{background:#ffe680}.md{padding:36px 48px;font-size:15px;line-height:1.65}.md h1,.md h2,.md h3{margin:1.1em 0 .45em;line-height:1.25}.md h1{font-size:26px}.md h2{font-size:21px}.md h3{font-size:17px}.md p,.md ul,.md ol,.md pre,.md blockquote,.md table{margin:.6em 0}.md ul,.md ol{padding-left:1.4em}.md code{font:13px var(--mono);background:var(--surface);padding:1px 5px;border-radius:5px}.md pre{background:var(--surface);padding:12px 14px;border-radius:10px;overflow:auto}.md pre code{background:none;padding:0}.md blockquote{border-left:3px solid var(--border-2);padding-left:14px;color:var(--secondary)}.md table{border-collapse:collapse}.md td,.md th{border:1px solid var(--border-2);padding:6px 10px}.md a{color:var(--accent);text-decoration:underline}.sheet-wrap{width:min(1200px,100%);background:var(--white);color:var(--primary);border-radius:12px;box-shadow:0 10px 40px #00000059;display:flex;flex-direction:column;max-height:100%;overflow:hidden}.sheet-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.sheet-scroll{overflow:auto;flex:1;position:relative}.sheet{border-collapse:separate;border-spacing:0;font-size:12.5px;font-variant-numeric:tabular-nums}.sheet th,.sheet td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px 10px;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;text-align:left;height:28px}.sheet thead th{position:sticky;top:0;background:var(--canvas);z-index:2;font-weight:600;color:var(--secondary);text-align:center}.sheet td.num{text-align:right}.sheet td.rn,.sheet th.rn{position:sticky;left:0;background:var(--canvas);color:var(--tertiary);text-align:right;z-index:1;font-size:11px}.sheet thead th.rn{z-index:3}.sheet-foot{font-size:12px;color:var(--secondary);padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.xl-wrap{width:min(1400px,100%);background:#fff;color:#1f1f1f}.xl-scroll{background:#fff;overscroll-behavior:contain}.xl{border-collapse:separate;border-spacing:0;table-layout:fixed;color:#000;background:#fff;font-variant-numeric:tabular-nums;line-height:1.25}.xl th,.xl td{border-right:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;padding:1px 4px;overflow:hidden;white-space:pre;text-overflow:clip;vertical-align:bottom;text-align:left}.xl td.spill{overflow:visible;position:relative}.xl td.spill>span{position:relative;z-index:1}.xl thead th{position:sticky;top:0;z-index:3;background:#f3f3f3;color:#555;font:600 11.5px/1 var(--font);text-align:center;height:22px;border-bottom-color:#cfcfcf}.xl td.rn,.xl th.rn{position:sticky;left:0;z-index:2;background:#f3f3f3;color:#666;font:500 11px/1 var(--font);text-align:center;vertical-align:middle;border-right-color:#cfcfcf}.xl thead th.rn{z-index:4}.xl tr.hl td{box-shadow:inset 0 2px #f5b400,inset 0 -2px #f5b400}.xl tr.hl td.rn{background:#f5b400;color:#000}.xl td.hit{box-shadow:inset 0 0 0 2px #f5b400;background-image:linear-gradient(#ffd50038,#ffd50038)}.xl tr.frozen-edge td:not(.rn){box-shadow:inset 0 -2px #9aa6b2}.xl td.frozen-edge-c{box-shadow:inset -2px 0 #9aa6b2}.xl td.has-note{position:relative}.xl td.has-note:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #d9232e transparent transparent}.xl td a{color:#0563c1;text-decoration:underline}.xl .xl-link{border:none;background:none;padding:0;font:inherit;color:#0563c1;text-decoration:underline;cursor:pointer}.xl.legacy th,.xl.legacy td{padding:5px 10px;white-space:nowrap;max-width:360px;text-overflow:ellipsis;height:28px;vertical-align:middle}.xl.legacy td.num{text-align:right}.xl-foot{display:flex;align-items:center;gap:12px;border-top:1px solid #e1e1e1;background:#f7f7f7;color:#555;font-size:12px;padding:0 8px 0 0;flex-shrink:0;min-height:40px}.xl-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:0 1 auto;align-self:stretch}.xl-tabs::-webkit-scrollbar{display:none}.xl-tabs button{border:none;background:transparent;color:#444;font:500 12.5px var(--font);padding:0 14px;white-space:nowrap;border-top:3px solid transparent}.xl-tabs button:hover{background:#ececec}.xl-tabs button.on{background:#fff;color:#0f7b3f;border-top-color:#1d9d58;font-weight:600;box-shadow:1px 0 #e1e1e1,-1px 0 #e1e1e1}.xl-info{display:flex;gap:10px;align-items:center;min-width:0;overflow:hidden;white-space:nowrap;padding-left:12px;flex:1}.xl-info b{color:#1f1f1f;overflow:hidden;text-overflow:ellipsis}.xl-info .dim{color:#888;overflow:hidden;text-overflow:ellipsis}.xl-zoom{display:flex;align-items:center;gap:2px;flex-shrink:0}.xl-zoom button{border:none;background:transparent;color:#444;height:28px;min-width:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font:600 12px var(--font)}.xl-zoom button:hover:not(:disabled){background:#e9e9e9}.xl-zoom button:disabled{opacity:.35}.xl-zoom .lbl{min-width:48px}@media (max-width: 760px){.xl-info .dim{display:none}.xl-tabs button{padding:0 10px}}.iw{width:min(1100px,100%);display:flex;flex-direction:column;gap:14px}.iw-tabs{display:flex;gap:6px;flex-wrap:wrap}.iw-tabs .chip{background:#ffffff14;color:#eee;border-color:#ffffff2e}.iw-tabs .chip.active{background:#fff;color:#111;border-color:#fff}.iw-paper{background:#fff;color:#1f1f1f;border-radius:12px;box-shadow:0 10px 40px #00000059;overflow:hidden}.iw-paper img{display:block;width:100%;height:auto}.iw-text{padding:28px 36px;font-size:14.5px;line-height:1.6}.iw-text h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#888;margin:18px 0 8px}.iw-text h4:first-child{margin-top:0}.iw-text p{margin:0 0 .7em;white-space:pre-wrap}.iw-cells{display:flex;flex-wrap:wrap;gap:6px}.iw-cells span{background:#f3f3f3;border:1px solid #e6e6e6;border-radius:6px;padding:3px 8px;font-size:13px;max-width:100%;overflow-wrap:anywhere}.iw-cells span.hit,.iw-text p.hit{background:#fff1b8;border-color:#f5b400}.iw-note{font-size:12.5px;color:#c8c8c8}.slides{width:min(980px,100%);display:grid;gap:18px}.sv-list{width:min(1100px,100%);display:grid;gap:22px}.sv-wrap{display:grid;gap:8px}.sv-slide{position:relative;width:100%;overflow:hidden;container-type:inline-size;border-radius:6px;box-shadow:0 10px 40px #00000059;color:#000;font-family:Calibri,Carlito,Segoe UI,system-ui,sans-serif;line-height:1.17}.sv-slide.hit{outline:3px solid var(--accent);outline-offset:4px}.sv-it{position:absolute;box-sizing:border-box}img.sv-it{object-fit:fill;user-select:none}.sv-sp{display:flex;flex-direction:column;overflow:visible;word-wrap:break-word}.sv-p{white-space:pre-wrap}.sv-bu{display:inline-block;min-width:1.1em;margin-right:.25em;text-indent:0}.sv-missing{display:flex;align-items:center;justify-content:center;border:1.5px dashed #b9b9b9;background:repeating-linear-gradient(45deg,#f6f6f6 0 8px,#efefef 8px 16px);color:#888;font:600 1.4cqw/1.2 var(--font);text-align:center;padding:1cqw}.sv-tbl{width:100%;height:100%;border-collapse:collapse;table-layout:fixed}.sv-tbl td{border:max(1px,.08cqw) solid #fff;padding:.4cqw .7cqw;overflow:hidden}.sv-cap{display:flex;gap:12px;align-items:baseline;color:#cfcfcf;font-size:12.5px}.sv-cap>span{font-weight:700;min-width:20px}.sv-cap details{flex:1}.sv-cap summary{cursor:pointer;color:#bdbdbd}.sv-cap p{margin:6px 0 0;white-space:pre-wrap;color:#e6e6e6;line-height:1.5}.slide-notes{margin-top:auto;font-size:13px;color:var(--secondary);border-top:1px solid var(--border);padding-top:8px;white-space:pre-wrap}.slide{background:var(--white);color:var(--primary);border-radius:12px;aspect-ratio:16 / 9;padding:6% 7%;box-shadow:0 10px 40px #00000059;display:flex;flex-direction:column;gap:10px;overflow:hidden;position:relative}.slide.hit{outline:3px solid var(--accent);outline-offset:4px}.slide h3{font-size:clamp(16px,2.6vw,28px);font-weight:700;line-height:1.2}.slide ul{padding-left:1.2em;font-size:clamp(12px,1.6vw,17px);line-height:1.5;color:var(--secondary);overflow:hidden}.slide .snum{position:absolute;right:18px;bottom:12px;font-size:12px;color:var(--tertiary);font-weight:600}.arch{width:min(900px,100%);background:var(--white);color:var(--primary);border-radius:12px;box-shadow:0 10px 40px #00000059;overflow:hidden;display:flex;flex-direction:column;max-height:100%}.arch-head{padding:16px 18px;border-bottom:1px solid var(--border);display:grid;gap:8px}.arch-list{overflow:auto;padding:6px 8px 12px}.arow{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px}.arow:hover{background:var(--surface)}.arow .sz{margin-left:auto;color:var(--secondary);font-size:12px;font-variant-numeric:tabular-nums}.arow.unsafe{color:var(--critical)}.model-stage{width:100%;height:100%}.model-stage canvas{display:block}.search-top{display:flex;gap:10px;align-items:center;margin-bottom:14px}.search-box{flex:1;display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--border-2);border-radius:999px;padding:0 8px 0 18px;height:50px;box-shadow:var(--shadow)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box input{flex:1;border:none;outline:none;font-size:16px;background:transparent}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}select.chip{-webkit-appearance:none;appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--secondary) 50%),linear-gradient(135deg,var(--secondary) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer;text-overflow:ellipsis;max-width:100%}select.chip:hover{border-color:var(--tertiary)}select.chip::-ms-expand{display:none}.results{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.result{display:flex;gap:14px;padding:14px 16px;border-radius:var(--r-m);background:var(--white);border:1px solid var(--border);cursor:pointer;transition:border-color .12s,box-shadow .15s;animation:reveal .2s var(--ease) both;animation-delay:calc(min(var(--i, 0),12)*20ms);text-align:left;width:100%}.result:hover{border-color:var(--tertiary);box-shadow:var(--shadow)}.result .thumb{width:64px;height:64px;flex-shrink:0}.result .r-body{flex:1;min-width:0}.result .r-title{font-size:15px;font-weight:600}.result .r-path{font-size:12px;color:var(--secondary);margin-top:2px}.result .r-hit{font-size:13px;color:var(--primary);margin-top:8px;line-height:1.5;display:flex;gap:8px;align-items:baseline}.result .r-hit .loc{flex-shrink:0;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:1px 6px}.result .r-meta{display:flex;gap:10px;font-size:12px;color:var(--secondary);margin-top:8px;align-items:center;flex-wrap:wrap}.result mark,.quote mark{background:#ffe680;color:inherit;border-radius:3px;padding:0 1px}.r-section{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--secondary);margin:10px 2px 2px}.r-section .n{background:var(--chip);color:var(--primary);border-radius:999px;padding:1px 8px;font-size:11px;letter-spacing:0}.r-section .hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--tertiary)}.r-section.inner{color:var(--accent);margin-top:18px}.r-toggle{justify-self:start}.r-also{align-self:center;flex-shrink:0;font-size:11.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 9px}.result.inner{cursor:default;border-left:3px solid var(--accent)}.result.inner:hover{box-shadow:none;border-color:var(--border);border-left-color:var(--accent)}.result .r-head{display:flex;align-items:baseline;gap:10px;min-width:0}.result .r-head .r-title{flex-shrink:1;min-width:0;max-width:60%}.result .r-head .r-path{margin:0;flex:1;min-width:0}.linkish{background:none;border:none;padding:0;text-align:left;color:var(--primary);font:inherit;font-weight:600;cursor:pointer}.linkish:hover{color:var(--accent);text-decoration:underline}.quote{display:block;width:100%;text-align:left;margin-top:8px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--primary);font:13.5px/1.55 var(--font);cursor:pointer;transition:border-color .12s,background .12s}.quote:hover{border-color:var(--accent);background:var(--accent-soft)}.quote .q-loc{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--accent);background:var(--white);border:1px solid var(--accent-soft);border-radius:6px;padding:1px 7px;margin-right:8px;vertical-align:1px}.quote .q-text:before{content:"«";color:var(--tertiary)}.quote .q-text:after{content:"»";color:var(--tertiary)}.q-more{font-size:12px;color:var(--secondary);margin-top:6px}.pal-inner{font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:1px 6px;margin-right:6px}.fold-hits{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.palette{margin:10vh auto auto;width:640px;max-width:calc(100% - 24px);background:var(--white);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .16s var(--ease);align-self:flex-start}.palette .pl-in{display:flex;align-items:center;gap:12px;padding:0 18px;height:60px;border-bottom:1px solid var(--border);color:var(--secondary)}.palette .pl-in input{flex:1;border:none;outline:none;font-size:17px;background:transparent}.palette .pl-list{max-height:60vh;overflow-y:auto;padding:8px}.palette .pl-group{font-size:11px;font-weight:700;color:var(--tertiary);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px 6px}.palette .pl-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;cursor:pointer;width:100%;border:none;background:none;text-align:left}.palette .pl-item.on{background:var(--surface)}.palette .pl-item small{display:block;color:var(--secondary);font-size:12px;margin-top:1px}.palette .pl-foot{display:flex;gap:14px;padding:10px 16px;border-top:1px solid var(--border);font-size:12px;color:var(--secondary)}.uppanel{position:fixed;right:24px;bottom:24px;width:400px;max-width:calc(100vw - 32px);z-index:50;background:var(--white);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .2s var(--ease);display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - 48px))}.uppanel.with-mascot{right:120px}.up-head{display:flex;align-items:center;gap:10px;padding:14px 12px 12px 18px;border-bottom:1px solid var(--border)}.up-head b{font-size:14.5px}.up-head small{display:block;font-size:12px;color:var(--secondary);margin-top:2px;font-variant-numeric:tabular-nums}.up-total{height:3px;background:var(--chip);position:relative;overflow:hidden}.up-total i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);transition:width .25s ease}.up-list{overflow-y:auto;padding:6px}.up-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:12px}.up-item:hover{background:var(--hover)}.up-item .nm{font-size:13px;font-weight:500}.up-item .st{font-size:11.5px;color:var(--secondary);margin-top:3px;display:flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums}.up-item .st.bad{color:var(--critical)}.up-item .st.ok{color:var(--success-2)}.up-bar{height:4px;background:var(--chip);border-radius:99px;margin-top:6px;overflow:hidden}.up-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .2s linear}.up-bar.verifying i,.up-bar.processing i{background:repeating-linear-gradient(-45deg,var(--accent) 0 8px,#5b9cf3 8px 16px);background-size:22px 22px;animation:stripes .7s linear infinite;width:100%!important}@keyframes stripes{to{background-position:22px 0}}.up-acts{display:flex;gap:2px}.stages{display:flex;gap:3px;margin-top:5px}.stages i{height:3px;flex:1;border-radius:9px;background:var(--chip)}.stages i.on{background:var(--accent)}.stages i.ok{background:var(--success)}.stages i.bad{background:var(--critical)}.up-pending{padding:10px 14px;border-top:1px solid var(--border);background:var(--canvas);font-size:12.5px;color:var(--secondary)}.up-pending .pi{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--primary)}.import-tree{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:6px 10px;margin-top:12px;font-size:13px}.import-tree div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}.import-tree span{color:var(--secondary)}.conflict-opts{display:grid;gap:8px;margin-top:14px}.conflict-opts button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border-2);background:var(--white);border-radius:14px;padding:12px 14px;font-size:14px;transition:border-color .12s,background .12s}.conflict-opts button:hover{border-color:var(--primary);background:var(--hover)}.conflict-opts button small{display:block;color:var(--secondary);font-size:12.5px;margin-top:2px}.conflict-opts .co-ic{width:34px;height:34px;border-radius:10px;background:var(--chip);display:flex;align-items:center;justify-content:center;flex-shrink:0}.check{display:flex;gap:8px;align-items:center;font-size:13.5px;margin-top:14px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--primary)}.mascot-fab{position:fixed;right:18px;bottom:14px;width:92px;height:104px;z-index:55;border:none;background:none;padding:0;cursor:pointer;filter:drop-shadow(0 10px 18px rgba(0,0,0,.14));transition:transform .2s var(--ease)}.mascot-fab:hover{transform:translateY(-3px)}.mascot-fab canvas,.mascot-fab svg{width:100%;height:100%;display:block}.mascot-fab .bubble{position:absolute;right:86px;bottom:58px;background:var(--white);color:var(--primary);border:1px solid var(--border);padding:8px 12px;border-radius:14px 14px 4px;font-size:12.5px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;pointer-events:none}.mascot-fab:hover .bubble,.mascot-fab .bubble.show{opacity:1;transform:none}.asst{position:fixed;right:16px;top:16px;bottom:16px;width:440px;max-width:calc(100vw - 32px);z-index:58;background:var(--white);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slideIn .22s var(--ease)}.asst-head{display:flex;align-items:center;gap:12px;padding:12px 12px 10px 14px;border-bottom:1px solid var(--border)}.asst-head .mascot-mini{width:64px;height:70px;flex-shrink:0}.asst-head .mascot-mini canvas,.asst-head .mascot-mini svg{width:100%;height:100%;display:block}.asst-head b{font-size:16px}.asst-head small{display:block;font-size:12px;color:var(--secondary);margin-top:3px}.asst-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.msg{max-width:92%;font-size:14px;line-height:1.5;animation:reveal .2s var(--ease) both}.msg.user{align-self:flex-end;background:var(--primary);color:var(--on-primary);padding:10px 14px;border-radius:18px 18px 4px}.msg.bot{align-self:flex-start;width:100%;max-width:100%}.msg.bot .txt{background:var(--surface);padding:11px 14px;border-radius:18px 18px 18px 4px;white-space:pre-wrap}.msg.bot .txt sup{font-size:10px;font-weight:700;color:var(--accent)}.srcs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px}.src{min-width:0;display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px;cursor:pointer;background:var(--white);text-align:left;width:100%;transition:border-color .12s,box-shadow .12s}.src:hover{border-color:var(--tertiary);box-shadow:var(--shadow)}.src .n{width:20px;height:20px;border-radius:99px;background:var(--chip);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.src .sb{flex:1;min-width:0}.src b{font-size:13.5px;font-weight:600;display:block}.src small{color:var(--secondary);font-size:11.5px;display:block;margin-top:1px}.src .sn{font-size:12.5px;margin-top:6px;line-height:1.45;color:var(--primary)}.src .loc{font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:1px 6px;margin-right:6px}.asst-intro{text-align:center;color:var(--secondary);font-size:13.5px;line-height:1.5;padding:12px 8px}.asst-intro b{color:var(--primary);display:block;font-size:16px;margin-bottom:6px}.sugg{display:flex;flex-direction:column;gap:8px;margin-top:14px}.sugg button{border:1px solid var(--border-2);background:var(--white);border-radius:14px;padding:10px 12px;font-size:13px;text-align:left;transition:border-color .12s}.sugg button:hover{border-color:var(--primary)}.asst-foot{padding:12px;border-top:1px solid var(--border)}.asst-input{display:flex;align-items:flex-end;gap:8px;background:var(--surface);border:1px solid var(--border-2);border-radius:18px;padding:6px 6px 6px 14px}.asst-input:focus-within{border-color:var(--accent)}.asst-input textarea{flex:1;border:none;outline:none;background:transparent;resize:none;font-size:14px;line-height:1.45;padding:6px 0;max-height:120px}.typing{display:inline-flex;gap:4px;padding:12px 14px;background:var(--surface);border-radius:18px 18px 18px 4px}.typing i{width:6px;height:6px;border-radius:9px;background:var(--secondary);animation:blink 1s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:22px}.stat{padding:18px}.stat small{font-size:12px;color:var(--secondary);font-weight:600}.stat b{display:block;font-size:26px;font-weight:800;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .sub{font-size:12px;color:var(--secondary);margin-top:4px}.meter{height:8px;background:var(--chip);border-radius:99px;overflow:hidden;margin-top:10px;display:flex}.meter i{height:100%}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-size:11.5px;color:var(--secondary);font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--canvas);white-space:nowrap}.tbl td{padding:10px 14px;border-bottom:1px solid var(--surface);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--hover)}.comp{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--surface);font-size:13.5px}.comp:last-child{border-bottom:none}.comp small{display:block;color:var(--secondary);font-size:12px;margin-top:2px}.fmt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.fmt-card{padding:16px}.fmt-card h4{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:10px}.fmt-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:4px 0}.fmt-row code{font:600 12px var(--mono);width:54px}.fmt-row span.n{color:var(--secondary);font-size:11.5px}.members{display:grid;gap:6px;margin-top:8px}.member{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px}.member .mi{flex:1;min-width:0}.member small{color:var(--secondary);font-size:12px;display:block}.member select{border:1px solid var(--border-2);border-radius:999px;padding:6px 10px;font-size:12.5px;background:var(--white)}.picker{position:relative}.picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto;z-index:5;padding:6px}.picker-list button{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;padding:8px 10px;border-radius:9px;text-align:left;font-size:13.5px}.picker-list button:hover{background:var(--surface)}.picker-list small{color:var(--secondary);font-size:12px;display:block}.colors{display:flex;gap:8px;flex-wrap:wrap}.colors button{width:28px;height:28px;border-radius:99px;border:2px solid transparent;box-shadow:inset 0 0 0 2px var(--white)}.colors button.on{border-color:var(--primary)}.trow{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--surface)}.trow:last-child{border-bottom:none}.trow .ti{flex:1;min-width:0}.trow small{color:var(--secondary);font-size:12px;display:block;margin-top:2px}body:has(.ex.with-details) .mascot-fab{right:358px}body:has(.ex.with-details) .uppanel.with-mascot{right:460px}@media (max-width: 1280px){.ex.with-details{grid-template-columns:220px minmax(0,1fr) 300px}body:has(.ex.with-details) .mascot-fab{right:318px}body:has(.ex.with-details) .uppanel.with-mascot{right:420px}.ex{grid-template-columns:220px minmax(0,1fr)}.content{padding:24px 28px 80px}}@media (max-width: 1080px){.ex,.ex.with-details{grid-template-columns:minmax(0,1fr)}.ex-side{display:none}.details{position:fixed;right:0;top:0;bottom:0;height:100%;width:360px;z-index:40;box-shadow:var(--shadow-lg)}body:has(.details) .mascot-fab{display:none}body:has(.ex.with-details) .uppanel.with-mascot{right:120px}}@media (max-width: 768px),(max-height: 500px) and (hover: none) and (pointer: coarse){.input,textarea.input,select.input,.search-box input,.palette input,.asst-input textarea{font-size:16px}.app{flex-direction:column}.sidebar{position:fixed;inset:auto 0 0;z-index:30;width:100%;height:auto;flex-direction:row;justify-content:space-around;align-items:center;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--border);box-shadow:0 -4px 20px #0000000d}.brand-link,.sidebar .spacer,.nav-tip,.nav-hide-m{display:none}.nav-item{width:50px;height:44px;border-radius:12px}.userbox .avatar{width:32px!important;height:32px!important}.topbar{height:auto;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;gap:8px}.topbar .t-upload-label{display:none}.gsearch{height:40px}.gsearch .kbd{display:none}.content{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head h2{font-size:21px}.hero h1{font-size:24px}.hero{margin-bottom:18px}.dropcta{padding:14px 16px;gap:12px}.ex-main{padding:14px 14px calc(110px + env(safe-area-inset-bottom))}.crumbs{font-size:18px}.fgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.frow{height:56px;padding:0 12px}.frow.head{display:none}.details{width:100%;top:auto;height:82dvh;border-radius:22px 22px 0 0;animation:sheetUp .22s var(--ease);z-index:65}@keyframes sheetUp{0%{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}.pv-head{height:auto;padding:calc(8px + env(safe-area-inset-top)) 8px 8px 12px;flex-wrap:wrap}.pv-head .pv-hide-m{display:none}.pv-side{position:absolute;inset:auto 0 0;width:100%;height:75%;border-radius:22px 22px 0 0;z-index:6}.pv-nav{display:none}.paper.text,.md{padding:22px 18px}.doc-stage{padding:12px 8px 90px}.pdf-page .pnum{display:none}.pdf-search{left:8px;right:8px;width:auto}.uppanel,.uppanel.with-mascot{left:10px;right:10px;width:auto;bottom:calc(68px + env(safe-area-inset-bottom));max-height:60dvh}.snacks{bottom:calc(76px + env(safe-area-inset-bottom))}.mascot-fab{width:62px;height:70px;right:10px;bottom:calc(66px + env(safe-area-inset-bottom))}.mascot-fab .bubble{display:none}.asst{inset:0;width:100%;max-width:none;border-radius:0;border:none;padding-top:env(safe-area-inset-top)}.modal-card{width:100%;max-width:calc(100% - 20px);padding:20px}.scrim.sheet-m{align-items:flex-end}.scrim.sheet-m>.modal-card{margin:0;max-width:100%;border-radius:22px 22px 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom));animation:sheetUp .22s var(--ease)}.login{flex-direction:column}.login .brand-panel{width:100%;padding:calc(28px + env(safe-area-inset-top)) 24px 28px}.login .brand-panel h1{font-size:30px;margin-top:18px}.login .brand-panel p{font-size:15px}.login .brand-panel .feats,.login .brand-panel .foot{display:none}.login .panel{padding:18px 14px 40px;align-items:flex-start}.login .login-card{padding:22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tbl-wrap{overflow-x:auto}.palette{margin-top:calc(8px + env(safe-area-inset-top))}.selbar{position:fixed;left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:35;justify-content:space-between;overflow-x:auto}.selbar .lbl-m{display:none}}@media (max-width: 768px),(max-height: 500px) and (hover: none) and (pointer: coarse){.mascot-fab,.hero-ask{display:none}.hero h1{font-size:25px;line-height:1.15}.hero p{font-size:14px}.dropcta .dc-ic{width:44px;height:44px;border-radius:14px}.dropcta b{font-size:15px}.section{margin-bottom:28px}.libgrid{grid-template-columns:minmax(0,1fr);gap:10px}.libcard{padding:14px;gap:8px}.hscroll{grid-auto-columns:150px;gap:10px;margin:0 -14px;padding:0 14px 6px;scroll-snap-type:x mandatory}.hscroll>*{scroll-snap-align:start}.ex-head{flex-wrap:nowrap;margin-bottom:10px;gap:6px}.ex-head .page-actions{flex-wrap:nowrap;gap:4px}.ex-head .page-actions .btn{padding:9px}.ex-head .page-actions .lbl{display:none}.ex-toolbar{gap:6px;margin-bottom:12px}.ex-toolbar .libinfo .badge{display:none}.ex-toolbar .libinfo{font-size:12.5px}.ex-toolbar select.chip{padding:6px 30px 6px 12px;font-size:12.5px;background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%}.tile{padding:6px;border-radius:14px}.tile .tl-name{font-size:12.5px;margin:7px 3px 0;min-height:32px}.tile .tl-meta{margin:0 3px}.tile .tl-meta>span:nth-child(n+2){display:none}.tile .tl-meta .icon-btn{margin-right:-4px}.frow .c-type,.frow .c-author,.frow .c-date,.frow .ckc{display:none}.frow{grid-template-columns:minmax(0,1fr) 70px 32px}.search-top .btn{padding:11px;flex-shrink:0}.search-top .t-upload-label{display:none}.search-box{height:46px;min-width:0}.search-box input{min-width:0}.result.inner{flex-wrap:wrap;row-gap:0}.result.inner .thumb{width:38px;height:38px}.result.inner .r-body{display:contents}.result.inner .r-head{flex:1 1 0;align-self:center;flex-direction:column;align-items:flex-start;gap:2px}.result.inner .r-head .r-title,.result.inner .r-head .r-path{max-width:100%}.result.inner .quote,.result.inner .q-more{flex:1 1 100%}.result.inner .quote:first-of-type{margin-top:10px}.filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px 12px;padding:0 14px 2px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.result{padding:12px;gap:10px}.result .thumb{width:46px;height:46px}.result .r-meta{gap:6px}.result .r-meta .tag{display:none}.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:8px 12px;flex-shrink:0}.trow{flex-wrap:wrap;padding:12px}.trow .ti{flex:1 1 calc(100% - 90px)}.trow .btn{margin-left:auto}.pv-head .ttl b{font-size:14px}.pv-head .ttl small{display:none}.pv-btn{height:36px;min-width:36px;padding:0 10px}.pv-tools{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100% - 16px);overflow-x:auto}.img-stage img{max-width:100%;max-height:100%}.media-stage{padding:8px}.slides{gap:12px}.slide{padding:5% 6%}.sheet-wrap,.arch,.code{border-radius:10px}.asst-head{padding-top:calc(10px + env(safe-area-inset-top))}.asst-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.asst-body{padding:12px}.uppanel .up-head{padding:12px 8px 10px 14px}.page-head .tabs{align-self:flex-start}.stat{padding:14px}.stat b{font-size:21px}.modal-actions .btn{flex:1 1 auto;justify-content:center}.conflict-opts button{padding:10px 12px}.palette .pl-list{max-height:calc(100dvh - 160px)}.palette .pl-foot{display:none}.ctx-scrim{background:var(--scrim);animation:fade .15s ease}.ctxmenu{left:8px!important;right:8px;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom));min-width:0;border-radius:22px;padding:8px;max-height:75dvh;overflow-y:auto;animation:sheetUp .2s var(--ease)}.ctxmenu button{padding:12px 14px;font-size:15px}.ctxmenu .hint{display:none}.ctxmenu .mtitle{font-size:13px;padding:8px 14px 6px}}@media (prefers-color-scheme: dark){:root{--primary: #ece9e6;--secondary: #a19b97;--tertiary: #6f6a66;--surface: #131211;--white: #1d1c1b;--border: #2a2826;--border-2: #383532;--hover: #222120;--chip: #2a2826;--chip-hover: #312f2c;--canvas: #171615;--sel: #1b2433;--sel-border: #2f4f80;--warn-bg: #2c2317;--on-primary: #151413;--primary-hover: #ffffff;--accent: #4b93f3;--accent-soft: rgba(75, 147, 243, .16);--critical: #ef4b55;--success-2: #4cc24c;--warn: #e0a95a;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .55);color-scheme:dark}.login .brand-panel{background:#0c0b0b}.tile .tl-check{background:#1d1c1beb}.code tr.hl td{background:#3a3317}mark{background:#6b5a12;color:#fff3c4}mark.kh-mark,.result mark,.quote mark{background:#6b5a12;color:#fff3c4}.xl mark,.iw-paper mark,.xl td.hit{color:inherit}.iw-paper mark,.xl mark{background:#ffe680}.img-stage img{background:repeating-conic-gradient(#2a2826 0 25%,#1d1c1b 0 50%) 0 0 / 16px 16px}.toast{background:#ece9e6;color:#151413}.toast button{background:#00000014}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.diag-list{display:grid;gap:10px}.diag-item{display:grid;gap:4px;font-size:13px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--canvas)}.diag-item code{white-space:pre-wrap;font:12px/1.5 var(--mono);color:var(--secondary);word-break:break-all}.hub-render-error{margin:24px;padding:24px}.hub-render-error p{color:var(--secondary)}
