:root{--mat-0: #0b100e;--mat-1: #0f1513;--mat-2: #151c1a;--mat-3: #1c2522;--grid: rgba(140, 175, 155, .055);--grid-bold: rgba(140, 175, 155, .11);--ink-1: #f2f6f0;--ink-2: #a9b8ae;--ink-3: #6e7e75;--hi: #d7f94c;--hi-deep: #b9db33;--hi-ink: #151b08;--cyan: #4fd8c8;--coral: #ff7a5c;--danger: #ff5c5c;--ok: #4ade80;--cat-teacher: #f9c74f;--cat-event: #4fd8c8;--cat-shop: #d7f94c;--cat-corp: #7ea8f0;--cat-game: #ef5da8;--paper: #fcfdfa;--paper-2: #f1f4ec;--paper-line: #d9dfd2;--paper-ink: #1b211c;--paper-dim: #8a917f;--hair-1: 1px solid rgba(190, 220, 200, .09);--hair-2: 1px solid rgba(190, 220, 200, .16);--hair-hi: 1px solid rgba(215, 249, 76, .45);--sh-card: 0 1px 0 rgba(0, 0, 0, .5), 0 10px 28px rgba(0, 0, 0, .42);--sh-pop: 0 18px 48px rgba(0, 0, 0, .5);--sh-hi: 4px 4px 0 rgba(215, 249, 76, .18);--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--fs-display: 56px;--fs-h1: 36px;--fs-h2: 26px;--fs-h3: 19px;--fs-h4: 16px;--fs-body: 15px;--fs-small: 13px;--fs-micro: 11px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--r-1: 2px;--r-2: 4px;--r-3: 6px;--ease-out: cubic-bezier(.2, .7, .3, 1);--t-fast: .14s;--t-med: .26s;--wrap: 1200px;--gutter: 32px}@media(max-width:720px){:root{--wrap: 100%;--gutter: 20px;--fs-display: 40px;--fs-h1: 30px}}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}[hidden]{display:none!important}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.75;color:var(--ink-1);background-color:var(--mat-0);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(var(--grid-bold) 1px,transparent 1px),linear-gradient(90deg,var(--grid-bold) 1px,transparent 1px);background-size:18px 18px,18px 18px,90px 90px,90px 90px;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4{font-weight:900;line-height:1.25;letter-spacing:0;text-wrap:balance}p{text-wrap:pretty}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:none}code,.mono{font-family:var(--font-mono);font-variant-ligatures:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}ul,ol{list-style:none}::selection{background:var(--hi);color:var(--hi-ink)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;box-shadow:0 0 0 5px #4fd8c82e;border-radius:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--mat-1)}::-webkit-scrollbar-thumb{background:var(--mat-3);border-radius:6px;border:2px solid var(--mat-1)}::-webkit-scrollbar-thumb:hover{background:#2a352f}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--hi);color:var(--hi-ink);padding:10px 18px;font-weight:700;border-radius:var(--r-1);transition:top var(--t-fast) var(--ease-out)}.skip-link:focus{top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.lift:hover{transform:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:700;font-size:14px;line-height:1.4;border-radius:var(--r-1);padding:10px 20px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.btn-hi{background:var(--hi);color:var(--hi-ink);box-shadow:var(--sh-hi)}.btn-hi:hover{background:#e4ff6b;transform:translate(-1px,-1px);box-shadow:6px 6px #d7f94c38}.btn-hi:active{transform:translate(1px,1px);box-shadow:2px 2px #d7f94c2e}.btn-ghost{background:transparent;color:var(--ink-1);border-color:#bedcc847}.btn-ghost:hover{border-color:var(--hi);color:var(--hi)}.btn-quiet{background:var(--mat-3);color:var(--ink-1);border-color:transparent}.btn-quiet:hover{background:#24302b}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:13px 26px;font-size:15px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12.5px;line-height:1.4;padding:7px 13px;border-radius:999px;border:var(--hair-2);color:var(--ink-2);background:transparent;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.chip:hover{border-color:var(--ink-1);color:var(--ink-1)}.chip[aria-pressed=true],.chip.on{background:var(--hi);border-color:var(--hi);color:var(--hi-ink);font-weight:700}.tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:var(--hair-2);border-radius:var(--r-1);color:var(--ink-2);white-space:nowrap}.tag-hi{background:var(--hi);border-color:var(--hi);color:var(--hi-ink)}.tag-coral{border-color:#ff7a5c80;color:var(--coral)}.tag-ok{border-color:#4ade8066;color:var(--ok)}.catdot{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.panel{background:var(--mat-2);border:var(--hair-1);border-radius:var(--r-2)}.panel-pad{padding:var(--sp-6)}.panel-hi{border:var(--hair-hi)}.field{display:block;margin-bottom:var(--sp-3)}.field>label,.field-label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px}.input,.select,.textarea{width:100%;background:var(--mat-0);border:var(--hair-2);color:var(--ink-1);border-radius:var(--r-1);padding:9px 12px;font-size:13.5px;font-family:var(--font-sans);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #4fd8c829}.hint{font-size:12px;color:var(--ink-3);margin-top:5px;line-height:1.6}.seg{display:flex;background:var(--mat-0);border:var(--hair-2);border-radius:var(--r-1);overflow:hidden}.seg button{flex:1;font-size:12px;padding:7px 0;color:var(--ink-3);font-weight:500;transition:all var(--t-fast)}.seg button:hover{color:var(--ink-1)}.seg button[aria-pressed=true]{background:var(--mat-3);color:var(--hi);font-weight:700}.spec-table{width:100%;border-collapse:collapse;font-size:13px}.spec-table th{font-family:var(--font-mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);text-align:left;padding:10px 12px;border-bottom:var(--hair-2);white-space:nowrap}.spec-table td{padding:11px 12px;border-bottom:var(--hair-1);color:var(--ink-2);vertical-align:top}.spec-table td:first-child{color:var(--ink-1);font-weight:500}.spec-table tbody tr:hover td{background:var(--mat-3)}.spec-table .num{font-family:var(--font-mono);font-size:12px;color:var(--ink-1)}.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:var(--sp-6);flex-wrap:wrap}.sec-head .n{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--hi);letter-spacing:.12em}.sec-head h2{font-size:30px}.sec-head .more{margin-left:auto;font-family:var(--font-mono);font-size:12.5px;color:var(--cyan)}.sec-sub{color:var(--ink-2);font-size:14.5px;max-width:640px;margin:-12px 0 var(--sp-8)}.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.16em;color:var(--hi)}.kicker:before{content:"";width:26px;height:1px;background:var(--hi)}.eyebrow{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.note{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);line-height:1.7}.divider{height:1px;background:#bedcc817;border:0}.lift{transition:transform var(--t-fast) var(--ease-out),border-color var(--t-fast),background var(--t-fast)}.lift:hover{transform:translateY(-3px)}.notice{display:flex;gap:12px;align-items:flex-start;border:1px dashed rgba(79,216,200,.4);background:#4fd8c80d;border-radius:var(--r-2);padding:13px 18px;font-size:12.5px;color:var(--ink-2);line-height:1.7}.notice .mono{color:var(--cyan);font-size:10.5px;letter-spacing:.1em;font-weight:700;flex-shrink:0;padding-top:2px}.notice-warn{border-color:#ff5c5c66;background:#ff5c5c0f}.notice-warn .mono{color:var(--danger)}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--sp-12) var(--sp-6);text-align:center;color:var(--ink-3)}.empty svg{opacity:.5}.empty p{font-size:13px}.pill-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;padding:3px 7px;border-radius:var(--r-1);line-height:1.4}.pill-free{color:var(--ink-3);border:var(--hair-2)}.pill-pro{background:var(--coral);color:#2a0e06}.nav[data-astro-cid-4lunwx2e]{position:sticky;top:0;z-index:50;background:#0b100ee0;backdrop-filter:blur(10px);border-bottom:var(--hair-1)}.nav-in[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:28px;height:60px}.logo[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:9px;font-weight:900;font-size:17px;color:var(--ink-1);flex-shrink:0}.logo[data-astro-cid-4lunwx2e] svg[data-astro-cid-4lunwx2e]{width:22px;height:22px}.dm[data-astro-cid-4lunwx2e]{font-family:var(--font-mono);font-size:10.5px;font-weight:400;color:var(--ink-3);letter-spacing:.06em}.nav-links[data-astro-cid-4lunwx2e]{display:flex;gap:2px;margin-left:6px}.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]{font-size:13.5px;color:var(--ink-2);padding:6px 12px;border-radius:var(--r-2);transition:color var(--t-fast),background var(--t-fast)}.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:hover{color:var(--ink-1);background:var(--mat-3)}.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e].on{color:var(--hi)}.nav-right[data-astro-cid-4lunwx2e]{margin-left:auto;display:flex;align-items:center;gap:10px}.menu-btn[data-astro-cid-4lunwx2e]{display:none;width:40px;height:40px;border:var(--hair-2);border-radius:var(--r-1);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-btn[data-astro-cid-4lunwx2e] span[data-astro-cid-4lunwx2e]{display:block;width:16px;height:1.5px;background:var(--ink-1)}.mobile-menu[data-astro-cid-4lunwx2e]{border-top:var(--hair-1);padding:8px var(--gutter) 14px;display:grid;gap:2px}.mobile-menu[data-astro-cid-4lunwx2e][hidden]{display:none}.mobile-menu[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]{padding:10px 4px;font-size:14px;color:var(--ink-2);border-bottom:var(--hair-1)}.mobile-menu[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e].on{color:var(--hi)}@media(max-width:1080px){.nav-links[data-astro-cid-4lunwx2e]{display:none}.menu-btn[data-astro-cid-4lunwx2e]{display:flex}.mobile-menu[data-astro-cid-4lunwx2e][hidden]{display:none}}@media(max-width:640px){.nav-edit[data-astro-cid-4lunwx2e],.dm[data-astro-cid-4lunwx2e]{display:none}}@media(min-width:1081px){.mobile-menu[data-astro-cid-4lunwx2e]{display:none!important}}.foot[data-astro-cid-gcn2mc3v]{border-top:var(--hair-1);background:var(--mat-1);padding:52px 0 34px;margin-top:0}.foot-grid[data-astro-cid-gcn2mc3v]{display:flex;gap:48px;flex-wrap:wrap}.col[data-astro-cid-gcn2mc3v]{display:flex;flex-direction:column;gap:2px;min-width:130px}.col[data-astro-cid-gcn2mc3v].brand{min-width:230px;flex:1}.logo[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:15px;color:var(--ink-1);margin-bottom:10px}.logo[data-astro-cid-gcn2mc3v] svg[data-astro-cid-gcn2mc3v]{width:20px;height:20px}.col[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{font-size:12.5px;color:var(--ink-3);line-height:1.85;max-width:250px}.col[data-astro-cid-gcn2mc3v] b[data-astro-cid-gcn2mc3v]{font-size:12.5px;font-weight:700;color:var(--ink-1);margin-bottom:10px;letter-spacing:.02em}.col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{font-size:12.5px;color:var(--ink-3);line-height:2.1;transition:color var(--t-fast)}.col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--hi)}.foot-legal[data-astro-cid-gcn2mc3v]{margin-top:38px;padding-top:18px;border-top:var(--hair-1);display:flex;gap:22px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);line-height:1.9}.sign[data-astro-cid-gcn2mc3v]{margin-left:auto;letter-spacing:.06em}@media(max-width:720px){.foot-grid[data-astro-cid-gcn2mc3v]{gap:28px}.col[data-astro-cid-gcn2mc3v].brand{flex-basis:100%}.sign[data-astro-cid-gcn2mc3v]{margin-left:0}}
