@font-face{font-family:Pridi;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/74f0d87afb0a33f5-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Pridi;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/001cfaa35474ce29-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/033cfe4fd3123a5a-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ca86d732da0b2559-s.p.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/845fced69ec3875e-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Pridi;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0378cb6cf041466b-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/14d02b68db4f11c0-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f65831ce3ab17dbd-s.p.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ddbebab4452b2c45-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Pridi;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c9253d2314572a55-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/71d9152c0b45ec74-s.woff2) format("woff2");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:Pridi;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/951619881ef6d356-s.p.woff2) format("woff2");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:Pridi Fallback;src:local("Times New Roman");ascent-override:93.10%;descent-override:38.09%;line-gap-override:0.00%;size-adjust:118.15%}.__className_6ec71d{font-family:Pridi,Pridi Fallback;font-style:normal}.__variable_6ec71d{--font-pridi:"Pridi","Pridi Fallback"}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6211ef845df10dad-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ae276ebc9070dd85-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/cb0cc0f907592c8f-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d660c4b004d35ef0-s.p.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f8092a6a9ad7a44c-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/96ad5eed80b1484c-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0ab56aae8cf76709-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a1a058a3e6543db0-s.p.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7dfdf996fafd0873-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3c7225ad892364d7-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8fc9138006ae4675-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0b53384bc8cc52db-s.p.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f33c62bdbd09f5b8-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2b74019ebf7a71b9-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/33387a3e1220e613-s.woff2) format("woff2");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:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2f6258ffdaf4644f-s.p.woff2) format("woff2");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:Sarabun Fallback;src:local("Arial");ascent-override:109.45%;descent-override:23.78%;line-gap-override:0.00%;size-adjust:97.58%}.__className_239bc5{font-family:Sarabun,Sarabun Fallback;font-style:normal}.__variable_239bc5{--font-sarabun:"Sarabun","Sarabun Fallback"}*{box-sizing:border-box}body,html{padding:0;margin:0}:root{--paper:#ddcc9f;--paper-grid:rgba(43,58,103,0.09);--card:#fffcf5;--card-edge:#b9a06a;--tray:#b9a06a;--ink:#2b3a67;--ink-dark:#1c2747;--ink-soft:rgba(43,58,103,0.55);--graphite:#4a4436;--graphite-soft:#736a4f;--graphite-border:#ddd2b6;--wax:#a2382a;--wax-dark:#7c2a20;--wax-light:#c85a45;--highlighter:rgba(198,156,74,0.16);--font-display:var(--font-pridi),"Pridi",serif;--font-body:var(--font-sarabun),"Sarabun","Noto Sans Thai",sans-serif}body{font-family:var(--font-body);color:var(--graphite);line-height:1.65;background-color:var(--paper);background-image:linear-gradient(var(--paper-grid) 1px,transparent 1px),linear-gradient(90deg,var(--paper-grid) 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}main{padding:20px 16px 56px;display:flex;flex-direction:column;gap:20px}header.app-header,main{max-width:1040px;margin:0 auto}header.app-header{text-align:center;padding-top:28px;padding-left:16px;padding-right:16px}header.app-header h1{font-family:var(--font-display);font-weight:600;font-size:2rem;letter-spacing:.01em;color:var(--ink-dark);margin:0 0 6px}header.app-header p{margin:0 auto;max-width:34em;color:var(--graphite-soft);font-size:.9rem;text-wrap:pretty}.nav-buttons{display:flex;gap:8px;margin-top:16px}.btn,.nav-buttons{justify-content:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;border:1.5px solid transparent;background:var(--card);color:var(--ink);font-size:.88rem;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn.btn-outline{background:transparent;border:1.5px solid var(--graphite-border);color:var(--ink)}.btn.btn-outline:not(:disabled):hover,.btn.btn-primary{border-color:var(--ink)}.btn.btn-primary{background:var(--ink);color:#fdf8ee;box-shadow:0 2px 0 var(--ink-dark)}.btn.btn-primary:not(:disabled):hover{box-shadow:0 3px 0 var(--ink-dark)}.btn.btn-pen{background:var(--card);border:1.5px solid var(--graphite-border);color:var(--graphite);flex-direction:column;gap:4px;padding:8px 14px}.btn.btn-pen.active{background:var(--ink);border-color:var(--ink);color:#fdf8ee}.pen-dot{display:block;border-radius:50%;background:currentColor}.btn-caveat{background:var(--card);border:1.5px solid var(--wax);color:var(--wax-dark)}.btn-seal{position:relative;align-self:center;border-radius:999px;border:none;padding:14px 30px;font-size:.92rem;font-weight:700;letter-spacing:.04em;color:#f7e6cf;background:radial-gradient(circle at 32% 28%,var(--wax-light) 0,var(--wax) 45%,var(--wax-dark) 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.35),inset 0 -6px 10px rgba(0,0,0,.25),0 3px 8px rgba(124,42,32,.4)}.btn-seal:after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px dashed rgba(247,230,207,.35);pointer-events:none}.btn-seal:not(:disabled):hover{box-shadow:inset 0 1px 1px rgba(255,255,255,.4),inset 0 -6px 10px rgba(0,0,0,.25),0 5px 12px rgba(124,42,32,.5)}.btn-seal:disabled{background:linear-gradient(var(--graphite-border),var(--graphite-border));color:#fff;box-shadow:none}main.app-main{max-width:1180px}.app-main{display:grid;grid-template-columns:minmax(320px,460px) minmax(360px,1fr);grid-gap:22px;gap:22px;align-items:start}.workspace-editor{display:flex;flex-direction:column;gap:20px;min-width:0}@media (max-width:1023px){.app-main{grid-template-columns:1fr;padding-bottom:128px}}.draw-section{gap:14px;background:var(--card);padding:20px;box-shadow:0 2px 4px rgba(43,58,103,.1),0 16px 32px -16px rgba(43,58,103,.4)}.draw-section,.glyph-picker{display:flex;flex-direction:column;border:1.5px solid var(--card-edge);border-radius:4px}.glyph-picker{background:var(--tray);padding:14px;gap:10px;box-shadow:inset 0 4px 10px rgba(43,58,103,.28),inset 0 0 0 1px rgba(255,255,255,.25),0 10px 20px -14px rgba(43,58,103,.4)}.group-tabs{display:flex;flex-wrap:wrap;gap:6px}.group-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 10px;border-radius:4px;border:1.5px solid var(--graphite-border);background:var(--card);color:var(--graphite);font-size:.74rem;font-weight:600}.group-tab.active{background:var(--ink);border-color:var(--ink);color:#fdf8ee}.group-progress{font-size:.68rem;opacity:.75;font-weight:400}.progress-bar-track{height:6px;border-radius:4px;background:rgba(43,58,103,.12);overflow:hidden}.progress-bar-fill{height:100%;background:var(--wax);transition:width .2s ease}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));grid-gap:4px;gap:4px;max-height:420px;overflow-y:auto;padding:2px}.glyph-cell{aspect-ratio:1;border-radius:3px;border:1px solid var(--graphite-border);background:#f8f2e2;color:var(--graphite-soft);font-size:.92rem;box-shadow:inset 0 2px 3px rgba(43,58,103,.16)}.glyph-cell.drawn{color:#fdf8ee;border-color:var(--ink-dark);background:linear-gradient(160deg,var(--ink) 0,var(--ink-dark) 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 -2px 3px rgba(0,0,0,.3)}.glyph-cell.selected{border-color:var(--wax);box-shadow:0 0 0 2px var(--wax)}.draw-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.current-char-label{font-size:.92rem;color:var(--graphite)}.current-char-label strong{font-family:var(--font-display);font-size:1.6rem;margin:0 6px;color:var(--ink-dark)}.combining-badge{margin-left:8px;font-size:.66rem;padding:2px 7px;border-radius:999px;background:var(--highlighter);color:var(--wax-dark)}.pen-widths{display:flex;gap:6px}.drawing-canvas{width:100%;max-width:460px;margin:0 auto;display:block;background:#fffdf7;border-radius:3px;touch-action:none;box-shadow:0 1px 1px rgba(43,58,103,.08);filter:drop-shadow(0 .6px .4px rgba(28,39,71,.35))}.draw-actions{display:flex;gap:8px;justify-content:center}.preview-panel{position:-webkit-sticky;position:sticky;top:20px;background:var(--card);border:1.5px solid var(--card-edge);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 4px rgba(43,58,103,.1),0 16px 32px -16px rgba(43,58,103,.4)}.preview-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.preview-panel h2{font-family:var(--font-display);font-weight:500;margin:0;font-size:1.15rem;color:var(--ink-dark)}.preview-toggle{display:none;flex:none}@media (max-width:1023px){.preview-toggle{display:inline-flex}.preview-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;border-radius:16px 16px 0 0;max-height:62vh;overflow-y:auto;box-shadow:0 -6px 20px -6px rgba(43,58,103,.45)}.preview-panel:not(.expanded) h2{font-size:.86rem}.preview-panel:not(.expanded) .pangram-input{display:none}.preview-panel:not(.expanded) .pangram-preview{min-height:0;max-height:58px;padding:10px 14px;font-size:1.05rem;line-height:1.3;overflow:hidden}}.pangram-input{width:100%;border-radius:4px;border:1.5px solid var(--graphite-border);background:var(--card);color:var(--graphite);padding:10px 12px;font-family:var(--font-body);font-size:.92rem;resize:vertical}.pangram-input:focus{outline:none;border-color:var(--ink)}.pangram-preview{min-height:130px;border-radius:3px;border:1px solid var(--card-edge);background:var(--card) repeating-linear-gradient(to bottom,transparent,transparent 39px,rgba(43,58,103,.1) 40px);color:var(--ink-dark);padding:24px 22px 22px;font-size:2.1rem;line-height:40px;overflow-wrap:break-word;display:flex;align-items:flex-end}.method-content{max-width:760px;margin:0 auto}.method-content h2{font-family:var(--font-display);font-weight:500;font-size:1.15rem;margin-top:30px;color:var(--ink-dark)}.method-content code{background:rgba(43,58,103,.08);padding:1px 5px;border-radius:3px;font-size:.9em}.method-content ul{padding-left:20px}.method-content li,.method-content p{text-wrap:pretty}.caveat-box{background:#f7ece2;border:1.5px solid var(--wax);border-radius:4px;color:var(--wax-dark)}.caveat-box,.privacy-box{padding:14px 16px;text-wrap:pretty}.privacy-box{background:#eef1e6;border:1.5px solid #6d7f52;border-radius:4px;color:#445431}footer.app-footer{text-align:center;padding:28px 16px 12px;font-size:.78rem;color:var(--graphite-soft)}