@font-face{font-family:Golos Text;src:url(/fonts/GolosText-Variable.ttf)format("truetype");font-weight:400 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlexSansThai-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlexSansThai-SemiBold.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(/fonts/IBMPlexSansThai-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--night-deep:#10163a;--night:#1b2350;--dusk:#46579e;--dawn:#f3a97c;--dawn-soft:#f8cfae;--day:#e9eef5;--paper:#f9f8f4;--ink:#16213f;--ink-soft:#4c5877;--stamp:#c23b31;--line:#16213f2e;--moon:#f4f5fb;--moon-soft:#c7cfeb;--font-sans:"Golos Text", "IBM Plex Sans Thai", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "IBM Plex Sans Thai", ui-monospace, monospace;--radius:14px;--shadow:0 14px 34px #10163a2e}*{box-sizing:border-box}body{background:var(--day);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}:lang(th){letter-spacing:0;line-height:1.75}h1,h2,h3,h4,p,ul,ol,dl,blockquote,figure{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--stamp);outline-offset:3px;border-radius:2px}.sky-air :focus-visible,.sky-night :focus-visible,.top :focus-visible{outline-color:var(--dawn-soft)}.top{background:var(--night-deep);color:var(--moon);flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:1.05rem clamp(1.25rem,5vw,3rem);display:flex}.wordmark{letter-spacing:.09em;font-size:1.06rem;font-weight:800}.wordmark-dot{color:var(--dawn)}.dev-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dawn-soft);white-space:nowrap;border:1px solid #f8cfae73;border-radius:999px;padding:.18rem .6rem;font-size:.68rem}.lang-switcher{align-items:center;gap:.35rem;margin-left:auto;display:flex}.lang-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--moon-soft);margin-right:.25rem;font-size:.68rem}.lang-btn{font-family:var(--font-sans);color:var(--moon);cursor:pointer;background:0 0;border:1px solid #f4f5fb4d;border-radius:999px;padding:.28rem .75rem;font-size:.82rem}.lang-btn:hover{border-color:#f4f5fbbf}.lang-btn[aria-pressed=true]{background:var(--paper);border-color:var(--paper);color:var(--night-deep);font-weight:600}.login-link{font-family:var(--font-sans);color:var(--night-deep);background:var(--dawn);border:1px solid var(--dawn);white-space:nowrap;border-radius:999px;padding:.28rem .8rem;font-size:.82rem;font-weight:600;text-decoration:none}.login-link:hover{background:var(--dawn-soft);border-color:var(--dawn-soft)}.chapter-inner{max-width:72.5rem;margin:0 auto;padding:clamp(3.2rem,8vw,5.6rem) clamp(1.25rem,5vw,3rem)}.sky-air{background:linear-gradient(180deg, var(--night-deep) 0%, var(--night) 34%, var(--dusk) 76%, var(--dawn) 96%, var(--dawn-soft) 100%);color:var(--moon)}.sky-morning{background:linear-gradient(180deg, var(--dawn-soft) 0%, #f0f0f2 22%, var(--day) 100%)}.sky-day{background:linear-gradient(180deg, var(--day) 0%, #f3f5f8 60%, #eef0f4 100%)}.sky-late{background:linear-gradient(#eef0f4 0%,#e6e4ef 55%,#d9d8ea 100%)}.sky-night{background:linear-gradient(180deg, #343f74 0%, var(--night) 38%, var(--night-deep) 100%);color:var(--moon)}.chapter-title{letter-spacing:-.015em;max-width:34ch;font-size:clamp(1.65rem,3.2vw,2.45rem);font-weight:750;line-height:1.12}.chapter-title:lang(th){letter-spacing:0;line-height:1.3}.chapter-lead{max-width:62ch;color:var(--ink-soft);margin-top:1rem;font-size:1.06rem}.sky-night .chapter-lead{color:var(--moon-soft)}.leg-strip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--stamp);align-items:center;gap:.9rem;margin-bottom:1.6rem;font-size:.72rem;font-weight:500;display:flex}.leg-perf{opacity:.55;background-image:radial-gradient(1.4px,currentColor 1.3px,#0000 1.5px);background-position:50%;background-repeat:repeat-x;background-size:9px 3px;flex:1;height:3px}.leg-when{letter-spacing:.1em}.sky-air .leg-strip,.sky-night .leg-strip{color:var(--dawn-soft)}.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero-seat{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--moon-soft);margin-bottom:.7rem;font-size:.78rem}.hero-title{letter-spacing:-.02em;max-width:18ch;font-size:clamp(2.05rem,4.6vw,3.35rem);font-weight:820;line-height:1.06}.hero-title:lang(th){letter-spacing:0;line-height:1.28}.hero-lead{color:#dfe3f6;max-width:54ch;margin-top:1.25rem;font-size:1.04rem}.pillars{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.pillar{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--moon);border:1px solid #f4f5fb59;border-radius:999px;padding:.32rem .8rem;font-size:.72rem}.pillar:lang(th){font-family:var(--font-sans);letter-spacing:.02em;font-size:.85rem}.tdac{flex-direction:column;justify-self:end;gap:.9rem;width:100%;max-width:27.5rem;display:flex}.tdac-sources{gap:.6rem;display:flex}.src-chip{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f9f8f41f;border:1px solid #f9f8f447;border-radius:10px;flex:1;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.5rem .7rem;display:grid}.src-code{font-family:var(--font-mono);letter-spacing:.08em;color:var(--dawn-soft);border:1.5px dashed #f8cfae99;border-radius:8px;grid-row:1/3;padding:.34rem .42rem;font-size:.8rem;font-weight:600}.src-name{color:var(--moon);font-size:.82rem;font-weight:600;line-height:1.3}.src-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--moon-soft);font-size:.62rem;line-height:1.4}.tdac-card{filter:drop-shadow(0 18px 30px #090d246b);flex-direction:column;display:flex}.tdac-head{background:var(--paper);color:var(--ink);border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1.1rem .65rem;display:flex}.tdac-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:600}.tdac-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--stamp);border:1.5px solid;border-radius:4px;padding:.14rem .4rem;font-size:.64rem;transform:rotate(-2deg)}.tdac-fields{background:var(--paper);color:var(--ink);border-radius:0 0 var(--radius) var(--radius);border-bottom:2px dashed #16213f59;padding:.4rem 1.1rem .9rem}.tdac-field{grid-template-columns:1fr auto;align-items:baseline;padding:.5rem 0 .45rem;display:grid}.tdac-field+.tdac-field{border-top:1px dotted var(--line)}.tdac-field dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);grid-column:1;font-size:.62rem}.tdac-field dd{font-family:var(--font-mono);letter-spacing:.03em;grid-column:1;margin:.1rem 0 0;font-size:.95rem;font-weight:600}.tdac-field .tdac-src{font-family:var(--font-mono);letter-spacing:.06em;color:var(--dusk);white-space:nowrap;border:1px solid #46579e66;border-radius:999px;grid-area:1/2/3;align-self:center;padding:.12rem .5rem;font-size:.6rem;font-weight:400}.tdac-tear{height:.55rem}.tdac-question{background:var(--paper);color:var(--ink);transform-origin:20% 0;border-top:2px dashed #16213f59;border-radius:12px;padding:.7rem 1.1rem .85rem;transform:rotate(-1.4deg)}.q-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--stamp);font-size:.6rem}.q-label{margin-top:.3rem;font-size:1.02rem;font-weight:700;line-height:1.3}.q-answer{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.45rem;padding-bottom:.2rem;font-size:.88rem;overflow:hidden}.tdac-caption{color:#dfe3f6;max-width:46ch;font-size:.8rem;line-height:1.55}.src-chip,.tdac-field,.tdac-question{--i:0}.src-chip,.tdac-field dd,.tdac-question{animation:.55s cubic-bezier(.22,.8,.36,1) both compose;animation-delay:calc(.4s + var(--i) * .34s)}.q-answer{animation:1.1s steps(24,end) 2.78s both typein;position:relative}.q-answer:after{content:"";vertical-align:text-bottom;background:var(--stamp);width:2px;height:1em;margin-left:2px;animation:1.1s step-end infinite caret;display:inline-block}@keyframes compose{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.tdac-question{animation-name:compose-stub}@keyframes compose-stub{0%{opacity:0;transform:translateY(9px)rotate(-1.4deg)}to{opacity:1;transform:translateY(0)rotate(-1.4deg)}}@keyframes typein{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes caret{50%{opacity:0}}.reminders{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.2rem;display:grid}.reminder{background:var(--paper);border-radius:var(--radius);border:1px solid #16213f0f;padding:1.1rem 1.2rem 1.25rem;box-shadow:0 8px 22px #10163a14}.reminder-top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.reminder-code{font-family:var(--font-mono);letter-spacing:.1em;color:var(--dusk);border:1.5px dashed #46579e80;border-radius:8px;padding:.22rem .5rem;font-size:.78rem;font-weight:600}.reminder-due{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--stamp);font-size:.68rem;font-weight:600}.reminder-due:lang(th){font-family:var(--font-sans);letter-spacing:.02em;font-size:.8rem}.reminder-name{margin-top:.85rem;font-size:1.08rem;font-weight:750;line-height:1.25}.reminder-brief{color:var(--ink-soft);margin-top:.45rem;font-size:.9rem}.principle{border-left:3px solid var(--stamp);max-width:56ch;margin-top:2.2rem;padding-left:1.1rem;font-size:1.12rem;font-weight:600;line-height:1.5}.free-note{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);margin-top:1rem;font-size:.74rem}.free-note:lang(th){font-family:var(--font-sans);letter-spacing:0;font-size:.86rem}.paper-grid{grid-template-columns:minmax(0,.9fr) minmax(0,2fr);align-items:start;gap:clamp(1.4rem,3vw,2.4rem);margin-top:2.2rem;display:grid}.envelope{background:var(--paper);border-radius:var(--radius);padding:1.3rem 1.4rem 1.4rem 1.65rem;position:relative;overflow:hidden;box-shadow:0 8px 22px #10163a14}.envelope:before{content:"";background:repeating-linear-gradient(-45deg, var(--stamp) 0 9px, var(--paper) 9px 18px, var(--dusk) 18px 27px, var(--paper) 27px 36px);width:8px;position:absolute;inset:0 auto 0 0}.envelope-title{font-size:1.2rem;font-weight:750}.envelope-body{color:var(--ink-soft);margin-top:.6rem;font-size:.92rem}.envelope-items{gap:.45rem;margin-top:1rem;display:grid}.envelope-items li{padding-left:1.4rem;font-size:.92rem;font-weight:600;position:relative}.envelope-items li:before{content:"";border:2px solid var(--stamp);border-radius:3px;width:.62em;height:.62em;position:absolute;top:.42em;left:0}.ladder-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:.78rem;font-weight:600}.ladder-title:lang(th){font-family:var(--font-sans);letter-spacing:.02em;font-size:.95rem}.ladder{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;margin-top:.9rem;display:grid}.rung{background:var(--paper);border-radius:var(--radius);border:1px solid #16213f0f;flex-direction:column;padding:1.05rem 1.1rem 0;display:flex;box-shadow:0 8px 22px #10163a14}.rung-0{margin-top:3.4rem}.rung-1{margin-top:1.7rem}.rung-top{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.rung-code{font-family:var(--font-mono);letter-spacing:.1em;color:var(--paper);background:var(--night);border-radius:8px;padding:.24rem .55rem;font-size:.8rem;font-weight:600}.rung-2 .rung-code{background:var(--stamp)}.rung-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.64rem}.rung-tag:lang(th){font-family:var(--font-sans);letter-spacing:.02em;font-size:.78rem}.rung-name{margin-top:.8rem;font-size:1.14rem;font-weight:750;line-height:1.2}.rung-who{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--dusk);margin-top:.75rem;font-size:.6rem;font-weight:600}.rung-who:lang(th){font-family:var(--font-sans);letter-spacing:.04em;font-size:.74rem}.rung-we{flex:1;gap:.3rem;margin-top:.3rem;display:grid}.rung-we li{color:var(--ink-soft);padding-left:1.05rem;font-size:.88rem;position:relative}.rung-we li:before{content:"";background:var(--dusk);opacity:.55;border-radius:50%;width:.45em;height:.45em;position:absolute;top:.56em;left:0}.rung-stub{border-radius:0 0 var(--radius) var(--radius);background:#46579e12;border-top:2px dashed #16213f4d;margin:.9rem -1.1rem 0;padding:.6rem 1.1rem .9rem}.rung-stub .rung-who{color:var(--stamp);margin-top:0}.rung-you{margin-top:.15rem;font-size:.95rem;font-weight:700}.ladder-note{color:var(--ink-soft);max-width:60ch;margin-top:1.1rem;font-size:.85rem}.ticket{background:var(--paper);border-radius:var(--radius);margin-top:2.2rem;display:flex;overflow:hidden;box-shadow:0 8px 22px #10163a1a}.ticket-label{writing-mode:vertical-rl;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--paper);background:var(--night);text-align:center;padding:.9rem .5rem;font-size:.62rem;font-weight:600;transform:rotate(180deg)}.ticket-label:lang(th){font-family:var(--font-sans);letter-spacing:.06em;font-size:.74rem}.ticket-coupons{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.coupon{padding:1.15rem 1.25rem 1.3rem}.coupon+.coupon{border-left:2px dashed #16213f4d}.coupon-code{font-family:var(--font-mono);letter-spacing:.12em;color:var(--stamp);border:1.5px dashed #c23b318c;border-radius:8px;padding:.2rem .5rem;font-size:.76rem;font-weight:600;display:inline-block}.coupon-name{margin-top:.75rem;font-size:1.1rem;font-weight:750}.coupon-note{color:var(--ink-soft);margin-top:.35rem;font-size:.88rem}.vehicle-closing{max-width:56ch;margin-top:1.6rem;font-size:1.02rem;font-weight:600}.memory{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.2rem;display:grid}.memory-card{background:var(--paper);color:var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem 1.35rem}.memory-card h3{font-size:1.12rem;font-weight:750}.memory-card p{color:var(--ink-soft);margin-top:.5rem;font-size:.92rem}.honest{margin-top:2.6rem}.honest-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--dawn-soft);font-size:.78rem;font-weight:600}.honest-title:lang(th){font-family:var(--font-sans);letter-spacing:.04em;font-size:.95rem}.honest-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.honest-item{background:#f9f8f40d;border:1px solid #f4f5fb38;border-radius:12px;padding:.95rem 1rem 1.05rem}.honest-item h4{color:var(--moon);font-size:.95rem;font-weight:700}.honest-item p{color:var(--moon-soft);margin-top:.4rem;font-size:.84rem;line-height:1.55}.footer{background:var(--night-deep);color:var(--moon-soft);border-top:1px solid #f4f5fb1f;padding:2rem clamp(1.25rem,5vw,3rem) 2.4rem}.footer p:first-child{color:var(--moon);font-weight:600}.footer-note{max-width:72ch;margin-top:.5rem;font-size:.82rem}@media (width<=60rem){.hero{grid-template-columns:minmax(0,1fr)}.tdac{justify-self:stretch;max-width:30rem}.reminders,.ladder,.ticket-coupons{grid-template-columns:minmax(0,1fr)}.rung-0,.rung-1{margin-top:0}.paper-grid,.memory{grid-template-columns:minmax(0,1fr)}.honest-items{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket{flex-direction:column}.ticket-label{writing-mode:horizontal-tb;text-align:left;padding:.5rem 1rem;transform:none}.coupon+.coupon{border-top:2px dashed #16213f4d;border-left:none}}@media (width<=30rem){.honest-items{grid-template-columns:minmax(0,1fr)}.tdac-sources{flex-direction:column}.lang-label{display:none}}@media (prefers-reduced-motion:reduce){.src-chip,.tdac-field dd,.tdac-question,.q-answer,.q-answer:after{animation:none}}
