@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/caveat-cyrillic-ext-700-normal.0c73d147.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-ext-700-normal.cdcbf22d.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/caveat-cyrillic-700-normal.d6bd3314.woff2) format("woff2"),url(/_next/static/media/caveat-cyrillic-700-normal.e810f536.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/caveat-latin-ext-700-normal.faa08336.woff2) format("woff2"),url(/_next/static/media/caveat-latin-ext-700-normal.a743f5bb.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/caveat-latin-700-normal.9726ba42.woff2) format("woff2"),url(/_next/static/media/caveat-latin-700-normal.369892fe.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-cyrillic-ext-400-normal.f572b170.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-400-normal.2a31c04b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-cyrillic-400-normal.372704ff.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-400-normal.a6b6ef6f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-greek-ext-400-normal.4ce1df5d.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-400-normal.88ede1ea.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-greek-400-normal.d7020e3c.woff2) format("woff2"),url(/_next/static/media/inter-greek-400-normal.cc58c11b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-vietnamese-400-normal.de4fc44f.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-400-normal.a9dd2faf.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-latin-ext-400-normal.32a25442.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-400-normal.4edcaace.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/inter-latin-400-normal.ef6d3f52.woff2) format("woff2"),url(/_next/static/media/inter-latin-400-normal.2c7a775c.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-cyrillic-ext-600-normal.f7b3c15b.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-ext-600-normal.ecbdecad.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-cyrillic-600-normal.2f42892a.woff2) format("woff2"),url(/_next/static/media/inter-cyrillic-600-normal.c3987adc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-greek-ext-600-normal.1f33d317.woff2) format("woff2"),url(/_next/static/media/inter-greek-ext-600-normal.089a95ee.woff) format("woff");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-greek-600-normal.cc532937.woff2) format("woff2"),url(/_next/static/media/inter-greek-600-normal.4ec0c1c1.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-vietnamese-600-normal.9d518599.woff2) format("woff2"),url(/_next/static/media/inter-vietnamese-600-normal.c5ce3fcb.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-latin-ext-600-normal.38b075d8.woff2) format("woff2"),url(/_next/static/media/inter-latin-ext-600-normal.49faa47a.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/inter-latin-600-normal.8fb1a964.woff2) format("woff2"),url(/_next/static/media/inter-latin-600-normal.ce0f5f43.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--paper:#fbfaf6;--paper-2:#f3f1ea;--card:#ffffff;--ink:#23252b;--ink-2:#555a66;--ink-3:#8a8f9a;--line:#e4e2da;--blue:#2f6fd6;--blue-soft:#d6e6ff;--orange:#e8742a;--orange-soft:#ffe2c7;--red:#d9423a;--red-soft:#ffd9d6;--green:#2e9d6a;--green-soft:#d5f2e3;--yellow-soft:#fff0b3;--radius:14px;--shadow:0 1px 2px rgba(35,37,43,0.06),0 6px 24px rgba(35,37,43,0.06);--hand:"Caveat",cursive;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1b1d21;--paper-2:#23262b;--card:#262a30;--ink:#eef0f3;--ink-2:#b7bcc6;--ink-3:#848a96;--line:#353a42;--blue:#7fb0ff;--blue-soft:#233552;--orange:#ffa66b;--orange-soft:#4a3424;--red:#ff8a80;--red-soft:#4a2826;--green:#74d3a3;--green-soft:#1f3d30;--yellow-soft:#4a4224;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 24px rgba(0,0,0,.25)}}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5}body{background-image:radial-gradient(var(--line) 1.2px,transparent 1.2px);background-size:28px 28px;min-height:100vh}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--hand);font-weight:700;line-height:1.1;margin:0 0 12px;letter-spacing:.2px}h1{font-size:46px}h2{font-size:34px}h3{font-size:26px}p{margin:0 0 12px}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}pre{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto}.container{max-width:1180px;margin:0 auto;padding:0 20px}.wide{max-width:1480px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header .container{display:flex;align-items:center;gap:22px;height:60px}.brand{font-family:var(--hand);font-size:32px;font-weight:700;color:var(--ink);position:relative}.brand:hover{text-decoration:none}.brand svg{position:absolute;left:0;bottom:-4px;width:100%;height:8px}.nav{display:flex;gap:16px;flex:1 1;flex-wrap:wrap}.nav a{color:var(--ink-2);font-weight:500}.nav a.active,.nav a:hover{color:var(--ink);text-decoration:none}.main{padding:28px 0 80px}.footer{border-top:1px solid var(--line);padding:24px 0 40px;font-size:13px}.footer,.footer a{color:var(--ink-3)}.footer a{margin-right:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:860px){.grid-2,.grid-3{grid-template-columns:1fr}h1{font-size:38px}}.row{gap:10px}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:12px}.stack>*+*{margin-top:12px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.faint,.small{font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:9px 16px;font:600 14px var(--sans);border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;transition:transform .06s ease,box-shadow .12s ease;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}.btn:hover{text-decoration:none;transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--ink);color:var(--paper)}.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:2px 2px 0 color-mix(in srgb,var(--blue) 50%,#000)}.btn.ghost{border-color:transparent;box-shadow:none;background:transparent;color:var(--ink-2);padding:6px 10px}.btn.ghost:hover{background:var(--paper-2);color:var(--ink);transform:none}.btn.danger{color:var(--red);border-color:var(--red);box-shadow:2px 2px 0 var(--red)}.btn.sm{padding:5px 10px;border-radius:8px}.btn.sm,label{font-size:13px}label{display:block;font-weight:600;color:var(--ink-2);margin-bottom:6px}input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{width:100%;font:14px var(--sans);color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}textarea{resize:vertical;min-height:64px}.field+.field{margin-top:14px}.hint{color:var(--ink-3);margin-top:4px}.badge,.hint{font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-weight:600;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}.badge.done,.badge.ok{background:var(--green-soft);color:var(--green);border-color:transparent}.badge.bad,.badge.failed{background:var(--red-soft);color:var(--red);border-color:transparent}.badge.busy{background:var(--blue-soft);color:var(--blue);border-color:transparent}.badge.ready{background:var(--orange-soft);color:var(--orange);border-color:transparent}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.busy .dot{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.progress{height:8px;background:var(--paper-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.progress>div{height:100%;background:var(--blue);transition:width .4s ease}.alert{border-radius:10px;padding:10px 14px;font-size:14px;border:1px solid}.alert.error{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent);white-space:pre-wrap}.alert.info{background:var(--blue-soft);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 25%,transparent)}.alert.warn{background:var(--yellow-soft);color:color-mix(in srgb,var(--orange) 80%,var(--ink));border-color:transparent}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:600;color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:8px 10px}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:10px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font:600 13px var(--sans);color:var(--ink-2)}.tab.on{border-color:var(--ink);color:var(--ink);background:var(--paper-2)}.video-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.video-card .thumb{aspect-ratio:16/9;background:var(--paper-2);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.video-card .thumb video{width:100%;height:100%;object-fit:cover;display:block}.video-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1}.video-card .title{font-weight:600;line-height:1.3;color:var(--ink)}.hero{padding:56px 0 28px;display:grid;grid-template-columns:1.05fr 1fr;grid-gap:40px;gap:40px;align-items:center}.hero h1{font-size:64px}@media (max-width:960px){.hero{grid-template-columns:1fr}.hero h1{font-size:48px}}.scribble{position:relative;display:inline-block}.scribble:after{content:"";position:absolute;left:-4px;right:-4px;bottom:2px;height:12px;background:var(--orange-soft);z-index:-1;border-radius:6px;transform:rotate(-1deg)}.steps{counter-reset:s}.step{position:relative;padding-left:46px}.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-2px;width:32px;height:32px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:700 20px var(--hand)}.editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:1100px){.editor{grid-template-columns:1fr}}.sticky{position:-webkit-sticky;position:sticky;top:76px}.beat{border:1.5px solid var(--line);border-radius:12px;background:var(--card)}.beat+.beat{margin-top:12px}.beat.active{border-color:var(--blue)}.beat-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.beat-body{padding:12px}.beat-num{font:700 22px var(--hand);width:28px;text-align:center}.sentence{border-left:3px solid var(--blue-soft);padding-left:10px}.sentence+.sentence{margin-top:12px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.el{display:grid;grid-template-columns:92px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:6px 0;border-top:1px dashed var(--line)}.el:first-child{border-top:none}.el .kind{font-size:12px;color:var(--ink-3);font-weight:600}.icon-pick{position:relative}.icon-pick .menu{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--card);border:1.5px solid var(--line);border-radius:10px;box-shadow:var(--shadow);margin-top:4px}.icon-pick .menu button{display:block;width:100%;text-align:left;padding:6px 10px;background:none;border:0;cursor:pointer;font:13px var(--sans);color:var(--ink)}.icon-pick .menu button:hover{background:var(--paper-2)}.player-wrap{border-radius:12px;overflow:hidden;border:1.5px solid var(--line);background:#fbfaf6}.dropzone{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--ink-2);cursor:pointer;background:var(--paper)}.dropzone.on{border-color:var(--blue);background:var(--blue-soft)}.kbd{font:12px ui-monospace,monospace;padding:1px 6px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2)}.secret{font-family:ui-monospace,monospace;background:var(--yellow-soft);padding:10px 12px;border-radius:10px;word-break:break-all}.empty{text-align:center;padding:50px 20px}.empty h2{margin-bottom:8px}