@font-face{font-family:BubbleShot Pneuma Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PneumaSerifDisplay-Regular.woff2)format("woff2")}@font-face{font-family:BubbleShot Pneuma Serif Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PneumaSerifText-Regular.woff2)format("woff2")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/NotoSansThai-400.woff2)format("woff2")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/NotoSansThai-500.woff2)format("woff2")}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/NotoSansThai-700.woff2)format("woff2")}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/NotoSerifThai-700.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bc-page:#fbf4ec;--bc-card:#fff;--bc-fill:#f3ede4;--bc-border:#e8dfd3;--bc-input-border:#85807c;--bc-ink:#0e2a4d;--bc-ink-deep:#081a30;--bc-ink-hover:#1b3a5e;--bc-text-2:#5a5650;--bc-text-muted:#6e6a64;--bc-text-disabled:#85807c;--bc-gilt-line:#c9a84c8c;--bc-gilt-on-ink:#c9a84c;--bc-gilt-text:#6e4f0a;--bc-signal:#bc4e19;--bc-info-tint:#d6e5f6;--bc-danger-fill:#b3261e;--bc-scrim:#081a3073;--bc-cue:#081a30b8;--bc-line:#06c755;--ivory:var(--bc-page);--pearl:var(--bc-card);--champagne:var(--bc-fill);--sand:var(--bc-border);--taupe:var(--bc-text-muted);--espresso:var(--bc-ink);--cocoa:var(--bc-ink);--gold-mist:var(--bc-gilt-line);--danger:var(--bc-danger-fill);--ok:var(--bc-ink);--scrim:var(--bc-scrim);--bc-s-1:2px;--bc-s-2:4px;--bc-s-3:8px;--bc-s-4:16px;--bc-s-5:24px;--bc-s-6:32px;--bc-s-7:40px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--bc-gutter:18px;--bc-card-pad:16px;--bc-gap-section:18px;--bc-gap-card:12px;--bc-r-card:16px;--bc-r-control:16px;--bc-r-image:12px;--bc-r-hero:24px;--bc-r-sheet:24px;--bc-r-pill:999px;--radius-card:var(--bc-r-card);--radius-pill:var(--bc-r-pill);--bc-control-h:48px;--bc-control-h-sm:36px;--target:48px;--bc-icon-sm:16px;--bc-icon-md:20px;--bc-icon-lg:24px;--bc-shadow-card:0 2px 8px #3a2a1e0d, inset 0 1px 0 #ffffffd9;--bc-shadow-lifted:0 5px 14px #3a2a1e17;--bc-shadow-float:0 10px 22px #2b1c1224;--bc-premium-edge:1px solid var(--bc-gilt-line);--shadow-soft:var(--bc-shadow-card);--bc-dur-fast:.12s;--bc-dur-normal:.2s;--bc-dur-slow:.32s;--bc-dur-progress:.48s;--bc-dur-enter:.42s;--bc-dur-breathe:5.2s;--bc-ease:cubic-bezier(.2, 0, 0, 1);--bc-ease-out:cubic-bezier(.16, 1, .3, 1);--bc-font-display:"BubbleShot Pneuma Serif Display", "Noto Serif Thai", "Noto Sans Thai", Georgia, serif;--bc-font-display-th:"Noto Serif Thai", "BubbleShot Pneuma Serif Display", "Noto Sans Thai", Georgia, serif;--bc-font-ui:"BubbleShot Pneuma Serif Text", "Noto Sans Thai", Georgia, system-ui, serif;--bc-font-ui-th:"Noto Sans Thai", "BubbleShot Pneuma Serif Text", system-ui, sans-serif;--font-display:var(--bc-font-display);--font-ui:var(--bc-font-ui)}@media (min-width:768px){:root{--bc-gutter:24px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bc-page);color:var(--bc-ink);font-family:var(--bc-font-ui);font-variant-numeric:tabular-nums;min-height:100dvh;margin:0;font-size:16px;line-height:1.5}body:lang(th){font-family:var(--bc-font-ui-th);line-break:strict;line-height:1.65}h1,h2,h3{font-family:var(--bc-font-display);color:var(--bc-ink);margin:0 0 var(--space-3);text-wrap:balance;font-weight:400;line-height:1.25}h1:lang(th),h2:lang(th),h3:lang(th){font-family:var(--bc-font-display-th);font-weight:700;line-height:1.45}h1{font-size:24px;line-height:30px}h2{font-size:20px;line-height:26px}h3{font-size:17px;line-height:24px}p{margin:0 0 var(--space-3)}a{color:var(--bc-ink)}:focus-visible{outline:2px solid var(--bc-ink);outline-offset:2px;box-shadow:0 0 0 4px var(--bc-page)}.screen{width:100%;max-width:560px;padding:var(--space-5) var(--bc-gutter) calc(var(--space-6) + env(safe-area-inset-bottom));margin:0 auto}.stack>*+*{margin-top:var(--space-4)}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.muted{color:var(--bc-text-muted);font-size:1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--bc-card);border:1px solid var(--bc-border);border-radius:var(--bc-r-card);padding:var(--bc-card-pad);box-shadow:var(--bc-shadow-card)}.btn{min-height:var(--target);min-width:var(--target);padding:0 var(--space-5);border-radius:var(--bc-r-control);border:1px solid var(--bc-ink);background:var(--bc-ink);color:var(--bc-card);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{background:var(--bc-fill);border-color:var(--bc-border);color:var(--bc-text-disabled);cursor:not-allowed}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--bc-ink-hover);border-color:var(--bc-ink-hover)}.btn--ghost{color:var(--bc-ink);border-color:var(--bc-input-border);background:0 0}.btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--bc-fill);border-color:var(--bc-input-border)}.btn--block{width:100%;display:flex}.field{display:block}.field>span{margin-bottom:var(--space-2);color:var(--bc-ink);font-weight:500;display:block}.input{width:100%;min-height:var(--target);padding:0 var(--space-4);border:1px solid var(--bc-input-border);border-radius:var(--bc-r-control);background:var(--bc-card);color:var(--bc-ink);font:inherit}textarea.input{padding:var(--space-3) var(--space-4)}.check{gap:var(--space-3);min-height:var(--target);padding:var(--space-2) 0;align-items:flex-start;display:flex}.check input{width:24px;height:24px;accent-color:var(--bc-ink);flex:none;margin-top:2px}.alert{border-radius:var(--bc-r-control);padding:var(--space-3) var(--space-4);background:var(--bc-fill);color:var(--bc-ink)}.alert--error{border:1px solid var(--bc-danger-fill)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--scrim:#3b2a2099;--ok:#4f6b4a}.row--between{justify-content:space-between}.wordmark{font-family:var(--bc-font-display);color:var(--bc-ink);font-size:1.5rem}.pill{padding:var(--space-1) var(--space-3);border-radius:var(--bc-r-pill);background:var(--bc-fill);color:var(--bc-ink);font-size:.875rem;line-height:20px;display:inline-block}.pill--ok{background:var(--bc-ink);color:var(--bc-card)}.pill--wait{background:var(--bc-border)}.card-link{color:inherit;min-height:var(--target);text-decoration:none;display:block}.summary{padding-left:var(--space-4)}.consent-full{border:1px solid var(--bc-border);border-radius:var(--bc-r-image);max-height:50vh;padding:var(--space-4);overflow:auto}.categories{gap:var(--space-2);padding-left:var(--space-4);display:grid}.signature{border:1px dashed var(--bc-text-muted);border-radius:var(--bc-r-image);background:var(--bc-card);touch-action:none;width:100%;height:160px}.timeline,.tips,.metrics,.review-grid{margin:0;padding:0;list-style:none}.tips{padding-left:var(--space-5);list-style:decimal}.timeline>li+li,.review-grid>li+li{margin-top:var(--space-3)}.metrics li{min-height:var(--target);border-top:1px solid var(--bc-border)}.dots{gap:var(--space-2);justify-content:center;margin:0;padding:0;list-style:none;display:flex}.dot{background:var(--bc-card);width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--bc-input-border);border-radius:50%}.dot--done{background:var(--bc-ink);box-shadow:none}.dot--now{background:var(--bc-card);box-shadow:none;outline:2px solid var(--bc-ink)}.angle-examples{gap:var(--space-3);margin:var(--space-3) 0 0;text-align:center;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));padding:0;list-style:none;display:grid}.outline-thumb{width:72px;margin:0 auto var(--space-2)}.outline{width:100%;height:auto}.outline__stroke{fill:none;stroke:var(--bc-gilt-on-ink);stroke-width:3px}.receipt{white-space:pre-wrap}@media print{.no-print{display:none}}.capture-title{margin:0;font-size:1.25rem}.viewport{aspect-ratio:3/4;background:var(--bc-ink-deep);border-radius:var(--bc-r-card);width:100%;position:relative;overflow:hidden}.viewport__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewport__outline{pointer-events:none;opacity:.85;position:absolute;inset:8% 14%}.viewport__outline .outline__stroke{stroke:var(--bc-card)}.cue{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);padding:var(--space-3);border-radius:var(--bc-r-image);background:var(--bc-cue);color:var(--bc-card);text-align:center;margin:0;font-size:1.125rem;position:absolute}.file-btn{cursor:pointer}.review-thumb{aspect-ratio:3/4;background:var(--bc-fill);border-radius:var(--bc-r-image);margin-bottom:var(--space-2);place-items:center;display:grid;overflow:hidden}.review-thumb img{object-fit:cover;width:100%;height:100%}.compare__stage{aspect-ratio:3/4;border-radius:var(--bc-r-image);background:var(--bc-fill);position:relative;overflow:hidden}.compare__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.compare__handle{background:var(--bc-card);width:2px;box-shadow:0 0 0 1px var(--bc-ink);position:absolute;top:0;bottom:0}.compare__tag{top:var(--space-2);position:absolute}.compare__tag--l{left:var(--space-2)}.compare__tag--r{right:var(--space-2)}.compare__range{width:100%;min-height:var(--target);accent-color:var(--bc-ink)}.chart{width:100%;height:auto}.chart__axis{stroke:var(--bc-input-border);stroke-width:1px}.chart__line{stroke:var(--bc-ink);stroke-width:2.5px}.chart__dot{fill:var(--bc-gilt-on-ink);stroke:var(--bc-ink);stroke-width:1px}.chart__label{fill:var(--bc-text-muted);font-size:12px}.icon{vertical-align:middle;flex:none;display:inline-block}.icon-btn{min-width:var(--target);min-height:var(--target);border-radius:var(--bc-r-pill);color:var(--bc-ink);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bc-fill)}.icon-btn:disabled{color:var(--bc-text-muted);cursor:not-allowed}.status-badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--bc-r-pill);background:var(--bc-fill);color:var(--bc-ink);font-size:.875rem;line-height:20px;display:inline-flex}.status-badge__dot{background:var(--bc-ink);border-radius:50%;flex:none;width:8px;height:8px}.status-badge--ok .status-badge__dot{border:2px solid var(--bc-ink);background:0 0}.status-badge--warn .status-badge__dot{background:var(--bc-signal)}.status-badge--danger .status-badge__dot{background:var(--bc-danger-fill)}.status-badge--info{background:var(--bc-info-tint)}.status-badge--neutral .status-badge__dot{background:var(--bc-text-muted)}.skeleton{border-radius:var(--bc-r-image);background:linear-gradient(90deg, var(--bc-fill) 25%, var(--bc-border) 50%, var(--bc-fill) 75%);background-size:200% 100%;max-width:100%;animation:1.4s ease-in-out infinite bc-skeleton;display:block}@keyframes bc-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.list-row{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--bc-card);border:1px solid var(--bc-border);border-radius:var(--bc-r-card);color:var(--bc-ink);font:inherit;text-align:start;text-decoration:none;display:flex}button.list-row,a.list-row{cursor:pointer}button.list-row:hover,a.list-row:hover{background:var(--bc-fill)}.list-row__text{flex-direction:column;flex:1;min-width:0;display:flex}.list-row__meta{color:var(--bc-text-muted);font-size:.875rem}.list-row__chev{color:var(--bc-text-muted)}.sheet-scrim{z-index:50;background:var(--bc-scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;max-height:90vh;padding:var(--bc-card-pad) var(--bc-gutter) calc(var(--space-5) + env(safe-area-inset-bottom));background:var(--bc-card);border-radius:var(--bc-r-sheet) var(--bc-r-sheet) 0 0;box-shadow:var(--bc-shadow-float);overflow-y:auto}.sheet:focus{outline:none}.offline-banner{z-index:40;padding:var(--space-3) var(--bc-gutter);background:var(--bc-ink);color:var(--bc-card);text-align:center;font-size:.875rem;position:sticky;top:0}.ref-chip{min-height:44px;padding:0 var(--space-4);border:1px solid var(--bc-input-border);border-radius:var(--bc-r-pill);color:var(--bc-ink);font:inherit;cursor:pointer;background:0 0;align-items:center;font-size:.875rem;display:inline-flex}
