.site-article{--article-txt-0: var(--site-txt-0, #f4f6ff);--article-txt-1: var(--site-txt-1, #c6cdea);--article-txt-2: var(--site-txt-2, #8b94b8);--article-line-soft: var(--site-line-soft, rgba(148, 163, 255, .08));--article-indigo: var(--site-indigo, #6d8bff);--article-mono: var(--site-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);margin-top:30px;font-size:15px;line-height:1.9;color:var(--article-txt-1)}.site-article p{margin:0 0 20px}.site-article h2{margin:38px 0 14px;font-size:20px;font-weight:600;color:var(--article-txt-0)}.site-article ul{margin:0 0 20px;padding-left:20px}.site-article li{margin-bottom:8px}.site-article pre{margin:0 0 22px;padding:18px 20px;border-radius:12px;border:1px solid var(--article-line-soft);background:#030408b8;overflow-x:auto}.site-article code{font-family:var(--article-mono);font-size:12.5px;line-height:1.75;color:#c9d4ff}.site-article blockquote{margin:26px 0;padding:4px 0 4px 18px;border-left:2px solid var(--article-indigo);color:var(--article-txt-2)}.site-root{--site-bg-0: #05060a;--site-bg-1: #0a0d16;--site-bg-2: #10141f;--site-line: rgba(148, 163, 255, .14);--site-line-soft: rgba(148, 163, 255, .08);--site-txt-0: #f4f6ff;--site-txt-1: #c6cdea;--site-txt-2: #8b94b8;--site-indigo: #6d8bff;--site-violet: #9c86ff;--site-cyan: #6ee7f2;--site-amber: #e8b86d;--site-blue: #4d6bfe;--site-green: #66c8a0;--site-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--site-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--site-ease: cubic-bezier(.22, 1, .36, 1);position:relative;min-height:100%;overflow-x:hidden;background:radial-gradient(120% 80% at 50% -10%,rgba(30,40,78,.55),transparent 62%),linear-gradient(180deg,var(--site-bg-0) 0%,#080b13 46%,var(--site-bg-0) 100%);color:var(--site-txt-0);font-family:var(--site-sans);line-height:1.6;-webkit-font-smoothing:antialiased}body:has(.site-root){background:#05060a}body:has(.site-root) #root{background:#05060a}.site-root a{color:inherit;text-decoration:none}.site-root ::selection{background:#6d8bff59;color:#fff}.site-root a:focus-visible,.site-root button:focus-visible{outline:2px solid var(--site-indigo);outline-offset:3px;border-radius:8px}.site-mono{font-family:var(--site-mono)}.site-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(50% 42% at 12% -4%,rgba(77,107,254,.3),transparent 68%),radial-gradient(42% 36% at 88% 2%,rgba(156,134,255,.2),transparent 70%),radial-gradient(38% 30% at 58% 88%,rgba(110,231,242,.07),transparent 72%)}.site-root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}.site-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 62% at 50% 12%,#000 4%,transparent 70%);mask-image:radial-gradient(ellipse 80% 62% at 50% 12%,#000 4%,transparent 70%)}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;border-bottom:1px solid transparent}.site-nav.is-scrolled{background:#0a1028bd;border-bottom-color:var(--site-line-soft);box-shadow:0 12px 40px #00000059;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-nav-inner{max-width:1280px;height:72px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:36px}.site-logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.site-logo-mark{width:32px;height:32px;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(109,139,255,.35))}.site-logo-text{display:flex;flex-direction:column;font-family:var(--site-mono);font-size:14px;font-weight:700;letter-spacing:.16em;line-height:1.15;color:var(--site-txt-0)}.site-logo-text em{font-style:normal;font-size:10px;font-weight:400;letter-spacing:.3em;color:var(--site-txt-2)}.site-nav-links{display:flex;align-items:center;gap:4px}.site-nav-link{position:relative;padding:8px 14px;border-radius:999px;font-size:14px;color:var(--site-txt-2);transition:color .2s ease,background .2s ease}.site-nav-link:hover{color:var(--site-txt-0);background:#94a3ff14}.site-nav-link.is-active{color:var(--site-txt-0)}.site-nav-link.is-active:after{content:"";position:absolute;left:50%;bottom:1px;width:16px;height:2px;border-radius:2px;transform:translate(-50%);background:linear-gradient(90deg,var(--site-indigo),var(--site-cyan));box-shadow:0 0 10px #6d8bffe6}.site-nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.site-icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9px;border:1px solid var(--site-line);background:#ffffff09;color:var(--site-txt-1);font-size:16px;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.site-icon-btn:hover{color:var(--site-txt-0);border-color:#6d8bff80;background:#6d8bff1a}.site-icon-btn.is-active{color:var(--site-indigo);border-color:#6d8bff80;box-shadow:0 0 14px #4d6bfe2e}.site-menu-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--site-line);background:#ffffff0a;color:var(--site-txt-0);font-size:16px}.site-mobile-menu{display:none}.site-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s var(--site-ease),box-shadow .25s ease,background .2s ease,border-color .2s ease}.site-btn-primary{background:linear-gradient(180deg,#5b7bff,var(--site-blue));color:#fff;box-shadow:0 10px 26px #4d6bfe5c,inset 0 1px #ffffff3d}.site-btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px #4d6bfe7a,inset 0 1px #ffffff47}.site-btn-ghost{border-color:var(--site-line);background:#ffffff09;color:var(--site-txt-0)}.site-btn-ghost:hover{border-color:#6d8bff80;background:#6d8bff1a;transform:translateY(-1px)}.site-btn-sm{height:36px;padding:0 16px;border-radius:8px;font-size:13px}.site-hero{position:relative;z-index:1;max-width:1200px;min-height:100vh;margin:0 auto;padding:156px 28px 104px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}.site-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--site-mono);font-size:11px;letter-spacing:.22em;color:var(--site-txt-2);text-transform:uppercase}.site-eyebrow:before{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--site-indigo))}.site-eyebrow-link{text-decoration:none;transition:color .2s ease}.site-eyebrow-link:before{display:none}.site-eyebrow-link:hover{color:var(--site-indigo)}.site-hero-copy>*{animation:site-rise .85s var(--site-ease) both}.site-hero-copy>:nth-child(2){animation-delay:.06s}.site-hero-copy>:nth-child(3){animation-delay:.12s}.site-hero-copy>:nth-child(4){animation-delay:.18s}.site-hero-copy>:nth-child(5){animation-delay:.24s}.site-hero h1{margin-top:22px;font-size:clamp(42px,5.2vw,66px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--site-txt-0)}.site-title-accent{background:linear-gradient(100deg,#f4f6ff 6%,#a9bcff 48%,var(--site-cyan) 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.site-lead{max-width:520px;margin-top:24px;font-size:16px;line-height:1.85;color:var(--site-txt-1)}.site-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.site-stats{display:flex;gap:44px;margin-top:46px;padding-top:26px;border-top:1px solid var(--site-line-soft)}.site-stat-value{font-family:var(--site-mono);font-size:22px;font-weight:600;color:var(--site-txt-0)}.site-stat-value span{font-size:12px;font-weight:400;color:var(--site-indigo)}.site-stat-label{margin-top:4px;font-size:11px;letter-spacing:.14em;color:var(--site-txt-2)}.site-hero-visual{position:relative;animation:site-rise .95s .18s var(--site-ease) both}.site-hero-visual:before{content:"";position:absolute;top:-18%;right:-12%;bottom:-18%;left:-12%;background:radial-gradient(50% 50% at 50% 50%,rgba(109,139,255,.26),transparent 70%);filter:blur(34px);pointer-events:none}.site-panel{position:relative;z-index:2;border-radius:18px;border:1px solid var(--site-line);background:linear-gradient(180deg,#141a2ceb,#090c14e0);box-shadow:0 34px 90px #0009,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;transform:perspective(1200px) rotateY(calc(-3deg + var(--mx, 0) * 10deg)) rotateX(calc(1.5deg - var(--my, 0) * 8deg));transition:transform .45s var(--site-ease);will-change:transform}.site-panel-glow{position:absolute;top:-26px;right:-26px;bottom:-26px;left:-26px;z-index:1;border-radius:34px;background:conic-gradient(from 0deg,#4d6bfeb3,#6ee7f28c,#e8b86d59,#6d8bffb3);filter:blur(36px);opacity:.34;pointer-events:none}.site-panel:before{content:"";position:absolute;z-index:4;top:-120%;left:0;width:55%;height:340%;background:linear-gradient(90deg,transparent,rgba(168,198,255,.12),transparent);transform:translate(-160%) rotate(16deg);animation:site-sweep 6.5s 1.2s var(--site-ease) infinite;pointer-events:none}.site-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);opacity:.45;pointer-events:none}.site-panel-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--site-line-soft);background:#ffffff05}.site-dots{display:inline-flex;gap:6px}.site-dots i{width:8px;height:8px;border-radius:50%;background:#94a3ff40}.site-dots i:nth-child(1){background:#ff5f57;opacity:.75}.site-dots i:nth-child(2){background:#febc2e;opacity:.75}.site-dots i:nth-child(3){background:#28c840;opacity:.75}.site-panel-path{font-family:var(--site-mono);font-size:11px;color:var(--site-txt-2)}.site-panel-live{margin-left:auto;font-family:var(--site-mono);font-size:9px;letter-spacing:.16em;color:var(--site-green);animation:site-pulse 1.8s ease-in-out infinite}.site-panel-body{padding:16px}.site-panel-query{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:10px;border-radius:10px;border:1px solid var(--site-line-soft);background:#ffffff06;font-size:12px;color:var(--site-txt-2)}.site-panel-prompt{font-family:var(--site-mono);color:var(--site-cyan)}.site-panel-typing{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.site-panel-caret{width:1px;height:13px;margin-left:2px;background:var(--site-indigo);animation:site-blink 1.2s steps(2) infinite}.site-panel-row{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;border:1px solid transparent;overflow:hidden;animation:site-fade .5s var(--site-ease) both;transition:border-color .35s var(--site-ease),background .35s var(--site-ease)}.site-panel-row:nth-child(2){animation-delay:.1s}.site-panel-row:nth-child(3){animation-delay:.16s}.site-panel-row:nth-child(4){animation-delay:.22s}.site-panel-row:nth-child(5){animation-delay:.28s}.site-panel-row:nth-child(6){animation-delay:.34s}.site-panel-row.is-active{border-color:#6d8bff52;background:linear-gradient(90deg,#4d6bfe2e,#4d6bfe08)}.site-panel-row.is-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(110,231,242,.16),transparent);transform:translate(-100%);animation:site-row-sweep 2s linear infinite;pointer-events:none}.site-panel-icon{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border-radius:9px;border:1px solid var(--site-line-soft);background:#94a3ff17;color:var(--site-txt-1);font-size:14px}.site-panel-row.is-active .site-panel-icon{border-color:#6d8bff73;color:#cfdcff;box-shadow:0 0 14px #4d6bfe47}.site-panel-name{font-size:13px;color:var(--site-txt-1)}.site-panel-row.is-active .site-panel-name{color:var(--site-txt-0)}.site-panel-tag{margin-left:auto;font-family:var(--site-mono);font-size:9px;letter-spacing:.16em;color:var(--site-txt-2)}.site-panel-row.is-active .site-panel-tag{color:var(--site-amber)}.site-progress-card{margin-top:14px;padding:14px;border-radius:12px;border:1px solid rgba(109,139,255,.26);background:#4d6bfe14}.site-progress-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--site-txt-1)}.site-progress-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.site-progress-head .site-mono{color:var(--site-cyan);font-size:11px;font-variant-numeric:tabular-nums}.site-progress-bar{height:5px;margin-top:10px;border-radius:3px;background:#94a3ff29;overflow:hidden}.site-progress-bar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--site-blue),var(--site-cyan));box-shadow:0 0 12px #6ee7f299;transition:width .12s linear}.site-progress-note{margin-top:10px;font-size:11px;color:var(--site-txt-2)}.site-float{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--site-line);background:#0a0d16db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 34px #00000073;font-family:var(--site-mono);font-size:9px;letter-spacing:.16em;color:var(--site-txt-1);white-space:nowrap;animation:site-bob 5s ease-in-out infinite}.site-float.is-top{top:-36px;right:-10px}.site-float.is-bottom{bottom:-16px;left:-14px;animation-delay:-2.5s}.site-float-dot{width:6px;height:6px;border-radius:50%;background:var(--site-green);box-shadow:0 0 8px #66c8a0e6}.site-float-dot.is-amber{background:var(--site-amber);box-shadow:0 0 8px #e8b86de6}.site-section{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 28px 96px}.site-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.site-h2{margin-top:12px;font-size:clamp(26px,3.2vw,38px);font-weight:600;letter-spacing:-.01em;line-height:1.25}.site-section-desc{max-width:320px;text-align:right;font-size:13px;color:var(--site-txt-2)}.site-text-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-family:var(--site-mono);font-size:11px;letter-spacing:.14em;color:var(--site-txt-2);transition:color .2s ease}.site-text-link:hover{color:var(--site-indigo)}.site-modules{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:stretch}.site-module-stack{display:flex;flex-direction:column;gap:18px}.site-card{position:relative;display:flex;flex-direction:column;gap:9px;padding:26px;border-radius:18px;border:1px solid var(--site-line-soft);background:linear-gradient(180deg,#121726d1,#090c14b8);overflow:hidden;transition:transform .35s var(--site-ease),border-color .35s ease,box-shadow .35s ease}.site-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(60% 60% at 18% 0%,rgba(109,139,255,.16),transparent 70%)}.site-card:hover{border-color:#6d8bff5c;box-shadow:0 26px 60px #00000073;transform:translateY(-4px)}.site-card:hover:before{opacity:1}.site-card-tools{padding:28px}.site-card-sm{flex:1;padding:20px 22px;gap:6px}.site-card-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.site-card-icon{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border-radius:11px;border:1px solid rgba(109,139,255,.24);background:linear-gradient(160deg,#6d8bff29,#6ee7f20d);color:#b9c6ff;font-size:18px}.site-card-sm .site-card-icon{width:32px;height:32px;border-radius:9px;font-size:15px}.site-card-tag{margin-left:auto;font-family:var(--site-mono);font-size:9px;letter-spacing:.18em;color:var(--site-txt-2)}.site-card h3{font-size:21px;font-weight:600;letter-spacing:-.01em}.site-card-sm h3{font-size:17px}.site-card p{font-size:13px;line-height:1.75;color:var(--site-txt-2)}.site-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:18px}.site-tool-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;border:1px solid var(--site-line-soft);background:#ffffff05;font-size:13px;color:var(--site-txt-1);transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.site-tool-link .anticon{font-size:15px;color:var(--site-indigo)}.site-tool-link:hover{transform:translate(2px);border-color:#6d8bff66;background:#4d6bfe1a;color:#fff}.site-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;font-family:var(--site-mono);font-size:9px;letter-spacing:.14em;color:var(--site-txt-2)}.site-card-sm:hover .site-card-meta .anticon{color:var(--site-indigo);transform:translate(3px)}.site-card-meta .anticon{font-size:11px;transition:transform .25s ease,color .25s ease}.site-latest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.site-latest-label{margin-bottom:6px;font-family:var(--site-mono);font-size:10px;letter-spacing:.2em;color:var(--site-txt-2)}.site-list-item{display:flex;align-items:center;gap:16px;padding:17px 2px;border-bottom:1px solid var(--site-line-soft);transition:padding .25s var(--site-ease),color .2s ease}.site-list-item:hover{padding-left:8px;color:#fff}.site-list-date{flex-shrink:0;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.site-list-title{flex:1;font-size:14px;color:var(--site-txt-1);transition:color .2s ease}.site-list-item:hover .site-list-title{color:var(--site-txt-0)}.site-list-arrow{font-size:11px;color:var(--site-indigo);opacity:0;transform:translate(-6px);transition:opacity .25s ease,transform .25s ease}.site-list-item:hover .site-list-arrow{opacity:1;transform:translate(0)}.site-footer{position:relative;z-index:1;border-top:1px solid var(--site-line-soft);background:#05060a99}.site-footer-inner{max-width:1200px;margin:0 auto;padding:52px 28px 34px;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px}.site-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.site-footer-brand p{font-size:13px;color:var(--site-txt-2)}.site-footer-badge{padding:5px 10px;border-radius:999px;border:1px solid var(--site-line);font-family:var(--site-mono);font-size:9px;letter-spacing:.16em;color:var(--site-txt-2)}.site-footer-col h4{margin-bottom:14px;font-family:var(--site-mono);font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--site-txt-2)}.site-footer-col a{display:block;margin-bottom:9px;font-size:13px;color:var(--site-txt-1);transition:color .2s ease,transform .2s ease}.site-footer-col a:hover{color:var(--site-indigo);transform:translate(2px)}.site-footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.site-footer-icp{color:var(--site-txt-2);transition:color .2s ease}.site-footer-icp:hover{color:var(--site-indigo)}.site-footer-bottom{max-width:1200px;margin:0 auto;padding:18px 28px 26px;border-top:1px solid var(--site-line-soft);display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.site-root-inner{display:flex;flex-direction:column}.site-page{position:relative;z-index:1;flex:1;padding:148px 28px 96px}.site-page-inner{width:100%;max-width:1120px;margin:0 auto;animation:site-rise .8s var(--site-ease) both}.site-page-head{margin-bottom:34px}.site-page-title{width:fit-content;margin:16px 0 14px;font-size:clamp(38px,5.2vw,58px);font-weight:700;line-height:1.1;letter-spacing:-.02em;background:linear-gradient(100deg,#f4f6ff 10%,#a9bcff 60%,var(--site-cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.site-page-desc{max-width:560px;font-size:15px;line-height:1.85;color:var(--site-txt-1)}.site-page-note{display:flex;align-items:center;gap:8px;margin-top:34px;padding-top:20px;border-top:1px solid var(--site-line-soft);font-size:12px;color:var(--site-txt-2)}.site-post-list{display:flex;flex-direction:column;gap:14px}.site-post-item{display:block;padding:24px 26px;border-radius:18px;border:1px solid var(--site-line-soft);background:#10142080;transition:border-color .25s ease,transform .25s ease,background .25s ease}.site-post-item:hover{border-color:#6d8bff59;background:#141928b3;transform:translateY(-2px)}.site-post-item h2{margin:12px 0 8px;font-size:19px;font-weight:600;line-height:1.45;color:var(--site-txt-0)}.site-post-item p{font-size:14px;line-height:1.8;color:var(--site-txt-2)}.site-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.site-tag{padding:2px 8px;border-radius:999px;background:#6d8bff1f;color:var(--site-txt-1)}.site-post-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-indigo)}.site-article-page{max-width:820px}.site-article-title{margin:18px 0 14px;font-size:clamp(28px,3.6vw,40px);font-weight:700;line-height:1.28;letter-spacing:-.01em;color:var(--site-txt-0)}.site-state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 20px;border-radius:16px;border:1px dashed var(--site-line);color:var(--site-txt-2);font-size:13px;text-align:center}.site-state p{margin:0}.site-state-actions{display:flex;flex-wrap:wrap;gap:10px}.site-post-skeleton-list{display:flex;flex-direction:column;gap:14px}.site-post-skeleton{height:150px;border-radius:16px;border:1px solid var(--site-line-soft);background:linear-gradient(100deg,#14192866 20%,#6d8bff14,#14192866 60%);background-size:200% 100%;animation:site-skeleton 1.4s ease infinite}@keyframes site-skeleton{0%{background-position:160% 0}to{background-position:-60% 0}}.site-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.site-tool-card{min-height:200px;padding:24px}.site-tool-card h3{font-size:18px}.site-tool-card .site-card-meta{margin-top:auto;padding-top:18px}.site-tool-card:hover .site-card-meta .anticon{color:var(--site-indigo);transform:translate(3px)}.site-workspace{position:relative;z-index:1;height:100vh;padding:92px 24px 24px;display:flex;flex-direction:column}.site-workspace-inner{flex:1;min-height:0;width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column}.site-workspace-head{display:flex;flex-direction:column;gap:18px;flex-shrink:0;margin-bottom:14px}.site-workspace-head h1{width:fit-content;font-size:clamp(28px,4.2vw,48px);font-weight:700;line-height:1.1;letter-spacing:-.02em;background:linear-gradient(100deg,#f4f6ff 10%,#a9bcff 60%,var(--site-cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.site-back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-2);transition:color .2s ease}.site-workspace-desc{max-width:560px;font-size:14px;line-height:1.7;color:var(--site-txt-2)}.site-back-link:hover{color:var(--site-indigo)}.site-workspace-body{flex:1;min-height:0}.site-workspace-body>*{height:100%}.site-empty-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:46px;padding:28px;border-radius:18px;border:1px dashed rgba(148,163,255,.24);background:#1014208c}.site-empty-card p{font-size:13px;color:var(--site-txt-2)}.site-empty-card .site-btn{margin-top:8px}.site-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--site-mono);font-size:10px;letter-spacing:.16em;color:var(--site-amber)}.site-status i{width:6px;height:6px;border-radius:50%;background:var(--site-amber);box-shadow:0 0 8px #e8b86de6}@keyframes site-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes site-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes site-grow{0%{width:0}}@keyframes site-blink{50%{opacity:0}}@keyframes site-orbit{to{transform:rotate(360deg)}}@keyframes site-sweep{0%{transform:translate(-160%) rotate(16deg);opacity:0}12%{opacity:1}42%{transform:translate(280%) rotate(16deg);opacity:0}to{transform:translate(280%) rotate(16deg);opacity:0}}@keyframes site-row-sweep{to{transform:translate(100%)}}@keyframes site-bob{50%{transform:translateY(-6px)}}@keyframes site-pulse{50%{opacity:.35}}@media (max-width: 1024px){.site-hero{gap:44px}.site-stats{gap:32px}}@media (max-width: 900px){.site-nav-links{display:none}.site-menu-toggle{display:inline-flex}.site-mobile-menu{display:flex;flex-direction:column;padding:8px 20px 18px;border-bottom:1px solid var(--site-line-soft);background:#05060af5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-mobile-menu a{padding:12px 8px;font-size:15px;color:var(--site-txt-1);border-bottom:1px solid var(--site-line-soft)}.site-mobile-menu a:last-child{border-bottom:none}.site-mobile-menu a.is-active{color:var(--site-indigo)}.site-hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding:138px 24px 88px;gap:64px}.site-hero-copy{max-width:640px}.site-hero-visual{max-width:560px}.site-section{padding:0 24px 80px}.site-modules{grid-template-columns:minmax(0,1fr)}.site-module-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.site-latest{gap:32px}.site-footer-inner{padding:44px 24px 30px;grid-template-columns:1.4fr 1fr 1fr}.site-footer-bottom{padding:18px 24px 24px}.site-page{padding:128px 24px 80px}.site-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.site-nav-inner{height:64px;padding:0 20px;gap:16px}.site-hero{padding:118px 20px 72px}.site-hero h1{font-size:clamp(34px,9vw,44px)}.site-lead{font-size:15px}.site-stats{gap:22px;justify-content:space-between}.site-stat-value{font-size:19px}.site-section{padding:0 20px 68px}.site-section-head{flex-direction:column;align-items:flex-start;gap:12px}.site-section-desc{max-width:none;text-align:left}.site-module-stack{grid-template-columns:minmax(0,1fr)}.site-latest{grid-template-columns:minmax(0,1fr);gap:28px}.site-footer-inner{grid-template-columns:1fr 1fr;gap:30px;padding:40px 20px 28px}.site-footer-brand{grid-column:1 / -1}.site-footer-bottom{flex-direction:column;align-items:flex-start;gap:6px;padding:16px 20px 22px}.site-placeholder{max-width:none}.site-page{padding:118px 20px 68px}.site-page-title{font-size:clamp(34px,9vw,44px)}.site-tools-grid{grid-template-columns:minmax(0,1fr)}.site-workspace{height:auto;min-height:100vh;padding:84px 16px 28px}.site-workspace-body>*{height:auto}.site-workspace-body .tool-page{flex-direction:column}.site-workspace-body .tool-canvas-area{min-height:420px}.site-workspace-body .tool-sidebar{width:100%}.site-panel{transform:none}.site-float.is-top{top:-30px;right:4px}.site-float.is-bottom{bottom:-14px;left:6px}.site-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.site-nav-actions .site-btn{display:none}.site-float{font-size:8px;padding:6px 9px}.site-tool-grid{grid-template-columns:minmax(0,1fr)}}.site-page:has(>.tetris-page){height:100vh;padding:92px 24px 24px;display:flex;flex-direction:column}.tetris-page{flex:1;min-height:0;max-width:1120px;display:flex;flex-direction:column}.tetris-page .site-page-head{margin-bottom:18px}.tetris-page .site-page-title{margin:10px 0 8px;font-size:clamp(26px,3vw,38px)}.tetris-page .site-page-desc{font-size:14px;line-height:1.6}.tetris-layout{flex:1;min-height:340px;display:flex;align-items:stretch;justify-content:space-between;gap:clamp(24px,4vw,48px)}.tetris-board-wrap{flex:1;min-width:0;display:flex;align-items:center;justify-content:center}.tetris-board-frame{position:relative;height:100%}.tetris-board{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);gap:2px;height:100%;width:auto;max-width:100%;aspect-ratio:1 / 2;padding:8px;border-radius:16px;border:1px solid var(--site-line);background:#030408b8;box-shadow:0 22px 60px #00000061}.tetris-cell{border-radius:3px;background:#94a3ff0b}.tetris-cell.is-filled{background:var(--cell-color);box-shadow:inset 0 0 0 1px #ffffff42}.tetris-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;border-radius:16px;background:#04060cd6;text-align:center}.tetris-overlay-title{font-size:19px;font-weight:600;color:var(--site-txt-0)}.tetris-overlay-score{font-size:13px;color:var(--site-txt-2)}.tetris-overlay-score strong{margin-left:4px;font-size:20px;color:var(--site-txt-0)}.tetris-overlay-actions{margin-top:4px}.tetris-overlay-hint{font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.tetris-side{display:flex;flex-direction:column;gap:14px;flex:1;min-width:200px;max-width:320px}.tetris-stat{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;border-radius:12px;border:1px solid var(--site-line-soft);background:#10142080;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-2)}.tetris-stat strong{font-family:var(--site-sans);font-size:18px;font-weight:600;color:var(--site-txt-0)}.tetris-next{padding:12px 14px;border-radius:12px;border:1px solid var(--site-line-soft);background:#10142080}.tetris-next-label{font-family:var(--site-mono);font-size:10px;letter-spacing:.1em;color:var(--site-txt-2)}.tetris-next-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;width:84px;margin-top:8px}.tetris-next-grid .tetris-cell{aspect-ratio:1}.tetris-actions{display:flex;gap:8px}.tetris-actions .site-btn{flex:1;justify-content:center}.tetris-keys{margin:auto 0 0;padding:0;list-style:none;font-family:var(--site-mono);font-size:14px;line-height:1.9;letter-spacing:.06em;color:var(--site-txt-2)}.tetris-touch{display:none;gap:10px;margin-top:18px;justify-content:center}.tetris-touch button{flex:1;max-width:74px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--site-line);background:#101420b8;color:var(--site-txt-1);font-size:18px;transition:background .2s ease,transform .1s ease}.tetris-touch button:active{transform:scale(.95);background:#6d8bff38}.tetris-touch button:disabled{opacity:.35}@media (max-width: 720px){.site-page:has(>.tetris-page){height:auto;min-height:100vh}.tetris-layout{flex-direction:column;align-items:stretch;min-height:0}.tetris-board-wrap{flex:0 1 auto}.tetris-board-frame{height:auto;max-height:none}.tetris-board{width:min(86vw,340px);height:auto}.tetris-side{flex-direction:row;flex-wrap:wrap;max-width:none}.tetris-stat{flex:1 1 44%}.tetris-next{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between}.tetris-next-grid{width:68px;margin-top:0}.tetris-actions{flex:1 1 100%}.tetris-keys{display:none}.tetris-touch{display:flex}}.match3-page{max-width:1000px}.match3-layout{display:flex;align-items:flex-start;gap:clamp(20px,4vw,44px);margin-top:8px}.match3-board-frame{position:relative;flex:0 0 auto;width:min(64vw,460px);max-width:100%;aspect-ratio:1}.match3-board{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:5px;padding:10px;border-radius:18px;border:1px solid var(--site-line);background:#030408b8;box-shadow:0 22px 60px #00000061;overflow:hidden}.match3-cell{position:relative;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:10px;background:var(--gem-color);color:#080a1080;font-size:clamp(12px,1.8vw,20px);line-height:1;cursor:pointer;box-shadow:inset 0 -3px #0000002e,inset 0 1px #ffffff47;transition:box-shadow .12s ease,filter .12s ease}.match3-cell:disabled{cursor:default}.match3-cell:hover:not(:disabled){filter:brightness(1.08)}.match3-cell.is-selected{transform:scale(1.06);box-shadow:inset 0 0 0 2px #ffffffd9,0 0 0 2px #ffffff4d}.match3-cell.is-swapping{z-index:3;animation:match3-swap .22s cubic-bezier(.4,0,.2,1) forwards}.match3-cell.is-swapping.is-reverting{animation-name:match3-swap-back}@keyframes match3-swap{0%{transform:translate(0)}to{transform:translate(var(--tx),var(--ty))}}@keyframes match3-swap-back{0%{transform:translate(var(--tx),var(--ty))}to{transform:translate(0)}}.match3-cell.is-falling{z-index:2;animation:match3-fall .22s cubic-bezier(.25,.85,.35,1) forwards}@keyframes match3-fall{0%{transform:translateY(calc(var(--fall) * (100% + 5px)))}to{transform:translateY(0)}}.match3-cell.is-matched{z-index:4;animation:match3-cell-clean .34s ease-out forwards}.match3-cell.is-matched:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:14px;border:2px solid var(--gem-color);opacity:0;pointer-events:none;animation:match3-ring .34s ease-out forwards}.match3-gem{display:block}.match3-cell.is-matched .match3-gem{animation:match3-gem-burst .3s ease-out forwards}.match3-shards{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.match3-shards i{position:absolute;top:50%;left:50%;border-radius:1px;background:var(--gem-color);box-shadow:0 0 8px var(--gem-color);animation:match3-shard .34s cubic-bezier(.15,.7,.35,1) forwards}@keyframes match3-cell-clean{0%{transform:scale(1);background:var(--gem-color);filter:brightness(1)}30%{transform:scale(1.14);background:var(--gem-color);filter:brightness(1.9);box-shadow:inset 0 -3px #0000002e,inset 0 1px #ffffff47}55%{transform:scale(.9) rotate(-3deg);background:var(--gem-color)}to{transform:scale(.45) rotate(6deg);background:#94a3ff0b;filter:brightness(1);box-shadow:none}}@keyframes match3-ring{0%{transform:scale(.55);opacity:.95}to{transform:scale(1.5);opacity:0}}@keyframes match3-gem-burst{0%{transform:scale(1) rotate(0);opacity:1}35%{transform:scale(1.35) rotate(-12deg);opacity:1;filter:brightness(2)}to{transform:scale(.2) rotate(18deg);opacity:0;filter:brightness(1)}}@keyframes match3-shard{0%{transform:translate(-50%,-50%) rotate(0) scale(1);opacity:1}70%{opacity:.95}to{transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy))) rotate(var(--frot)) scale(.3);opacity:0}}.match3-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;border-radius:18px;background:#04060cd6;text-align:center}.match3-overlay-title{font-size:19px;font-weight:600;color:var(--site-txt-0)}.match3-overlay-score{font-size:13px;color:var(--site-txt-2)}.match3-overlay-score strong{margin-left:4px;font-size:20px;color:var(--site-txt-0)}.match3-overlay-hint{margin-top:4px;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.match3-side{flex:1;min-width:200px;max-width:300px;display:flex;flex-direction:column;gap:12px}.match3-stat{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;border-radius:12px;border:1px solid var(--site-line-soft);background:#10142080;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-2)}.match3-stat strong{font-family:var(--site-sans);font-size:18px;font-weight:600;color:var(--site-txt-0)}.match3-actions{display:flex;gap:8px}.match3-actions .site-btn{flex:1;justify-content:center}.match3-tips{margin:0;padding:0;list-style:none;font-family:var(--site-mono);font-size:13px;line-height:1.9;letter-spacing:.06em;color:var(--site-txt-2)}.match3-message{min-height:16px;margin:0;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-1)}@media (max-width: 720px){.match3-layout{flex-direction:column;align-items:stretch}.match3-board-frame{width:min(88vw,420px);margin:0 auto}.match3-side{flex-direction:row;flex-wrap:wrap;max-width:none}.match3-stat{flex:1 1 44%}.match3-actions{flex:1 1 100%}.match3-tips{display:none}}.dino-page{max-width:1120px}.dino-layout{display:flex;align-items:flex-start;gap:clamp(20px,4vw,44px);margin-top:8px}.dino-stage-wrap{flex:1;min-width:0}.dino-stage{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--site-line);background:radial-gradient(43.75% 131.25% at 72% 73%,#4d6bfe38,#4d6bfe00),radial-gradient(33.33% 100% at 12% 54%,#6ee7f21a,#6ee7f200),linear-gradient(180deg,#070a14,#0a0f1e 55%,#0d1326);box-shadow:0 22px 60px #0000006b}.dino-canvas{display:block;width:100%;height:auto;cursor:pointer;touch-action:manipulation}.dino-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;background:#04060cc2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center}.dino-overlay-title{font-size:19px;font-weight:600;color:var(--site-txt-0)}.dino-overlay-score{font-size:13px;color:var(--site-txt-2)}.dino-overlay-score strong{margin-left:4px;font-size:20px;color:var(--site-txt-0)}.dino-overlay-actions{margin-top:4px}.dino-overlay-hint{margin-top:4px;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.dino-side{flex:0 0 260px;display:flex;flex-direction:column;gap:12px}.dino-stat{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;border-radius:12px;border:1px solid var(--site-line-soft);background:#10142080;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-2)}.dino-stat strong{font-family:var(--site-sans);font-size:18px;font-weight:600;color:var(--site-txt-0)}.dino-actions{display:flex;gap:8px}.dino-actions .site-btn{flex:1;justify-content:center}.dino-keys{margin:0;padding:0;list-style:none;font-family:var(--site-mono);font-size:13px;line-height:1.9;letter-spacing:.06em;color:var(--site-txt-2)}.dino-message{min-height:16px;margin:0;font-family:var(--site-mono);font-size:11px;letter-spacing:.08em;color:var(--site-txt-1)}.dino-touch{display:none;gap:10px;margin-top:14px}.dino-touch button{flex:1;height:54px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:14px;border:1px solid var(--site-line);background:#101420b8;color:var(--site-txt-1);font-family:inherit;font-size:14px;transition:background .2s ease,transform .1s ease;touch-action:none}.dino-touch button:active{transform:scale(.97);background:#6d8bff38}.dino-touch button:disabled{opacity:.35}@media (max-width: 860px){.dino-layout{flex-direction:column;align-items:stretch}.dino-side{flex:1 1 auto;flex-direction:row;flex-wrap:wrap;max-width:none}.dino-stat{flex:1 1 40%}.dino-actions{flex:1 1 100%}.dino-keys{display:none}.dino-touch{display:flex}}@media (hover: none) and (pointer: coarse){.dino-touch{display:flex}.dino-keys{display:none}}.gomoku-page{max-width:1120px}.gomoku-page .site-page-head{margin-bottom:24px}.gomoku-alert{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;border-radius:12px;border:1px solid var(--site-line);font-size:13px;line-height:1.6}.gomoku-alert.is-error{border-color:#ff6b6b59;background:#ff6b6b14;color:#ffb3b3}.gomoku-alert.is-warning{border-color:#e8b86d4d;background:#e8b86d14;color:var(--site-amber)}.gomoku-alert>span{flex:1}.gomoku-alert>button{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:0;background:transparent;color:inherit;cursor:pointer}.gomoku-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:260px;color:var(--site-txt-1);font-size:14px}.gomoku-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--site-cyan);animation:gomoku-pulse 1.2s ease-in-out infinite}@keyframes gomoku-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.gomoku-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gomoku-choice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border-radius:18px;border:1px solid var(--site-line-soft);background:#1014208c;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.gomoku-choice:hover{border-color:#6d8bff73;background:#181e30b8;transform:translateY(-2px)}.gomoku-choice:focus-visible{outline:none;border-color:#6d8bff99;box-shadow:0 0 0 3px #4d6bfe2e}.gomoku-choice-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#4d6bfe24;color:var(--site-indigo);font-size:17px}.gomoku-choice-icon.is-alt{background:#66c8a021;color:var(--site-cyan)}.gomoku-choice strong{font-size:17px;font-weight:600;color:var(--site-txt-0)}.gomoku-choice p{margin:0;font-size:13px;line-height:1.7;color:var(--site-txt-2)}.gomoku-choice-action{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:13px;color:var(--site-indigo)}.gomoku-modal{--site-bg-2: #10141f;--site-line: rgba(148, 163, 255, .14);--site-line-soft: rgba(148, 163, 255, .08);--site-txt-0: #f4f6ff;--site-txt-1: #c6cdea;--site-txt-2: #8b94b8;--site-indigo: #6d8bff;--site-cyan: #6ee7f2;--site-blue: #4d6bfe;--site-green: #66c8a0;--site-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--site-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--site-sans);background:#04060ab8}.gomoku-modal .gomoku-panel{width:min(100%,420px);max-height:calc(100vh - 40px);overflow-y:auto;background:var(--site-bg-2);box-shadow:0 24px 60px #0000008c}.gomoku-modal-actions{display:flex;gap:10px}.gomoku-modal-actions .site-btn{flex:1;justify-content:center}.gomoku-panel{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:18px;border:1px solid var(--site-line-soft);background:#1014208c}.gomoku-panel-head{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--site-txt-0)}.gomoku-panel-head .anticon{color:var(--site-indigo)}.gomoku-panel-desc{margin:-4px 0 2px;font-size:13px;line-height:1.7;color:var(--site-txt-2)}.gomoku-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--site-txt-2)}.gomoku-field input{height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--site-line);background:#05070da6;color:var(--site-txt-0);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.gomoku-field input:focus{border-color:#6d8bff8c;box-shadow:0 0 0 3px #4d6bfe2e}.gomoku-field input::placeholder{color:#5c6687}.gomoku-field .gomoku-code-input{font-family:var(--site-mono);font-size:18px;letter-spacing:.22em}.gomoku-submit{width:100%;margin-top:2px}.gomoku-field-hint{margin:0;font-size:11px;line-height:1.6;color:var(--site-txt-2)}.gomoku-rooms-panel{margin-top:26px}.gomoku-rooms-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.gomoku-rooms-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--site-txt-0)}.gomoku-rooms-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 8px;border-radius:999px;background:#6d8bff29;color:var(--site-indigo);font-family:var(--site-mono);font-size:11px}.gomoku-rooms-empty{padding:38px 20px;border-radius:18px;border:1px dashed var(--site-line);background:#10142059;text-align:center;font-size:13px;color:var(--site-txt-2)}.gomoku-rooms-empty span{display:block;margin-bottom:6px;font-size:14px;color:var(--site-txt-1)}.gomoku-rooms-empty p{margin:0}.gomoku-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.gomoku-room-card{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:16px;border:1px solid var(--site-line-soft);background:#10142080;transition:border-color .2s ease,transform .2s ease}.gomoku-room-card:hover{border-color:#6d8bff59;transform:translateY(-2px)}.gomoku-room-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gomoku-room-card-head strong{font-size:15px;font-weight:600;line-height:1.4;color:var(--site-txt-0)}.gomoku-room-status{flex:none;padding:2px 9px;border-radius:999px;border:1px solid transparent;font-size:10px;letter-spacing:.06em}.gomoku-room-status.is-waiting{border-color:#66c8a061;background:#66c8a01a;color:var(--site-green)}.gomoku-room-status.is-playing{border-color:#e8b86d59;background:#e8b86d1a;color:var(--site-amber)}.gomoku-room-card-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:var(--site-txt-2)}.gomoku-room-card .site-btn{width:100%}.gomoku-room-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.gomoku-room-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gomoku-room-label{font-family:var(--site-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--site-txt-2)}.gomoku-room-title h2{margin:0;font-size:20px;font-weight:600;line-height:1.3;color:var(--site-txt-0)}.gomoku-room-code{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--site-line);background:#6d8bff14;color:var(--site-txt-1);font-family:var(--site-mono);font-size:13px;letter-spacing:.12em;cursor:pointer;transition:border-color .2s ease,background .2s ease}.gomoku-room-code:hover{border-color:#6d8bff73;background:#6d8bff29}.gomoku-tag{padding:2px 9px;border-radius:999px;border:1px solid rgba(110,231,242,.3);background:#6ee7f214;color:var(--site-cyan);font-size:10px;letter-spacing:.08em}.gomoku-waiting{display:flex;flex-direction:column;align-items:center;gap:22px;padding:52px 24px;border-radius:20px;border:1px solid var(--site-line-soft);background:radial-gradient(70% 90% at 50% 0%,rgba(77,107,254,.14),transparent 70%),#10142080}.gomoku-seats{display:flex;align-items:center;gap:clamp(16px,4vw,40px)}.gomoku-seat{width:170px;padding:20px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:16px;border:1px solid var(--site-line);background:#05070d8c;text-align:center}.gomoku-seat.is-black{border-color:#6d8bff66;box-shadow:inset 0 1px #ffffff0d}.gomoku-seat.is-empty{border-style:dashed}.gomoku-seat-stone{width:34px;height:34px;margin-bottom:4px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#4b5264,#0c1019 62%,#04060a);box-shadow:inset 0 0 0 1px #ffffff29}.gomoku-seat.is-empty .gomoku-seat-stone{background:#94a3ff14;box-shadow:inset 0 0 0 1px var(--site-line)}.gomoku-seat strong{font-size:15px;font-weight:600;color:var(--site-txt-0)}.gomoku-seat.is-empty strong{color:var(--site-txt-2)}.gomoku-seat small{font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-txt-2)}.gomoku-seat.is-offline{opacity:.55}.gomoku-vs{font-family:var(--site-mono);font-size:12px;letter-spacing:.18em;color:var(--site-txt-2)}.gomoku-waiting-tip{margin:0;font-size:13px;line-height:1.8;text-align:center;color:var(--site-txt-1)}.gomoku-waiting-tip strong{font-family:var(--site-mono);letter-spacing:.14em;color:var(--site-cyan)}.gomoku-game{display:flex;align-items:flex-start;gap:clamp(20px,3.5vw,40px)}.gomoku-board-shell{position:relative;flex:0 1 620px;width:min(100%,620px)}.gomoku-board{--gomoku-pad: 12px;position:relative;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr);width:100%;aspect-ratio:1;padding:var(--gomoku-pad);border-radius:16px;border:1px solid rgba(232,184,109,.28);background:linear-gradient(160deg,#e8b86d29,#e8b86d12),#080a11e6;box-shadow:0 24px 70px #00000073;-webkit-user-select:none;user-select:none}.gomoku-lines{position:absolute;inset:var(--gomoku-pad);width:calc(100% - var(--gomoku-pad) * 2);height:calc(100% - var(--gomoku-pad) * 2);pointer-events:none}.gomoku-lines line{stroke:#e8b86d5c;stroke-width:.024}.gomoku-cell{position:relative;min-width:0;padding:0;border:0;border-radius:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;touch-action:manipulation}.gomoku-cell:disabled{opacity:1}.gomoku-cell.is-star:before{content:"";position:absolute;left:50%;top:50%;width:12%;height:12%;min-width:3px;min-height:3px;border-radius:50%;background:#e8b86dd9;transform:translate(-50%,-50%)}.gomoku-cell.is-playable{cursor:pointer}.gomoku-cell.is-playable:hover:after{content:"";position:absolute;top:7%;right:7%;bottom:7%;left:7%;border-radius:50%;background:var(--gomoku-ghost)}.gomoku-stone{position:absolute;top:4%;right:4%;bottom:4%;left:4%;z-index:1;border-radius:50%}.gomoku-stone.is-black{background:radial-gradient(circle at 32% 28%,#4b5264,#0c1019 60%,#04060a);box-shadow:inset 0 0 0 1px #ffffff24,0 2px 5px #0000008c}.gomoku-stone.is-white{background:radial-gradient(circle at 32% 28%,#fff,#e3e8f4 55%,#b8c1d6);box-shadow:inset 0 0 0 1px #ffffffb3,0 2px 5px #0006}.gomoku-stone.is-last:after{content:"";position:absolute;left:50%;top:50%;width:26%;height:26%;border-radius:50%;background:var(--site-cyan);box-shadow:0 0 6px #6ee7f2cc;transform:translate(-50%,-50%)}.gomoku-stone.is-white.is-last:after{background:var(--site-blue);box-shadow:0 0 6px #4d6bfecc}.gomoku-stone.is-win{box-shadow:0 0 0 2px var(--site-cyan),0 0 16px #6ee7f299}.gomoku-side{display:flex;flex:1;flex-direction:column;gap:12px;min-width:250px;max-width:340px}.gomoku-turn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--site-line-soft);background:#1014208c}.gomoku-turn.is-me{border-color:#66c8a059;background:#66c8a012}.gomoku-turn.is-finished{border-color:#94a3ff38}.gomoku-turn-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--site-txt-2)}.gomoku-turn.is-me .gomoku-turn-dot{background:var(--site-green);box-shadow:0 0 10px #66c8a0cc}.gomoku-turn strong{display:block;font-size:13px;font-weight:600;color:var(--site-txt-0)}.gomoku-turn small{display:block;margin-top:2px;font-size:11px;line-height:1.5;color:var(--site-txt-2)}.gomoku-syncing{margin-left:auto;font-family:var(--site-mono);font-size:10px;letter-spacing:.08em;color:var(--site-cyan)}.gomoku-players{display:flex;flex-direction:column;gap:8px}.gomoku-players-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px;font-size:13px;font-weight:600;color:var(--site-txt-0)}.gomoku-players-head small{font-family:var(--site-mono);font-size:10px;font-weight:400;letter-spacing:.06em;color:var(--site-txt-2)}.gomoku-player-score{display:flex;flex:none;align-items:baseline;gap:6px}.gomoku-score-num{font-family:var(--site-mono);font-size:11px;letter-spacing:.04em}.gomoku-score-num.is-win{color:var(--site-green)}.gomoku-score-num.is-lose{color:var(--site-txt-2)}.gomoku-player{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--site-line-soft);background:#10142073}.gomoku-player-stone{flex:none;width:18px;height:18px;border-radius:50%}.gomoku-player.is-black .gomoku-player-stone{background:radial-gradient(circle at 32% 28%,#4b5264,#0c1019 62%,#04060a);box-shadow:inset 0 0 0 1px #ffffff29}.gomoku-player.is-white .gomoku-player-stone{background:radial-gradient(circle at 32% 28%,#fff,#e3e8f4 55%,#b8c1d6);box-shadow:inset 0 0 0 1px #ffffffb3}.gomoku-player-info{flex:1;min-width:0}.gomoku-player-info strong{display:block;overflow:hidden;font-size:12px;font-weight:600;color:var(--site-txt-0);text-overflow:ellipsis;white-space:nowrap}.gomoku-player-info small{display:block;margin-top:1px;font-size:10px;color:var(--site-txt-2)}.gomoku-presence{flex:none;font-family:var(--site-mono);font-size:10px;letter-spacing:.06em}.gomoku-presence.is-on{color:var(--site-green)}.gomoku-presence.is-off{color:var(--site-amber)}.gomoku-undo{padding:12px 14px;border-radius:12px;border:1px solid rgba(232,184,109,.3);background:#e8b86d14;font-size:12px;line-height:1.6;color:var(--site-txt-1)}.gomoku-undo p{margin:0 0 10px}.gomoku-undo p:last-child{margin-bottom:0}.gomoku-undo strong{color:var(--site-txt-0)}.gomoku-undo-actions{display:flex;gap:8px}.gomoku-undo-actions .site-btn{flex:1}.gomoku-actions{display:flex;gap:8px}.gomoku-actions .site-btn{flex:1}.gomoku-actions .site-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.gomoku-chat{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;border-radius:14px;border:1px solid var(--site-line-soft);background:#10142073}.gomoku-chat-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--site-line-soft);font-family:var(--site-mono);font-size:10px;letter-spacing:.1em;color:var(--site-txt-2)}.gomoku-chat-count{padding:2px 8px;border-radius:999px;background:#94a3ff14}.gomoku-chat-list{display:flex;flex:1;flex-direction:column;gap:8px;min-height:180px;max-height:320px;padding:12px 14px;overflow-y:auto}.gomoku-chat-empty{margin:0;font-size:12px;color:var(--site-txt-2)}.gomoku-chat-system{align-self:center;padding:3px 10px;border-radius:999px;background:#94a3ff12;font-size:10px;line-height:1.5;text-align:center;color:var(--site-txt-2)}.gomoku-chat-item{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.6}.gomoku-chat-name{font-family:var(--site-mono);font-size:10px;color:var(--site-txt-2)}.gomoku-chat-text{color:var(--site-txt-1);overflow-wrap:anywhere}.gomoku-chat-item.is-me .gomoku-chat-name{color:var(--site-indigo)}.gomoku-chat-item.is-me .gomoku-chat-text{color:var(--site-txt-0)}.gomoku-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--site-line-soft)}.gomoku-chat-form input{flex:1;min-width:0;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--site-line);background:#05070d99;color:var(--site-txt-0);font-family:inherit;font-size:12px;outline:none}.gomoku-chat-form input:focus{border-color:#6d8bff80}.gomoku-chat-form .site-btn{flex:none;padding:0 12px}.gomoku-result{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border-radius:16px;background:#04060cdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center}.gomoku-result-eyebrow{font-family:var(--site-mono);font-size:10px;letter-spacing:.16em;color:var(--site-txt-2)}.gomoku-result strong{font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.15}.gomoku-result strong.is-win{color:var(--site-green)}.gomoku-result strong.is-lose{color:#ff8f9a}.gomoku-result strong.is-draw{color:var(--site-cyan)}.gomoku-result p{margin:0;font-size:13px;line-height:1.6;color:var(--site-txt-1)}.gomoku-result-stats{font-family:var(--site-mono);font-size:10px;letter-spacing:.06em;color:var(--site-txt-2)}.gomoku-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.gomoku-result .gomoku-result-tip{font-size:12px;color:var(--site-cyan)}@media (max-width: 1024px){.gomoku-game{gap:20px}.gomoku-side{min-width:230px}}@media (max-width: 860px){.gomoku-game{flex-direction:column;align-items:stretch}.gomoku-board-shell{width:100%;max-width:560px;margin:0 auto}.gomoku-side{max-width:none}.gomoku-chat-list{max-height:220px}}@media (max-width: 720px){.gomoku-entry{grid-template-columns:1fr}.gomoku-seats{flex-direction:column;gap:12px;width:100%}.gomoku-seat{width:min(100%,300px)}.gomoku-waiting{padding:34px 16px}.gomoku-room-head{align-items:flex-start}.gomoku-room-title h2{font-size:17px}.gomoku-board{--gomoku-pad: 8px}.gomoku-chat-list{min-height:160px}}@media (max-width: 480px){.gomoku-room-title{gap:8px}.gomoku-room-head>.site-btn{width:100%}.gomoku-result-actions{width:100%}.gomoku-result-actions .site-btn{flex:1}}@media (prefers-reduced-motion: reduce){.site-root *,.site-root *:before,.site-root *:after{animation:none!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}:root{--sidebar-width: 220px;--bg: #05060a;--surface: #0a0d16;--border: rgba(148, 163, 255, .12);--text: #f4f6ff;--text-muted: #8b94b8;--primary: #4d6bfe;--primary-hover: #5b7bff;--accent: rgba(77, 107, 254, .14);--success: #66c8a0;--warning: #e8b86d;--danger: #f25a5a;--overlay: rgba(5, 6, 10, .82);--sidebar-gradient: linear-gradient(180deg, rgba(13, 17, 28, .98), rgba(7, 9, 15, .98));--surface-gradient: linear-gradient(180deg, rgba(18, 23, 38, .86), rgba(9, 12, 20, .76));--grid-line: rgba(148, 163, 255, .045);--aurora: radial-gradient(60% 40% at 12% 0%, rgba(77, 107, 254, .16), transparent 70%), radial-gradient(42% 36% at 90% 4%, rgba(156, 134, 255, .1), transparent 72%);--primary-gradient: linear-gradient(180deg, #5b7bff, var(--primary));--primary-glow: 0 8px 22px rgba(77, 107, 254, .32);--shadow-card: 0 20px 50px rgba(0, 0, 0, .45);--topbar-bg: rgba(5, 6, 10, .72);--danger-bg: rgba(242, 90, 90, .12);--danger-border: rgba(242, 90, 90, .32);--danger-text: #ff9b9b}[data-theme=light]{--bg: #f8f9fa;--surface: #ffffff;--border: #e5e7eb;--text: #1f2937;--text-muted: #6b7280;--primary: #4f46e5;--primary-hover: #4338ca;--accent: #e0e7ff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--overlay: rgba(255, 255, 255, .85);--sidebar-gradient: #ffffff;--surface-gradient: #ffffff;--grid-line: transparent;--aurora: none;--primary-gradient: linear-gradient(180deg, #6366f1, var(--primary));--primary-glow: 0 4px 12px rgba(79, 70, 229, .18);--shadow-card: 0 4px 16px rgba(79, 70, 229, .12);--topbar-bg: rgba(255, 255, 255, .85);--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: var(--danger)}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select{font-family:inherit}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--sidebar-gradient);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-logo{padding:18px 16px;color:var(--text);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer}.sidebar-logo .site-logo-text{font-size:13px}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid transparent;font-size:14px;color:var(--text);text-decoration:none;transition:all .15s}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-header{width:100%;text-align:left;font-size:14px}.nav-group-header.group-active{color:var(--primary);font-weight:500}.nav-caret{margin-left:auto;font-size:12px;line-height:1;transition:transform .2s}.nav-caret.open{transform:rotate(180deg)}.nav-sub{display:flex;flex-direction:column;gap:2px;margin-left:12px;padding-left:8px;border-left:1px solid var(--border)}.nav-sub-item{font-size:13px;padding:8px 14px}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border)}.nav-item:hover{background:var(--accent);color:var(--text)}.nav-item.active{background:var(--primary-gradient);color:#fff;font-weight:500;border-color:#ffffff14;box-shadow:var(--primary-glow)}.nav-icon{font-size:18px;width:20px;text-align:center}.main-area{flex:1;overflow:auto;display:flex;flex-direction:column;background-color:var(--bg);background-image:var(--aurora)}.top-bar{height:58px;background:var(--topbar-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;flex-shrink:0;position:relative;z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.top-bar-title{font-size:16px;font-weight:600}.page-content{flex:1;padding:24px;overflow:auto;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:72px 72px}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;max-width:1200px}.tool-card{background:var(--surface-gradient);border:1px solid var(--border);border-radius:12px;padding:24px;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit;display:block;box-shadow:inset 0 1px #ffffff08}.tool-card:hover{border-color:#6d8bff66;box-shadow:var(--shadow-card),0 0 24px #4d6bfe1f;transform:translateY(-2px)}.tool-card-icon{font-size:36px;margin-bottom:12px;color:var(--primary)}.tool-card-title{font-size:16px;font-weight:600;margin-bottom:6px}.tool-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5}.tool-page{display:flex;gap:20px;height:100%}.tool-canvas-area{padding:14px;flex:1;background:var(--surface-gradient);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:auto;position:relative}.tool-sidebar{width:300px;flex-shrink:0;background:var(--surface-gradient);border:1px solid var(--border);border-radius:12px;padding:20px;overflow-y:auto}.tool-section{margin-bottom:20px}.tool-section-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;transition:all .15s;border:1px solid transparent}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--primary-glow)}.btn-primary:hover{background:var(--primary-gradient);filter:brightness(1.08)}.btn-primary:disabled{background:var(--surface);border-color:var(--border);color:var(--text-muted);box-shadow:none;filter:none;cursor:not-allowed}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--accent);border-color:#6d8bff73}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary:disabled:hover{background:var(--surface);border-color:var(--border)}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.btn-block{width:100%}.slider-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.slider-label{font-size:13px;min-width:60px}.slider-value{font-size:13px;color:var(--text-muted);min-width:40px;text-align:right}input[type=range]{flex:1;height:4px;accent-color:var(--primary)}input[type=number],input[type=text],select,textarea{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;width:100%;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:#6d8bff8c;box-shadow:0 0 0 3px #4d6bfe24}input::placeholder,textarea::placeholder{color:var(--text-muted)}select option{background:var(--surface);color:var(--text)}.dropzone{width:100%;height:100%;border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);display:flex;flex-direction:column;justify-content:center}.dropzone:hover,.dropzone.active{border-color:var(--primary);background:var(--accent)}.dropzone-icon{font-size:40px;margin-bottom:12px}.dropzone-text{font-size:14px;color:var(--text-muted)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-row{display:flex;gap:16px;margin-bottom:16px}.stat-card{flex:1;background:var(--bg);border-radius:8px;padding:12px;text-align:center}.stat-value{font-size:18px;font-weight:700;color:var(--primary)}.stat-label{font-size:12px;color:var(--text-muted);margin-top:2px}.empty-canvas{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);font-size:14px}.empty-canvas-icon{font-size:48px;opacity:.5}.file-input-hidden{display:none}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px}.toggle{position:relative;width:40px;height:22px;background:var(--border);border-radius:11px;cursor:pointer;transition:background .2s}.toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.toggle.on{background:var(--primary)}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px #0003}.toggle.on .toggle-knob{left:20px}::selection{background:#6d8bff59;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3ff33;border:2px solid transparent;border-radius:8px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#94a3ff57;border:2px solid transparent;background-clip:padding-box}.btn:focus-visible,.nav-item:focus-visible,.tool-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
