@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-cyrillic-ext-300-normal.DqmgDkIN.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-300-normal.Bbd5v1xK.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-cyrillic-300-normal.RhT0Ayi3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-300-normal.LoaTnByX.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-greek-300-normal.J-CBqZoJ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-300-normal.STc8XiDr.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-vietnamese-300-normal.SDfX6ktj.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-300-normal.CkYRZD2a.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-latin-ext-300-normal.BLFuR0P1.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-300-normal.B8Zgwjh3.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-latin-300-normal.b4i7YzLG.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-300-normal.C9Of02-5.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:300;src:url(data:font/woff2;base64,d09GMgABAAAAAAWIABAAAAAACrAAAAUxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAFQITgmCcxEQCoNcg1oLDgABNgIkAxgEIAWDLgdGDIRSG4IJAB4HuSnzBlRWH00c8kHAf1s6b3cxiSikeZwYHlPOHSJ+qhUjrZO6/hupbqi6QFS7TbiJNEgDOYGIMg5esPL797+/N/Xe9+fMLjag0oWWF6mV4i2tUiaAlRMMBreklfF8sNgCxeIxCgDGRjq5qPD4lK6ViQCseHmJiqqGDsxoANkAC0NAgLp68dk7Pcr8f4p6LfMBHi9rSp0IYAAlpcSBev7PFrvwt5Wg2DTVoKgoKqACCgBA7WqUPAjyaTv++xq0HcpCKYQAUFAygKQACqAC86kIYD6NGLBjRkEDHEg3yDuyIfmWyP72kz0ftCB4fHaRiDERhaL8htXL5XUO+VaLWp9hSnYddlGLMdvQT9+JRUxgVMCuZN78KR9FTy2lDoGtY2mJHxbivIQusqfrVIwjWFB37wrqiICUlQMVabEnqKMEdESJL6ijBmRVWs2vaovnJmRKpmoPpGSV7N97IK3lw62c0pNKhGWa9gwcazviS8cSnuamnkRiQ1BHiyVpqVQCeTkYRRp0Dx/5L6hjCNTLtFrQEm+Np5MVnj5UMa7z+WRl+sGW+LtU4fHd7iFprNbN108cWFw3m9LGkiFmjhRqn0KxoUfipiStXF86OQ08qdzEeZLOg6NTAWJZnajjan6lLpIt6lASEU/vYl1zKuF5/U8rgjqWQH17vLLC4/MlgghUzFhxM2SzXAAYAbADKhADzQBAAzEfBQAQoGnrbCaHcZ/DYN+bev3518XB6z1WYeu2C8fl14uDr1tTr27a8sAbtkOvPXeY5DXzbVg7HNivuIbka7ZDb2zd/OCr0n6Ffbik7K6yDRtsobolTd6yYu9bF8YjJ94/tilyzC2TCzfWbNpaUicLuq7dV7i6pGqh//7CxZeeGI+ccN/YhsjsQ28sLW0sqwi2FtxUfcNg+G2ADBpmLHPmrtfR3Dq8iA6V0SHcjwBzZkJHvKuDu9B4Fi3Tu5Got85rnfUBL+FVeS0/PMx4BgdepJrmCJeqgAOxsyF280RiXJq4ACI5PHEEK8qvV82FVadtYV1nQfyq43C3JCd7hxdw/JphMR91JtzodOvkfR0HuJCtXMQW9ofxk6K6VSxEvzQSRQCC0nKtb9vt2vSb2aJ+CfDWvR9tBHj352r3/63/fWPcqfkBCwoAAj4sKePxFsqs9QQEDzujeBMp9u3aVUaItG8XgJELsNPL4CvPCgpKGyoCMNNLRWgWYJvvYRJE3G9ScJI2qWwyfVSzMxlYaJfJSIlVG52sAv2mn7pxG4SHp+w3aUCmmzYltAwDhoWMmdQnrFmVBrXKNGoxrMcx2u01akqHfnsNCGowoE+/aV16TEYKj/UrpaiQKBffGOuipI1RuW1vnxnD9pqMEvBOyjkpZ0e5t9yYccealN4qrRARtZ4UMcLyp5PGhUilhg2TXtEpSbiH555fOavHASEKAGTh9/iAERBCQRWq0EwzowMRilSgtyJStkr2YGlEB78MAgeKX+waJyo/IGfCDjVWWQ7M/gdwsVezLQI85zy3LtXWKrKYbuQBBFN2ud6msEKRPIvMo5NUpsLv1TiPaduUdscbSrhqJMkAbjOxUgmfxZx0m5k6m4TlmE+3WbiOgxxQw0+3WXmMGznRNmvoNhtFpMXmsNJtdi7lOLtVKKbLDvp1bgvJMIcNk1+HH5V1GcYtIKZ5xLAVNwg3zShitISmMI4b8KKAphHTHsODK6DjTfwp9tBU3C2Lj0G4aEZ1smVuxB8APkAW16u28tEMxnC9arlcmsIL+EHsjkwD) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAASEAA0AAAAABVQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAALQAAAC4tfxplT1MvMgAAAYAAAABRAAAAYGk/nZBjbWFwAAAB1AAAADwAAABUAMohV2dhc3AAAAIQAAAAEAAAABAAGAAhZ2x5ZgAAAiAAAADGAAAAxmIpPKRoZWFkAAAC6AAAADYAAAA2GnpriGhoZWEAAAMgAAAAHwAAACQJDQN2aG10eAAAA0AAAAAXAAAAGAcJAFBsb2NhAAADWAAAAA4AAAAOAIsAi21heHAAAANoAAAAHAAAACAAGwD4bmFtZQAAA4QAAADOAAABriEXPblwb3N0AAAEVAAAADAAAABG/3GrHwABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBi0AFCZhc3nxAGiZzEkjwGkZKMxEwGEQYQYAER//+DSACUkQcoAAAAeNothTEOQFAQBWef/ZVevT2dG+gQveLHgZxHpXIed5AgTGYyuAZrSKBVMzB+t4XaWlDpRVLBI7yJn76bggNi83yd4FlVmBmA0A4EugG0RwnOAAAAeNpjYGBgAmJmIBYBkoxgmoXBAUjzMHAA5ViALF4GBYYFClv+/weykXmM/7/+f/w/9X4ASB8CAACScQ45AAEAAwAIAAoAEAAF//8ADwACACAAAAG4AwwAAwAHAAAzESERJSERISABmP6TAUL+vgMM/PQrArYAAQAw//QCPQLGADcAAAUiLgI1NDY3IzUzNyE1IT4BNTQmIyIGByc+ATMyHgIVFAYHMxUjByEVIQ4BFRQWMzI2NxcOAQE7Lks1HQ4KWH2//sQBeAsIST8qSyMmKmM1KkczHAoIWHy+ATr+ig0OTkQtUislK2sMGi9DKRwqEjBwMA8jFjs9IScnLigXLD8nGCYOMHAwEigaQUMnLSgxMAAAAAEAAAABAEGblQGqXw889QAJA+gAAAAA2bzhOwAAAADc8kcQ/lH96wZdBCsAAAAJAAIAAAAAAAB42mNgZGBgifn7ioGBrfpf4H8utligCCpgAwCN+wWMAHjaY7zBoMAAAm8gmCmXwQBEAwA07wRdAAAAABQAFAAUABQAYwBjAAB42mNgZGBgYGOYwMDDkMbACuYhADMDIwAY3QEUeNqNjDOCA2AQRt/aW279t2vbtm3FNm6VE+RIOUO+YoIywzcEevHRQVtnH/BGxbiNGcrG7QxTMu5gg4xxZ9NOFyN8GXczxoLxsAgCZKQJ1piWpvknRVB1RjxFWhxRjpPCr/k1R1xwyh6X3BDBS4F7fomR5oGAKMgkF4p+9JknvKTQF+LEcMwyxazFdfvjRK1/vMMryhLRJFX/YJe4+q2rX7um633iJCiSqnccc8wwyyqu/k1bpEgwJd4lInVNF2lU4VX2KucUPUxVAWWCPvEAAHjaY2BiAIP/dQzaDNgAGxAzMjIxMDMyM7Kwl+ZlGhgYuIBoIwMnEwjf0QAAuxIINw==) 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:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-thai-thai-300-normal.Bzg9IkD6.woff2) format("woff2"),url(/_astro/ibm-plex-sans-thai-thai-300-normal.DsjkY-kq.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-thai-latin-ext-300-normal.dWO0W4wt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-thai-latin-ext-300-normal.tk57WjLp.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:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/ibm-plex-sans-thai-latin-300-normal.DuvW4Kwi.woff2) format("woff2"),url(/_astro/ibm-plex-sans-thai-latin-300-normal.Bcdr0fiW.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,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{--bg:#0a0e1a;--bg-2:#0d1322;--panel:#121826;--panel-2:#1a2235;--panel-3:#212c44;--ink:#e8edf7;--ink-soft:#cdd6ef;--ink-mute:#a4b0d0;--mute:#7e8aa8;--border:#242e47;--border-strong:#2f3b5a;--border-hover:#3a4870;--accent:#8b6fff;--accent-soft:#a48eff;--accent-2:#22d3ee;--accent-2-soft:#67e8f9;--ok:#34d399;--warn:#fbbf24;--bad:#f87171;--shadow-sm:0 2px 6px rgba(0,0,0,.18);--shadow:0 10px 30px rgba(0,0,0,.35);--shadow-lg:0 20px 60px rgba(0,0,0,.45);--shadow-glow:0 10px 40px rgba(139,111,255,.18);--shadow-card-hover:0 18px 40px -8px rgba(0,0,0,.5),0 4px 12px -4px rgba(139,111,255,.18);--rad-sm:8px;--rad:14px;--rad-lg:20px;--aside-w:284px;--aside-w-collapsed:68px;--slide-pad-x:80px;--slide-pad-y:84px;--hero-pad-y:104px;--font-sans:"IBM Plex Sans Thai","IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Anuphan Variable","IBM Plex Sans Thai","IBM Plex Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"IBM Plex Mono","SF Mono",Menlo,Consolas,monospace;--ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,.84,.32,1);--dur:.32s;--dur-fast:.18s}*{box-sizing:border-box}html{scroll-behavior:smooth}html:lang(th){--line-height-base:1.72}html:lang(en){--line-height-base:1.62}body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-weight:400;line-height:var(--line-height-base,1.62);letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}:lang(th){font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"locl" 1}a{color:var(--accent-2);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--accent-2-soft)}::selection{background:#8b6fff59;color:#fff}body[data-lang=th] .e,body[data-lang=en] .t{display:none}body:not([data-lang]) .e{display:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:6px;transition:outline-offset var(--dur-fast) var(--ease)}a:focus-visible,button:focus-visible{outline-offset:4px}.skip-link{position:fixed;top:-44px;left:12px;z-index:200;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;box-shadow:var(--shadow);transition:top var(--dur) var(--ease)}.skip-link:focus{top:12px;color:#fff}h1,h2,h3,h4,h5{font-weight:600;letter-spacing:-.01em;color:#fff}h1,h2{font-family:var(--font-display);font-weight:700}h1{font-size:clamp(38px,5vw,58px);line-height:1.06;margin:0 0 18px;letter-spacing:-.028em}h2{font-size:clamp(26px,3.2vw,34px);line-height:1.16;margin:0 0 14px;letter-spacing:-.022em}h3{font-size:19px;margin:32px 0 12px;color:var(--ink-soft);font-weight:600;letter-spacing:-.005em}h3:first-child{margin-top:0}h4{font-size:16px;margin:0 0 8px;color:#fff;font-weight:600;letter-spacing:-.005em}:lang(th) h3,:lang(th) h4{letter-spacing:0}p{margin:0 0 12px;color:var(--ink-soft)}strong{color:#fff;font-weight:600}em{color:var(--ink-soft)}code,pre{font-family:var(--font-mono);font-size:.9em;font-variant-ligatures:none}code{background:#8b6fff1f;color:#c8b8ff;padding:1px 6px;border-radius:5px;font-size:.86em;border:1px solid rgba(139,111,255,.16)}.num,.brand .title,nav a .num,.demo-head .badge{font-variant-numeric:tabular-nums}.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .1s linear;box-shadow:0 0 14px #8b6fff73;will-change:width}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}section.slide{opacity:1;transform:none}.hero:after,.brand .logo{animation:none}}.app{display:grid;grid-template-columns:var(--aside-w) 1fr;min-height:100vh;transition:grid-template-columns var(--dur) var(--ease)}aside{background:linear-gradient(180deg,#0d1322,#0a0e1a);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow:auto;padding:26px 18px;scrollbar-width:thin;scrollbar-color:#2a3349 transparent;transition:padding var(--dur) var(--ease)}.aside-toggle{position:fixed;top:22px;left:calc(var(--aside-w) - 12px);z-index:95;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0;background:var(--panel-3);border:1px solid var(--border-hover);color:var(--ink);box-shadow:0 0 0 3px var(--bg),0 4px 12px #0000008c,inset 0 1px #ffffff0f;transition:left var(--dur) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.aside-toggle:hover{color:#fff;border-color:#a88eff8c;background:linear-gradient(135deg,#8b6fff52,#22d3ee29);transform:scale(1.1);box-shadow:0 0 0 3px var(--bg),0 6px 16px #8b6fff59,inset 0 1px #ffffff1a}.aside-toggle-ic{transition:transform var(--dur) var(--ease)}html[data-aside=collapsed] .aside-toggle-ic{transform:rotate(180deg)}html[data-aside=collapsed]{--aside-w:var(--aside-w-collapsed)}html[data-aside=collapsed] aside{padding:26px 8px}html[data-aside=collapsed] aside>nav{overflow:hidden}html[data-aside=collapsed] .brand{justify-content:center;gap:0;margin-bottom:18px}html[data-aside=collapsed] .brand>div:last-child,html[data-aside=collapsed] .lang-switch,html[data-aside=collapsed] .search-btn .label,html[data-aside=collapsed] .search-btn kbd,html[data-aside=collapsed] .print-btn .label,html[data-aside=collapsed] .print-btn kbd,html[data-aside=collapsed] nav .group-label,html[data-aside=collapsed] nav a .badge-new,html[data-aside=collapsed] .aside-note,html[data-aside=collapsed] .aside-qr{display:none}html[data-aside=collapsed] .search-btn,html[data-aside=collapsed] .print-btn{justify-content:center;padding:8px;gap:0}html[data-aside=collapsed] nav a{justify-content:center;padding:8px 6px;gap:0;font-size:0}html[data-aside=collapsed] nav a .num{margin:0}html[data-aside=collapsed] nav a.active:before{left:-8px}aside::-webkit-scrollbar{width:6px}aside::-webkit-scrollbar-thumb{background:#2a3349;border-radius:3px}aside::-webkit-scrollbar-thumb:hover{background:#3a4870}.brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.brand .logo{width:38px;height:38px;border-radius:11px;background:conic-gradient(from 180deg,var(--accent),var(--accent-2),var(--accent));box-shadow:0 8px 24px #8b6fff66,inset 0 0 16px #ffffff14;position:relative;animation:logo-spin 18s linear infinite}@keyframes logo-spin{to{transform:rotate(360deg)}}.brand .logo:after{content:"";position:absolute;inset:6px;border-radius:7px;background:var(--bg-2)}.brand .title{font-weight:700;font-size:14px;letter-spacing:.2px;color:#fff;line-height:1.2}.brand .sub{font-size:10.5px;color:var(--mute);letter-spacing:.22em;text-transform:uppercase;margin-top:3px}.lang-switch{display:flex;gap:5px;margin-bottom:18px;padding:3px;background:#0e1322;border:1px solid var(--border);border-radius:9px}.lang-switch a{flex:1;text-align:center;font-size:11px;padding:7px 8px;border-radius:6px;color:var(--mute);letter-spacing:.12em;font-weight:600;transition:all var(--dur-fast) var(--ease)}.lang-switch a:hover{color:var(--ink);background:#ffffff08}.lang-switch a.on{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 4px 12px #8b6fff4d}.lang-switch a.on:hover{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}nav .group-label{font-size:10px;color:var(--mute);letter-spacing:.22em;text-transform:uppercase;padding:14px 12px 6px;font-weight:600}nav .group-label:first-child{padding-top:6px}nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--ink-mute);font-size:13.5px;margin-bottom:1px;border:1px solid transparent;transition:all var(--dur-fast) var(--ease);position:relative}nav a .num{width:22px;height:22px;border-radius:6px;background:var(--panel-2);display:grid;place-items:center;font-size:11px;color:var(--mute);border:1px solid var(--border);font-weight:600;transition:all var(--dur-fast) var(--ease);font-family:var(--font-mono);flex-shrink:0}nav a:hover{background:radial-gradient(ellipse 80% 200% at 50% 0%,rgba(139,111,255,.08),transparent 70%),#141a2ad9;color:var(--ink);text-decoration:none;transform:translate(2px);box-shadow:inset 0 1px #ffffff0a}nav a:hover .num{color:var(--accent-soft);border-color:#8b6fff59;background:#8b6fff14}nav a.active{background:radial-gradient(ellipse 90% 140% at 50% 0%,rgba(168,142,255,.16),transparent 60%),linear-gradient(135deg,#8b6fff38,#22d3ee1a);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff14,0 6px 18px -8px #8b6fff59}nav a.active:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#a88eff8c,#22d3ee59 60%,#a88eff33);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}nav a.active:before{content:"";position:absolute;left:-18px;top:50%;width:3px;height:24px;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-radius:0 3px 3px 0;box-shadow:0 0 10px #8b6fff99;transform:translateY(-50%);animation:nav-indicator .42s var(--ease-out)}@keyframes nav-indicator{0%{opacity:0;transform:translateY(-50%) scaleY(.3)}to{opacity:1;transform:translateY(-50%) scaleY(1)}}nav a.active .num{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;box-shadow:0 4px 10px #8b6fff59}nav a .badge-new{margin-left:auto;font-size:9px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;padding:2px 6px;border-radius:4px;letter-spacing:.06em;font-weight:700;box-shadow:0 2px 6px #8b6fff4d}nav a .badge-new.ok{background:linear-gradient(135deg,var(--ok),var(--accent-2));box-shadow:0 2px 6px #34d39940}.aside-note{margin-top:22px;padding:14px;background:#8b6fff0a;border:1px dashed var(--border-strong);border-radius:10px;font-size:12.5px;color:var(--mute);line-height:1.55}.aside-note strong{color:var(--ink-soft);font-weight:600}.aside-qr{margin-top:14px;padding:12px;background:#fff;border:1px solid var(--border-strong);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:8px}.aside-qr-label{font-size:11px;color:#444;font-weight:500;letter-spacing:.02em;font-family:var(--font-sans);text-align:center}.aside-qr a{display:block;line-height:0}.aside-qr img{width:100%;max-width:140px;height:auto;display:block}main{padding:0;max-width:100%;overflow:hidden}section.slide{min-height:100vh;padding:var(--slide-pad-y) var(--slide-pad-x);border-bottom:1px solid var(--border);position:relative;scroll-margin-top:0;opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}#sV,#sL,#s2,#s3,#sT,#s4,#s5,#s6,#sX,#sH,#s7,#s8,#sE,#sE2,#sD,#s9{position:relative;isolation:isolate}#sV:before,#sL:before,#s2:before,#s3:before,#sT:before,#s4:before,#s5:before,#s6:before,#sX:before,#sH:before,#s7:before,#s8:before,#sE:before,#sE2:before,#sD:before,#s9:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55}#sV:before,#sL:before,#s2:before,#s3:before{background:radial-gradient(800px 540px at 12% 18%,rgba(139,111,255,.1),transparent 60%),radial-gradient(600px 400px at 92% 82%,rgba(168,142,255,.05),transparent 60%)}#sT:before,#s4:before,#s5:before,#s6:before,#sX:before{background:radial-gradient(800px 540px at 88% 18%,rgba(34,211,238,.09),transparent 60%),radial-gradient(560px 380px at 8% 88%,rgba(103,232,249,.05),transparent 60%)}#sH:before,#s7:before,#s8:before{background:radial-gradient(800px 540px at 18% 22%,rgba(232,120,200,.08),transparent 60%),radial-gradient(560px 380px at 88% 78%,rgba(139,111,255,.06),transparent 60%)}#sE:before,#sE2:before{background:radial-gradient(800px 540px at 84% 22%,rgba(52,211,153,.06),transparent 60%),radial-gradient(560px 380px at 14% 82%,rgba(34,211,238,.05),transparent 60%)}#sD:before,#s9:before{background:radial-gradient(800px 540px at 50% 20%,rgba(110,90,200,.08),transparent 60%)}section.slide.in{opacity:1;transform:none}section.slide:first-child{opacity:1;transform:none}section.slide:before{content:attr(data-slide);position:absolute;top:24px;right:28px;color:#3b4566;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;font-family:var(--font-mono)}.lede{font-size:17.5px;color:var(--ink-soft);max-width:820px;line-height:1.62}:lang(th) .lede{line-height:1.72}.kicker{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent-2);font-weight:600;background:#22d3ee14;border:1px solid rgba(34,211,238,.22);padding:6px 11px;border-radius:99px;margin-bottom:18px;backdrop-filter:blur(8px)}.kicker:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px var(--accent-2);animation:kicker-pulse 2.4s ease-in-out infinite}@keyframes kicker-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}.hero{background:radial-gradient(900px 540px at 78% 18%,rgba(139,111,255,.32),transparent 60%),radial-gradient(720px 440px at 8% 78%,rgba(34,211,238,.2),transparent 60%),radial-gradient(420px 320px at 92% 88%,rgba(232,120,200,.1),transparent 65%),var(--bg);min-height:100vh;padding:var(--hero-pad-y) var(--slide-pad-x);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.025) 1px,transparent 0);background-size:32px 32px;pointer-events:none;mask-image:radial-gradient(ellipse at 50% 50%,#000 35%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 35%,transparent 85%)}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 18%,rgba(139,111,255,.1),transparent 40%),radial-gradient(circle at 8% 78%,rgba(34,211,238,.08),transparent 40%);animation:hero-drift 22s ease-in-out infinite alternate}@keyframes hero-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-3%,2%,0) scale(1.05)}}.hero>*{position:relative;z-index:1}.hero h1{font-size:clamp(42px,6vw,68px)}.hero-title{background:linear-gradient(170deg,#fff,#f3e8ff 30%,#c7b9ff 70%,#a48eff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 14px 40px rgba(139,111,255,.22))}.hero-title-accent{background:linear-gradient(135deg,#67e8f9,#a48eff 45%,#e878c8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .author{margin-top:32px;color:var(--mute);font-size:13px;letter-spacing:.05em}.hero .meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px;max-width:940px}.hero .meta-grid .b{background:radial-gradient(ellipse 90% 140% at 50% 0%,rgba(255,255,255,.07),transparent 60%),linear-gradient(180deg,#ffffff0a,#ffffff03);border:1px solid rgba(255,255,255,.08);padding:16px;border-radius:12px;backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff14,0 6px 20px -10px #00000080;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);position:relative;overflow:hidden}.hero .meta-grid .b:after{content:"";position:absolute;inset:0;border-radius:12px;background:linear-gradient(135deg,rgba(139,111,255,.08),transparent 40%);opacity:0;transition:opacity var(--dur) var(--ease);pointer-events:none}.hero .meta-grid .b:hover{transform:translateY(-3px);border-color:#a88eff52;box-shadow:inset 0 1px #ffffff1f,0 18px 40px -12px #8b6fff59}.hero .meta-grid .b:hover:after{opacity:1}.hero .meta-grid .k{font-size:10.5px;color:var(--mute);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px;font-weight:600}.hero .meta-grid .v{font-size:15.5px;font-weight:600;color:#fff}.grid{display:grid;gap:18px;margin-top:22px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:radial-gradient(ellipse 90% 130% at 50% 0%,rgba(255,255,255,.04),transparent 60%),linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border);border-radius:var(--rad);padding:22px;box-shadow:inset 0 1px #ffffff0d,var(--shadow-sm);transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:0;border-radius:var(--rad);pointer-events:none;background:linear-gradient(135deg,rgba(168,142,255,.08),transparent 50%);opacity:0;transition:opacity var(--dur) var(--ease)}.card:hover{transform:translateY(-3px);border-color:#a88eff52;box-shadow:inset 0 1px #ffffff14,0 22px 50px -12px #0000008c,0 6px 16px -6px #8b6fff47}.card:hover:after{opacity:1}.card.glow{background:linear-gradient(135deg,#8b6fff1a,#22d3ee0d),var(--panel);border-color:#8b6fff47}.card.glow:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(139,111,255,.6),transparent)}.card h4{margin:0 0 8px;font-size:16px}.card .meta{font-size:12.5px;color:var(--mute);line-height:1.55}.card p{font-size:13.8px;line-height:1.6;color:var(--ink-mute);margin:0}:lang(th) .card p{line-height:1.7}.pill{display:inline-block;font-size:10.5px;padding:3px 9px;border-radius:99px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--panel-2);color:var(--ink-mute);border:1px solid var(--border);box-shadow:inset 0 1px #ffffff0d;margin-right:6px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.pill.ok{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#34d39914;color:var(--ok);border-color:#34d39947}.pill.warn{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#fbbf2414;color:var(--warn);border-color:#fbbf2447}.pill.bad{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#f8717114;color:var(--bad);border-color:#f8717147}.pill.accent{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),#8b6fff1f;color:var(--accent-soft);border-color:#8b6fff52}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin-top:10px;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}thead{background:linear-gradient(180deg,var(--panel-2),var(--panel))}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--ink-mute);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--dur-fast) var(--ease)}tbody tr:nth-child(2n) td{background:#ffffff03}tbody tr:hover td{background:#8b6fff0d}td{color:var(--ink-soft)}td strong{color:#fff}.bpmn-wrap{margin:14px 0 6px;padding:18px 16px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.bpmn{display:flex;flex-wrap:nowrap;align-items:center;gap:0;min-width:fit-content}.bpmn .node{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1.5px solid var(--accent);border-radius:10px;padding:11px 16px;font-size:13px;min-width:120px;text-align:center;color:#fff;box-shadow:0 4px 14px #8b6fff2e;font-weight:500;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);white-space:nowrap}.bpmn .node:hover{transform:translateY(-2px);box-shadow:0 8px 22px #8b6fff52}.bpmn .node.event{border-radius:999px;border-color:var(--accent-2);background:linear-gradient(180deg,rgba(34,211,238,.1),var(--bg-2));box-shadow:0 4px 14px #22d3ee2e}.bpmn .node.event:hover{box-shadow:0 8px 22px #22d3ee52}.bpmn .node.gateway{transform:rotate(45deg);padding:0;min-width:0;width:48px;height:48px;display:grid;place-items:center;border-color:var(--warn);background:linear-gradient(135deg,rgba(251,191,36,.1),var(--bg-2));box-shadow:0 4px 14px #fbbf2426}.bpmn .node.gateway:hover{transform:rotate(45deg) translateY(-2px);box-shadow:0 8px 22px #fbbf2447}.bpmn .node.gateway span{transform:rotate(-45deg);font-size:18px;color:var(--warn);font-weight:700;font-family:var(--font-mono)}.bpmn .arrow{flex:0 0 36px;height:2px;position:relative;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%)}.bpmn .arrow:after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:0;height:0;border:6px solid transparent;border-left:8px solid var(--accent-2);filter:drop-shadow(0 0 4px rgba(34,211,238,.5))}.bpmn-note{color:var(--mute);font-size:13px;margin-top:14px;display:flex;align-items:flex-start;gap:8px;line-height:1.6}.bpmn-note:before{content:"▸";color:var(--accent-2);flex-shrink:0;margin-top:2px}.demo-head{display:flex;align-items:center;gap:18px;padding:20px 22px;background:linear-gradient(135deg,#8b6fff1a,#22d3ee0a),var(--panel);border:1px solid var(--border-strong);border-radius:16px;margin-bottom:22px;position:relative;overflow:hidden}.demo-head:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(139,111,255,.6),rgba(34,211,238,.6),transparent)}.demo-head .badge{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-weight:700;font-size:26px;color:#fff;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 10px 30px #8b6fff59,inset 0 1px #fff3;font-family:var(--font-mono);position:relative}.demo-head .badge:after{content:"";position:absolute;inset:-2px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent-2));opacity:.35;filter:blur(10px);z-index:-1}.demo-head .level{font-size:10.5px;color:var(--mute);letter-spacing:.25em;text-transform:uppercase;font-weight:600}.demo-head h2{margin:4px 0 0;font-size:26px}.stepper{counter-reset:step;display:flex;flex-direction:column;gap:10px;margin-top:14px;position:relative}.stepper:before{content:"";position:absolute;left:29px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg,rgba(139,111,255,.35),rgba(34,211,238,.1) 50%,transparent);z-index:0}.stepper .step{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px 18px 14px 60px;position:relative;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),background var(--dur) var(--ease);z-index:1}.stepper .step:hover{border-color:#8b6fff66;transform:translate(3px);background:linear-gradient(90deg,rgba(139,111,255,.05),var(--panel) 40%)}.stepper .step:before{counter-increment:step;content:counter(step);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-weight:700;font-size:13.5px;color:#fff;box-shadow:0 4px 12px #8b6fff4d;font-family:var(--font-mono);border:2px solid var(--bg)}.stepper .step h5{margin:0 0 4px;font-size:15px;color:#fff;font-weight:600}.stepper .step p{margin:0;color:var(--ink-mute);font-size:14px;line-height:1.6}:lang(th) .stepper .step p{line-height:1.7}.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0;position:relative}.ladder .rung{background:var(--panel);border:1px solid var(--border);padding:18px;position:relative;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.ladder .rung:hover{transform:translateY(-3px);z-index:2;box-shadow:var(--shadow)}.ladder .rung+.rung{border-left:none}.ladder .rung:first-child{border-radius:14px 0 0 14px}.ladder .rung:last-child{border-radius:0 14px 14px 0}.ladder .rung .h{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:8px;font-weight:600}.ladder .rung .t{font-size:18px;font-weight:600;margin-bottom:8px;color:#fff}.ladder .rung .d{font-size:13.5px;color:var(--ink-mute);line-height:1.6}:lang(th) .ladder .rung .d{line-height:1.7}.ladder .rung:nth-child(1){background:linear-gradient(135deg,rgba(139,111,255,.04),var(--panel))}.ladder .rung:nth-child(2){background:linear-gradient(135deg,rgba(139,111,255,.1),var(--panel))}.ladder .rung:nth-child(3){background:linear-gradient(135deg,#8b6fff2e,#22d3ee0a)}.ladder .rung:nth-child(4){background:linear-gradient(135deg,#8b6fff47,#22d3ee1a)}details.faq{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin-bottom:10px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}details.faq:hover{border-color:var(--border-hover)}details.faq[open]{background:linear-gradient(135deg,rgba(139,111,255,.07),var(--panel));border-color:#8b6fff52;box-shadow:var(--shadow-sm)}details.faq summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;align-items:center;gap:12px;color:#fff}details.faq summary::-webkit-details-marker{display:none}details.faq summary:before{content:"+";color:var(--accent-2);font-weight:700;font-size:18px;width:22px;height:22px;display:grid;place-items:center;background:#22d3ee1a;border-radius:6px;flex-shrink:0;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}details.faq:hover summary:before{background:#22d3ee2e}details.faq[open] summary:before{content:"−";background:#8b6fff2e;color:var(--accent-soft)}details.faq .a{margin-top:12px;padding-left:34px;color:var(--ink-soft);font-size:14.5px;line-height:1.7;animation:faq-reveal .35s var(--ease-out)}:lang(th) details.faq .a{line-height:1.78}@keyframes faq-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.codewrap{background:#070a14;border:1px solid var(--border);border-radius:10px;margin:14px 0;overflow:hidden;box-shadow:var(--shadow-sm);position:relative;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.codewrap:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.codewrap .codebar{height:36px;background:linear-gradient(180deg,#0e1322,#0a0e1a);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 96px 0 14px;gap:6px;position:relative}.codewrap .codebar .dot{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px #0003}.codewrap .codebar .dot:nth-child(1){background:#ff5f56}.codewrap .codebar .dot:nth-child(2){background:#ffbd2e}.codewrap .codebar .dot:nth-child(3){background:#27c93f}.codewrap .codebar .lang{margin-left:auto;font-size:10.5px;color:var(--mute);letter-spacing:.15em;text-transform:uppercase;font-family:var(--font-mono);font-weight:600}.codewrap pre{margin:0;border:none;border-radius:0;background:transparent;box-shadow:none;padding:16px 20px;font-size:13px;line-height:1.62;color:#cdd6ef;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre}.codewrap pre::-webkit-scrollbar{height:6px}.codewrap pre::-webkit-scrollbar-thumb{background:#2a3349;border-radius:3px}.codewrap pre:before,.codewrap pre:after{display:none}.codewrap .copy{position:absolute;top:7px;right:12px;background:#8b6fff1a;border:1px solid rgba(139,111,255,.25);color:var(--accent-soft);font-size:11px;padding:4px 10px;border-radius:6px;cursor:pointer;font-family:var(--font-sans);font-weight:600;letter-spacing:.05em;transition:all var(--dur-fast) var(--ease);display:inline-flex;align-items:center;gap:4px}.codewrap .copy:hover{background:#8b6fff38;color:#fff;border-color:#8b6fff66}.codewrap .copy:active{transform:translateY(1px)}.codewrap .copy.copied{background:#34d3992e;color:var(--ok);border-color:#34d39966}pre{background:#070a14;border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin:14px 0;overflow:auto;box-shadow:var(--shadow-sm);color:#cdd6ef;line-height:1.62;font-size:13px}.codewrap pre{padding:16px 20px}.download{display:inline-flex;align-items:center;gap:9px;background:var(--panel-2);border:1px solid var(--border);padding:9px 14px;border-radius:9px;font-size:13px;color:var(--ink);margin:6px 8px 0 0;font-weight:500;transition:all var(--dur-fast) var(--ease);font-family:var(--font-mono)}.download:hover{border-color:var(--accent);text-decoration:none;color:#fff;background:linear-gradient(135deg,rgba(139,111,255,.1),var(--panel-2));transform:translateY(-2px);box-shadow:var(--shadow-sm)}.download:active{transform:translateY(0)}.download .ic{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px #8b6fff4d}.download .ic:after{content:"↓";line-height:1}.prompt-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:#22d3ee14;color:var(--accent-2);border:1px solid rgba(34,211,238,.25);padding:4px 10px;border-radius:7px;margin:6px 0 8px;letter-spacing:.04em;font-weight:600}.prompt-tag:before{content:"●";color:var(--accent-2);font-size:8px}.footer-note{margin-top:26px;padding:14px 16px;background:#22d3ee0a;border-left:3px solid var(--accent-2);border-radius:0 8px 8px 0;color:var(--ink-mute);font-size:13.5px;font-style:italic;line-height:1.65}:lang(th) .footer-note{line-height:1.75}.footer-note em{color:var(--ink-soft);font-style:normal;font-weight:500}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.compare .col{border-radius:16px;padding:24px;position:relative;overflow:hidden;border:1px solid var(--border);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.compare .col:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.compare .col.durable{background:linear-gradient(180deg,#34d39914,#34d39905),var(--panel);border-color:#34d39952}.compare .col.disposable{background:linear-gradient(180deg,#fbbf240f,#fbbf2403),var(--panel);border-color:#fbbf244d}.compare .col:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.compare .col.durable:before{background:linear-gradient(90deg,transparent,var(--ok),transparent)}.compare .col.disposable:before{background:linear-gradient(90deg,transparent,var(--warn),transparent)}.compare .col .head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.compare .col .head .badge{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:6px;font-family:var(--font-mono)}.compare .col.durable .head .badge{background:#34d39926;color:var(--ok);border:1px solid rgba(52,211,153,.35)}.compare .col.disposable .head .badge{background:#fbbf241f;color:var(--warn);border:1px solid rgba(251,191,36,.35)}.compare .col h3{margin:0 0 14px;font-size:22px;color:#fff}.compare .col .sub{font-size:13px;color:var(--ink-mute);margin-bottom:18px;font-style:italic}.compare .col ul{list-style:none;padding:0;margin:0}.compare .col li{padding:11px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:3px;transition:padding-left var(--dur-fast) var(--ease)}.compare .col li:hover{padding-left:6px}.compare .col li:last-child{border-bottom:none}.compare .col li .item{font-weight:600;color:#fff;font-size:14.5px;display:flex;align-items:center;gap:8px}.compare .col li .item:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.compare .col.durable li .item:before{background:var(--ok);box-shadow:0 0 6px #34d39999}.compare .col.disposable li .item:before{background:var(--warn);box-shadow:0 0 6px #fbbf2480}.compare .col li .why{font-size:13px;color:var(--ink-mute);padding-left:14px;line-height:1.55}:lang(th) .compare .col li .why{line-height:1.65}.highlight-box{margin-top:40px;padding:24px;border:1px solid rgba(139,111,255,.32);border-radius:14px;background:linear-gradient(135deg,#8b6fff1a,#22d3ee0d),var(--panel);position:relative;overflow:hidden;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.highlight-box:hover{border-color:#8b6fff80;box-shadow:0 12px 36px -8px #8b6fff38}.highlight-box:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent)}.highlight-box h3{margin:0 0 8px;color:#fff}.highlight-box p{margin:0;color:var(--ink-soft);line-height:1.65}:lang(th) .highlight-box p{line-height:1.75}.totop{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:50%;cursor:pointer;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700;box-shadow:0 10px 30px #8b6fff66;opacity:0;transform:translateY(20px) scale(.9);pointer-events:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);z-index:50}.totop.show{opacity:1;transform:none;pointer-events:auto}.totop:hover{transform:translateY(-3px);box-shadow:0 14px 36px #8b6fff8c}.totop:active{transform:translateY(-1px)}.kbd-hint{position:fixed;bottom:28px;left:calc(var(--aside-w) + 28px);background:#141a2aeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--mute);display:flex;align-items:center;gap:8px;z-index:50;opacity:0;transition:opacity .4s var(--ease) .8s;pointer-events:none;box-shadow:var(--shadow)}.kbd-hint.show{opacity:1}.kbd-hint kbd{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:4px;padding:2px 6px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);box-shadow:inset 0 -1px 0 var(--border)}ol,ul{padding-left:20px;margin:8px 0 0;color:var(--ink-soft)}ol li,ul li{margin-bottom:6px;line-height:1.62}:lang(th) ol li,:lang(th) ul li{line-height:1.72}.card ol,.card ul{font-size:14px;margin-top:10px}ol::marker,ul::marker{color:var(--accent-soft)}ol li::marker{font-weight:600}.en{color:var(--accent-soft);font-weight:600}.bpmn-wrap{margin:18px 0 8px;padding:26px 20px;background:radial-gradient(circle at 1px 1px,rgba(139,111,255,.07) 1px,transparent 0) 0 0 / 18px 18px,radial-gradient(800px 280px at 50% 50%,rgba(139,111,255,.05),transparent 70%),linear-gradient(180deg,#0d13228c,#0a0e1aeb);border:1px solid var(--border);border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 1px #ffffff05,inset 0 24px 60px -28px #0000008c}.bpmn-wrap::-webkit-scrollbar{height:6px}.bpmn-wrap::-webkit-scrollbar-thumb{background:#2a3349;border-radius:3px}.bpmn{display:flex;flex-wrap:nowrap;align-items:center;gap:0;min-width:fit-content;margin:0 auto;padding:6px 4px}.bpmn+.bpmn{margin-top:10px}.bpmn .node{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%),linear-gradient(180deg,var(--panel),var(--bg-2));border:1.5px solid var(--accent);border-radius:11px;padding:12px 18px;font-size:13px;min-width:130px;text-align:center;color:#fff;font-weight:500;letter-spacing:-.005em;box-shadow:0 4px 14px #8b6fff38,inset 0 1px #ffffff12,inset 0 0 0 1px #8b6fff14;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);white-space:nowrap;position:relative;z-index:1}:lang(th) .bpmn .node{letter-spacing:0}.bpmn .node:hover{transform:translate3d(0,-3px,0);box-shadow:0 14px 30px #8b6fff57,inset 0 1px #ffffff1a,inset 0 0 0 1px #8b6fff33}.bpmn .node.event{border-radius:999px;border-color:var(--accent-2);background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%),linear-gradient(180deg,rgba(34,211,238,.14),var(--bg-2));box-shadow:0 4px 14px #22d3ee3d,inset 0 1px #ffffff14,inset 0 0 0 1px #22d3ee33}.bpmn .node.event:hover{box-shadow:0 14px 30px #22d3ee61,inset 0 1px #ffffff1f,inset 0 0 0 1px #22d3ee4d}.bpmn .node.gateway{width:62px;height:62px;min-width:0;padding:0;background:none;border:none;box-shadow:none;transform:none;display:grid;place-items:center;position:relative}.bpmn .node.gateway:before{content:"";position:absolute;inset:10px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(135deg,rgba(251,191,36,.2),var(--bg-2));border:1.5px solid var(--warn);transform:rotate(45deg);border-radius:5px;box-shadow:0 5px 14px #fbbf2442,inset 0 0 0 1px #fbbf2438;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.bpmn .node.gateway:hover{transform:translate3d(0,-3px,0)}.bpmn .node.gateway:hover:before{transform:rotate(45deg) scale(1.04);box-shadow:0 12px 26px #fbbf2466,inset 0 0 0 1px #fbbf245c}.bpmn .node.gateway span{position:relative;z-index:1;font-size:20px;color:var(--warn);font-weight:700;font-family:var(--font-mono);transform:none;line-height:1;text-shadow:0 0 12px rgba(251,191,36,.5)}.bpmn .arrow{flex:0 0 44px;height:2px;position:relative;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%) -60% 0 / 50% 100% no-repeat,linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%) 0 0 / 100% 100% no-repeat;border-radius:1px;filter:drop-shadow(0 0 6px rgba(139,111,255,.25))}@keyframes bpmn-arrow-flow{0%{background-position:-60% 0,0 0}to{background-position:160% 0,0 0}}.bpmn .arrow:after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:0;height:0;border:7px solid transparent;border-left:10px solid var(--accent-2);filter:drop-shadow(0 0 5px rgba(34,211,238,.6))}section.slide.in .bpmn>.arrow{animation:anim-arrow .4s var(--ease-out) calc(.55s + var(--bpmn-i, 0) * .08s) both,bpmn-arrow-flow 2.6s linear calc(1.4s + var(--bpmn-i, 0) * .08s) infinite;transform-origin:left center}.bpmn-note{color:var(--ink-mute);font-size:13px;margin-top:18px;display:flex;align-items:flex-start;gap:10px;line-height:1.65;max-width:760px;padding:10px 14px;background:#22d3ee0a;border-left:2px solid var(--accent-2);border-radius:0 8px 8px 0}.bpmn-note:before{content:"▸";color:var(--accent-2);flex-shrink:0;margin-top:1px;font-size:14px}@media(prefers-reduced-motion:reduce){section.slide.in .bpmn>.arrow{animation:none!important}}@media(max-width:540px){.bpmn-wrap{padding:18px 12px;border-radius:12px}.bpmn .node{min-width:96px;padding:9px 12px;font-size:12px}.bpmn .arrow{flex-basis:28px}.bpmn .node.gateway{width:50px;height:50px}.bpmn .node.gateway:before{inset:7px}.bpmn .node.gateway span{font-size:16px}}.harness-diagram-wrap{margin:18px 0 28px;padding:24px 20px 18px;background:radial-gradient(circle at 1px 1px,rgba(139,111,255,.07) 1px,transparent 0) 0 0 / 18px 18px,radial-gradient(800px 280px at 50% 50%,rgba(139,111,255,.05),transparent 70%),linear-gradient(180deg,#0d13228c,#0a0e1aeb);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:inset 0 0 0 1px #ffffff05,inset 0 24px 60px -28px #00000080}.harness-svg{width:100%;max-width:720px;height:auto;display:block}.harness-caption{margin-top:10px;font-size:11px;color:var(--mute);letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-mono);font-weight:600;text-align:center}.harness-caption:before,.harness-caption:after{content:"";display:inline-block;width:24px;height:1px;background:var(--border-strong);vertical-align:middle;margin:0 8px}@media(max-width:540px){.harness-diagram-wrap{padding:14px 8px}.harness-caption{font-size:10px;letter-spacing:.14em}}section.slide.in>.harness-diagram-wrap{animation:anim-up .65s var(--ease-out) .42s both}@media(prefers-reduced-motion:reduce){section.slide.in>.harness-diagram-wrap{animation:none}}.hero-image{width:100%;max-width:980px;aspect-ratio:16/9;border-radius:16px;margin:32px 0 0;overflow:hidden;position:relative;border:1px solid var(--border-strong);box-shadow:0 24px 60px #00000073,0 0 0 1px #8b6fff14}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;animation:hero-ken-burns 22s ease-in-out infinite alternate;will-change:transform}@keyframes hero-ken-burns{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.05) translate3d(-1%,-1%,0)}}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0% 55%,rgba(10,14,26,.5) 100%),linear-gradient(90deg,rgba(10,14,26,.18) 0%,transparent 25%);pointer-events:none}.demo-image{width:100%;max-width:560px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;margin:0 auto 22px;position:relative;border:1px solid var(--border);box-shadow:0 18px 40px #0006}.demo-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.demo-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,111,255,.06) 0%,transparent 40%,transparent 70%,rgba(10,14,26,.4) 100%);pointer-events:none}section.slide.in>.hero-image{animation:anim-up .7s var(--ease-out) .5s both}section.slide.in>.demo-image{animation:anim-pop .65s var(--ease-out) .18s both}@media(prefers-reduced-motion:reduce){.hero-image img{animation:none}section.slide.in>.hero-image,section.slide.in>.demo-image{animation:none}}@media(max-width:540px){.hero-image{margin-top:24px;border-radius:12px}.demo-image{max-width:none;aspect-ratio:4/3;margin-bottom:18px;border-radius:12px}}.section-bar{position:fixed;top:3px;left:var(--aside-w);right:0;height:44px;z-index:90;background:#0d1322db;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 var(--slide-pad-x);transform:translateY(-110%);transition:transform .35s var(--ease-out),opacity .25s var(--ease);opacity:0;pointer-events:none}.section-bar.show{transform:none;opacity:1;pointer-events:auto}.section-bar .sb-inner{display:flex;align-items:center;gap:14px;width:100%;min-width:0}.section-bar .sb-num{font-family:var(--font-mono);font-size:10.5px;color:var(--accent-soft);letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:3px 8px;background:#8b6fff1a;border:1px solid rgba(139,111,255,.25);border-radius:6px;flex-shrink:0}.section-bar .sb-title{color:var(--ink);font-weight:600;letter-spacing:-.005em;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.section-bar .sb-meta{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--mute);letter-spacing:.06em;display:flex;align-items:center;gap:8px;flex-shrink:0}.section-bar .sb-meta .sep{opacity:.4}@media(max-width:980px){.section-bar{left:0;height:38px;padding:0 16px}.section-bar .sb-num{font-size:10px;padding:2px 6px}.section-bar .sb-title{font-size:13px}.section-bar .sb-meta .pos{display:none}}.section-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--mute);font-family:var(--font-mono);margin:-4px 0 20px;letter-spacing:.05em}.section-meta .chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;background:#ffffff08;border:1px solid var(--border);color:var(--ink-mute);font-weight:500}.section-meta .chip .ico{width:5px;height:5px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 6px var(--accent-2);flex-shrink:0}.section-meta .chip.pos .ico{background:var(--accent-soft);box-shadow:0 0 6px var(--accent-soft)}.takeaway{margin-top:36px;padding:18px 22px 18px 60px;background:linear-gradient(135deg,#34d39914,#22d3ee0a),var(--panel);border:1px solid rgba(52,211,153,.28);border-radius:14px;position:relative;overflow:hidden}.takeaway:before{content:"";position:absolute;left:18px;top:18px;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--ok),var(--accent-2));box-shadow:0 4px 14px #34d39959,inset 0 1px #fff3}.takeaway:after{content:"★";position:absolute;left:24px;top:22px;color:#fff;font-size:14px;line-height:1;font-weight:700}.takeaway .label{display:block;font-size:10px;color:var(--ok);letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:6px;font-family:var(--font-mono)}.takeaway p{margin:0;color:#fff;font-size:15.5px;line-height:1.6;font-weight:500;letter-spacing:-.005em}:lang(th) .takeaway p{line-height:1.72;letter-spacing:0}.takeaway strong{color:var(--ok)}.self-check{margin-top:14px;background:linear-gradient(135deg,rgba(139,111,255,.04),var(--panel));border:1px solid rgba(139,111,255,.22);border-radius:12px;padding:14px 18px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.self-check:hover{border-color:#8b6fff66}.self-check[open]{background:linear-gradient(135deg,rgba(139,111,255,.09),var(--panel));border-color:#8b6fff73}.self-check summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.5}:lang(th) .self-check summary{line-height:1.6}.self-check summary::-webkit-details-marker{display:none}.self-check summary:before{content:"?";font-family:var(--font-mono);color:var(--accent-soft);font-weight:700;font-size:13px;width:24px;height:24px;display:grid;place-items:center;background:#8b6fff24;border:1px solid rgba(139,111,255,.32);border-radius:7px;flex-shrink:0;margin-top:1px;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.self-check:hover summary:before{background:#8b6fff38}.self-check[open] summary:before{content:"✓";color:var(--ok);background:#34d39924;border-color:#34d39966}.self-check .qlabel{display:inline-block;font-size:9.5px;color:var(--accent-soft);letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-right:8px;font-family:var(--font-mono);background:#8b6fff1a;padding:2px 7px;border-radius:4px;vertical-align:1px}.self-check .a{margin-top:12px;padding:13px 16px;margin-left:35px;background:#22d3ee0a;border-left:2px solid var(--accent-2);border-radius:0 8px 8px 0;color:var(--ink-soft);font-size:14px;line-height:1.7;animation:faq-reveal .35s var(--ease-out)}:lang(th) .self-check .a{line-height:1.78}.self-check .a strong{color:#fff}.section-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.section-nav a{display:flex;flex-direction:column;gap:5px;padding:14px 18px;border-radius:12px;background:var(--panel);border:1px solid var(--border);color:var(--ink-mute);text-decoration:none;transition:all var(--dur) var(--ease);min-width:0}.section-nav a:hover{border-color:#8b6fff73;background:linear-gradient(135deg,rgba(139,111,255,.08),var(--panel));color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.section-nav a .dir{font-size:10.5px;color:var(--mute);letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono)}.section-nav a .label{color:#fff;font-weight:600;font-size:14.5px;letter-spacing:-.005em;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:lang(th) .section-nav a .label{letter-spacing:0}.section-nav a.prev{text-align:left}.section-nav a.next{text-align:right;align-items:flex-end}.section-nav a.prev .dir:before{content:"←";margin-right:4px;display:inline-block;transition:transform var(--dur) var(--ease)}.section-nav a.next .dir:after{content:"→";margin-left:4px;display:inline-block;transition:transform var(--dur) var(--ease)}.section-nav a.prev:hover .dir:before{transform:translate(-3px)}.section-nav a.next:hover .dir:after{transform:translate(3px)}.section-nav.only-next{grid-template-columns:1fr}.section-nav.only-next a.next{grid-column:1}.section-nav.only-prev a.prev{grid-column:1/-1}@media(max-width:540px){.section-nav{grid-template-columns:1fr}.section-nav a.next{text-align:left;align-items:flex-start}.section-nav a.next .dir{order:0}}@media(prefers-reduced-motion:reduce){.section-bar{transition:none}.section-nav a:hover{transform:none}.self-check .a,.takeaway{animation:none}}nav a.viewed:not(.active) .num{border-color:#34d39973;background:#34d3991a;color:var(--ok);box-shadow:0 0 0 1px #34d39926}nav a.viewed:not(.active){color:var(--ink-soft)}.card.glow [data-stat-value]{font-variant-numeric:tabular-nums}.section-toc{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:20px 0 28px;padding:11px 14px;background:linear-gradient(180deg,#8b6fff0f,#ffffff03),var(--panel);border:1px solid rgba(139,111,255,.22);border-radius:10px;font-family:var(--font-sans)}.section-toc .toc-label{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);font-weight:700;font-family:var(--font-mono);margin-right:6px;flex-shrink:0;padding:2px 8px;background:#8b6fff24;border:1px solid rgba(139,111,255,.3);border-radius:5px}.section-toc a{font-size:12px;color:var(--ink-mute);padding:5px 11px;border-radius:6px;background:#ffffff06;border:1px solid var(--border);transition:all var(--dur-fast) var(--ease);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}:lang(th) .section-toc a{letter-spacing:0}.section-toc a:hover{background:#8b6fff1a;border-color:#8b6fff59;color:var(--ink);text-decoration:none}.section-toc a.active{background:linear-gradient(135deg,#8b6fff38,#22d3ee1a);border-color:#8b6fff80;color:#fff;box-shadow:0 0 0 1px #8b6fff26,0 4px 12px #8b6fff33}section.slide.in>.section-toc{animation:anim-fade .55s var(--ease-out) .4s both}@media(max-width:540px){.section-toc{padding:9px 11px;gap:5px}.section-toc a{font-size:11.5px;padding:4px 9px;max-width:180px}}@media(prefers-reduced-motion:reduce){section.slide.in>.section-toc{animation:none}}.jump-flash{position:relative}.jump-flash:before{content:"";position:absolute;inset:-10px -22px;border-radius:14px;background:linear-gradient(90deg,#22d3ee29,#8b6fff24);border:1px solid rgba(34,211,238,.32);z-index:-1;animation:jump-flash-fade 1.8s ease-out forwards;pointer-events:none}@keyframes jump-flash-fade{0%{opacity:0;transform:scale(.94)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.jump-flash:before{animation:none;opacity:0}}.search-btn{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 14px;padding:9px 11px;background:#ffffff06;border:1px solid var(--border);border-radius:9px;color:var(--ink-mute);font-family:var(--font-sans);font-size:12.5px;cursor:pointer;text-align:left;transition:all var(--dur-fast) var(--ease)}.search-btn:hover{background:#8b6fff12;border-color:#8b6fff52;color:var(--ink)}.search-btn:active{transform:scale(.98)}.search-btn .ic{color:var(--accent-2);font-size:13px;line-height:1;flex-shrink:0}.search-btn .ic:before{content:"⌕"}.search-btn .label{flex:1;font-weight:500;letter-spacing:.01em}.search-btn kbd{font-family:var(--font-mono);font-size:10px;color:var(--mute);background:var(--panel-2);border:1px solid var(--border);padding:2px 6px;border-radius:4px;font-weight:600;letter-spacing:.05em}.print-btn{display:flex;align-items:center;gap:9px;width:100%;margin:0 0 14px;padding:9px 11px;background:#ffffff06;border:1px solid var(--border);border-radius:9px;color:var(--ink-mute);font-family:var(--font-sans);font-size:12.5px;cursor:pointer;text-align:left;transition:all var(--dur-fast) var(--ease)}.print-btn:hover{background:#4ade8012;border-color:#4ade8052;color:var(--ink)}.print-btn:active{transform:scale(.98)}.print-btn .ic{color:var(--accent);font-size:13px;line-height:1;flex-shrink:0}.print-btn .ic:before{content:"⎙"}.print-btn .label{flex:1;font-weight:500;letter-spacing:.01em}.print-btn kbd{font-family:var(--font-mono);font-size:10px;color:var(--mute);background:var(--panel-2);border:1px solid var(--border);padding:2px 6px;border-radius:4px;font-weight:600;letter-spacing:.05em}.search-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:80px 20px 20px;animation:search-fade .2s var(--ease-out)}.search-modal[hidden]{display:none}@keyframes search-fade{0%{opacity:0}to{opacity:1}}.search-backdrop{position:absolute;inset:0;background:#05080fa6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.search-panel{position:relative;width:100%;max-width:640px;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #8b6fff14;display:flex;flex-direction:column;max-height:calc(100vh - 120px);animation:search-slide .3s var(--ease-out);overflow:hidden}@keyframes search-slide{0%{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}.search-input-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.search-input-row .ic{color:var(--accent-soft);font-size:18px;flex-shrink:0;line-height:1}.search-input-row input{flex:1;background:transparent;border:none;outline:none;color:var(--ink);font-family:var(--font-sans);font-size:15.5px;font-weight:500;letter-spacing:-.005em;min-width:0}.search-input-row input::placeholder{color:var(--mute);font-weight:400}.search-input-row kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--mute);background:var(--panel-2);border:1px solid var(--border);padding:3px 8px;border-radius:5px;font-weight:600;letter-spacing:.06em;flex-shrink:0}.search-results{flex:1;overflow-y:auto;padding:8px;min-height:80px;scrollbar-width:thin;scrollbar-color:#2a3349 transparent}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-thumb{background:#2a3349;border-radius:3px}.search-results .empty{padding:32px 16px;text-align:center;color:var(--mute);font-size:13.5px;font-style:italic}.search-result{display:flex;flex-direction:column;gap:5px;padding:11px 14px;border-radius:8px;cursor:pointer;transition:background var(--dur-fast) var(--ease)}.search-result.active{background:linear-gradient(135deg,#8b6fff29,#22d3ee0f)}.search-result .row{display:flex;align-items:center;gap:10px;min-width:0}.search-result .chip{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:4px;font-family:var(--font-mono);flex-shrink:0}.search-result .chip.section{background:#8b6fff29;color:var(--accent-soft);border:1px solid rgba(139,111,255,.3)}.search-result .chip.takeaway{background:#34d39929;color:var(--ok);border:1px solid rgba(52,211,153,.3)}.search-result .chip.check{background:#22d3ee24;color:var(--accent-2);border:1px solid rgba(34,211,238,.3)}.search-result .chip.faq{background:#ffffff0f;color:var(--ink-mute);border:1px solid var(--border)}.search-result .chip.glossary{background:#fbbf2424;color:var(--warn);border:1px solid rgba(251,191,36,.3)}.search-result .title{color:#fff;font-size:13.8px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}:lang(th) .search-result .title{letter-spacing:0}.search-result .snippet{color:var(--ink-mute);font-size:12.5px;line-height:1.55;padding-left:54px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-hints{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--border);font-size:11px;color:var(--mute);font-family:var(--font-mono);letter-spacing:.04em;flex-wrap:wrap;flex-shrink:0;background:#ffffff04}.search-hints span{display:inline-flex;align-items:center;gap:6px}.search-hints kbd{background:var(--panel-2);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:10px;color:var(--ink-mute);font-weight:600}@media(max-width:540px){.search-modal{padding:32px 14px 14px}.search-panel{max-height:calc(100vh - 56px)}.search-hints{display:none}.search-result .snippet{padding-left:0;margin-top:2px}}.resume-toast{position:fixed;bottom:88px;right:28px;z-index:60;max-width:320px;background:linear-gradient(135deg,#8b6fff24,#22d3ee0d),var(--panel);border:1px solid rgba(139,111,255,.42);border-radius:12px;padding:14px 16px;box-shadow:0 14px 36px #0006,0 0 0 1px #8b6fff1a;display:flex;flex-direction:column;gap:7px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.resume-toast[hidden]{display:none}.resume-toast.show{opacity:1;transform:none;pointer-events:auto}.resume-toast .label{font-size:9.5px;color:var(--accent-soft);letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-family:var(--font-mono)}.resume-toast .title{color:#fff;font-size:13.5px;font-weight:600;line-height:1.45;letter-spacing:-.005em}:lang(th) .resume-toast .title{letter-spacing:0;line-height:1.55}.resume-toast .actions{display:flex;gap:7px;margin-top:6px}.resume-toast button{font-family:var(--font-sans);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:7px;cursor:pointer;transition:all var(--dur-fast) var(--ease);letter-spacing:.01em}.resume-toast .go{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;box-shadow:0 4px 12px #8b6fff4d}.resume-toast .go:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b6fff66}.resume-toast .skip{background:transparent;color:var(--mute);border:1px solid var(--border)}.resume-toast .skip:hover{color:var(--ink);border-color:var(--border-strong)}@media(max-width:540px){.resume-toast{right:14px;left:14px;max-width:none;bottom:72px}}@media(prefers-reduced-motion:reduce){.search-modal,.search-panel{animation:none}.resume-toast{transition:opacity .15s}}.kbd-modal{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:20px;animation:search-fade .2s var(--ease-out)}.kbd-modal[hidden]{display:none}.kbd-backdrop{position:absolute;inset:0;background:#05080f9e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.kbd-panel{position:relative;width:100%;max-width:460px;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #8b6fff14;padding:22px 22px 18px;animation:search-slide .3s var(--ease-out)}.kbd-panel h3{margin:0 0 4px;color:#fff;font-size:15.5px;font-weight:600;display:flex;align-items:center;gap:10px;letter-spacing:-.005em}.kbd-panel h3:before{content:"⌨";font-size:18px;color:var(--accent-2);line-height:1}.kbd-panel .sub{color:var(--mute);font-size:11.5px;letter-spacing:.04em;margin:0 0 14px;font-family:var(--font-mono)}.kbd-panel dl{margin:0;display:grid;gap:6px}.kbd-panel dl>div{display:flex;align-items:center;gap:14px;padding:9px 12px;background:#ffffff06;border:1px solid var(--border);border-radius:8px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.kbd-panel dl>div:hover{background:#8b6fff0f;border-color:#8b6fff40}.kbd-panel dt{display:flex;align-items:center;gap:4px;flex-shrink:0;min-width:96px}.kbd-panel dd{margin:0;color:var(--ink-mute);font-size:13.5px;letter-spacing:-.005em;flex:1;line-height:1.4}:lang(th) .kbd-panel dd{letter-spacing:0;line-height:1.55}.kbd-panel kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);background:var(--panel-2);border:1px solid var(--border-strong);padding:2px 7px;border-radius:5px;font-weight:600;box-shadow:inset 0 -1px 0 var(--border);min-width:18px;text-align:center}.kbd-close{position:absolute;top:14px;right:14px;background:#ffffff0a;border:1px solid var(--border);color:var(--mute);cursor:pointer;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:18px;line-height:1;transition:all var(--dur-fast) var(--ease);font-family:var(--font-sans)}.kbd-close:hover{background:#8b6fff1f;color:var(--ink);border-color:#8b6fff66}@media(max-width:540px){.kbd-panel{padding:18px}.kbd-panel dt{min-width:80px}}@media(prefers-reduced-motion:reduce){.kbd-modal,.kbd-panel{animation:none}}.gloss{border-bottom:1px dotted rgba(34,211,238,.42);cursor:help;position:relative;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.gloss:hover,.gloss.show,.gloss:focus-visible{color:var(--accent-2-soft);border-bottom-color:var(--accent-2);border-bottom-style:solid;outline:none}.gloss:after{content:attr(data-def);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(6px);background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid rgba(34,211,238,.34);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--ink-soft);width:max-content;max-width:min(300px,82vw);white-space:normal;text-align:left;line-height:1.55;font-weight:400;font-style:normal;letter-spacing:0;font-family:var(--font-sans);box-shadow:0 14px 32px #00000080,0 0 0 1px #22d3ee14;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);z-index:120}:lang(th) .gloss:after{line-height:1.65}.gloss:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%) translateY(6px);width:0;height:0;border:6px solid transparent;border-top-color:#22d3ee80;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);z-index:121}.gloss:hover:after,.gloss:hover:before,.gloss.show:after,.gloss.show:before,.gloss:focus-visible:after,.gloss:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}.gloss:hover:after,.gloss.show:after,.gloss:focus-visible:after{pointer-events:auto}.gloss.gloss-flip-right:after{left:auto;right:0;transform:translate(0) translateY(6px)}.gloss.gloss-flip-right:hover:after,.gloss.gloss-flip-right.show:after,.gloss.gloss-flip-right:focus-visible:after{transform:translate(0) translateY(0)}@media(max-width:540px){.gloss:after{max-width:84vw;font-size:12.5px;padding:9px 12px}}@media(prefers-reduced-motion:reduce){.gloss:after,.gloss:before{transition:opacity .1s linear}}a.xref{border-bottom:1px dashed rgba(139,111,255,.4);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}a.xref:hover{border-bottom-style:solid;border-bottom-color:var(--accent);color:var(--accent-soft)}.xref-tip{position:fixed;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border-strong);border-radius:12px;padding:14px 16px;width:min(320px,calc(100vw - 32px));box-shadow:0 20px 44px #00000080,0 0 0 1px #8b6fff14;z-index:130;opacity:0;transform:translateY(6px);transition:opacity .2s var(--ease),transform .2s var(--ease);pointer-events:none;font-family:var(--font-sans);font-weight:400;font-style:normal}.xref-tip[hidden]{display:none}.xref-tip.show{opacity:1;transform:none;pointer-events:auto}.xref-tip .xt-num{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft);font-weight:700;font-family:var(--font-mono);margin-bottom:5px;display:inline-block;padding:2px 7px;background:#8b6fff1f;border:1px solid rgba(139,111,255,.28);border-radius:5px}.xref-tip .xt-title{color:#fff;font-size:14.5px;font-weight:600;line-height:1.35;margin:6px 0;letter-spacing:-.005em}:lang(th) .xref-tip .xt-title{letter-spacing:0;line-height:1.5}.xref-tip .xt-lede{color:var(--ink-mute);font-size:12.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}:lang(th) .xref-tip .xt-lede{line-height:1.65}.xref-tip .xt-hint{margin-top:10px;font-size:10.5px;color:var(--mute);font-family:var(--font-mono);letter-spacing:.06em;border-top:1px solid var(--border);padding-top:8px;display:flex;align-items:center;gap:6px}.xref-tip .xt-hint:after{content:"→";color:var(--accent-2);font-weight:700;margin-left:auto;font-size:13px;transition:transform var(--dur-fast) var(--ease)}.xref-tip:hover .xt-hint:after{transform:translate(3px)}@media(max-width:540px){.xref-tip{padding:12px 14px}.xref-tip .xt-title{font-size:13.5px}}.complete-toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%) translateY(28px);max-width:440px;width:calc(100vw - 32px);background:linear-gradient(135deg,#34d3992e,#22d3ee14),var(--panel);border:1px solid rgba(52,211,153,.45);border-radius:14px;padding:22px 24px 20px;box-shadow:0 28px 64px #0000008c,0 0 0 1px #34d39924,inset 0 1px #ffffff0a;opacity:0;pointer-events:none;transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);z-index:160}.complete-toast[hidden]{display:none}.complete-toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.complete-toast:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(52,211,153,.6),rgba(34,211,238,.6),transparent)}.complete-toast .stars{display:block;text-align:center;font-size:32px;margin:-4px 0 4px;line-height:1;background:linear-gradient(135deg,var(--ok),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.complete-toast .label{font-size:10px;color:var(--ok);letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-family:var(--font-mono);text-align:center;margin-bottom:12px}.complete-toast .msg{color:#fff;font-size:14.5px;line-height:1.55;text-align:center;margin:0 0 16px;font-weight:500;letter-spacing:-.005em}:lang(th) .complete-toast .msg{letter-spacing:0;line-height:1.7}.complete-toast .actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.complete-toast button{font-family:var(--font-sans);font-weight:600;font-size:12.5px;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all var(--dur-fast) var(--ease);letter-spacing:.01em;border:1px solid transparent}.complete-toast .go-btn{background:linear-gradient(135deg,var(--ok),var(--accent-2));color:#fff;box-shadow:0 4px 12px #34d39957}.complete-toast .go-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #34d39970}.complete-toast .close-btn{background:transparent;color:var(--mute);border:1px solid var(--border)}.complete-toast .close-btn:hover{color:var(--ink);border-color:var(--border-strong)}@media(max-width:540px){.complete-toast{bottom:80px;padding:18px 20px 16px}}@media(prefers-reduced-motion:reduce){.complete-toast{transition:opacity .2s}}@keyframes anim-fade{0%{opacity:0}to{opacity:1}}@keyframes anim-up{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}@keyframes anim-pop{0%{opacity:0;transform:scale3d(.93,.93,1) translate3d(0,8px,0)}55%{opacity:1;transform:scale3d(1.018,1.018,1)}to{opacity:1;transform:scaleZ(1)}}@keyframes anim-slide-left{0%{opacity:0;transform:translate3d(-26px,0,0)}to{opacity:1;transform:none}}@keyframes anim-arrow{0%{opacity:0;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}@keyframes anim-rise{0%{opacity:0;transform:translate3d(0,28px,0) scale3d(.98,.98,1)}to{opacity:1;transform:none}}section.slide.in>.kicker{animation:anim-fade .5s var(--ease-out) .12s both}section.slide.in>.demo-head{animation:anim-rise .55s var(--ease-out) .1s both}section.slide.in>h1,section.slide.in>h2{animation:anim-up .6s var(--ease-out) .2s both}section.slide.in>.lede{animation:anim-up .55s var(--ease-out) .28s both}section.slide.in>.section-meta{animation:anim-fade .45s var(--ease-out) .34s both}section.slide.in>h3{animation:anim-up .5s var(--ease-out) .32s both}section.slide.in>.meta-grid>*,section.slide.in>.grid>*{animation:anim-pop .55s var(--ease-out) both;animation-delay:calc(.38s + min(var(--i, 0),8)*.07s);will-change:opacity,transform}section.slide.in>.bpmn-wrap{animation:anim-up .55s var(--ease-out) .4s both}section.slide.in .bpmn>.node{animation:anim-pop .45s var(--ease-out) both;animation-delay:calc(.55s + var(--bpmn-i, 0) * .08s)}section.slide.in .bpmn>.arrow{animation:anim-arrow .35s var(--ease-out) both;animation-delay:calc(.6s + var(--bpmn-i, 0) * .08s);transform-origin:left center}section.slide.in .bpmn-note{animation:anim-fade .5s var(--ease-out) .9s both}section.slide.in>.stepper>.step{animation:anim-slide-left .5s var(--ease-out) both;animation-delay:calc(.42s + min(var(--i, 0),6)*.08s)}section.slide.in>table{animation:anim-up .55s var(--ease-out) .42s both}section.slide.in>table tbody tr{animation:anim-fade .4s var(--ease-out) both;animation-delay:calc(.7s + min(var(--i, 0),8)/25s)}section.slide.in>.codewrap,section.slide.in>pre{animation:anim-up .55s var(--ease-out) .46s both}section.slide.in>.ladder>.rung{animation:anim-pop .55s var(--ease-out) both;animation-delay:calc(.36s + var(--i, 0) * .08s)}section.slide.in>.compare>.col{animation:anim-up .6s var(--ease-out) both;animation-delay:calc(.42s + var(--i, 0) * .14s)}section.slide.in>.highlight-box{animation:anim-up .6s var(--ease-out) .68s both}section.slide.in>.takeaway{animation:anim-pop .6s var(--ease-out) .55s both}section.slide.in>.self-check{animation:anim-fade .5s var(--ease-out) .68s both}section.slide.in>.footer-note{animation:anim-fade .55s var(--ease-out) .78s both}section.slide.in>.section-nav{animation:anim-up .5s var(--ease-out) .92s both}section.slide.in>.author{animation:anim-fade .55s var(--ease-out) .6s both}section.slide.in>.prompt-tag{animation:anim-fade .4s var(--ease-out) .5s both}section.slide.in .download{animation:anim-pop .45s var(--ease-out) both;animation-delay:calc(.5s + min(var(--i, 0),5)*.06s)}section.slide.in>details{animation:anim-fade .5s var(--ease-out) .8s both}.hero h1>span{background-size:240% 100%!important;animation:hero-shimmer 7s ease-in-out infinite}@keyframes hero-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero:before{animation:hero-grid-pulse 12s ease-in-out infinite}@keyframes hero-grid-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){section.slide,section.slide>*,section.slide .bpmn>.node,section.slide .bpmn>.arrow,section.slide table tbody tr,.hero h1>span,.hero:before{animation:none!important}section.slide{opacity:1!important;transform:none!important;transition:opacity .15s ease}section.slide>*{opacity:1!important;transform:none!important}}@media print{@page{size:A4;margin:18mm 16mm 22mm;@bottom-center{content:counter(page) " / " counter(pages);font-family:IBM Plex Mono,monospace;font-size:9pt;color:#888}@bottom-right{content:"AI in the Scale ERA · Workshop";font-family:IBM Plex Sans,sans-serif;font-size:8.5pt;color:#888}}@page :first{margin-top:24mm}html,body{background:#fff!important;color:#111!important;font-family:IBM Plex Sans Thai,IBM Plex Sans,-apple-system,sans-serif;font-size:10.5pt;line-height:1.55}:lang(th){line-height:1.7}aside,.aside-toggle,.totop,.kbd-hint,.progress,.skip-link,.section-bar,.search-modal,.kbd-modal,.resume-toast,.complete-toast,.search-btn,.print-btn,.section-nav,.section-toc,.xref-tip,.badge-new,.self-check{display:none!important}section.slide:before{display:none}.app{grid-template-columns:1fr;display:block}main{padding:0;overflow:visible;max-width:none}section.slide{page-break-before:always;break-before:page;page-break-inside:auto;min-height:0;padding:0 0 10mm;margin:0;border:none;opacity:1!important;transform:none!important;background:none!important}section.slide:first-child{page-break-before:auto;break-before:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}.hero{background:#fff!important;color:#111!important;min-height:0;padding:0 0 10mm}.hero:before,.hero:after{display:none}.hero h1>span{background:none!important;-webkit-text-fill-color:#6b46d4!important;color:#6b46d4!important}h1{font-size:22pt;color:#111!important;line-height:1.15;margin:0 0 8pt;letter-spacing:-.01em}h2{font-size:16pt;color:#111!important;line-height:1.2;margin:0 0 8pt}h3{font-size:12pt;color:#333!important;margin:14pt 0 4pt}h4{font-size:10.5pt;color:#111!important;margin:0 0 4pt}p,td,.lede,em,strong{color:#222!important}strong{color:#111!important}.lede{font-size:11.5pt;color:#333!important;max-width:none}.kicker{background:none!important;border:1px solid #aaa!important;color:#555!important;font-size:8pt;padding:2pt 6pt;box-shadow:none!important}.kicker:before{background:#555!important;box-shadow:none!important}.card,.card.glow,.meta-grid>.b,.compare .col,.ladder .rung{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;padding:8pt 10pt}.meta-grid .k{color:#666!important;font-size:8.5pt}.meta-grid .v{color:#111!important;font-size:11pt;font-weight:600}.card:after,.card.glow:before,.compare .col:before,.highlight-box:before,.demo-head:before,.takeaway:before,.takeaway:after,.complete-toast:before{background:none!important;display:none!important}.card p,.card .meta{color:#333!important;font-size:9.5pt}.pill,.pill.ok,.pill.warn,.pill.bad,.pill.accent{background:#f3f3f3!important;border:1px solid #bbb!important;color:#444!important;box-shadow:none!important}table{background:#fff!important;border-color:#ccc!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;font-size:9.5pt}thead{background:#f4f4f4!important}th,td{border-color:#ddd!important;padding:5pt 8pt}th{color:#444!important}tbody tr:nth-child(2n) td{background:#fafafa!important}tbody tr:hover td{background:transparent!important}.bpmn-wrap{background:#f8f8fa!important;border:1px solid #ddd!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.bpmn .node{background:#fff!important;border-color:#888!important;color:#111!important;box-shadow:none!important}.bpmn .node.event{border-color:#1a8da9!important}.bpmn .node.gateway{transform:none!important}.bpmn .node.gateway:before{transform:rotate(45deg)!important;background:#fff!important;border-color:#b8881a!important;box-shadow:none!important}.bpmn .node.gateway span{color:#b8881a!important;text-shadow:none!important}.bpmn .arrow{background:#555!important;filter:none!important}.bpmn .arrow:after{border-left-color:#555!important;filter:none!important}.bpmn-note{background:#fafafc!important;border-left-color:#1a8da9!important;color:#444!important}.bpmn-note:before{color:#1a8da9!important}.harness-diagram-wrap{background:#fafafc!important;border:1px solid #ddd!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;padding:10pt}.harness-caption{color:#666!important}.takeaway{background:#f4fbf6!important;border:1px solid #9ad3b1!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;padding:10pt 14pt 10pt 38pt!important}.takeaway p{color:#111!important}.takeaway .label{color:#22885a!important}.highlight-box{background:#fcfbff!important;border:1px solid #c8b8e8!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.codewrap{background:#f7f7f9!important;border:1px solid #ddd!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.codewrap .codebar{background:#eee!important;border-bottom:1px solid #ddd!important}.codewrap .codebar .dot{display:none}.codewrap .codebar .lang{color:#666!important}.codewrap .copy{display:none!important}.codewrap pre{color:#222!important;font-size:8.5pt;line-height:1.4}.prompt-tag{background:#eef9fc!important;border:1px solid #b9e0ea!important;color:#1a8da9!important}.stepper:before{display:none}.stepper .step{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;padding:8pt 10pt 8pt 36pt}.stepper .step:before{background:#444!important;color:#fff!important;box-shadow:none!important;border:none!important}.demo-head{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.demo-head .badge{background:#444!important;color:#fff!important;box-shadow:none!important}.hero-image,.demo-image{box-shadow:none!important;border:1px solid #ccc!important;page-break-inside:avoid;break-inside:avoid;max-width:100%;margin-bottom:6pt}.hero-image img,.demo-image img{animation:none!important}.hero-image:after,.demo-image:after{display:none!important}details.faq{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}details.faq[open]{background:#fafafc!important}details.faq summary:before{background:#eee!important;color:#444!important;border:1px solid #ccc!important}details.faq .a{color:#222!important}details.faq{display:block!important}details.faq>.a{display:block!important;animation:none!important}.footer-note{background:#fafafc!important;border-left:3px solid #888!important;color:#444!important;page-break-inside:avoid}.section-meta{color:#888!important;font-size:8.5pt;margin-bottom:6pt}.section-meta .chip{background:#f5f5f5!important;border:1px solid #ddd!important;color:#555!important}.section-meta .chip .ico{background:#888!important;box-shadow:none!important}a{color:#0a58ca!important;text-decoration:underline}a.xref,a.gloss{border-bottom:none!important}a.xref:before,a.gloss:before,a.xref:after,a.gloss:after{display:none!important}.gloss{border-bottom:1px dotted #999!important;color:inherit!important}.gloss:after,.gloss:before{display:none!important}.download{background:#fff!important;border:1px solid #ccc!important;color:#222!important;box-shadow:none!important;padding:3pt 8pt;font-size:9pt}.download .ic{background:#444!important;box-shadow:none!important}.compare .col.durable{background:#f4fbf6!important;border-color:#9ad3b1!important}.compare .col.disposable{background:#fffaef!important;border-color:#e5c477!important}.compare li .item:before{background:#444!important;box-shadow:none!important}.compare li,.compare li .item,.compare .col li{color:#111!important}.compare .col.durable li,.compare .col.durable li *{color:#155724!important}.compare .col.disposable li,.compare .col.disposable li *{color:#7a5a10!important}.compare .col h4{color:#111!important}.step .meta[style],.card .meta[style],p.meta[style*=font-family]{background:#f7f7f9!important;border:1px solid #ddd!important;color:#222!important}.brand .logo{animation:none!important}ol li,ul li{margin-bottom:3pt;line-height:1.45}p,li{orphans:3;widows:3}h1,h2,h3,h4{page-break-after:avoid;break-after:avoid-page}}@media(max-width:1280px){:root{--aside-w:264px;--slide-pad-x:56px;--slide-pad-y:64px;--hero-pad-y:80px}.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){:root{--slide-pad-x:24px;--slide-pad-y:48px;--hero-pad-y:60px}.app{grid-template-columns:1fr}aside{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:18px 16px}aside nav{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}aside nav .group-label{grid-column:1/-1;padding:10px 8px 4px}aside .aside-note{display:none}.aside-toggle{display:none}section.slide{padding:48px 24px;min-height:auto}.hero{padding:60px 24px;min-height:80vh}.grid.cols-3,.grid.cols-4,.grid.cols-2,.ladder{grid-template-columns:1fr}.ladder .rung{border-radius:12px!important;border-left:1px solid var(--border)!important;margin-bottom:8px}.compare{grid-template-columns:1fr}.hero .meta-grid{grid-template-columns:repeat(2,1fr)}.totop{bottom:18px;right:18px}.kbd-hint{display:none}.bpmn-wrap{margin-left:-8px;margin-right:-8px;border-radius:0}section.slide:before{font-size:10px;top:14px;right:16px}.demo-head{flex-direction:column;align-items:flex-start;gap:12px}.demo-head .badge{width:52px;height:52px;font-size:22px;border-radius:13px}table{font-size:13px}th,td{padding:10px 12px}.stepper:before{left:24px}.stepper .step{padding-left:54px}.stepper .step:before{left:12px}}@media(max-width:540px){.hero .meta-grid{grid-template-columns:1fr}h1{font-size:32px}h2{font-size:22px}aside nav{grid-template-columns:1fr}}.qr-callout[data-astro-cid-2qq5ymuc]{display:flex;gap:24px;align-items:center;padding:20px 24px;margin:8px 0 22px;background:linear-gradient(135deg,#8b6fff14,#22d3ee0a),var(--panel);border:1px solid rgba(139,111,255,.28);border-radius:14px}.qr-callout__code[data-astro-cid-2qq5ymuc]{flex:0 0 auto;padding:10px;background:#fff;border-radius:10px;line-height:0;box-shadow:0 4px 18px #0000002e}.qr-callout__code[data-astro-cid-2qq5ymuc] img[data-astro-cid-2qq5ymuc]{display:block;width:160px;height:160px}.qr-callout__text[data-astro-cid-2qq5ymuc]{flex:1 1 auto;min-width:0}.qr-callout__kicker[data-astro-cid-2qq5ymuc]{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-soft, #b4a0ff);margin-bottom:6px}.qr-callout__heading[data-astro-cid-2qq5ymuc]{font-size:1.05em;line-height:1.35;margin:0 0 8px}.qr-callout__meta[data-astro-cid-2qq5ymuc]{font-size:13.5px;color:var(--ink-mute);margin:0 0 6px}.qr-callout__meta[data-astro-cid-2qq5ymuc] a[data-astro-cid-2qq5ymuc]{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18)}.qr-callout__meta[data-astro-cid-2qq5ymuc] a[data-astro-cid-2qq5ymuc]:hover{color:var(--accent-soft, #b4a0ff);border-bottom-color:currentColor}.qr-callout__meta[data-astro-cid-2qq5ymuc] code[data-astro-cid-2qq5ymuc]{font-family:var(--font-mono);font-size:.95em;color:var(--ink)}.qr-callout__hint[data-astro-cid-2qq5ymuc]{font-size:12.5px;color:var(--mute);margin:0;font-style:italic}@media(max-width:640px){.qr-callout[data-astro-cid-2qq5ymuc]{flex-direction:column;align-items:flex-start;gap:14px;padding:16px}.qr-callout__code[data-astro-cid-2qq5ymuc] img[data-astro-cid-2qq5ymuc]{width:140px;height:140px}}
