.my-loader{height:30px;aspect-ratio:2.5;--_g: no-repeat radial-gradient(farthest-side, #000 90%, #0000);background:var(--_g),var(--_g),var(--_g),var(--_g);background-size:20% 50%;animation:my-loader-l44 1s infinite linear alternate}@keyframes my-loader-l44{0%,5%{background-position:0% 50%,calc(1 * 100% / 3) 50%,calc(2 * 100% / 3) 50%,100% 50%}12.5%{background-position:0% 0,calc(1 * 100% / 3) 50%,calc(2 * 100% / 3) 50%,100% 50%}25%{background-position:0% 0,calc(1 * 100% / 3) 0,calc(2 * 100% / 3) 50%,100% 50%}37.5%{background-position:0% 100%,calc(1 * 100% / 3) 0,calc(2 * 100% / 3) 0,100% 50%}50%{background-position:0% 100%,calc(1 * 100% / 3) 100%,calc(2 * 100% / 3) 0,100% 0}62.5%{background-position:0% 50%,calc(1 * 100% / 3) 100%,calc(2 * 100% / 3) 100%,100% 0}75%{background-position:0% 50%,calc(1 * 100% / 3) 50%,calc(2 * 100% / 3) 100%,100% 100%}87.5%{background-position:0% 50%,calc(1 * 100% / 3) 50%,calc(2 * 100% / 3) 50%,100% 100%}95%,to{background-position:0% 50%,calc(1 * 100% / 3) 50%,calc(2 * 100% / 3) 50%,100% 50%}}:root{--app-bg: #f8fafc;--scrollbar-size: 10px;--scrollbar-track: transparent;--scrollbar-thumb: rgba(148, 163, 184, .52);--scrollbar-thumb-hover: rgba(100, 116, 139, .7)}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html{scrollbar-gutter:stable;background:var(--app-bg)}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;color:#171717;background-color:var(--app-bg)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.footer[data-v-85040cd3]{padding:8px 0 28px}.footer-inner[data-v-85040cd3]{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:20px 0 0;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#94a3b8;font-size:13px}.footer-copy[data-v-85040cd3],.footer-links[data-v-85040cd3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-divider[data-v-85040cd3]{width:4px;height:4px;border-radius:50%;background:#cbd5e1}.footer-links a[data-v-85040cd3]{color:#64748b;text-decoration:none}.footer-links a[data-v-85040cd3]:hover{color:#2563eb}@media (max-width: 840px){.footer-inner[data-v-85040cd3]{width:min(100%,calc(100% - 24px));flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.footer-inner[data-v-85040cd3]{width:min(100%,calc(100% - 16px))}}/*!
 * Toastify js 1.12.0
 * https://github.com/apvarun/toastify-js
 * @license MIT licensed
 *
 * Copyright (C) 2018 Varun A P
 */.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px #0000001f,0 10px 36px -4px #4d60e84d;background:-webkit-linear-gradient(315deg,#73a5ff,#5477f5);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215,.61,.355,1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{background:transparent;border:0;color:#fff;cursor:pointer;font-family:inherit;font-size:1em;opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content;max-width:-moz-fit-content}@media only screen and (max-width: 360px){.toastify-right,.toastify-left{margin-left:auto;margin-right:auto;left:0;right:0;max-width:fit-content}}.auth-overlay[data-v-fbf200f8]{position:fixed;top:0;left:0;z-index:10030;min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(#0f172a9e,#0f172a9e),linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%);background-size:auto,18px 18px,18px 18px;overflow:auto;padding:32px 18px}.auth-container[data-v-fbf200f8],.info-card[data-v-fbf200f8]{position:relative;width:min(420px,100%);margin:auto;overflow:hidden;border:2px solid #111827;border-radius:8px;background:#fff;box-shadow:8px 8px #111827;z-index:10031}.flex-center[data-v-fbf200f8]{display:flex;justify-content:center;align-items:center}.loading[data-v-fbf200f8]{position:absolute;inset:auto;min-height:330px;z-index:10032;background:#ffffffe6}.auth-window-bar[data-v-fbf200f8]{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-bottom:2px solid #111827;background:#e2e8f0}.auth-window-bar span[data-v-fbf200f8]{width:10px;height:10px;border:2px solid #111827;background:#fff}.auth-window-bar span[data-v-fbf200f8]:nth-child(1){background:#ef4444}.auth-window-bar span[data-v-fbf200f8]:nth-child(2){background:#facc15}.auth-window-bar span[data-v-fbf200f8]:nth-child(3){background:#22c55e}.auth-header[data-v-fbf200f8]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 8px}.auth-close[data-v-fbf200f8]{flex:0 0 auto;height:34px;width:34px;border:2px solid #111827;border-radius:6px;background:#fff url("data:image/svg+xml,%3csvg%20fill='%23000000'%20width='24px'%20height='24px'%20viewBox='-0.18%20-0.18%200.72%200.72'%20xmlns='http://www.w3.org/2000/svg'%20preserveAspectRatio='xMinYMin'%20class='jam%20jam-close'%3e%3cpath%20d='m0.219%200.177%200.106%20-0.106A0.03%200.03%200%201%200%200.283%200.028L0.177%200.135%200.071%200.028A0.03%200.03%200%201%200%200.028%200.071l0.106%200.106L0.028%200.283a0.03%200.03%200%201%200%200.042%200.042l0.106%20-0.106%200.106%200.106a0.03%200.03%200%201%200%200.042%20-0.042L0.219%200.177z'/%3e%3c/svg%3e") no-repeat center;background-size:18px;box-shadow:3px 3px #111827;cursor:pointer}.auth-close[data-v-fbf200f8]:hover{background-color:#f8fafc;transform:translate(-1px,-1px);box-shadow:4px 4px #111827}.auth-container h2[data-v-fbf200f8]{margin:0;color:#111827;font-size:24px;line-height:1.1;letter-spacing:0}.auth-container form[data-v-fbf200f8]{padding:0 22px 22px}.auth-container input[data-v-fbf200f8]{width:100%;height:44px;padding:0 12px;margin:10px 0 0;border:2px solid #111827;border-radius:6px;background:#f8fafc;color:#111827;font:inherit;box-shadow:inset 3px 3px #0f172a14}.auth-container input[data-v-fbf200f8]:focus{outline:none;background:#fff;box-shadow:0 0 0 3px #2563eb38,inset 3px 3px #0f172a14}.auth-container button[data-v-fbf200f8]{min-height:42px;padding:0 14px;margin-top:0;border:2px solid #111827;border-radius:6px;font-weight:800;cursor:pointer;box-shadow:3px 3px #111827;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.auth-container button[data-v-fbf200f8]:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #111827}.auth-container button[data-v-fbf200f8]:active{transform:translate(2px,2px);box-shadow:1px 1px #111827}.action-buttons[data-v-fbf200f8]{display:flex;flex-direction:row;gap:12px;margin-top:16px}.auth-container .btn-register[data-v-fbf200f8]{background:#fff;color:#111827}.auth-container .btn-login[data-v-fbf200f8]{background:#93c5fd;color:#111827}.auth-container .error[data-v-fbf200f8]{min-height:22px;padding:0 22px;color:#dc2626;font-size:13px;font-weight:700}.auth-container .agreement[data-v-fbf200f8]{font-size:12px;color:#475569;margin-top:16px;line-height:1.6}.auth-container .agreement a[data-v-fbf200f8]{color:#2563eb;font-weight:700;text-decoration:none}.info-card[data-v-fbf200f8]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 22px 22px}.info-avatar[data-v-fbf200f8]{position:relative;width:96px;height:96px;margin-top:24px;border:3px solid #111827;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f8fafc;box-shadow:5px 5px #111827}.info-avatar img[data-v-fbf200f8]{width:100%;height:100%;object-fit:contain}.avatar-overlay[data-v-fbf200f8]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#0006;color:#fff;opacity:0;transition:opacity .2s ease;font-weight:700;-webkit-user-select:none;user-select:none;cursor:pointer}.info-avatar:hover .avatar-overlay[data-v-fbf200f8]{opacity:1}.info-content[data-v-fbf200f8]{text-align:center;width:100%}.info-item[data-v-fbf200f8]{width:100%;min-height:38px;padding:0 10px;border:2px solid #111827;border-radius:6px;background:#f8fafc;color:#475569;font-size:.9rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.info-item span[data-v-fbf200f8]{min-width:0;overflow:hidden;color:#111827;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.info-admin[data-v-fbf200f8]{display:inline-block;min-height:32px;padding:5px 12px;border:2px solid #111827;border-radius:6px;color:#111827;background:#facc15;box-shadow:3px 3px #111827;font-size:.78rem;font-weight:800;cursor:pointer;width:100%}.btn-logout[data-v-fbf200f8]{display:flex;justify-content:center;width:100%;background:transparent}.btn-logout button[data-v-fbf200f8],button.btn-logout[data-v-fbf200f8]{min-height:40px;width:100%;border:2px solid #111827;border-radius:6px;background:#fecaca;color:#111827;font-weight:800;cursor:pointer;box-shadow:3px 3px #111827}@media (max-width: 480px){.auth-overlay[data-v-fbf200f8]{align-items:flex-start;padding-top:92px}.auth-header[data-v-fbf200f8],.auth-container form[data-v-fbf200f8],.auth-container .error[data-v-fbf200f8]{padding-left:16px;padding-right:16px}.action-buttons[data-v-fbf200f8]{flex-direction:column}.auth-container button[data-v-fbf200f8]{width:100%}}.overlay[data-v-4f6ae89c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010}.backdrop[data-v-4f6ae89c]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.panel[data-v-4f6ae89c]{position:absolute;left:50%;top:10vh;transform:translate(-50%);width:min(920px,calc(100vw - 2rem));max-height:80vh;background:var(--panel-bg, #fff);color:var(--panel-fg, #111);border-radius:12px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column}.header[data-v-4f6ae89c]{display:flex;align-items:center;gap:.5rem;padding:.75rem .75rem .25rem}.input[data-v-4f6ae89c]{flex:1;padding:.65rem .85rem;font-size:16px;border:1px solid #ddd;border-radius:8px}.close[data-v-4f6ae89c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-size:22px;line-height:1;padding:.25rem .5rem;cursor:pointer;color:#666;background:url("data:image/svg+xml,%3csvg%20fill='%23000000'%20width='24px'%20height='24px'%20viewBox='-0.18%20-0.18%200.72%200.72'%20xmlns='http://www.w3.org/2000/svg'%20preserveAspectRatio='xMinYMin'%20class='jam%20jam-close'%3e%3cpath%20d='m0.219%200.177%200.106%20-0.106A0.03%200.03%200%201%200%200.283%200.028L0.177%200.135%200.071%200.028A0.03%200.03%200%201%200%200.028%200.071l0.106%200.106L0.028%200.283a0.03%200.03%200%201%200%200.042%200.042l0.106%20-0.106%200.106%200.106a0.03%200.03%200%201%200%200.042%20-0.042L0.219%200.177z'/%3e%3c/svg%3e") no-repeat center}.body[data-v-4f6ae89c]{padding:.5rem .75rem 1rem;overflow:auto}.result[data-v-4f6ae89c]{display:block;padding:.7rem .6rem;border-radius:8px;border:1px solid #eee;margin:.4rem 0;text-decoration:none;color:inherit}.title[data-v-4f6ae89c]{font-weight:600;font-size:17px;margin-bottom:.25rem}.desc[data-v-4f6ae89c]{color:#333;margin-bottom:.25rem}.tags[data-v-4f6ae89c]{display:flex;gap:.35rem;flex-wrap:wrap}.tag[data-v-4f6ae89c]{font-size:12px;background:#f5f5f5;border-radius:999px;padding:.1rem .5rem;color:#555}.tag--cat[data-v-4f6ae89c]{background:#e6f4ff;color:#1677ff}.meta[data-v-4f6ae89c]{color:#666;font-size:12px}.meta.small[data-v-4f6ae89c]{color:#888}mark[data-v-4f6ae89c]{background:#ffe58f}@media (prefers-color-scheme: dark){.panel[data-v-4f6ae89c]{--panel-bg: #141414;--panel-fg: #f0f0f0}.input[data-v-4f6ae89c]{border-color:#333;background:#1f1f1f;color:#f0f0f0}.result[data-v-4f6ae89c]{border-color:#2a2a2a}.tag[data-v-4f6ae89c]{background:#202020;color:#bbb}}.header[data-v-9e758d90]{position:fixed;top:0;left:0;right:0;z-index:10005;background:#f8fafc;border-bottom:1px solid #e9eef5;transition:transform .25s ease,opacity .25s ease,border-color .25s ease}.header--hidden[data-v-9e758d90]{transform:translateY(-100%);pointer-events:none}.header-inner[data-v-9e758d90]{width:min(1180px,calc(100% - 32px));height:68px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.header-left[data-v-9e758d90]{display:flex;align-items:center;min-width:0}.brand-link[data-v-9e758d90]{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.app-logo[data-v-9e758d90]{width:34px;height:34px;border-radius:10px;background:#fff url("data:image/svg+xml,%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2032%2032'%20style='enable-background:new%200%200%20501.333%20501.333;'%20xml:space='preserve'%20width='32'%20height='32'%20%3e%3cg%3e%3cpath%20style='fill:%23637888;'%20points='97.067,426.667%2074.667,404.267%20262.4,208%20459.733,19.2%20482.133,42.667%20284.8,230.4%20'%20d='M6.196%2027.234%204.766%2025.804l11.983%20-12.528%2012.596%20-12.051%201.429%201.498%20-12.596%2011.983Z'%20/%3e%3cpath%20style='fill:%23637888;'%20points='429.867,452.267%20262.4,230.4%2096,101.333%20116.267,76.8%20284.8,208%20455.467,433.067%20'%20d='M27.438%2028.868%2016.749%2014.707%206.128%206.468l1.293%20-1.566%2010.757%208.374%2010.893%2014.366Z'%20/%3e%3c/g%3e%3cpath%20style='fill:%233A5569;'%20cx='281.6'%20cy='219.733'%20r='109.867'%20d='M24.988%2014.026a7.013%207.013%200%200%201%20-7.013%207.012%207.013%207.013%200%200%201%20-7.012%20-7.012%207.012%207.012%200%200%201%2014.026%200'%20/%3e%3cpath%20style='fill:%23F16D6E;'%20cx='86.4'%20cy='414.933'%20r='86.4'%20d='M11.03%2026.485A5.515%205.515%200%200%201%205.515%2032%205.515%205.515%200%200%201%200%2026.485a5.515%205.515%200%200%201%2011.03%200'%20/%3e%3cpath%20style='fill:%2360C3AB;'%20cx='105.6'%20cy='88.533'%20r='66.133'%20d='M10.962%205.651a4.222%204.222%200%200%201%20-4.221%204.221%204.222%204.222%200%200%201%20-4.221%20-4.221%204.221%204.221%200%200%201%208.443%200'%20/%3e%3cpath%20style='fill:%2380C350;'%20cx='442.667'%20cy='442.667'%20r='58.667'%20d='M32%2028.255A3.745%203.745%200%200%201%2028.255%2032a3.745%203.745%200%200%201%20-3.745%20-3.745%203.745%203.745%200%200%201%207.49%200'%20/%3e%3cpath%20style='fill:%23F7B044;'%20cx='454.4'%20cy='46.933'%20r='46.933'%20d='M32%202.996a2.996%202.996%200%200%201%20-2.996%202.996%202.996%202.996%200%200%201%20-2.996%20-2.996%202.996%202.996%200%200%201%205.991%200'%20/%3e%3c/svg%3e") no-repeat center;background-size:22px;border:1px solid #dbe3ef;box-shadow:0 8px 20px #0f172a0f;flex-shrink:0}.brand-copy[data-v-9e758d90]{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-name[data-v-9e758d90]{font-size:16px;font-weight:700;color:#0f172a;line-height:1.1}.brand-subtitle[data-v-9e758d90]{font-size:12px;color:#94a3b8;line-height:1;white-space:nowrap}.header-nav[data-v-9e758d90]{min-width:0}.nav-menu[data-v-9e758d90]{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}.nav-item[data-v-9e758d90]{position:relative}.nav-item a[data-v-9e758d90]{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;color:#475569;text-decoration:none;font-size:14px;transition:background-color .2s ease,color .2s ease}.nav-item a[data-v-9e758d90]:hover{color:#0f172a;background:#f8fafc}.nav-item.active a[data-v-9e758d90]{color:#2563eb;background:#eff6ff}.nav-item--external a[data-v-9e758d90]{color:#64748b}.nav-badge[data-v-9e758d90]{font-size:10px;line-height:1;color:#2563eb;background:#dbeafe;border-radius:999px;padding:3px 6px}.header-right[data-v-9e758d90]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.search-trigger[data-v-9e758d90]{height:38px;padding:0 12px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;color:#475569;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.search-trigger[data-v-9e758d90]:hover{border-color:#cbd5e1;color:#0f172a;box-shadow:0 10px 24px #0f172a0f}.search-trigger__icon[data-v-9e758d90]{width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center / contain}.search-trigger__text[data-v-9e758d90]{font-size:14px}.login-register-btn[data-v-9e758d90]{height:38px;padding:0 14px;border-radius:10px;border:1px solid #dbe3ef;background:#fff;color:#2563eb;font-size:14px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.login-register-btn[data-v-9e758d90]:hover{border-color:#bfdbfe;background:#eff6ff;transform:translateY(-1px)}.user-avatar[data-v-9e758d90]{width:38px;height:38px;border-radius:50%;overflow:hidden;cursor:pointer;border:1px solid #dbe3ef;box-shadow:0 8px 20px #0f172a0f}.user-avatar img[data-v-9e758d90]{width:100%;height:100%;object-fit:cover}.mobile-menu-btn[data-v-9e758d90]{display:none;width:38px;height:38px;margin-right:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff url("data:image/svg+xml,%3csvg%20fill='%23000000'%20width='32px'%20height='32px'%20viewBox='0%200%2020.48%2020.48'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.56%203.84h15.36v1.92H2.56zm0%205.44h15.36v1.92H2.56zm0%205.44h15.36v1.92H2.56z'/%3e%3c/svg%3e") no-repeat center;cursor:pointer}@media (max-width: 1080px){.header-inner[data-v-9e758d90]{grid-template-columns:auto 1fr auto;gap:18px}.nav-menu[data-v-9e758d90]{gap:2px}.nav-item a[data-v-9e758d90]{padding:0 10px}.nav-item--external[data-v-9e758d90]{display:none}}@media (max-width: 840px){.header-inner[data-v-9e758d90]{width:min(100%,calc(100% - 24px));height:64px;grid-template-columns:auto auto;justify-content:space-between}.header-nav[data-v-9e758d90]{display:none}.mobile-menu-btn[data-v-9e758d90]{display:inline-flex;flex-shrink:0}.brand-subtitle[data-v-9e758d90]{display:none}}@media (max-width: 640px){.search-trigger[data-v-9e758d90]{width:38px;padding:0;justify-content:center}.search-trigger__text[data-v-9e758d90],.search-trigger__key[data-v-9e758d90]{display:none}.login-register-btn[data-v-9e758d90]{padding:0 12px;font-size:13px}}@media (max-width: 480px){.header-inner[data-v-9e758d90]{width:min(100%,calc(100% - 16px))}.brand-name[data-v-9e758d90]{font-size:15px}.github-link[data-v-9e758d90]{display:none}}.nav-placeholder{width:100%}.nav-placeholder .nav-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px 0!important}.nav-placeholder .nav-item{width:100%}.nav-placeholder .nav-item a{display:flex!important;width:100%;justify-content:space-between;box-sizing:border-box}.nav-placeholder .nav-item--external{display:block!important}.mobile-drawer-overlay[data-v-d89597ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f172a47}.mobile-drawer[data-v-d89597ed]{position:fixed;inset:0 auto 0 0;z-index:80;width:min(312px,calc(100vw - 32px));background:#f8fafc;border-right:1px solid #e6edf5;box-shadow:0 18px 38px #0f172a1f;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-drawer__header[data-v-d89597ed]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid #e6edf5}.mobile-drawer__brand[data-v-d89597ed]{display:flex;align-items:center;gap:12px;min-width:0}.mobile-drawer__logo[data-v-d89597ed]{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#fff url("data:image/svg+xml,%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2032%2032'%20style='enable-background:new%200%200%20501.333%20501.333;'%20xml:space='preserve'%20width='32'%20height='32'%20%3e%3cg%3e%3cpath%20style='fill:%23637888;'%20points='97.067,426.667%2074.667,404.267%20262.4,208%20459.733,19.2%20482.133,42.667%20284.8,230.4%20'%20d='M6.196%2027.234%204.766%2025.804l11.983%20-12.528%2012.596%20-12.051%201.429%201.498%20-12.596%2011.983Z'%20/%3e%3cpath%20style='fill:%23637888;'%20points='429.867,452.267%20262.4,230.4%2096,101.333%20116.267,76.8%20284.8,208%20455.467,433.067%20'%20d='M27.438%2028.868%2016.749%2014.707%206.128%206.468l1.293%20-1.566%2010.757%208.374%2010.893%2014.366Z'%20/%3e%3c/g%3e%3cpath%20style='fill:%233A5569;'%20cx='281.6'%20cy='219.733'%20r='109.867'%20d='M24.988%2014.026a7.013%207.013%200%200%201%20-7.013%207.012%207.013%207.013%200%200%201%20-7.012%20-7.012%207.012%207.012%200%200%201%2014.026%200'%20/%3e%3cpath%20style='fill:%23F16D6E;'%20cx='86.4'%20cy='414.933'%20r='86.4'%20d='M11.03%2026.485A5.515%205.515%200%200%201%205.515%2032%205.515%205.515%200%200%201%200%2026.485a5.515%205.515%200%200%201%2011.03%200'%20/%3e%3cpath%20style='fill:%2360C3AB;'%20cx='105.6'%20cy='88.533'%20r='66.133'%20d='M10.962%205.651a4.222%204.222%200%200%201%20-4.221%204.221%204.222%204.222%200%200%201%20-4.221%20-4.221%204.221%204.221%200%200%201%208.443%200'%20/%3e%3cpath%20style='fill:%2380C350;'%20cx='442.667'%20cy='442.667'%20r='58.667'%20d='M32%2028.255A3.745%203.745%200%200%201%2028.255%2032a3.745%203.745%200%200%201%20-3.745%20-3.745%203.745%203.745%200%200%201%207.49%200'%20/%3e%3cpath%20style='fill:%23F7B044;'%20cx='454.4'%20cy='46.933'%20r='46.933'%20d='M32%202.996a2.996%202.996%200%200%201%20-2.996%202.996%202.996%202.996%200%200%201%20-2.996%20-2.996%202.996%202.996%200%200%201%205.991%200'%20/%3e%3c/svg%3e") no-repeat center / 22px;border:1px solid #dbe3ef}.mobile-drawer__title[data-v-d89597ed]{font-size:16px;font-weight:700;color:#0f172a}.mobile-drawer__subtitle[data-v-d89597ed]{margin-top:2px;font-size:12px;color:#94a3b8}.mobile-drawer__close[data-v-d89597ed]{width:36px;height:36px;border:1px solid #d9e4f0;border-radius:12px;background:#fffc;color:#334155;font-size:22px;line-height:1;cursor:pointer}.mobile-drawer__body[data-v-d89597ed]{padding:14px 18px 24px}.mobile-drawer__extra[data-v-d89597ed]{margin-top:18px;padding-top:18px;border-top:1px solid #e5e7eb}.mobile-drawer__extra[data-v-d89597ed] p{margin:0;color:#64748b;line-height:1.7}.mobile-drawer__extra[data-v-d89597ed] p+p{margin-top:8px}.mobile-drawer-fade-enter-active[data-v-d89597ed],.mobile-drawer-fade-leave-active[data-v-d89597ed]{transition:opacity .2s ease}.mobile-drawer-fade-enter-from[data-v-d89597ed],.mobile-drawer-fade-leave-to[data-v-d89597ed]{opacity:0}.mobile-drawer-slide-enter-active[data-v-d89597ed],.mobile-drawer-slide-leave-active[data-v-d89597ed]{transition:opacity .22s ease,transform .22s ease}.mobile-drawer-slide-enter-from[data-v-d89597ed],.mobile-drawer-slide-leave-to[data-v-d89597ed]{opacity:0;transform:translate(-18px)}.demo-card[data-v-a71918a5]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;background:#ffffffc2;border:1px solid #eef3f8;border-radius:18px;box-shadow:0 4px 12px #0f172a04;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.demo-card[data-v-a71918a5]:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0f172a07;border-color:#e2e8f0;background:#ffffffe0}.demo-main[data-v-a71918a5]{min-width:0;display:flex;align-items:center;gap:14px}.demo-thumb[data-v-a71918a5]{width:52px;height:52px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#f5f9ff,#fbfcfd);border:1px solid #e6edf5;color:#2563eb;font-size:13px;font-weight:700;overflow:hidden}.demo-thumb--image[data-v-a71918a5]{background:#f8fafc;border-color:#e2e8f0}.demo-thumb--image img[data-v-a71918a5]{width:100%;height:100%;object-fit:cover;display:block}.demo-copy[data-v-a71918a5]{min-width:0;display:grid;gap:8px}.demo-title-row[data-v-a71918a5]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-title-row h3[data-v-a71918a5]{margin:0;color:#0f172a;font-size:17px;line-height:1.3}.demo-copy p[data-v-a71918a5]{margin:0;color:#64748b;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill[data-v-a71918a5]{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:999px;font-size:12px;border:1px solid #e5e7eb}.status-pill--done[data-v-a71918a5]{color:#0f766e;background:#ecfeff}.status-pill--building[data-v-a71918a5]{color:#b45309;background:#fffbeb}.status-pill--experimental[data-v-a71918a5]{color:#7c3aed;background:#f5f3ff}.demo-actions[data-v-a71918a5]{display:flex;align-items:center;gap:10px;flex-shrink:0}.button-primary[data-v-a71918a5],.button-ghost[data-v-a71918a5]{height:36px;padding:0 13px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:600;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.button-primary[data-v-a71918a5]{background:#2563eb;color:#fff;border:1px solid #2563eb}.button-primary[data-v-a71918a5]:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px)}.button-ghost[data-v-a71918a5]{background:#fff;color:#334155;border:1px solid #e5e7eb}.button-ghost[data-v-a71918a5]:hover{background:#f8fafc;transform:translateY(-1px)}@media (max-width: 840px){.demo-card[data-v-a71918a5]{align-items:flex-start;flex-direction:column}.demo-actions[data-v-a71918a5]{width:100%;flex-wrap:wrap}}@media (max-width: 640px){.demo-copy p[data-v-a71918a5]{white-space:normal}}.project-card[data-v-9d05ca32]{display:grid;gap:20px;padding:18px;background:#ffffffc7;border:1px solid #eef3f8;border-radius:24px;box-shadow:0 4px 14px #0f172a05;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.project-card[data-v-9d05ca32]:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a07;border-color:#e2e8f0;background:#ffffffe6}.project-cover[data-v-9d05ca32]{border-radius:18px;overflow:hidden;aspect-ratio:16 / 9;background:#f8fafc}.project-cover img[data-v-9d05ca32]{width:100%;height:100%;object-fit:cover}.project-body[data-v-9d05ca32]{display:grid;gap:12px}.project-body h3[data-v-9d05ca32]{margin:0;color:#0f172a;font-size:20px;line-height:1.35}.project-body p[data-v-9d05ca32]{margin:0;color:#475569;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tag-list[data-v-9d05ca32]{display:flex;flex-wrap:wrap;gap:8px}.tag-chip[data-v-9d05ca32]{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid #e6edf5;background:#fbfcfd;color:#475569;font-size:12px}.card-actions[data-v-9d05ca32]{display:flex;flex-wrap:wrap;gap:12px}.button-primary[data-v-9d05ca32],.button-ghost[data-v-9d05ca32]{height:42px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.button-small[data-v-9d05ca32]{height:38px;padding:0 14px;font-size:14px}.button-primary[data-v-9d05ca32]{background:#2563eb;color:#fff;border:1px solid #2563eb}.button-primary[data-v-9d05ca32]:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px)}.button-ghost[data-v-9d05ca32]{background:#fff;color:#334155;border:1px solid #e5e7eb}.button-ghost[data-v-9d05ca32]:hover{background:#f8fafc;transform:translateY(-1px)}@media (max-width: 640px){.project-card[data-v-9d05ca32]{padding:14px}}.timeline-item+.timeline-item[data-v-a9ccda98]{border-top:1px solid #eef2f7}.timeline-link[data-v-a9ccda98]{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 0;text-decoration:none}.timeline-type[data-v-a9ccda98]{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:28px;padding:0 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;text-transform:lowercase}.timeline-title[data-v-a9ccda98]{color:#0f172a;line-height:1.5}.timeline-date[data-v-a9ccda98]{color:#94a3b8;font-size:14px}.timeline-action[data-v-a9ccda98]{color:#2563eb;font-size:14px;font-weight:600}@media (max-width: 840px){.timeline-link[data-v-a9ccda98]{grid-template-columns:auto minmax(0,1fr);align-items:start}.timeline-date[data-v-a9ccda98],.timeline-action[data-v-a9ccda98]{margin-left:82px}}@media (max-width: 640px){.timeline-link[data-v-a9ccda98]{gap:10px}.timeline-date[data-v-a9ccda98],.timeline-action[data-v-a9ccda98]{margin-left:0}}.home-page[data-v-4a467e18]{min-height:100vh}.home-main[data-v-4a467e18]{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:108px 0 56px}.card-surface[data-v-4a467e18]{background:#ffffffe6;border:1px solid #edf2f7;border-radius:24px;box-shadow:0 8px 20px #0f172a06;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.card-surface[data-v-4a467e18]:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f172a0a;border-color:#e2e8f0;background:#fffffff2}.hero-copy.card-surface[data-v-4a467e18],.about-panel.card-surface[data-v-4a467e18]{background:transparent;border-color:transparent;box-shadow:none}.hero-copy.card-surface[data-v-4a467e18]:hover,.about-panel.card-surface[data-v-4a467e18]:hover{transform:none;box-shadow:none;border-color:transparent;background:transparent}.hero-section[data-v-4a467e18]{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:24px;margin-bottom:72px;align-items:start}.hero-copy[data-v-4a467e18]{padding:28px 12px 28px 0}.hero-kicker[data-v-4a467e18],.section-kicker[data-v-4a467e18]{margin:0 0 10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#2563eb}.hero-copy h1[data-v-4a467e18]{margin:0;font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-.03em}.hero-brand-pixel[data-v-4a467e18]{display:inline-block;margin-left:.12em;padding:.08em .26em .14em;border:2px solid #0f172a;border-radius:8px;background:linear-gradient(180deg,#fefefe,#eef5ff);box-shadow:4px 4px #93c5fd;font-family:"Press Start 2P",Microsoft YaHei,monospace;font-size:.92em;letter-spacing:.02em;text-shadow:1px 0 0 currentColor,0 1px 0 currentColor;vertical-align:.06em;white-space:nowrap}.hero-description[data-v-4a467e18]{margin:18px 0 0;font-size:16px;line-height:1.8;color:#475569}.hero-actions[data-v-4a467e18],.card-actions[data-v-4a467e18]{display:flex;flex-wrap:wrap;gap:12px}.hero-actions[data-v-4a467e18]{margin-top:28px}.hero-points[data-v-4a467e18]{margin:30px 0 0;padding:0;list-style:none;display:grid;gap:12px}.hero-points li[data-v-4a467e18]{position:relative;padding-left:18px;color:#64748b;line-height:1.7}.hero-points li[data-v-4a467e18]:before{content:"";position:absolute;top:10px;left:0;width:6px;height:6px;border-radius:50%;background:#93c5fd}.hero-preview[data-v-4a467e18]{display:grid;gap:18px}.preview-card[data-v-4a467e18]{padding:24px;border:1px solid #e7edf5;border-radius:26px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 14px 32px #0f172a0f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}.preview-card--feature[data-v-4a467e18]{padding:30px 30px 28px}.preview-card[data-v-4a467e18]:hover{transform:translateY(-2px);box-shadow:0 20px 40px #0f172a17;border-color:#d7e3f1;background:linear-gradient(180deg,#fff,#f8fafc)}.preview-card__header[data-v-4a467e18]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.preview-card__eyebrow[data-v-4a467e18]{font-size:12px;color:#64748b;letter-spacing:.08em;text-transform:uppercase}.preview-inline-meta[data-v-4a467e18]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.preview-status[data-v-4a467e18]{padding:6px 10px;border-radius:999px;background:#f4f8ff;color:#2563eb;border:1px solid #d8e7ff;font-size:12px}.preview-status--muted[data-v-4a467e18]{background:#fbfcfd;color:#475569;border-color:#e8edf3}.preview-card h2[data-v-4a467e18],.preview-card h3[data-v-4a467e18],.project-card h3[data-v-4a467e18],.demo-card h3[data-v-4a467e18],.about-copy h2[data-v-4a467e18],.section-heading h2[data-v-4a467e18]{margin:0;color:#0f172a}.preview-card h2[data-v-4a467e18]{font-size:24px;line-height:1.35}.preview-card h3[data-v-4a467e18],.project-card h3[data-v-4a467e18],.demo-card h3[data-v-4a467e18]{font-size:20px;line-height:1.35}.preview-card p[data-v-4a467e18],.project-card p[data-v-4a467e18],.demo-card p[data-v-4a467e18],.about-copy p[data-v-4a467e18],.section-intro[data-v-4a467e18]{color:#475569;line-height:1.75}.preview-tags[data-v-4a467e18],.tag-list[data-v-4a467e18]{display:flex;flex-wrap:wrap;gap:8px}.preview-tags[data-v-4a467e18]{margin:20px 0}.preview-tags span[data-v-4a467e18],.tag-chip[data-v-4a467e18]{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:1px solid #e6edf5;background:#fbfcfd;color:#475569;font-size:12px}.preview-tags span[data-v-4a467e18]{background:#fff;border-color:#dbe3ef}.tag-chip--muted[data-v-4a467e18]{background:#fff}.text-link[data-v-4a467e18]{display:inline-flex;align-items:center;color:#2563eb;text-decoration:none;font-weight:600}.preview-grid[data-v-4a467e18]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.preview-screenshot[data-v-4a467e18]{height:152px;margin-bottom:18px;border-radius:18px;border:1px solid #e5e7eb;overflow:hidden;position:relative;background:#f8fafc}.preview-screenshot span[data-v-4a467e18]{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:14px}.preview-screenshot--code span[data-v-4a467e18]{background:linear-gradient(#0f172a,#0f172a) 18px 20px / 42% 6px no-repeat,linear-gradient(#2563eb,#2563eb) 18px 42px / 68% 6px no-repeat,linear-gradient(#cbd5e1,#cbd5e1) 18px 64px / 54% 6px no-repeat,linear-gradient(#e2e8f0,#e2e8f0) 18px 86px / 74% 6px no-repeat,linear-gradient(135deg,#f8fafc,#eff6ff)}.preview-screenshot--board span[data-v-4a467e18]{background:radial-gradient(circle at 22% 26%,#2563eb 0 10px,transparent 11px),radial-gradient(circle at 55% 40%,#93c5fd 0 14px,transparent 15px),radial-gradient(circle at 74% 68%,#0f172a 0 8px,transparent 9px),linear-gradient(#dbeafe,#dbeafe) 22% 26% / 34% 2px no-repeat,linear-gradient(#dbeafe,#dbeafe) 55% 40% / 26% 2px no-repeat,linear-gradient(180deg,#f8fafc,#eff6ff)}.content-section[data-v-4a467e18]{margin-bottom:72px}.section-heading[data-v-4a467e18]{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading h2[data-v-4a467e18]{font-size:28px;line-height:1.2}.section-intro[data-v-4a467e18]{max-width:520px;margin:0;font-size:15px}.section-heading-side[data-v-4a467e18]{display:grid;justify-items:end;gap:10px}.section-heading--compact[data-v-4a467e18]{margin-bottom:18px}.section-link[data-v-4a467e18]{color:#2563eb;text-decoration:none;font-size:14px;font-weight:600}.projects-grid[data-v-4a467e18]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.about-avatar img[data-v-4a467e18]{width:100%;height:100%;object-fit:cover}.demo-section[data-v-4a467e18]{padding:12px 0 0;border-radius:0;background:transparent;border:none}.demo-grid[data-v-4a467e18]{display:grid;gap:14px}.updates-and-about[data-v-4a467e18]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:20px;align-items:start}.updates-panel[data-v-4a467e18]{padding:0}.about-panel[data-v-4a467e18]{padding:12px 0 0 24px;border-left:1px solid #e9eef5;border-radius:0}.updates-panel[data-v-4a467e18],.about-panel[data-v-4a467e18]{align-self:start}.updates-list[data-v-4a467e18]{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid #e5e7eb}.about-panel[data-v-4a467e18]{display:grid;grid-template-columns:88px 1fr;gap:18px}.about-avatar[data-v-4a467e18]{width:88px;height:88px;overflow:hidden;border-radius:24px;background:#e2e8f0}.about-copy[data-v-4a467e18]{display:grid;gap:14px}.button-primary[data-v-4a467e18],.button-secondary[data-v-4a467e18],.button-ghost[data-v-4a467e18]{height:42px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.button-small[data-v-4a467e18]{height:38px;padding:0 14px;font-size:14px}.button-primary[data-v-4a467e18]{background:#2563eb;color:#fff;border:1px solid #2563eb}.button-primary[data-v-4a467e18]:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px)}.button-secondary[data-v-4a467e18]{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.button-secondary[data-v-4a467e18]:hover{background:#dbeafe;transform:translateY(-1px)}.button-ghost[data-v-4a467e18]{background:#fff;color:#334155;border:1px solid #e5e7eb}.button-ghost[data-v-4a467e18]:hover{background:#f8fafc;transform:translateY(-1px)}@media (max-width: 1080px){.hero-section[data-v-4a467e18],.updates-and-about[data-v-4a467e18]{grid-template-columns:1fr}.about-panel[data-v-4a467e18]{grid-template-columns:72px 1fr}.about-avatar[data-v-4a467e18]{width:72px;height:72px;border-radius:20px}}@media (max-width: 840px){.home-main[data-v-4a467e18]{width:min(100%,calc(100% - 24px));padding-top:94px}.hero-section[data-v-4a467e18],.projects-grid[data-v-4a467e18],.preview-grid[data-v-4a467e18]{grid-template-columns:1fr}.section-heading[data-v-4a467e18]{align-items:start;flex-direction:column}.section-heading-side[data-v-4a467e18]{justify-items:start}}@media (max-width: 640px){.home-main[data-v-4a467e18]{width:min(100%,calc(100% - 16px));padding-bottom:40px}.hero-copy[data-v-4a467e18],.preview-card[data-v-4a467e18],.preview-card--feature[data-v-4a467e18],.about-panel[data-v-4a467e18]{padding:22px}.hero-copy h1[data-v-4a467e18]{font-size:30px}.section-heading h2[data-v-4a467e18]{font-size:24px}.about-panel[data-v-4a467e18]{grid-template-columns:72px 1fr}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.catalog-card[data-v-dbafc2bd]{padding:2px 0 0}.catalog-card-header[data-v-dbafc2bd]{text-align:left!important;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;font-weight:600}.catalog-card-header div>span[data-v-dbafc2bd]{font-size:13px;color:#64748b;letter-spacing:.12em;text-transform:uppercase}.progress[data-v-dbafc2bd]{color:#94a3b8;font-size:13px;letter-spacing:.08em}.catalog-content[data-v-dbafc2bd]{overflow-y:auto;max-height:calc(100vh - 150px);position:relative;padding-right:4px}.catalog-list[data-v-dbafc2bd]{display:grid;gap:4px}.catalog-link[data-v-dbafc2bd]{width:100%;border:none;background:transparent;text-align:left;color:#6b7280;border-radius:0;border-left:1px solid #e2e8f0;padding:4px 0 8px 8px;cursor:pointer;transition:color .2s ease,border-color .2s ease,transform .2s ease;font-size:12px;line-height:1.25}.catalog-link[data-v-dbafc2bd]:hover{color:#0f172a;transform:none;border-left-color:#94a3b8}.catalog-link.is-active[data-v-dbafc2bd]{color:#0f172a;font-weight:600;border-left-color:#0f172a}.catalog-link--depth-1[data-v-dbafc2bd]{font-weight:700}.catalog-link--depth-2[data-v-dbafc2bd]{padding-left:24px}.catalog-link--depth-3[data-v-dbafc2bd]{padding-left:34px}.catalog-link--depth-4[data-v-dbafc2bd],.catalog-link--depth-5[data-v-dbafc2bd],.catalog-link--depth-6[data-v-dbafc2bd]{padding-left:42px}.catalog-empty[data-v-dbafc2bd]{color:#94a3b8;padding:8px 0}.catalog-content[data-v-dbafc2bd]::-webkit-scrollbar{width:4px}.catalog-content[data-v-dbafc2bd]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.catalog-content[data-v-dbafc2bd]::-webkit-scrollbar-track{background:transparent}@media (max-width: 768px){.catalog-card[data-v-dbafc2bd]{padding-top:0}.catalog-content[data-v-dbafc2bd]{max-height:unset;padding-right:0}}.divider[data-v-e927e3c8]{width:100%;height:2px;margin:20px 0;background:linear-gradient(to right,#007bff00,#007bff99,#007bff00)}.prev-next-nav[data-v-e927e3c8]{display:flex;justify-content:space-between;margin:32px auto;flex:1}.prev-next-item[data-v-e927e3c8]{width:50%}.nav-link[data-v-e927e3c8]{flex:1;margin:0 10px;display:block;text-decoration:none;color:#007bff;font-size:16px;padding:8px 12px;transition:background-color .3s,color .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prev[data-v-e927e3c8],.next[data-v-e927e3c8]{border:1px solid #007bff;border-radius:4px;height:100%}.prev[data-v-e927e3c8]{text-align:left}.next[data-v-e927e3c8]{text-align:right}.nav-link[data-v-e927e3c8]:hover{background-color:#007bff;color:#fff}.comments-container[data-v-cbcb4b2e]{max-width:100%;margin:0 auto}.sr-only[data-v-cbcb4b2e]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.comment-submit-container[data-v-cbcb4b2e]{margin-bottom:24px;padding:16px;border:1px solid #eaeaea;border-radius:12px;background-color:#fff;box-shadow:0 2px 8px #0000000d}textarea[data-v-cbcb4b2e]{width:100%;min-height:120px;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;line-height:1.5;transition:border-color .2s;resize:vertical;box-sizing:border-box;font-family:inherit}textarea[data-v-cbcb4b2e]:focus{outline:none;border-color:#48a9fe;box-shadow:0 0 0 3px #48a9fe33}textarea[data-v-cbcb4b2e]:disabled{background-color:#f5f5f5;cursor:not-allowed}.actions[data-v-cbcb4b2e]{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.left-actions[data-v-cbcb4b2e]{display:flex;align-items:center;gap:12px}.reply-info[data-v-cbcb4b2e]{font-size:12px;color:#48a9fe;background:#f0f9ff;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:6px}.cancel-reply[data-v-cbcb4b2e]{background:none;border:none;color:#999;cursor:pointer;padding:0;font-size:12px}.cancel-reply[data-v-cbcb4b2e]:hover{color:#666}.char-count[data-v-cbcb4b2e]{font-size:12px;color:#888;transition:color .2s}.char-count.over-limit[data-v-cbcb4b2e]{color:#ff4757;font-weight:500}.submit-btn[data-v-cbcb4b2e]{padding:8px 20px;font-size:14px;font-weight:500;color:#fff;background:linear-gradient(135deg,#48a9fe,#6d5dfc);border:none;border-radius:8px;cursor:pointer;transition:all .3s;min-width:80px}.submit-btn[data-v-cbcb4b2e]:disabled{opacity:.6;cursor:not-allowed}.submit-btn[data-v-cbcb4b2e]:hover:not(:disabled){background:linear-gradient(135deg,#6d5dfc,#48a9fe);transform:translateY(-1px);box-shadow:0 4px 12px #48a9fe4d}.comments-list[data-v-cbcb4b2e]{margin-top:24px}.comments-header[data-v-cbcb4b2e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.comments-header h3[data-v-cbcb4b2e]{margin:0;font-size:18px;color:#333}.sort-options[data-v-cbcb4b2e]{display:flex;gap:8px}.sort-options button[data-v-cbcb4b2e]{padding:6px 12px;font-size:12px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.sort-options button.active[data-v-cbcb4b2e]{background:#48a9fe;color:#fff;border-color:#48a9fe}.comment-item[data-v-cbcb4b2e]{display:flex;gap:12px;padding:16px;border:1px solid #eaeaea;border-radius:12px;background:#fff;margin-bottom:16px}.comment-avatar[data-v-cbcb4b2e],.reply-avatar[data-v-cbcb4b2e]{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.comment-avatar img[data-v-cbcb4b2e],.reply-avatar img[data-v-cbcb4b2e]{width:40px;height:40px;border-radius:50%;object-fit:cover}.reply-avatar img[data-v-cbcb4b2e]{width:32px;height:32px}.comment-content[data-v-cbcb4b2e]{flex:1}.comment-header[data-v-cbcb4b2e],.reply-header[data-v-cbcb4b2e]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.username[data-v-cbcb4b2e]{font-weight:500;color:#333}.time[data-v-cbcb4b2e]{font-size:12px;color:#888}.comment-text[data-v-cbcb4b2e],.reply-text[data-v-cbcb4b2e]{line-height:1.6;color:#333;margin-bottom:12px;word-break:break-word}.reply-to[data-v-cbcb4b2e]{color:#48a9fe;font-weight:500}.comment-actions[data-v-cbcb4b2e],.reply-actions[data-v-cbcb4b2e]{display:flex;gap:16px}.action-btn[data-v-cbcb4b2e]{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;color:#666;background:none;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.action-btn[data-v-cbcb4b2e]:hover{background:#f5f5f5;color:#333}.action-btn[data-v-cbcb4b2e]:disabled{opacity:.5;cursor:not-allowed}.delete-btn[data-v-cbcb4b2e]:hover{background:#ffebee;color:#f44336}.icon[data-v-cbcb4b2e]{font-size:12px}.replies[data-v-cbcb4b2e]{margin-top:16px;padding-left:16px;border-left:2px solid #f0f0f0}.reply-item[data-v-cbcb4b2e]{display:flex;gap:8px;padding:12px 0;border-bottom:1px solid #f5f5f5}.reply-item[data-v-cbcb4b2e]:last-child{border-bottom:none}.reply-content[data-v-cbcb4b2e]{flex:1}.empty-comments[data-v-cbcb4b2e]{text-align:center;padding:48px 16px;color:#999}.empty-icon[data-v-cbcb4b2e]{font-size:48px;margin-bottom:16px}.empty-comments p[data-v-cbcb4b2e]{margin:0;font-size:14px}.main-container[data-v-1866df77]{width:min(100%,1440px);max-width:1440px;margin:0 auto;display:flex;gap:20px;padding:60px 8px 8px;min-height:calc(100vh - 24px);min-width:0}.sidebar[data-v-1866df77]{width:300px;flex:0 0 300px;background:#fff;border-radius:4px;padding:20px 0;height:fit-content;min-width:0}.content[data-v-1866df77]{flex:1;width:100%;background:#fff;border-radius:4px;max-width:760px;min-width:360px}.right-sidebar[data-v-1866df77]{width:300px;min-width:0;display:flex;flex-direction:column;gap:20px}.sidebar-card[data-v-1866df77]{background:#fff;border-radius:8px;overflow:hidden;min-width:0}.mobile-sidebar-container[data-v-1866df77]{padding:8px}@media (max-width: 1200px){.main-container[data-v-1866df77]{max-width:100%}.right-sidebar[data-v-1866df77]{width:260px}}@media (max-width: 992px){.main-container[data-v-1866df77]{gap:15px}.sidebar[data-v-1866df77]{width:200px;flex-basis:200px}.right-sidebar[data-v-1866df77]{width:240px}}@media (max-width: 768px){.main-container[data-v-1866df77]{flex-direction:column;width:100%;gap:15px;padding:78px 14px 16px}.sidebar[data-v-1866df77]{display:none}.content[data-v-1866df77]{order:1;width:100%;max-width:none;min-width:0}.right-sidebar[data-v-1866df77]{order:2;width:100%;min-width:0;flex-direction:row;gap:15px;overflow-x:auto}.sidebar-card[data-v-1866df77]{flex:1}}@media (max-width: 480px){.main-container[data-v-1866df77]{padding:74px 10px 14px;gap:12px}.right-sidebar[data-v-1866df77]{flex-direction:column;gap:10px}.sidebar-card[data-v-1866df77]{min-width:auto}}@media (max-width: 768px) and (orientation: landscape){.main-container[data-v-1866df77]{flex-direction:row;padding-top:74px}.content[data-v-1866df77]{order:0;min-width:0}.right-sidebar[data-v-1866df77]{order:1;width:300px;flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:80vh}.sidebar-card[data-v-1866df77]{min-width:auto}}body{background:#f8fafc;color:#0f172a}.article-layout[data-v-1866df77]{max-width:1280px;padding:88px 20px 40px;gap:32px;align-items:flex-start}.card-surface[data-v-1866df77],.sidebar-card[data-v-1866df77],.article-shell[data-v-1866df77]{background:transparent;border:none;border-radius:0;box-shadow:none}.sidebar[data-v-1866df77]{box-sizing:border-box;background:transparent;border-radius:0;padding:8px 30px 0 0;border-right:1px solid #e2e8f0}.sidebar-sticky[data-v-1866df77]{position:sticky;top:92px;height:calc(100vh - 92px)}.sidebar-article-chapter[data-v-1866df77]{max-height:calc(100vh - 120px)}.article-shell[data-v-1866df77]{background:transparent;border:none;box-shadow:none;display:grid;gap:24px;max-width:none;min-width:0;padding-left:4px}.content.article-shell[data-v-1866df77]{max-width:880px;width:100%}.article-header[data-v-1866df77]{padding:8px 0 0;background:transparent;border:none;border-radius:0;box-shadow:none;max-width:760px}.article-title[data-v-1866df77]{font-size:clamp(30px,4.2vw,44px);font-weight:800;color:#0f172a;margin:0 0 14px;line-height:1.08;letter-spacing:-.04em;display:none}.article-meta[data-v-1866df77]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#5b687c;font-size:13px}.article-meta span[data-v-1866df77]{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid rgba(203,213,225,.8);background:#ffffffb3}.article-meta-item[data-v-1866df77]{color:#334155}.article-content[data-v-1866df77]{padding:0;line-height:1.8;font-size:16px;max-width:760px}.next-previous-article[data-v-1866df77]{padding:22px 0 0;background:transparent;border:none;border-top:1px solid #e2e8f0;border-radius:0;max-width:760px}.comments-content[data-v-1866df77]{padding:22px 0 0;min-height:600px;background:transparent;border:none;border-top:1px solid #e2e8f0;border-radius:0;max-width:760px}.comments-content span[data-v-1866df77],.next-previous-article span[data-v-1866df77]{display:inline-block;margin-bottom:18px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}.sidebar-card[data-v-1866df77]{overflow:hidden}.markdown-body[data-v-1866df77]{color:#334155;font-size:16px;line-height:1.25;word-break:break-word;max-width:100%}.markdown-body[data-v-1866df77] *{box-sizing:border-box}.markdown-body[data-v-1866df77]>*:first-child{margin-top:0}.markdown-body[data-v-1866df77]>*:last-child{margin-bottom:0}.markdown-body[data-v-1866df77] h1,.markdown-body[data-v-1866df77] h2,.markdown-body[data-v-1866df77] h3,.markdown-body[data-v-1866df77] h4,.markdown-body[data-v-1866df77] h5,.markdown-body[data-v-1866df77] h6{color:#0f172a;line-height:1.12;letter-spacing:-.04em;margin-top:2.1em;margin-bottom:.9em;scroll-margin-top:96px}.markdown-body[data-v-1866df77] h1{font-size:2.4rem}.markdown-body[data-v-1866df77] h2{font-size:1.9rem;padding-bottom:.42em;border-bottom:1px solid rgba(226,232,240,.95)}.markdown-body[data-v-1866df77] h3{font-size:1.5rem}.markdown-body[data-v-1866df77] h4{font-size:1.22rem}.markdown-body[data-v-1866df77] p,.markdown-body[data-v-1866df77] ul,.markdown-body[data-v-1866df77] ol,.markdown-body[data-v-1866df77] blockquote,.markdown-body[data-v-1866df77] table,.markdown-body[data-v-1866df77] pre{margin:1em 0}.markdown-body[data-v-1866df77] ul,.markdown-body[data-v-1866df77] ol{padding-left:1.4em}.markdown-body[data-v-1866df77] li+li{margin-top:.4em}.markdown-body[data-v-1866df77] a{color:#2563eb;text-decoration:none}.markdown-body[data-v-1866df77] a:hover{text-decoration:underline}.markdown-body[data-v-1866df77] code{padding:.16em .42em;background:#eef2ff;color:#3347c7;font-size:.92em;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.markdown-body[data-v-1866df77] pre{padding:22px 24px;border-radius:16px;background:linear-gradient(180deg,#0f172a,#111827);color:#e2e8f0;overflow-x:auto;box-shadow:inset 0 0 0 1px #94a3b81f}.markdown-body[data-v-1866df77] pre code{padding:0;background:transparent;color:inherit}.markdown-body[data-v-1866df77] .code-block{margin:1.2em 0;max-width:100%;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#111827,#0f172a);box-shadow:inset 0 0 0 1px #94a3b81f}.markdown-body[data-v-1866df77] .code-block__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#0f172aeb;border-bottom:1px solid rgba(148,163,184,.14)}.markdown-body[data-v-1866df77] .code-block__lang{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.markdown-body[data-v-1866df77] .code-block__copy{border:1px solid rgba(148,163,184,.24);border-radius:999px;padding:5px 10px;background:#1e293be6;color:#e2e8f0;font-size:12px;line-height:1;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.markdown-body[data-v-1866df77] .code-block__copy:hover{border-color:#93c5fd73;background:#2563eb2e;color:#fff}.markdown-body[data-v-1866df77] .code-block pre{margin:0;padding:18px 20px 20px;border-radius:0;background:transparent;box-shadow:none;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-body[data-v-1866df77] .code-block .hljs{display:block;overflow-x:auto;padding:0;background:transparent}.markdown-body[data-v-1866df77] blockquote{padding:16px 18px;border-left:3px solid #60a5fa;border-radius:0 18px 18px 0;background:linear-gradient(90deg,#f1f5f9eb,#f8fafcfa);color:#475569}.markdown-body[data-v-1866df77] hr{border:none;height:1px;background:linear-gradient(90deg,#94a3b800,#94a3b8b3,#94a3b800);margin:2em 0}.markdown-body[data-v-1866df77] img{display:block;max-width:100%;height:auto;margin:1.6em auto;border-radius:16px;box-shadow:none}.markdown-body[data-v-1866df77] table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:16px;border:1px solid #e5e7eb}.markdown-body[data-v-1866df77] thead{background:#f8fafc}.markdown-body[data-v-1866df77] th,.markdown-body[data-v-1866df77] td{padding:12px 14px;border-bottom:1px solid #e5e7eb;text-align:left}.markdown-body[data-v-1866df77] tr:last-child td{border-bottom:none}.top-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20width='48px'%20height='48px'%20viewBox='0%200%200.96%200.96'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3e%3cg%20fill='%23000000'%3e%3cpath%20d='M0.15%200.15a0.045%200.045%200%200%201%200%20-0.09H0.78a0.045%200.045%200%200%201%200%200.09zm0.029%200.438a0.045%200.045%200%200%200%200.064%20-0.002L0.42%200.398v0.457a0.045%200.045%200%200%200%200.09%200V0.398l0.177%200.188a0.045%200.045%200%200%200%200.065%20-0.062l-0.255%20-0.27a0.045%200.045%200%200%200%20-0.065%200l-0.255%200.27a0.045%200.045%200%200%200%200.002%200.064'/%3e%3c/g%3e%3c/svg%3e") no-repeat center;background-size:60%}.message-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20width='48px'%20height='48px'%20viewBox='0%200%201.44%201.44'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.12%200.36a0.12%200.12%200%200%201%200.12%20-0.12h0.96a0.12%200.12%200%200%201%200.12%200.12v0.66a0.12%200.12%200%200%201%20-0.12%200.12h-0.275l-0.162%200.162a0.06%200.06%200%200%201%20-0.085%200L0.515%201.14H0.24a0.12%200.12%200%200%201%20-0.12%20-0.12zm1.08%200H0.24v0.66h0.3a0.06%200.06%200%200%201%200.042%200.018L0.72%201.175l0.138%20-0.138A0.06%200.06%200%200%201%200.9%201.02h0.3zM0.36%200.57a0.06%200.06%200%200%201%200.06%20-0.06h0.6a0.06%200.06%200%201%201%200%200.12H0.42a0.06%200.06%200%200%201%20-0.06%20-0.06m0%200.24a0.06%200.06%200%200%201%200.06%20-0.06h0.36a0.06%200.06%200%201%201%200%200.12H0.42a0.06%200.06%200%200%201%20-0.06%20-0.06'%20fill='%230D0D0D'/%3e%3c/svg%3e") no-repeat center;background-size:60%}.csdn-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20width='48px'%20height='48px'%20viewBox='0%200%203.84%203.84'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20role='img'%20class='iconify%20iconify--emojione'%20preserveAspectRatio='xMidYMid%20meet'%3e%3cpath%20cx='32'%20cy='32'%20r='30'%20d='M3.72%201.92A1.8%201.8%200%200%201%201.92%203.72A1.8%201.8%200%200%201%200.12%201.92A1.8%201.8%200%200%201%203.72%201.92z'/%3e%3cpath%20d='M1.398%201.224c0.138%20-0.144%200.318%20-0.216%200.534%20-0.216%200.288%200%200.504%200.096%200.636%200.288%200.072%200.108%200.114%200.216%200.12%200.324h-0.366c-0.024%20-0.084%20-0.054%20-0.144%20-0.09%20-0.186%20-0.066%20-0.078%20-0.162%20-0.114%20-0.288%20-0.114q-0.198%200%20-0.306%200.162c-0.072%200.108%20-0.114%200.258%20-0.114%200.45%200%200.198%200.042%200.342%200.12%200.438s0.18%200.144%200.3%200.144q0.189%200%200.288%20-0.126c0.036%20-0.042%200.066%20-0.114%200.09%20-0.204h0.36c-0.03%200.192%20-0.108%200.342%20-0.24%200.462%20-0.126%200.12%20-0.294%200.18%20-0.492%200.18%20-0.246%200%20-0.444%20-0.078%20-0.582%20-0.24%20-0.144%20-0.162%20-0.21%20-0.384%20-0.21%20-0.666%20-0.006%20-0.3%200.078%20-0.534%200.24%20-0.696'%20fill='%23ffffff'/%3e%3c/svg%3e") no-repeat center;background-size:60%}.juejin-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='48'%20height='48'%20viewBox='0%200%2024%2024'%3e%3cpath%20fill='currentColor'%20d='m12%2014.316l7.454-5.88l-2.022-1.625L12%2011.1l-.004.003l-5.432-4.288l-2.02%201.624l7.452%205.88Zm0-7.247l2.89-2.298L12%202.453l-.004-.005l-2.884%202.318l2.884%202.3Zm0%2011.266l-.005.002l-9.975-7.87L0%2012.088l.194.156l11.803%209.308l7.463-5.885L24%2012.085l-2.023-1.624Z'%3e%3c/path%3e%3c/svg%3e") no-repeat center;background-size:60%}.github-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20fill='%23000000'%20width='48px'%20height='48px'%20viewBox='0%200%201.44%201.44'%20xmlns='http://www.w3.org/2000/svg'%20data-name='Layer%201'%3e%3cpath%20d='M0.72%200.135a0.6%200.6%200%200%200%20-0.19%201.169c0.03%200.005%200.041%20-0.013%200.041%20-0.028%200%20-0.014%20-0.001%20-0.061%20-0.001%20-0.112%20-0.151%200.028%20-0.19%20-0.037%20-0.202%20-0.07a0.218%200.218%200%200%200%20-0.061%20-0.085c-0.021%20-0.011%20-0.051%20-0.039%20-0.001%20-0.04a0.12%200.12%200%200%201%200.092%200.061%200.128%200.128%200%200%200%200.175%200.049%200.126%200.126%200%200%201%200.038%20-0.08c-0.134%20-0.015%20-0.273%20-0.067%20-0.273%20-0.296a0.234%200.234%200%200%201%200.061%20-0.161%200.216%200.216%200%200%201%200.006%20-0.159s0.05%20-0.016%200.165%200.061a0.566%200.566%200%200%201%200.3%200c0.115%20-0.078%200.165%20-0.061%200.165%20-0.061a0.216%200.216%200%200%201%200.006%200.159%200.232%200.232%200%200%201%200.061%200.161c0%200.23%20-0.14%200.281%20-0.274%200.296a0.142%200.142%200%200%201%200.04%200.111c0%200.08%20-0.001%200.145%20-0.001%200.165%200%200.016%200.011%200.034%200.041%200.028A0.6%200.6%200%200%200%200.72%200.135'/%3e%3c/svg%3e") no-repeat center;background-size:60%}.gitee-icon[data-v-1866df77]{background:url("data:image/svg+xml,%3csvg%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20role='img'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M23.968%200A24%2024%200%200%200%200%2024a24%2024%200%200%200%2024%2024%2024%2024%200%200%200%2024%20-24A24%2024%200%200%200%2024%200zm12.18%2010.666c0.656%200%201.186%200.532%201.184%201.186v2.964a1.188%201.188%200%200%201%20-1.186%201.184H19.554c-1.964%200%20-3.556%201.592%20-3.556%203.556v11.26c0%200.654%200.532%201.184%201.186%201.184h11.26c1.964%200%203.556%20-1.592%203.556%20-3.556v-0.592a1.186%201.186%200%200%200%20-1.184%20-1.186h-8.3a1.18%201.18%200%200%201%20-1.184%20-1.184v-2.964a1.186%201.186%200%200%201%201.186%20-1.184h13.63c0.654%200%201.186%200.53%201.186%201.184v6.816a8%208%200%200%201%20-8%208H11.852a1.186%201.186%200%200%201%20-1.186%20-1.186V19.556a8.888%208.888%200%200%201%208.89%20-8.888h16.592z'/%3e%3c/svg%3e") no-repeat center;background-size:60%}.fab-container[data-v-1866df77]{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:12px}.fab-actions[data-v-1866df77]{display:flex;flex-direction:column;gap:10px;align-items:center}.fab-item[data-v-1866df77]{width:44px;height:44px;border-radius:50%;background-color:#fff;box-shadow:0 2px 8px #00000026;background-size:60%!important;background-position:center!important;background-repeat:no-repeat!important}@media (max-width: 768px){.article-layout[data-v-1866df77]{padding-top:78px;padding-left:14px;padding-right:14px;gap:16px;max-width:100%}.sidebar-sticky[data-v-1866df77]{position:static;height:auto}.sidebar[data-v-1866df77]{width:100%;padding:0 0 12px;border-right:none;border-bottom:1px solid #e2e8f0}.article-title[data-v-1866df77]{font-size:30px}.article-header[data-v-1866df77],.article-content[data-v-1866df77],.next-previous-article[data-v-1866df77],.comments-content[data-v-1866df77]{padding-left:0;padding-right:0;max-width:none}.article-shell[data-v-1866df77]{padding-left:0}.markdown-body[data-v-1866df77] pre{padding:16px 16px 18px;border-radius:15px;font-size:13px;line-height:1.7}.markdown-body[data-v-1866df77] .code-block{border-radius:16px}.markdown-body[data-v-1866df77] .code-block__header{padding:9px 12px}.markdown-body[data-v-1866df77] .code-block__lang,.markdown-body[data-v-1866df77] .code-block__copy{font-size:11px}.markdown-body[data-v-1866df77] .code-block pre{padding:14px 14px 16px}.markdown-body[data-v-1866df77] .code-block .hljs{font-size:12.5px;line-height:1.7}}@media (max-width: 480px){.article-layout[data-v-1866df77]{padding-left:10px;padding-right:10px}.article-title[data-v-1866df77]{font-size:24px}.markdown-body[data-v-1866df77] code{padding:.12em .34em;font-size:.84em}.markdown-body[data-v-1866df77] pre{padding:14px 14px 16px;border-radius:14px;font-size:13px;line-height:1.65}.markdown-body[data-v-1866df77] .code-block{margin:1em 0;border-radius:14px}.markdown-body[data-v-1866df77] .code-block__header{padding:8px 10px;gap:8px}.markdown-body[data-v-1866df77] .code-block__lang{min-width:0;font-size:11px;letter-spacing:.05em}.markdown-body[data-v-1866df77] .code-block__copy{flex:0 0 auto;padding:4px 8px;font-size:11px}.markdown-body[data-v-1866df77] .code-block pre{padding:12px 12px 14px}.markdown-body[data-v-1866df77] .code-block .hljs{font-size:12px;line-height:1.65}}.tutorials-page[data-v-1d885314]{min-height:100vh;background:#f8fafc}.tutorials-main[data-v-1d885314]{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:118px 0 72px}.tutorials-hero[data-v-1d885314]{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #e7edf5}.hero-copy[data-v-1d885314]{display:grid;gap:6px}.page-kicker[data-v-1d885314]{margin:0 0 12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#2563eb}.page-description[data-v-1d885314]{margin:0;color:#0f172a;font-size:18px;line-height:1.45;font-weight:600}.toolbar[data-v-1d885314]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.back-link[data-v-1d885314]{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid #d9e4f0;border-radius:999px;background:#fff;color:#0f172a;font-size:13px;font-weight:600;text-decoration:none}.back-link[data-v-1d885314]:hover{border-color:#bfd4ff;color:#1d4ed8}.sort-chip[data-v-1d885314]{height:38px;padding:0 16px;border:1px solid #d9e4f0;border-radius:999px;background:#ffffffbf;color:#475569;font-size:13px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.sort-chip[data-v-1d885314]:hover{background:#fff;border-color:#cbd8e6;color:#0f172a;transform:translateY(-1px)}.sort-chip.active[data-v-1d885314]{background:#eff6ff;border-color:#bfd4ff;color:#1d4ed8}.tutorials-summary[data-v-1d885314]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 8px;color:#94a3b8;font-size:14px}.article-list[data-v-1d885314]{display:grid}.category-grid[data-v-1d885314]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding-top:14px}.timeline-list[data-v-1d885314]{position:relative;gap:0;padding-top:10px}.timeline-list[data-v-1d885314]:before{content:"";position:absolute;top:28px;bottom:26px;left:118px;width:1px;background:#cbd5e1}.category-card[data-v-1d885314]{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid #dce6f2;border-radius:8px;background:#fff;box-shadow:0 14px 36px #0f172a0f;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.category-card[data-v-1d885314]:hover{border-color:#bfdbfe;box-shadow:0 18px 42px #2563eb1c;transform:translateY(-2px)}.timeline-item[data-v-1d885314]{position:relative;display:grid;grid-template-columns:92px 52px minmax(0,1fr);gap:0;padding:18px 0 24px}.timeline-date[data-v-1d885314]{display:grid;align-content:start;justify-items:end;gap:2px;padding-top:4px;color:#64748b;font-size:12px;line-height:1.1}.timeline-date strong[data-v-1d885314]{color:#0f172a;font-size:18px;line-height:1.1}.timeline-node[data-v-1d885314]{position:relative;z-index:1;justify-self:center;width:13px;height:13px;margin-top:10px;border:3px solid #2563eb;border-radius:999px;background:#fff}.article-cover[data-v-1d885314]{display:block;overflow:hidden;border-bottom:1px solid #e7edf5;background:#eef4f9;aspect-ratio:16 / 10}.article-cover img[data-v-1d885314]{width:100%;height:100%;object-fit:cover;display:block}.article-copy[data-v-1d885314]{min-width:0}.category-card .article-copy[data-v-1d885314]{display:grid;grid-template-rows:auto auto 1fr auto;gap:0;padding:18px}.timeline-item .article-copy[data-v-1d885314]{padding:0 0 22px;border-bottom:1px solid #e7edf5}.article-meta[data-v-1d885314]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;color:#94a3b8;font-size:12px}.meta-pill[data-v-1d885314],.tag-chip[data-v-1d885314]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid #e2eaf3;background:#ffffffb3;color:#475569;font-size:12px}.article-copy h2[data-v-1d885314]{margin:10px 0 0;font-size:21px;line-height:1.28}.article-copy h2 a[data-v-1d885314]{color:#0f172a;text-decoration:none}.article-copy h2 a[data-v-1d885314]:hover{color:#1d4ed8}.article-copy p[data-v-1d885314]{margin:10px 0 0;color:#475569;font-size:14px;line-height:1.72;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-footer[data-v-1d885314]{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.tag-list[data-v-1d885314]{display:flex;flex-wrap:wrap;gap:8px}.article-link[data-v-1d885314]{color:#2563eb;text-decoration:none;font-weight:600;white-space:nowrap;font-size:14px}.article-link[data-v-1d885314]:hover{color:#1d4ed8}.pagination[data-v-1d885314]{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding-top:28px;border-top:1px solid #e7edf5}.page-button[data-v-1d885314],.page-number[data-v-1d885314]{height:40px;min-width:40px;padding:0 14px;border:1px solid #d9e4f0;border-radius:999px;background:#ffffffbf;color:#475569;font-size:14px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.page-button[data-v-1d885314]:hover,.page-number[data-v-1d885314]:hover{background:#fff;border-color:#cbd8e6;color:#0f172a}.page-button[data-v-1d885314]:disabled{opacity:.45;cursor:not-allowed}.page-number.active[data-v-1d885314]{background:#eff6ff;border-color:#bfd4ff;color:#1d4ed8}@media (max-width: 900px){.tutorials-main[data-v-1d885314]{width:min(100% - 28px,980px);padding-top:102px}.tutorials-hero[data-v-1d885314]{align-items:start;flex-direction:column}.category-grid[data-v-1d885314]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.timeline-list[data-v-1d885314]:before{left:86px}.timeline-item[data-v-1d885314]{grid-template-columns:72px 30px minmax(0,1fr)}}@media (max-width: 640px){.tutorials-main[data-v-1d885314]{width:calc(100% - 24px);padding-top:92px}.tutorials-hero[data-v-1d885314]{gap:14px;padding-bottom:14px}.page-kicker[data-v-1d885314]{margin-bottom:6px;font-size:11px}.page-description[data-v-1d885314]{font-size:16px}.toolbar[data-v-1d885314]{width:100%}.sort-chip[data-v-1d885314]{flex:1 1 calc(50% - 5px);justify-content:center}.tutorials-summary[data-v-1d885314],.article-footer[data-v-1d885314]{align-items:start;flex-direction:column}.tutorials-summary[data-v-1d885314]{padding-top:14px;gap:6px;font-size:13px}.category-grid[data-v-1d885314]{grid-template-columns:1fr;gap:16px}.timeline-list[data-v-1d885314]{padding-top:2px}.timeline-list[data-v-1d885314]:before{left:10px}.timeline-item[data-v-1d885314]{grid-template-columns:22px minmax(0,1fr);padding:14px 0 18px}.timeline-date[data-v-1d885314]{grid-column:2;grid-row:1;justify-items:start;display:flex;align-items:baseline;gap:6px;padding:0 0 8px}.timeline-date strong[data-v-1d885314]{font-size:14px}.timeline-node[data-v-1d885314]{grid-column:1;grid-row:1 / span 2;width:11px;height:11px;margin-top:4px}.timeline-item .article-copy[data-v-1d885314]{grid-column:2;grid-row:2;padding-bottom:18px}.category-card .article-copy[data-v-1d885314]{padding:15px}.article-cover[data-v-1d885314]{border-radius:0}.article-meta[data-v-1d885314]{gap:8px 10px;font-size:11px}.meta-pill[data-v-1d885314],.tag-chip[data-v-1d885314]{height:24px;padding:0 9px;font-size:11px}.article-copy h2[data-v-1d885314]{font-size:18px;line-height:1.34}.article-copy p[data-v-1d885314]{font-size:13px;line-height:1.7}.article-link[data-v-1d885314]{font-size:13px}.pagination[data-v-1d885314]{gap:8px;padding-top:22px;justify-content:flex-start}.page-button[data-v-1d885314],.page-number[data-v-1d885314]{height:36px;min-width:36px;padding:0 12px;font-size:13px}}.content-container[data-v-5c1fb910]{display:flex;flex-direction:column;gap:20px;padding:0 0 32px}.content-header[data-v-5c1fb910]{display:flex;flex-direction:column;gap:8px;padding:14px 4px 16px;border:none;border-bottom:1px solid #e5edf6;border-radius:0;background:transparent;box-shadow:none}.content-header h1[data-v-5c1fb910]{font-size:22px;font-weight:700;margin:0;color:#0f172a}.content-header p[data-v-5c1fb910]{font-size:14px;color:#64748b;margin:0;line-height:1.7}.content-body[data-v-5c1fb910]{display:flex;flex-direction:column;gap:18px}.error-banner[data-v-5c1fb910]{padding:12px 14px;border-radius:14px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-size:13px}.content-item[data-v-5c1fb910]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.content-item>span[data-v-5c1fb910]{min-width:92px;font-size:14px;color:#475569;font-weight:500}.content-item input[data-v-5c1fb910],.content-item select[data-v-5c1fb910],.content-item textarea[data-v-5c1fb910]{flex:1;min-width:180px;padding:10px 12px;font-size:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fffffff2;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.content-item input[data-v-5c1fb910]:focus,.content-item select[data-v-5c1fb910]:focus,.content-item textarea[data-v-5c1fb910]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}.content-item textarea[data-v-5c1fb910]{min-height:96px;resize:vertical}.btn[data-v-5c1fb910]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;background:#f8fafc;color:#1e293b}.btn[data-v-5c1fb910]:disabled{opacity:.6;cursor:not-allowed}.btn[data-v-5c1fb910]:hover:not(:disabled){transform:translateY(-1px)}.btn-primary[data-v-5c1fb910]{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb24}.btn-primary[data-v-5c1fb910]:hover:not(:disabled){background:#1d4ed8}.btn-info[data-v-5c1fb910]{background:#0ea5e9;color:#fff;box-shadow:0 8px 18px #0ea5e924}.btn-info[data-v-5c1fb910]:hover:not(:disabled){background:#0284c7}.btn-danger[data-v-5c1fb910]{background:#ef4444;color:#fff;box-shadow:0 8px 18px #ef44441f}.btn-danger[data-v-5c1fb910]:hover:not(:disabled){background:#dc2626}.btn-outline[data-v-5c1fb910]{background:#fffc;border:1px solid #d6e0eb;color:#475569}.btn-outline[data-v-5c1fb910]:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8;background:#fff}.btn.is-loading[data-v-5c1fb910]:after{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;animation:spin-5c1fb910 .8s linear infinite}.list-block[data-v-5c1fb910]{display:flex;flex-direction:column;gap:12px;border:none;border-radius:0;overflow:visible}.list-row[data-v-5c1fb910]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.list-row>strong[data-v-5c1fb910]{font-size:14px;color:#0f172a;font-weight:600;flex:0 0 auto}.inline-actions[data-v-5c1fb910]{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;white-space:nowrap;align-items:center}.field[data-v-5c1fb910]{display:flex;align-items:center;gap:10px;min-width:160px;flex:0 1 auto}.field.field-grow[data-v-5c1fb910]{flex:1 1 240px}.full-width[data-v-5c1fb910]{flex:1 1 100%}.field-label[data-v-5c1fb910]{font-size:13px;color:#64748b;white-space:nowrap}.field-value[data-v-5c1fb910]{font-size:14px;color:#0f172a}.field-value--muted[data-v-5c1fb910]{color:#64748b}.field-value--truncate[data-v-5c1fb910]{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-input[data-v-5c1fb910]{min-width:160px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:12px;font-size:14px;background:#fffffff2;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;flex:1 1 0}.field-input[data-v-5c1fb910]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}textarea.field-input[data-v-5c1fb910]{min-height:96px;resize:vertical}.field-input--xs[data-v-5c1fb910]{width:64px;min-width:64px;flex:0 0 64px;text-align:center}.loading-stack[data-v-5c1fb910]{display:flex;flex-direction:column;gap:12px}.loading-card[data-v-5c1fb910]{height:64px;border-radius:18px;background:linear-gradient(180deg,#eef2f7,#e6edf5);animation:pulse-5c1fb910 1.6s ease-in-out infinite}.skeleton-line[data-v-5c1fb910]{width:100%;height:12px;background:#dbe5ef;border-radius:999px;animation:pulse-5c1fb910 1.6s ease-in-out infinite}.skeleton-line.w-40[data-v-5c1fb910]{width:40%}.skeleton-line.w-60[data-v-5c1fb910]{width:60%}.skeleton-line.w-80[data-v-5c1fb910]{width:80%}.skeleton-line.w-25[data-v-5c1fb910]{width:25%}.empty-state[data-v-5c1fb910]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0 6px;border:1px dashed #d6e0eb;border-radius:14px;background:#ffffff52;color:#475569}.empty-icon[data-v-5c1fb910]{font-size:20px}.label-sm[data-v-5c1fb910]{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.08em;display:inline-block;margin-bottom:4px}@keyframes spin-5c1fb910{to{transform:rotate(360deg)}}@keyframes pulse-5c1fb910{0%,to{opacity:.55}50%{opacity:1}}@media (max-width: 768px){.content-container[data-v-5c1fb910]{padding:0 0 24px}.content-item[data-v-5c1fb910]{flex-direction:column;align-items:stretch}.content-item>span[data-v-5c1fb910]{min-width:auto}.list-row[data-v-5c1fb910]{align-items:flex-start}.field[data-v-5c1fb910],.field.field-grow[data-v-5c1fb910]{flex:1 1 100%}.inline-actions[data-v-5c1fb910]{width:100%;justify-content:flex-start;white-space:normal}}.image-upload-overlay[data-v-51f5221d]{position:fixed;top:0;left:0;z-index:10020;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background-color:#00000080}.image-upload-container[data-v-51f5221d]{width:360px;margin:80px auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0006;display:flex;flex-direction:column}.image-upload-header[data-v-51f5221d]{display:flex;justify-content:space-between;margin-bottom:16px}.image-upload-close[data-v-51f5221d]{height:32px;width:32px;display:inline-block;background:url("data:image/svg+xml,%3csvg%20fill='%23000000'%20width='24px'%20height='24px'%20viewBox='-0.18%20-0.18%200.72%200.72'%20xmlns='http://www.w3.org/2000/svg'%20preserveAspectRatio='xMinYMin'%20class='jam%20jam-close'%3e%3cpath%20d='m0.219%200.177%200.106%20-0.106A0.03%200.03%200%201%200%200.283%200.028L0.177%200.135%200.071%200.028A0.03%200.03%200%201%200%200.028%200.071l0.106%200.106L0.028%200.283a0.03%200.03%200%201%200%200.042%200.042l0.106%20-0.106%200.106%200.106a0.03%200.03%200%201%200%200.042%20-0.042L0.219%200.177z'/%3e%3c/svg%3e") no-repeat center}.image-upload-close[data-v-51f5221d]:hover{cursor:pointer;border-radius:50%;border:1px solid #ccc}.image-upload-content[data-v-51f5221d]{display:flex;flex-direction:column;gap:8px}.image-upload-item[data-v-51f5221d]{display:flex;align-items:center;margin-bottom:15px}.image-upload-item[data-v-51f5221d]:last-child{margin-bottom:0}.image-upload-item .label[data-v-51f5221d]{flex:0 0 100px;font-weight:500;color:#333}.image-upload-item span[data-v-51f5221d]:not(.label){flex:1;color:#555}.image-upload-item input[data-v-51f5221d]{flex:1;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;outline:none}.image-upload-item input[data-v-51f5221d]:focus{border-color:#66afe9;box-shadow:0 0 5px #66afe999}.confirm-button[data-v-51f5221d]{background-color:#4caf50;color:#fff;padding:10px 20px;border:none;border-radius:4px;cursor:pointer}.upload-image-preview[data-v-51f5221d]{width:280px;height:150px;margin-left:10px;border:1px solid #ccc;border-radius:4px;object-fit:cover;background-color:#f0f0f0;cursor:pointer;display:flex;justify-content:center}.upload-image-preview img[data-v-51f5221d]{max-height:100%;max-width:100%;object-fit:contain}.content-container[data-v-a76bb3f0]{display:flex;flex-direction:column;gap:20px;padding:0 0 32px}.content-header[data-v-a76bb3f0]{display:flex;flex-direction:column;gap:8px;padding:14px 4px 16px;border:none;border-bottom:1px solid #e5edf6;border-radius:0;background:transparent;box-shadow:none}.content-header h1[data-v-a76bb3f0]{font-size:22px;font-weight:700;margin:0;color:#0f172a}.content-header p[data-v-a76bb3f0]{font-size:14px;color:#64748b;margin:0;line-height:1.7}.content-body[data-v-a76bb3f0]{display:flex;flex-direction:column;gap:18px}.error-banner[data-v-a76bb3f0]{padding:12px 14px;border-radius:14px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-size:13px}.content-item[data-v-a76bb3f0]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.content-item>span[data-v-a76bb3f0]{min-width:92px;font-size:14px;color:#475569;font-weight:500}.content-item input[data-v-a76bb3f0],.content-item select[data-v-a76bb3f0],.content-item textarea[data-v-a76bb3f0]{flex:1;min-width:180px;padding:10px 12px;font-size:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fffffff2;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.content-item input[data-v-a76bb3f0]:focus,.content-item select[data-v-a76bb3f0]:focus,.content-item textarea[data-v-a76bb3f0]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}.content-item textarea[data-v-a76bb3f0]{min-height:96px;resize:vertical}.btn[data-v-a76bb3f0]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;background:#f8fafc;color:#1e293b}.btn[data-v-a76bb3f0]:disabled{opacity:.6;cursor:not-allowed}.btn[data-v-a76bb3f0]:hover:not(:disabled){transform:translateY(-1px)}.btn-primary[data-v-a76bb3f0]{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb24}.btn-primary[data-v-a76bb3f0]:hover:not(:disabled){background:#1d4ed8}.btn-info[data-v-a76bb3f0]{background:#0ea5e9;color:#fff;box-shadow:0 8px 18px #0ea5e924}.btn-info[data-v-a76bb3f0]:hover:not(:disabled){background:#0284c7}.btn-danger[data-v-a76bb3f0]{background:#ef4444;color:#fff;box-shadow:0 8px 18px #ef44441f}.btn-danger[data-v-a76bb3f0]:hover:not(:disabled){background:#dc2626}.btn-outline[data-v-a76bb3f0]{background:#fffc;border:1px solid #d6e0eb;color:#475569}.btn-outline[data-v-a76bb3f0]:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8;background:#fff}.btn.is-loading[data-v-a76bb3f0]:after{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;animation:spin-a76bb3f0 .8s linear infinite}.list-block[data-v-a76bb3f0]{display:flex;flex-direction:column;gap:12px;border:none;border-radius:0;overflow:visible}.list-row[data-v-a76bb3f0]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.list-row>strong[data-v-a76bb3f0]{font-size:14px;color:#0f172a;font-weight:600;flex:0 0 auto}.inline-actions[data-v-a76bb3f0]{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;white-space:nowrap;align-items:center}.field[data-v-a76bb3f0]{display:flex;align-items:center;gap:10px;min-width:160px;flex:0 1 auto}.field.field-grow[data-v-a76bb3f0]{flex:1 1 240px}.full-width[data-v-a76bb3f0]{flex:1 1 100%}.field-label[data-v-a76bb3f0]{font-size:13px;color:#64748b;white-space:nowrap}.field-value[data-v-a76bb3f0]{font-size:14px;color:#0f172a}.field-value--muted[data-v-a76bb3f0]{color:#64748b}.field-value--truncate[data-v-a76bb3f0]{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-input[data-v-a76bb3f0]{min-width:160px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:12px;font-size:14px;background:#fffffff2;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;flex:1 1 0}.field-input[data-v-a76bb3f0]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}textarea.field-input[data-v-a76bb3f0]{min-height:96px;resize:vertical}.field-input--xs[data-v-a76bb3f0]{width:64px;min-width:64px;flex:0 0 64px;text-align:center}.loading-stack[data-v-a76bb3f0]{display:flex;flex-direction:column;gap:12px}.loading-card[data-v-a76bb3f0]{height:64px;border-radius:18px;background:linear-gradient(180deg,#eef2f7,#e6edf5);animation:pulse-a76bb3f0 1.6s ease-in-out infinite}.skeleton-line[data-v-a76bb3f0]{width:100%;height:12px;background:#dbe5ef;border-radius:999px;animation:pulse-a76bb3f0 1.6s ease-in-out infinite}.skeleton-line.w-40[data-v-a76bb3f0]{width:40%}.skeleton-line.w-60[data-v-a76bb3f0]{width:60%}.skeleton-line.w-80[data-v-a76bb3f0]{width:80%}.skeleton-line.w-25[data-v-a76bb3f0]{width:25%}.empty-state[data-v-a76bb3f0]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0 6px;border:1px dashed #d6e0eb;border-radius:14px;background:#ffffff52;color:#475569}.empty-icon[data-v-a76bb3f0]{font-size:20px}.label-sm[data-v-a76bb3f0]{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.08em;display:inline-block;margin-bottom:4px}@keyframes spin-a76bb3f0{to{transform:rotate(360deg)}}@keyframes pulse-a76bb3f0{0%,to{opacity:.55}50%{opacity:1}}@media (max-width: 768px){.content-container[data-v-a76bb3f0]{padding:0 0 24px}.content-item[data-v-a76bb3f0]{flex-direction:column;align-items:stretch}.content-item>span[data-v-a76bb3f0]{min-width:auto}.list-row[data-v-a76bb3f0]{align-items:flex-start}.field[data-v-a76bb3f0],.field.field-grow[data-v-a76bb3f0]{flex:1 1 100%}.inline-actions[data-v-a76bb3f0]{width:100%;justify-content:flex-start;white-space:normal}}.thumbnail[data-v-a76bb3f0]{width:72px;height:72px;border-radius:14px;overflow:hidden;background:#eef2f7;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}.thumbnail img[data-v-a76bb3f0]{width:100%;height:100%;object-fit:cover}.helper-text[data-v-a76bb3f0]{color:#6b7280;font-size:13px}.content-container[data-v-16ebb824]{display:flex;flex-direction:column;gap:20px;padding:0 0 32px}.content-header[data-v-16ebb824]{display:flex;flex-direction:column;gap:8px;padding:14px 4px 16px;border:none;border-bottom:1px solid #e5edf6;border-radius:0;background:transparent;box-shadow:none}.content-header h1[data-v-16ebb824]{font-size:22px;font-weight:700;margin:0;color:#0f172a}.content-header p[data-v-16ebb824]{font-size:14px;color:#64748b;margin:0;line-height:1.7}.content-body[data-v-16ebb824]{display:flex;flex-direction:column;gap:18px}.error-banner[data-v-16ebb824]{padding:12px 14px;border-radius:14px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-size:13px}.content-item[data-v-16ebb824]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.content-item>span[data-v-16ebb824]{min-width:92px;font-size:14px;color:#475569;font-weight:500}.content-item input[data-v-16ebb824],.content-item select[data-v-16ebb824],.content-item textarea[data-v-16ebb824]{flex:1;min-width:180px;padding:10px 12px;font-size:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fffffff2;color:#1f2937;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.content-item input[data-v-16ebb824]:focus,.content-item select[data-v-16ebb824]:focus,.content-item textarea[data-v-16ebb824]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}.content-item textarea[data-v-16ebb824]{min-height:96px;resize:vertical}.btn[data-v-16ebb824]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;background:#f8fafc;color:#1e293b}.btn[data-v-16ebb824]:disabled{opacity:.6;cursor:not-allowed}.btn[data-v-16ebb824]:hover:not(:disabled){transform:translateY(-1px)}.btn-primary[data-v-16ebb824]{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb24}.btn-primary[data-v-16ebb824]:hover:not(:disabled){background:#1d4ed8}.btn-info[data-v-16ebb824]{background:#0ea5e9;color:#fff;box-shadow:0 8px 18px #0ea5e924}.btn-info[data-v-16ebb824]:hover:not(:disabled){background:#0284c7}.btn-danger[data-v-16ebb824]{background:#ef4444;color:#fff;box-shadow:0 8px 18px #ef44441f}.btn-danger[data-v-16ebb824]:hover:not(:disabled){background:#dc2626}.btn-outline[data-v-16ebb824]{background:#fffc;border:1px solid #d6e0eb;color:#475569}.btn-outline[data-v-16ebb824]:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8;background:#fff}.btn.is-loading[data-v-16ebb824]:after{content:"";display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;animation:spin-16ebb824 .8s linear infinite}.list-block[data-v-16ebb824]{display:flex;flex-direction:column;gap:12px;border:none;border-radius:0;overflow:visible}.list-row[data-v-16ebb824]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 0;border:none;border-bottom:1px solid #e8eef5;border-radius:0;background:transparent;box-shadow:none}.list-row>strong[data-v-16ebb824]{font-size:14px;color:#0f172a;font-weight:600;flex:0 0 auto}.inline-actions[data-v-16ebb824]{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;white-space:nowrap;align-items:center}.field[data-v-16ebb824]{display:flex;align-items:center;gap:10px;min-width:160px;flex:0 1 auto}.field.field-grow[data-v-16ebb824]{flex:1 1 240px}.full-width[data-v-16ebb824]{flex:1 1 100%}.field-label[data-v-16ebb824]{font-size:13px;color:#64748b;white-space:nowrap}.field-value[data-v-16ebb824]{font-size:14px;color:#0f172a}.field-value--muted[data-v-16ebb824]{color:#64748b}.field-value--truncate[data-v-16ebb824]{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-input[data-v-16ebb824]{min-width:160px;padding:10px 12px;border:1px solid #dbe5f0;border-radius:12px;font-size:14px;background:#fffffff2;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;flex:1 1 0}.field-input[data-v-16ebb824]:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb14;background:#fff;outline:none}textarea.field-input[data-v-16ebb824]{min-height:96px;resize:vertical}.field-input--xs[data-v-16ebb824]{width:64px;min-width:64px;flex:0 0 64px;text-align:center}.loading-stack[data-v-16ebb824]{display:flex;flex-direction:column;gap:12px}.loading-card[data-v-16ebb824]{height:64px;border-radius:18px;background:linear-gradient(180deg,#eef2f7,#e6edf5);animation:pulse-16ebb824 1.6s ease-in-out infinite}.skeleton-line[data-v-16ebb824]{width:100%;height:12px;background:#dbe5ef;border-radius:999px;animation:pulse-16ebb824 1.6s ease-in-out infinite}.skeleton-line.w-40[data-v-16ebb824]{width:40%}.skeleton-line.w-60[data-v-16ebb824]{width:60%}.skeleton-line.w-80[data-v-16ebb824]{width:80%}.skeleton-line.w-25[data-v-16ebb824]{width:25%}.empty-state[data-v-16ebb824]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0 6px;border:1px dashed #d6e0eb;border-radius:14px;background:#ffffff52;color:#475569}.empty-icon[data-v-16ebb824]{font-size:20px}.label-sm[data-v-16ebb824]{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.08em;display:inline-block;margin-bottom:4px}@keyframes spin-16ebb824{to{transform:rotate(360deg)}}@keyframes pulse-16ebb824{0%,to{opacity:.55}50%{opacity:1}}@media (max-width: 768px){.content-container[data-v-16ebb824]{padding:0 0 24px}.content-item[data-v-16ebb824]{flex-direction:column;align-items:stretch}.content-item>span[data-v-16ebb824]{min-width:auto}.list-row[data-v-16ebb824]{align-items:flex-start}.field[data-v-16ebb824],.field.field-grow[data-v-16ebb824]{flex:1 1 100%}.inline-actions[data-v-16ebb824]{width:100%;justify-content:flex-start;white-space:normal}}.progress-toast-container[data-v-16ebb824]{position:fixed;top:88px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:1000}.progress-toast[data-v-16ebb824]{min-width:220px;max-width:280px;background:#0f172ad1;color:#f8fafc;box-shadow:0 16px 34px -18px #0f172a80;border-radius:16px;padding:14px 16px;border:1px solid rgba(148,163,184,.24);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-toast-title[data-v-16ebb824]{font-size:14px;font-weight:600;margin-bottom:8px;word-break:break-all}.progress-toast-bar[data-v-16ebb824]{position:relative;width:100%;height:6px;background:#ffffff29;border-radius:4px;overflow:hidden}.progress-toast-bar-inner[data-v-16ebb824]{height:100%;background:linear-gradient(135deg,#38bdf8,#6366f1);transition:width .2s ease}.progress-toast-percent[data-v-16ebb824]{margin-top:8px;text-align:right;font-size:12px;color:#f8fafccc;font-weight:500}.progress-toast--done[data-v-16ebb824]{border-color:#34d39973}.progress-toast--done .progress-toast-bar-inner[data-v-16ebb824]{background:linear-gradient(135deg,#10b981,#22d3ee)}.progress-toast--error[data-v-16ebb824]{border-color:#f8717199}.progress-toast--error .progress-toast-bar-inner[data-v-16ebb824]{background:linear-gradient(135deg,#f87171,#ef4444)}.file-title[data-v-16ebb824]{min-width:260px}.inline-actions[data-v-16ebb824]{justify-content:flex-end;gap:12px}@media (max-width: 768px){.progress-toast-container[data-v-16ebb824]{top:auto;bottom:24px;right:16px}.inline-actions[data-v-16ebb824]{flex-direction:column;align-items:stretch}}.main-container[data-v-316c14ad]{width:min(100%,1440px);max-width:1440px;margin:0 auto;display:flex;gap:20px;padding:60px 8px 8px;min-height:calc(100vh - 24px);min-width:0}.sidebar[data-v-316c14ad]{width:300px;flex:0 0 300px;background:#fff;border-radius:4px;padding:20px 0;height:fit-content;min-width:0}.content[data-v-316c14ad]{flex:1;width:100%;background:#fff;border-radius:4px;max-width:760px;min-width:360px}.right-sidebar[data-v-316c14ad]{width:300px;min-width:0;display:flex;flex-direction:column;gap:20px}.sidebar-card[data-v-316c14ad]{background:#fff;border-radius:8px;overflow:hidden;min-width:0}.mobile-sidebar-container[data-v-316c14ad]{padding:8px}@media (max-width: 1200px){.main-container[data-v-316c14ad]{max-width:100%}.right-sidebar[data-v-316c14ad]{width:260px}}@media (max-width: 992px){.main-container[data-v-316c14ad]{gap:15px}.sidebar[data-v-316c14ad]{width:200px;flex-basis:200px}.right-sidebar[data-v-316c14ad]{width:240px}}@media (max-width: 768px){.main-container[data-v-316c14ad]{flex-direction:column;width:100%;gap:15px;padding:78px 14px 16px}.sidebar[data-v-316c14ad]{display:none}.content[data-v-316c14ad]{order:1;width:100%;max-width:none;min-width:0}.right-sidebar[data-v-316c14ad]{order:2;width:100%;min-width:0;flex-direction:row;gap:15px;overflow-x:auto}.sidebar-card[data-v-316c14ad]{flex:1}}@media (max-width: 480px){.main-container[data-v-316c14ad]{padding:74px 10px 14px;gap:12px}.right-sidebar[data-v-316c14ad]{flex-direction:column;gap:10px}.sidebar-card[data-v-316c14ad]{min-width:auto}}@media (max-width: 768px) and (orientation: landscape){.main-container[data-v-316c14ad]{flex-direction:row;padding-top:74px}.content[data-v-316c14ad]{order:0;min-width:0}.right-sidebar[data-v-316c14ad]{order:1;width:300px;flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:80vh}.sidebar-card[data-v-316c14ad]{min-width:auto}}.admin-page[data-v-316c14ad]{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.admin-main[data-v-316c14ad]{flex:1;display:flex;gap:28px;padding:92px 28px 40px;min-height:calc(100vh - 112px);width:100%;max-width:1280px;margin:0 auto;min-width:0;overflow:visible;transition:filter .3s ease,transform .3s ease}.admin-sidebar[data-v-316c14ad]{width:224px;flex:0 0 224px;display:flex;background:transparent;border-radius:0;padding:0}.admin-sidebar-card[data-v-316c14ad]{width:100%;padding:4px 0;border-radius:0;background:transparent;border:none;box-shadow:none}.sidebar-nav[data-v-316c14ad]{display:flex;flex-direction:column;gap:2px;width:100%;padding:0}.sidebar-link[data-v-316c14ad]{text-align:left;position:relative;padding:14px 4px 14px 18px;border:none;border-radius:0;background:transparent;font-size:15px;color:#475569;cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .2s ease}.sidebar-link[data-v-316c14ad]:hover{color:#0f172a;background:#ffffff59;transform:none}.sidebar-link.active[data-v-316c14ad]{background:linear-gradient(90deg,#ffffff9e,#fff0)}.sidebar-link.active[data-v-316c14ad]:before{content:"";position:absolute;left:0;top:50%;width:3px;height:24px;border-radius:999px;background:#2563eb;transform:translateY(-50%)}.sidebar-link.active>span[data-v-316c14ad]{color:#2563eb;font-weight:700}.admin-content[data-v-316c14ad]{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;padding:0;max-width:none;width:100%;min-width:0;overflow:visible;background:transparent;border-radius:0}.admin-content-body[data-v-316c14ad]{position:relative;flex:1;min-height:0;overflow-y:auto;padding:0 0 32px;transition:filter .25s ease,opacity .25s ease}.admin-content-body.is-dimmed[data-v-316c14ad]{pointer-events:none;filter:blur(1px);opacity:.6}.loading-overlay[data-v-316c14ad]{position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafcd1;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;color:#475569}.loading-spinner[data-v-316c14ad]{width:46px;height:46px;border-radius:50%;border:4px solid rgba(99,102,241,.16);border-top-color:#6366f1;animation:spin-316c14ad .8s linear infinite}@keyframes spin-316c14ad{to{transform:rotate(360deg)}}.admin-sidebar-card--mobile[data-v-316c14ad]{padding:0}@media (max-width: 1024px){.admin-main[data-v-316c14ad]{padding:84px 20px 28px;gap:20px}.admin-sidebar[data-v-316c14ad]{width:200px;flex-basis:200px}.admin-content[data-v-316c14ad]{padding:0}}@media (max-width: 768px){.admin-main[data-v-316c14ad]{padding:88px 16px 32px;overflow-y:auto;gap:20px}.admin-sidebar[data-v-316c14ad]{display:none}.admin-content[data-v-316c14ad]{padding:0;background:transparent;box-shadow:none}.sidebar-nav[data-v-316c14ad]{gap:10px}.admin-sidebar-card[data-v-316c14ad]{background:transparent;border:none;box-shadow:none;padding:0}.admin-content-header h1[data-v-316c14ad]{font-size:24px}.admin-main.mobile-menu-open[data-v-316c14ad]{filter:blur(2px) brightness(.92);transform:scale(.995);transition:filter .3s ease,transform .3s ease}}@media (max-width: 480px){.admin-content-header[data-v-316c14ad]{margin-bottom:20px}.admin-main.mobile-menu-open[data-v-316c14ad]{filter:blur(2.4px) brightness(.88);transform:scale(.99)}}.main-container[data-v-bd3c16de]{display:flex;justify-content:center;padding:68px 16px 16px;background-color:#f9fafb;min-height:calc(100vh - 64px);width:100%;min-width:0}.whiteboard-wrapper[data-v-bd3c16de]{width:100%;max-width:960px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000000d;padding:24px;display:flex;flex-direction:column;gap:24px}.input-area[data-v-bd3c16de]{display:flex;gap:8px;align-items:flex-start}.input-wrapper[data-v-bd3c16de]{position:relative;flex:1;display:flex}.input-area input[data-v-bd3c16de]{flex:1;padding:12px 40px 12px 16px;font-size:1rem;border:1px solid #d1d5db;border-radius:6px;transition:border-color .2s}.input-area input[data-v-bd3c16de]:focus{border-color:#3b82f6;outline:none}.input-area>button[data-v-bd3c16de]{padding:12px 24px;font-size:1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.input-area>button[data-v-bd3c16de]:hover{background-color:#2563eb}.clear-btn[data-v-bd3c16de]{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:transparent;color:#9ca3af;font-size:1.1rem;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.clear-btn[data-v-bd3c16de]:hover{color:#4b5563}.board-selector[data-v-bd3c16de]{display:flex;flex-direction:column;gap:8px}.selector-label[data-v-bd3c16de]{font-weight:600;color:#374151}.key-list[data-v-bd3c16de]{display:flex;flex-wrap:wrap;gap:8px}.key-chip[data-v-bd3c16de]{padding:6px 14px;font-size:.875rem;border-radius:999px;border:1px solid #d1d5db;background-color:#fff;color:#374151;cursor:pointer;transition:all .2s ease}.key-chip[data-v-bd3c16de]:hover{border-color:#3b82f6;color:#2563eb}.key-chip.active[data-v-bd3c16de]{background-color:#3b82f6;border-color:#2563eb;color:#fff}.board[data-v-bd3c16de]{flex:1;display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:16px}.card[data-v-bd3c16de]{display:flex;flex-direction:column;height:100%;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.card-header[data-v-bd3c16de]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.card-meta[data-v-bd3c16de]{display:flex;flex-direction:column;gap:4px;color:#4b5563;font-size:.875rem}.card-key[data-v-bd3c16de]{font-weight:600;color:#111827}.card-actions[data-v-bd3c16de]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-actions button[data-v-bd3c16de]{padding:8px 16px;font-size:.875rem;border-radius:6px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.card-actions .primary[data-v-bd3c16de]{background-color:#3b82f6;color:#fff;border:1px solid #2563eb}.card-actions .primary[data-v-bd3c16de]:disabled{background-color:#bfdbfe;border-color:#bfdbfe;cursor:not-allowed}.card-actions .primary[data-v-bd3c16de]:not(:disabled):hover{background-color:#2563eb}.card-actions .secondary[data-v-bd3c16de]{background-color:#fff;color:#374151;border:1px solid #d1d5db}.card-actions .secondary[data-v-bd3c16de]:disabled{color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed}.card-actions .secondary[data-v-bd3c16de]:not(:disabled):hover{border-color:#3b82f6;color:#2563eb}.card textarea[data-v-bd3c16de]{flex:1;padding:16px;font-size:1rem;border:none;resize:none;outline:none;background-color:#fefefe}.card textarea[data-v-bd3c16de]:disabled{background-color:#f3f4f6;color:#9ca3af}.timestamp[data-v-bd3c16de]{padding:8px 16px;font-size:.875rem;color:#6b7280;background-color:#f9fafb;text-align:right;border-top:1px solid #e5e7eb}.fullscreen-overlay[data-v-bd3c16de]{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;display:flex;justify-content:center;align-items:center;z-index:10006;padding:24px}.fullscreen-panel[data-v-bd3c16de]{width:min(1200px,100%);max-height:100%;background-color:#fff;border-radius:12px;box-shadow:0 24px 48px #0f172a40;display:flex;flex-direction:column;overflow:hidden}.fullscreen-header[data-v-bd3c16de]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background-color:#fff;z-index:5}.fullscreen-title[data-v-bd3c16de]{font-size:16px;font-weight:600;color:#111827}.close-btn[data-v-bd3c16de]{line-height:1;border:none;background:transparent;font-size:24px;cursor:pointer;color:#4b5563;padding:4px}.close-btn[data-v-bd3c16de]:hover{color:#111827}.fullscreen-body[data-v-bd3c16de]{padding:20px;overflow:auto;flex:1;background-color:#f9fafb}.fullscreen-body pre[data-v-bd3c16de]{white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,Courier,monospace;font-size:14px;line-height:1.6;color:#1f2937}.fullscreen-footer[data-v-bd3c16de]{padding:16px 20px;border-top:1px solid #e5e7eb;background-color:#fff;display:flex;justify-content:flex-end}.exit-btn[data-v-bd3c16de]{padding:10px 20px;background-color:#111827;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background-color .2s ease}.exit-btn[data-v-bd3c16de]:hover{background-color:#1f2937}@media (max-width: 640px){.main-container[data-v-bd3c16de]{padding:74px 10px 12px}.whiteboard-wrapper[data-v-bd3c16de]{padding:14px;gap:16px;border-radius:10px}.input-area[data-v-bd3c16de]{flex-direction:column;align-items:stretch;gap:12px}.input-wrapper[data-v-bd3c16de]{width:100%}.input-area>button[data-v-bd3c16de]{width:100%;padding:12px}.key-list[data-v-bd3c16de]{gap:6px}.card-header[data-v-bd3c16de]{flex-direction:column;align-items:stretch;gap:12px}.card[data-v-bd3c16de]{border-radius:10px}.card textarea[data-v-bd3c16de]{min-height:320px;padding:14px;font-size:14px}.timestamp[data-v-bd3c16de]{padding:8px 14px;font-size:12px}.card-actions[data-v-bd3c16de]{flex-direction:column;align-items:stretch;gap:10px}.card-actions button[data-v-bd3c16de]{width:100%}.fullscreen-overlay[data-v-bd3c16de]{padding:12px}.fullscreen-panel[data-v-bd3c16de]{max-height:calc(100vh - 24px)}.fullscreen-header[data-v-bd3c16de]{padding:12px 16px}.fullscreen-body[data-v-bd3c16de]{padding:16px}.fullscreen-footer[data-v-bd3c16de]{padding:12px 16px 16px;justify-content:center}.exit-btn[data-v-bd3c16de]{width:100%}}.main-container[data-v-2ac5242e]{width:min(100%,1440px);max-width:1440px;margin:0 auto;display:flex;gap:20px;padding:60px 8px 8px;min-height:calc(100vh - 24px);min-width:0}.sidebar[data-v-2ac5242e]{width:300px;flex:0 0 300px;background:#fff;border-radius:4px;padding:20px 0;height:fit-content;min-width:0}.content[data-v-2ac5242e]{flex:1;width:100%;background:#fff;border-radius:4px;max-width:760px;min-width:360px}.right-sidebar[data-v-2ac5242e]{width:300px;min-width:0;display:flex;flex-direction:column;gap:20px}.sidebar-card[data-v-2ac5242e]{background:#fff;border-radius:8px;overflow:hidden;min-width:0}.mobile-sidebar-container[data-v-2ac5242e]{padding:8px}@media (max-width: 1200px){.main-container[data-v-2ac5242e]{max-width:100%}.right-sidebar[data-v-2ac5242e]{width:260px}}@media (max-width: 992px){.main-container[data-v-2ac5242e]{gap:15px}.sidebar[data-v-2ac5242e]{width:200px;flex-basis:200px}.right-sidebar[data-v-2ac5242e]{width:240px}}@media (max-width: 768px){.main-container[data-v-2ac5242e]{flex-direction:column;width:100%;gap:15px;padding:78px 14px 16px}.sidebar[data-v-2ac5242e]{display:none}.content[data-v-2ac5242e]{order:1;width:100%;max-width:none;min-width:0}.right-sidebar[data-v-2ac5242e]{order:2;width:100%;min-width:0;flex-direction:row;gap:15px;overflow-x:auto}.sidebar-card[data-v-2ac5242e]{flex:1}}@media (max-width: 480px){.main-container[data-v-2ac5242e]{padding:74px 10px 14px;gap:12px}.right-sidebar[data-v-2ac5242e]{flex-direction:column;gap:10px}.sidebar-card[data-v-2ac5242e]{min-width:auto}}@media (max-width: 768px) and (orientation: landscape){.main-container[data-v-2ac5242e]{flex-direction:row;padding-top:74px}.content[data-v-2ac5242e]{order:0;min-width:0}.right-sidebar[data-v-2ac5242e]{order:1;width:300px;flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:80vh}.sidebar-card[data-v-2ac5242e]{min-width:auto}}.main-container[data-v-2ac5242e]{width:min(1180px,calc(100% - 40px));max-width:1180px;display:block;padding:110px 0 72px}.livedemo-shell[data-v-2ac5242e]{display:grid;gap:26px}.livedemo-heading[data-v-2ac5242e]{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid #111827}.page-kicker[data-v-2ac5242e]{margin:0 0 8px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.livedemo-heading h1[data-v-2ac5242e]{margin:0;color:#111827;font-size:34px;line-height:1.08;letter-spacing:0}.project-count[data-v-2ac5242e]{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:2px solid #111827;background:#facc15;color:#111827;font-size:13px;font-weight:800;box-shadow:3px 3px #111827;white-space:nowrap}.home-content[data-v-2ac5242e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:34px}.code-space-card[data-v-2ac5242e]{position:relative;display:grid;grid-template-rows:auto auto auto auto 1fr auto;min-height:100%;padding:0;overflow:hidden;border:2px solid #111827;border-radius:8px;background:#fff;box-shadow:6px 6px #111827;transition:transform .14s ease,box-shadow .14s ease}.code-space-card[data-v-2ac5242e]:hover{transform:translate(-2px,-2px);box-shadow:8px 8px #111827}.card-window-bar[data-v-2ac5242e]{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-bottom:2px solid #111827;background:#e2e8f0}.card-window-bar span[data-v-2ac5242e]{width:9px;height:9px;border:2px solid #111827;background:#fff}.card-window-bar span[data-v-2ac5242e]:nth-child(1){background:#ef4444}.card-window-bar span[data-v-2ac5242e]:nth-child(2){background:#facc15}.card-window-bar span[data-v-2ac5242e]:nth-child(3){background:#22c55e}.preview-title[data-v-2ac5242e]{min-height:70px;padding:16px 16px 12px;color:#111827;font-size:18px;font-weight:850;line-height:1.24;border-bottom:1px solid #cbd5e1}.preview-title span[data-v-2ac5242e]{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.preview-gif[data-v-2ac5242e]{width:100%;margin:0;padding:12px;aspect-ratio:16 / 10;overflow:hidden;border-bottom:2px solid #111827;background:linear-gradient(45deg,#e2e8f0 25%,transparent 25%),linear-gradient(-45deg,#e2e8f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e8f0 75%),linear-gradient(-45deg,transparent 75%,#e2e8f0 75%);background-color:#f8fafc;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.preview-gif img[data-v-2ac5242e]{width:100%;height:100%;object-fit:cover;display:block;border:2px solid #111827;border-radius:4px;background:#fff}.card-meta[data-v-2ac5242e]{display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:12px 16px 0}.chip[data-v-2ac5242e]{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:0 8px;overflow:hidden;border:1px solid #111827;border-radius:4px;background:#dbeafe;color:#111827;font-size:12px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.chip-muted[data-v-2ac5242e]{background:#f1f5f9;color:#475569}.preview-description[data-v-2ac5242e]{min-height:78px;margin:0;padding:12px 16px 0;color:#475569;font-size:14px;line-height:1.55;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3}.actions[data-v-2ac5242e]{display:flex;align-items:stretch;gap:10px;padding:16px}.btn[data-v-2ac5242e],.btn-secondary[data-v-2ac5242e]{flex:1 1 0;min-width:0;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #111827;border-radius:6px;color:#111827;font-size:13px;font-weight:850;text-decoration:none;cursor:pointer;box-shadow:3px 3px #111827;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,opacity .12s ease}.btn[data-v-2ac5242e]{background:#93c5fd}.btn[data-v-2ac5242e]:hover{background:#bfdbfe;transform:translate(-1px,-1px);box-shadow:4px 4px #111827}.btn[data-v-2ac5242e]:active{transform:translate(2px,2px);box-shadow:1px 1px #111827}.btn[data-v-2ac5242e]:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb47,3px 3px #111827}.btn[disabled][data-v-2ac5242e]{cursor:not-allowed;opacity:.55;transform:none;box-shadow:3px 3px #111827}.btn-secondary[data-v-2ac5242e]{background:#fff}.btn-secondary[data-v-2ac5242e]:hover{background:#f8fafc}@media (prefers-reduced-motion: reduce){.code-space-card[data-v-2ac5242e],.btn[data-v-2ac5242e]{transition:none}}@media (max-width: 768px){.main-container[data-v-2ac5242e]{width:calc(100% - 28px);padding-top:92px;padding-bottom:48px}.livedemo-shell[data-v-2ac5242e]{gap:18px}.livedemo-heading[data-v-2ac5242e]{align-items:start;flex-direction:column;gap:12px}.livedemo-heading h1[data-v-2ac5242e]{font-size:28px}.home-content[data-v-2ac5242e]{grid-template-columns:1fr;gap:28px}.code-space-card[data-v-2ac5242e]{box-shadow:5px 5px #111827}.code-space-card[data-v-2ac5242e]:hover{transform:none;box-shadow:5px 5px #111827}.preview-title[data-v-2ac5242e]{min-height:auto;font-size:17px}.preview-gif[data-v-2ac5242e]{padding:10px;aspect-ratio:4 / 3}.actions[data-v-2ac5242e]{flex-direction:column}}@media (max-width: 480px){.main-container[data-v-2ac5242e]{width:calc(100% - 22px)}.code-space-card[data-v-2ac5242e]{border-radius:6px}.preview-title[data-v-2ac5242e]{font-size:15px}.preview-description[data-v-2ac5242e]{min-height:auto;font-size:13px;line-height:1.5}.project-count[data-v-2ac5242e]{width:100%;justify-content:center}}
