@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2) format("woff2-variations");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-serif-thai-thai-wght-normal-Bq0aX7wK.woff2) format("woff2-variations");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}:root{--sky: #e9eef6;--sea: #d6e0ee;--land: #b9c5b0;--land-edge: #f4f7fb;--void: #cfd6df;--ink: #1b2440;--ink-soft: #55607d;--halo: #b8861c;--halo-soft: #f3e3b8;--card: #f8fafd;--line: #c9d2e1;--g: #2f7a49;--y: #9a7410;--o: #b85a1f;--r: #b03a32;--halo-text: #8a6410;--verdict-ink: #fff;--heaven: rgba(255, 220, 140, .55);--cloud: rgba(255, 255, 255, .8);--light: #e2a93a;--display: "Instrument Serif", "Noto Serif Thai", "Iowan Old Style", Georgia, serif;--body: "Figtree", "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", "Noto Sans Thai", ui-monospace, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sky: #0f1626;--sea: #16213a;--land: #3d4f48;--land-edge: #0f1626;--void: #2a3142;--ink: #e8ecf5;--ink-soft: #9aa6c2;--halo: #e2b350;--halo-soft: #3a3020;--card: #18223a;--line: #2b3755;--g: #5cb779;--y: #e0b440;--o: #e48a4a;--r: #e06a5f;--heaven: rgba(226, 179, 80, .24);--cloud: rgba(180, 200, 240, .13);--light: #ffd98a;--halo-text: #e2b350;--verdict-ink: #0f1626;color-scheme:dark}}:root[data-theme=dark]{--sky: #0f1626;--sea: #16213a;--land: #3d4f48;--land-edge: #0f1626;--void: #2a3142;--ink: #e8ecf5;--ink-soft: #9aa6c2;--halo: #e2b350;--halo-soft: #3a3020;--card: #18223a;--line: #2b3755;--g: #5cb779;--y: #e0b440;--o: #e48a4a;--r: #e06a5f;--heaven: rgba(226, 179, 80, .24);--cloud: rgba(180, 200, 240, .13);--light: #ffd98a;--halo-text: #e2b350;--verdict-ink: #0f1626;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--sky);color:var(--ink);font-family:var(--body);font-size:15px;overflow:hidden;-webkit-text-size-adjust:100%}.app{height:100%;display:grid;grid-template-rows:auto auto 1fr auto;max-width:720px;margin:0 auto;position:relative}.pad{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:max(10px,env(safe-area-inset-top,0px)) 4px}.brandwrap{display:flex;align-items:center;gap:8px;min-width:0}.logo{height:29px;width:auto;flex:none}.docpage .brand{display:inline-flex;align-items:center;gap:8px}.brand{font-family:var(--display);font-size:22px;letter-spacing:.01em;white-space:nowrap}.brand em{color:var(--halo-text);font-style:italic}.meta{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.dots{display:flex;gap:5px}.dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line)}.dot.now{border-color:var(--halo);background:var(--halo-soft)}.dot.g{background:var(--g);border-color:var(--g)}.dot.y{background:var(--y);border-color:var(--y)}.dot.o{background:var(--o);border-color:var(--o)}.dot.r{background:var(--r);border-color:var(--r)}.lang{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font:600 12px var(--body);cursor:pointer;text-decoration:none}.lang:focus-visible,.btn:focus-visible,.zoom button:focus-visible{outline:2px solid var(--halo);outline-offset:2px}.prayer{padding-block:6px 10px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.wish{font-family:var(--display);font-weight:400;font-size:clamp(25px,6.6vw,34px);line-height:1.12;margin:4px 0 2px;text-wrap:balance}.hint{color:var(--ink-soft);font-size:13.5px}.stage{position:relative;min-height:0;overflow:hidden;background:var(--sea);touch-action:none;border-block:1px solid var(--line)}svg#map{width:100%;height:100%;display:block;cursor:grab}svg#map:active{cursor:grabbing}.c{fill:var(--land);stroke:var(--land-edge);stroke-width:.5;vector-effect:non-scaling-stroke;transition:fill .15s}.bgc{fill:var(--void);stroke:var(--land-edge);stroke-width:.5;vector-effect:non-scaling-stroke}.c.sel{fill:var(--halo)}.c.best{fill:var(--g)}.c.mine{fill:var(--halo);stroke:var(--ink);stroke-width:1.2}.c.blessing{animation:blessed 1.4s ease}@keyframes blessed{25%{fill:#fff3cf}}.zoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px}.zoom button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:20px;line-height:1;cursor:pointer}.toast{position:absolute;left:50%;top:10px;transform:translate(-50%);background:var(--ink);color:var(--sky);font-size:13px;padding:7px 12px;border-radius:999px;max-width:92%;text-align:center}.toast[hidden]{display:none}.clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(70% 45% at 50% -12%,var(--heaven),transparent 70%),radial-gradient(45% 35% at -5% 105%,var(--cloud),transparent 70%),radial-gradient(45% 35% at 105% 105%,var(--cloud),transparent 70%)}.clouds:before{content:"";position:absolute;inset:-10% -45%;opacity:.7;background:radial-gradient(14% 9% at 18% 22%,var(--cloud),transparent 70%),radial-gradient(18% 8% at 62% 12%,var(--cloud),transparent 70%),radial-gradient(12% 7% at 40% 88%,var(--cloud),transparent 70%),radial-gradient(16% 8% at 85% 70%,var(--cloud),transparent 70%);animation:drift 70s linear infinite alternate}@keyframes drift{to{transform:translate(20%)}}.plight{fill:var(--light)}.beam{animation:fadeIn .4s ease-out}.glow{transform-box:fill-box;transform-origin:center;animation:pulse 1.8s ease-in-out infinite}.ring{fill:none;stroke:var(--light);stroke-width:1.5;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:ring 1.8s ease-out infinite}@keyframes fadeIn{0%{opacity:0}}@keyframes pulse{50%{transform:scale(1.3);opacity:.75}}@keyframes ring{0%{transform:scale(.6);opacity:1}to{transform:scale(4);opacity:0}}.ring.once{animation:ring 1s ease-out both;stroke-width:2.5}.flash{transform-box:fill-box;transform-origin:center;animation:flash 1.1s ease-out forwards}.trail{transform-box:fill-box;transform-origin:top}@keyframes flash{0%{transform:scale(.3);opacity:1}to{transform:scale(1.6);opacity:0}}.born{position:absolute;left:50%;top:18%;max-width:88%;text-align:center;transform:translate(-50%);font-family:var(--display);font-size:26px;line-height:1.25;color:var(--ink);text-shadow:0 0 14px var(--heaven),0 0 28px var(--heaven);pointer-events:none;animation:born 2.1s ease both}html[lang=th] .born{font-size:21px;font-weight:700}@keyframes born{0%{opacity:0;transform:translate(-50%,10px)}20%,78%{opacity:1;transform:translate(-50%)}to{opacity:0}}.wish.rise{animation:wishIn .9s ease-out}@keyframes wishIn{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}}.lab{fill:var(--ink);font-family:var(--body);font-weight:600;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--land-edge);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.lab.pin{font-weight:700}.bar{display:flex;align-items:center;gap:10px;padding-block:10px max(10px,env(safe-area-inset-bottom,0px))}.chosen{flex:1;min-width:0;font-size:14px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chosen b{color:var(--ink);font-weight:600}.btn{appearance:none;border:0;border-radius:12px;padding:13px 18px;font:600 15px var(--body);cursor:pointer;background:var(--halo);color:#1b1608;white-space:nowrap}.btn:disabled{opacity:.4;cursor:default}.bar[hidden],.bar>[hidden]{display:none}.bless{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.bless .fill{position:absolute;inset:0;background:#fff3cf;opacity:.6;transform:scaleX(0);transform-origin:left}.bless.charging .fill{transform:scaleX(1);transition:transform .65s linear}.bless.charging{opacity:1}.bless .lbl{position:relative}.bless:not(:disabled){animation:call 1.8s ease-out infinite}@keyframes call{0%{box-shadow:0 0 0 0 var(--heaven)}70%,to{box-shadow:0 0 0 12px transparent}}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -8px 30px #0000001f;padding-block:14px max(14px,env(safe-area-inset-bottom,0px));display:grid;gap:10px;max-height:94%;overflow-y:auto;z-index:5;animation:rise .25s ease-out}.sheet[hidden],.end[hidden]{display:none}.sheet:focus{outline:none}.score-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pts{font-family:var(--display);font-size:44px;line-height:1}.pts small{font-family:var(--mono);font-size:13px;color:var(--ink-soft)}.verdict{font-family:var(--mono);font-size:12px;padding:4px 9px;border-radius:999px;color:var(--verdict-ink)}.srt{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.mapbtn{appearance:none;border:1px solid var(--line);background:var(--sky);color:var(--ink);border-radius:999px;padding:6px 12px;font:600 13px var(--body);cursor:pointer}.you-line{display:grid;gap:3px}.life{font-family:var(--display);font-style:italic;font-size:19px;line-height:1.3}.you-line .life{font-size:17px}html[lang=th] .life{font-style:normal;font-size:17px}.src{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.sheet.min{max-height:none}.sheet.min>:not(.score-row):not(.nextwrap){display:none}.nextwrap{position:sticky;bottom:calc(-1*max(14px,env(safe-area-inset-bottom,0px)));background:var(--card);padding-block:8px max(4px,env(safe-area-inset-bottom,0px));margin-bottom:calc(-1*max(14px,env(safe-area-inset-bottom,0px)))}.nextwrap .btn{width:100%}@keyframes rise{0%{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}.thead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.thead b{font-family:var(--display);font-size:21px;font-weight:400}html[lang=th] .thead b{font-size:18px;font-weight:700}.thead span{font-size:12.5px;color:var(--ink-soft)}.answers{display:grid;gap:7px}.arow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ans{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--sky);color:var(--ink);text-decoration:none;min-width:0;transition:transform .15s,box-shadow .15s}.ans:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.ans:focus-visible,.place:focus-visible{outline:2px solid var(--halo);outline-offset:2px}.ans.you{border:2px solid var(--halo)}.aart{position:relative;height:58px}.aart svg,.art svg{width:100%;height:100%;display:block}.medal{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--g);color:#fff;font:600 11px var(--mono)}.aart .medal{position:absolute;left:6px;top:6px;box-shadow:0 0 0 2px #fffc}.youtag{position:absolute;right:6px;top:6px;font:600 10px var(--body);background:var(--halo);color:#1b1608;padding:2px 6px;border-radius:999px}.abody{display:grid;gap:2px;padding:7px 8px 8px;align-content:start;min-width:0}.acty{font-weight:700;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aval{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 6px;font:500 11.5px var(--mono);font-variant-numeric:tabular-nums}.apts{color:var(--ink-soft)}.apl{font-size:12px;line-height:1.25;color:var(--ink-soft);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.acta{font-size:12.5px;font-weight:700;color:var(--halo-text);margin-top:3px}.blessed{display:grid;gap:8px}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.place{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--sky);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}.place:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.art{position:relative;aspect-ratio:16 / 10;max-width:100%}.rk{position:absolute;left:8px;top:8px;font:500 10.5px var(--mono);background:#0f1626b8;color:#f4f7fb;padding:3px 7px;border-radius:999px}.pbody{display:grid;gap:3px;padding:9px 10px 10px;align-content:start}.pname{font-weight:700;font-size:14.5px;line-height:1.2}.pcty{font-size:12px;color:var(--ink-soft)}.phook{font-size:12.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pcta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-top:6px;font-size:13px;font-weight:600;color:var(--halo-text)}.plab{font:400 10px var(--mono);color:var(--ink-soft)}.card-img{width:100%;max-width:360px;height:auto;border-radius:14px;border:1px solid var(--line);display:block}pre.share{font-family:var(--mono);font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;white-space:pre-wrap;margin:0;user-select:all}.row{display:flex;gap:10px;flex-wrap:wrap}a.btn{text-decoration:none;display:inline-block}.btn[hidden]{display:none}.end{position:absolute;inset:0;background:radial-gradient(120% 45% at 50% -5%,var(--heaven),transparent 65%),var(--sky);z-index:8;overflow-y:auto;padding-block:22px max(22px,env(safe-area-inset-bottom,0px));display:grid;align-content:start;gap:16px}.end h2{font-family:var(--display);font-weight:400;font-size:40px;line-height:1;margin:0}.end h2 em{color:var(--halo-text);text-shadow:0 0 22px var(--heaven)}html[lang=th] .end h2{font-size:32px;line-height:1.3}.total{font-family:var(--display);font-size:64px;line-height:1}.total small{font-family:var(--mono);font-size:15px;color:var(--ink-soft)}.grid5{font-size:26px;letter-spacing:2px}.recap{display:grid;gap:8px}.recap div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:baseline;font-size:14px}.recap .w{min-width:0;color:var(--ink-soft)}.recap .w b{color:var(--ink);font-weight:600}.recap .p{font-family:var(--mono);font-variant-numeric:tabular-nums}.about{font-size:12.5px;color:var(--ink-soft);line-height:1.5;max-width:62ch;margin:0}html[lang=th] .wish{line-height:1.35;font-size:clamp(22px,5.8vw,30px);font-weight:500}html[lang=th] em{font-style:normal}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body.docbody{overflow:auto}.docpage{min-height:100%;max-width:720px;margin:0 auto}.docpage header{display:flex;align-items:center;justify-content:space-between}.docpage .brand{color:var(--ink);text-decoration:none}.doc{padding-block:12px 40px;line-height:1.6;max-width:62ch}.doc h1{font:400 36px/1.15 var(--display);margin:8px 0 12px}.doc h2{font:400 24px/1.2 var(--display);margin:28px 0 8px}html[lang=th] .doc h1{font-size:30px;line-height:1.35;font-weight:600}html[lang=th] .doc h2{font-size:20px;line-height:1.4;font-weight:700}.doc .lead{font-size:17px;color:var(--ink)}.doc ul{padding-left:20px;display:grid;gap:8px}.doc a{color:var(--halo-text)}.doc a.btn{color:#1b1608;text-decoration:none;display:inline-block}.doc a.btn.ghost{color:var(--ink)}.doc.nf{text-align:center;padding-top:18vh;margin-inline:auto}.doc.wide{max-width:720px}.keyform{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.keyform input{flex:1;min-width:160px;font:16px var(--body);padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink)}.pday{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:10px 12px;margin:10px 0;display:grid;gap:6px}.pday h3{margin:0;font:600 14px var(--mono);display:flex;justify-content:space-between;gap:8px}.pday .pr{font-size:14px;line-height:1.4}.pday .pr small{display:block;color:var(--ink-soft);font:12px var(--mono)}.pday .flag{color:var(--r);font:600 12px var(--mono)}.pday.ok h3{color:var(--g)}.summary{font:13px var(--mono);color:var(--ink-soft);display:grid;gap:2px;margin:8px 0 16px}
