@charset "UTF-8";html{color-scheme:light;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #42008a);--mat-sys-on-tertiary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#7d00fa, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem "Noto Sans Thai", sans-serif;--mat-sys-body-large-font: "Noto Sans Thai", sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem "Noto Sans Thai", sans-serif;--mat-sys-body-medium-font: "Noto Sans Thai", sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem "Noto Sans Thai", sans-serif;--mat-sys-body-small-font: "Noto Sans Thai", sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-large-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-medium-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-small-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-large-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-medium-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-small-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem "Noto Sans Thai", sans-serif;--mat-sys-label-large-font: "Noto Sans Thai", sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem "Noto Sans Thai", sans-serif;--mat-sys-label-medium-font: "Noto Sans Thai", sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem "Noto Sans Thai", sans-serif;--mat-sys-label-small-font: "Noto Sans Thai", sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem "Mali", "Noto Sans Thai", sans-serif;--mat-sys-title-large-font: "Mali", "Noto Sans Thai", sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem "Noto Sans Thai", sans-serif;--mat-sys-title-medium-font: "Noto Sans Thai", sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem "Noto Sans Thai", sans-serif;--mat-sys-title-small-font: "Noto Sans Thai", sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html.dark{color-scheme:dark}:root{--bg: #fbf3e6;--bg-soft: #f4e9d8;--surface: #fbfaf4;--surface-raised: #ffffff;--ink: #3a3363;--text: #3a3363;--text-muted: #837ca6;--border: #e9e1d2;--accent: #7f77dd;--accent-2: #b8aeea;--accent-soft: #e6e2f8;--accent-fg: #ffffff;--peach: #f0997b;--peach-soft: #fbe6dc;--mint: #5dcaa5;--mint-soft: #ddefea;--rose: #ed93b1;--rose-soft: #fae3eb;--yellow: #fac775;--yellow-soft: #fceed3;--sky: #b8aeea;--sky-soft: #e6e2f8;--shadow-flat: #e6dfc9;--line-w: 3px;--shadow-ambient: 4px 5px 0 var(--shadow-flat);--shadow-direct: 6px 8px 0 var(--shadow-flat);--radius: 24px;--radius-sm: 14px;--radius-sketch: 255px 22px 225px 22px / 22px 225px 22px 255px;--radius-sketch-sm: 160px 14px 140px 14px / 14px 140px 14px 160px;--font-display: "Mali", "Noto Sans Thai", sans-serif;--font-body: "Anuphan", "Noto Sans Thai", sans-serif}html.dark{--bg: #241f33;--bg-soft: #2b2540;--surface: #2e2843;--surface-raised: #37304f;--ink: #b8aeea;--text: #edeaf8;--text-muted: #a79fcb;--border: #3d3560;--accent: #9c93e8;--accent-2: #7f77dd;--accent-soft: #3d3560;--accent-fg: #241f33;--peach: #d98263;--peach-soft: #46342c;--mint: #4daf8d;--mint-soft: #2e4a3f;--rose: #cf7d9b;--rose-soft: #45303c;--yellow: #d9ab5f;--yellow-soft: #46402a;--sky: #6f66b8;--sky-soft: #363058;--shadow-flat: rgba(0, 0, 0, .35);--shadow-ambient: 4px 5px 0 var(--shadow-flat);--shadow-direct: 6px 8px 0 var(--shadow-flat)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px 320px at 12% 8%,var(--accent-soft) 0%,transparent 70%),radial-gradient(360px 280px at 88% 18%,var(--peach-soft) 0%,transparent 70%),radial-gradient(480px 360px at 50% 100%,var(--sky-soft) 0%,transparent 72%);opacity:.75}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.25;margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--accent)}button{font-family:var(--font-body)}.page{max-width:640px;margin:0 auto;padding:24px 20px 96px}.page-title{font-size:28px;text-align:center;margin-bottom:4px}.page-subtitle{text-align:center;color:var(--text-muted);margin-bottom:28px}.card{background:var(--surface);border:var(--line-w) solid var(--ink);border-radius:var(--radius-sketch);box-shadow:var(--shadow-ambient);padding:24px}.rough-host{position:relative;border-color:transparent!important}.tilt-l{transform:rotate(-.6deg)}.tilt-r{transform:rotate(.5deg)}.wavy{text-decoration:underline wavy var(--accent);text-decoration-thickness:2px;text-underline-offset:8px}.note{display:inline-block;font-family:var(--font-display);font-size:13px;color:var(--text-muted);transform:rotate(-2deg)}.tape{display:inline-block;font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--ink);background:var(--yellow);border-left:2px dashed color-mix(in srgb,var(--ink) 45%,transparent);border-right:2px dashed color-mix(in srgb,var(--ink) 45%,transparent);padding:3px 12px;transform:rotate(-3deg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-sketch-sm);padding:14px 28px;font-size:16px;font-weight:600;font-family:var(--font-body);cursor:pointer;min-height:48px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.98)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn-primary{background:var(--accent);color:var(--accent-fg);border:var(--line-w) solid var(--ink);font-weight:700;box-shadow:var(--shadow-ambient)}.btn-primary:hover{box-shadow:var(--shadow-direct)}.btn-soft{background:var(--accent-soft);color:var(--text);border:var(--line-w) solid var(--ink);box-shadow:var(--shadow-ambient)}.btn-ghost{background:transparent;color:var(--text-muted);border:var(--line-w) dashed var(--ink)}@keyframes lba-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes lba-pop-in{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes lba-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pop-in{animation:lba-pop-in .35s cubic-bezier(.34,1.56,.64,1) both}.fade-up{animation:lba-fade-up .4s cubic-bezier(.4,0,.2,1) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
