@font-face{font-family:Trirong;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8abfaf70866df1d7-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:Trirong;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/003838ce7f1575b1-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:Trirong;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/73ec69299014a469-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:Trirong;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/32ab66af988a2a1c-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:Trirong;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b54277bea1d9a67c-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:Trirong;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8f96214dd21e78af-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:Trirong;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e008a6f808d06cbb-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:Trirong;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/23bbc2928bf80881-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:Trirong;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5c5a982d976cd883-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:Trirong;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/973afa42a7b57d6b-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:Trirong;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46348231aefb4b98-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:Trirong;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5b4d9535f91818cf-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:Trirong Fallback;src:local("Times New Roman");ascent-override:101.77%;descent-override:45.29%;line-gap-override:0.00%;size-adjust:117.91%}.__className_846a83{font-family:Trirong,Trirong Fallback;font-style:normal}.__variable_846a83{--font-display:"Trirong","Trirong Fallback"}@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_d0cd33{font-family:Sarabun,Sarabun Fallback;font-style:normal}.__variable_d0cd33{--font-body:"Sarabun","Sarabun Fallback"}*{box-sizing:border-box}body,html{padding:0;margin:0}:root{--font-display:"Trirong","Playfair Display",Georgia,serif;--font-body:"Sarabun","Noto Sans Thai",system-ui,-apple-system,sans-serif;--ground:#e8d5b5;--ground-deep:#dcc39a;--accent:#c4622d;--accent-deep:#a24d20;--ink:#3a2a18;--ink-soft:#6b4f34;--stone:#ddc7a2;--stone-shadow:#b89a6c;--brass:#b8863b;--brass-light:#e6c47b;--brass-dark:#7d5a24;--surface-a:#ecc98f;--surface-b:#cc9d63}body{font-family:var(--font-body),sans-serif;background:var(--ground);color:var(--ink);line-height:1.6}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}main{max-width:480px;margin:0 auto;min-height:100vh;padding:20px 16px 48px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,var(--sky-from,#bfe0ee) 0,var(--sky-to,var(--ground)) 60%);color:var(--sky-ink,var(--ink));transition:background .7s ease,color .7s ease}header.app-header{text-align:center;padding-top:12px}header.app-header h1{font-family:var(--font-display),serif;font-weight:700;font-size:1.7rem;letter-spacing:.01em;margin:0 0 4px;color:var(--sky-ink,var(--ink));text-wrap:balance;transition:color .7s ease}header.app-header p{margin:0 auto;max-width:26ch;color:var(--sky-ink-soft,var(--ink-soft));font-size:.85rem;text-wrap:pretty;transition:color .7s ease}.nav-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.btn,.nav-buttons{justify-content:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:10px;border:none;background:var(--stone);color:var(--ink);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 4px rgba(58,42,24,.15)}.btn.btn-outline{background:transparent;border:1.5px solid var(--stone-shadow);color:var(--sky-ink-soft,var(--ink-soft));box-shadow:none;transition:color .7s ease}.btn.btn-primary{background:linear-gradient(135deg,#d97a3e,var(--accent-deep));color:#fbeedc}.btn.btn-sm{padding:7px 12px;font-size:.8rem}.btn:disabled{background:var(--stone)}.card{background:linear-gradient(155deg,var(--surface-a),var(--surface-b));border-radius:12px;padding:16px;border:1.5px solid color-mix(in srgb,var(--sky-ink,var(--ink)) 42%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -2px 3px rgba(107,79,52,.25),0 4px 14px color-mix(in srgb,var(--sky-ink,var(--ink)) 32%,transparent);transition:border-color .7s ease,box-shadow .7s ease}.location-picker{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.privacy-note{margin:0 auto;font-size:.78rem;color:var(--ink-soft);max-width:38ch;text-wrap:pretty}.province-select{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--stone-shadow);background:#f5ead2;color:var(--ink);font-size:.95rem}.location-label{font-size:.85rem;color:var(--sky-ink-soft,var(--ink-soft));text-align:center;transition:color .7s ease}.dial-column,.info-column,.sundial-layout{display:flex;flex-direction:column;gap:20px}@media (min-width:1024px){main.home-shell{max-width:1040px}.sundial-layout{display:grid;grid-template-columns:minmax(380px,460px) 1fr;align-items:start;grid-gap:48px;gap:48px}.dial-column .dial-svg{max-width:420px}.info-column{padding-top:32px}}.dial-wrap{display:flex;justify-content:center;padding:22px 16px 14px;border-radius:22px;background:linear-gradient(155deg,var(--surface-a),var(--surface-b));border:1.5px solid color-mix(in srgb,var(--sky-ink,var(--ink)) 42%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -3px 6px rgba(107,79,52,.2),0 8px 22px color-mix(in srgb,var(--sky-ink,var(--ink)) 32%,transparent);transition:border-color .7s ease,box-shadow .7s ease}.dial-svg{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 6px 10px rgba(58,42,24,.3))}.dial-face{stroke:var(--stone-shadow);stroke-width:1.2}.dial-ring{fill:none;stroke:#8a6a3f;stroke-width:.35;opacity:.45}.dial-hour-line{stroke:#8a6a3f;stroke-width:.6;opacity:.7}.dial-hour-label{font-family:var(--font-display),serif;fill:var(--ink);font-size:6px;font-weight:600;text-anchor:middle}.dial-hour-label-shadow{fill:#fff3de;opacity:.55}.dial-compass-label{font-family:var(--font-display),serif;fill:var(--accent-deep);font-size:7px;font-weight:700;text-anchor:middle}.dial-shadow{stroke:var(--accent-deep);stroke-width:1.8;stroke-linecap:round}.dial-shadow-soft{stroke:var(--accent);stroke-width:5;opacity:.35}.dial-night-label{font-family:var(--font-body),sans-serif;fill:#f5ead2;font-size:8px;text-anchor:middle}.readout{display:flex;flex-direction:column;gap:4px;text-align:center}.readout-row{display:flex;justify-content:center;gap:18px;font-size:1.05rem}.readout-row .val{font-family:var(--font-display),serif;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-deep)}.readout-explain{margin:8px auto 0;padding-top:8px;max-width:42ch;border-top:1px solid var(--stone-shadow);font-size:.78rem;font-style:italic;color:var(--sky-ink-soft,var(--ink-soft));text-wrap:pretty;transition:color .7s ease}.night-banner{text-align:center;padding:10px;border-radius:10px;background:#241d3d;border:1px solid #3a2f5c;color:#cabdea;font-size:.9rem}.time-slider{display:flex;flex-direction:column;gap:10px}.time-slider input[type=range]{width:100%;height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.time-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:5px;background:linear-gradient(180deg,var(--brass-light),var(--brass),var(--brass-dark));box-shadow:inset 0 1px 2px rgba(40,26,6,.5)}.time-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-7px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brass-light),var(--brass) 60%,var(--brass-dark));border:1px solid var(--brass-dark);box-shadow:0 2px 4px rgba(40,26,6,.5)}.time-slider input[type=range]::-moz-range-track{height:8px;border-radius:5px;background:linear-gradient(180deg,var(--brass-light),var(--brass),var(--brass-dark));box-shadow:inset 0 1px 2px rgba(40,26,6,.5)}.time-slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--brass-light),var(--brass) 60%,var(--brass-dark));border:1px solid var(--brass-dark);box-shadow:0 2px 4px rgba(40,26,6,.5)}.time-slider-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--sky-ink-soft,var(--ink-soft));transition:color .7s ease}.today-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center}.today-grid .label{font-size:.75rem;color:var(--ink-soft);margin:0 0 4px}.today-grid .value{font-family:var(--font-display),serif;font-size:1.05rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.method-content{max-width:66ch;margin:0 auto}.method-content h2{font-family:var(--font-display),serif;font-size:1.1rem;margin-top:28px;color:var(--ink);text-wrap:balance}.method-content p{text-wrap:pretty}.method-content code,.method-content pre{background:var(--stone);border-radius:8px;padding:2px 6px;font-size:.85em}.method-content pre{padding:12px;overflow-x:auto}.method-content ul{padding-left:20px}footer.app-footer{text-align:center;padding:24px 16px 8px;font-size:.78rem;color:var(--sky-ink-soft,var(--ink-soft));transition:color .7s ease}footer.app-footer p{margin:0 auto;max-width:52ch;text-wrap:pretty}.print-toolbar{gap:8px;flex-wrap:wrap}.print-sheet-wrap,.print-toolbar{display:flex;justify-content:center}.print-sheet-wrap{background:#fff;border-radius:12px;padding:8px}.print-sheet-svg{width:100%;max-width:500px;height:auto}@media print{.print-toolbar,footer.app-footer,header.app-header{display:none!important}body,main{background:#fff}main{max-width:none;padding:0}.print-sheet-wrap{padding:0;border-radius:0}.print-sheet-svg{max-width:none}@page{size:A4 portrait;margin:8mm}}