@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";@font-face{font-family:Kanit;src:url(/assets/Kanit-Thin-Dw3tr8yL.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-ThinItalic-B568hjKX.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-ExtraLight-DPZYIGCn.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-ExtraLightItalic-cMD-J4jv.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Light-BHgJ55aV.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-LightItalic-B7c95JYW.ttf) format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Regular-4aNEbE_l.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Italic-D7ph_Ogd.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Medium-xYE7xnre.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-MediumItalic-UiNZ6iuk.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-SemiBold-BzKf-rFX.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-SemiBoldItalic-nyVtz6_9.ttf) format("truetype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Bold-BcfnQI_R.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-BoldItalic-C_u0c5ig.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-ExtraBold-HxyA8Ekm.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-ExtraBoldItalic-CZGh4IET.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-Black-VPvJV-oR.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Kanit;src:url(/assets/Kanit-BlackItalic-BN3pJZOo.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}:root{color-scheme:light only;--modal-overlay: rgba(0, 0, 0, .9);--modal-text: rgb(255, 255, 255);--font-family: "Outfit", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--mono: "Space Mono", "Segoe UI", Menlo, Monaco, Consolas, "Courier New", monospace;--sans: "Outfit", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--serif: "Kanit", "Helvetica Neue", sans-serif;--font-size-h1: 1.25rem;--font-size-h2: 1.125rem;--font-size-h3: 1rem;--font-size-base: .9375rem;--font-size-small: .8125rem;--line-height: 1.4;--letter-spacing-tight: .02em;--letter-spacing-normal: .04em;--letter-spacing-wide: .06em;--letter-spacing-button: .08em;--letter-spacing-widest: .1em;--weight-thin: 200;--weight-regular: 400;--weight-medium: 500;--weight-bold: 600;--weight-black: 700;--twd-aqua: rgb(0, 173, 239);--twd-aqua-accessible: rgb(0, 120, 180);--twd-navy: rgb(0, 48, 107);--twd-signal: rgb(221, 28, 26);--twd-shore: rgb(215, 255, 255);--twd-grey: rgb(233, 233, 233);--web-black: rgb(73, 73, 73);--twd-white: rgb(255, 255, 255);--sunglow: rgb(255, 200, 87);--sunglow-darker: rgb(227, 157, 4);--fig-green: rgb(120, 200, 65);--text-on-dark: #ffffff;--background: rgb(248, 248, 248);--background-light: rgb(245, 245, 245);--background-lighter: rgb(249, 249, 249);--card-background: #ffffff;--surface-primary: #ffffff;--surface-secondary: rgba(255, 255, 255, .91);--surface-elevated: #ffffff;--surface-muted: #f5f5f5;--surface-accent: #f8f9fa;--surface-disabled: #f0f0f0;--surface-warm: #fefdfb;--surface-input: #fff;--text-color: rgb(34, 34, 34);--text-secondary: rgb(102, 102, 102);--text-tertiary: rgb(85, 85, 85);--text-dark: rgb(26, 26, 26);--text-muted: rgb(136, 136, 136);--text-light: rgb(153, 153, 153);--text-body: #444444;--text-caption: #666666;--text-hint: #999999;--text-on-surface: #333333;--text-description: #535353;--text-content: #555555;--border-color: rgb(180, 180, 180);--border-light: rgb(229, 231, 235);--border-lighter: rgb(224, 224, 224);--border-divider: rgb(194, 194, 194);--border-default: #e5e7eb;--border-subtle: #e0e0e0;--border-card: #c2c2c2;--border-disabled: #ccc;--border-input: #ccc;--sunglow-hover: rgb(199, 138, 4);--sunglow-hover-dark: #bf7d03;--color-success: #059669;--color-error: #EF4444;--color-warning: var(--sunglow-darker);--scrollbar-thumb: var(--grey-pale3);--scrollbar-thumb-hover: rgb(112, 112, 112);--scrollbar-track: #f8f8f8;--aqua-pale1: rgb(183, 222, 250);--aqua-pale2: rgb(236, 247, 254);--aqua-pale3: rgb(245, 250, 255);--signal-pale1: rgb(255, 110, 103);--signal-pale2: rgb(255, 213, 211);--signal-pale3: rgb(252, 237, 237);--navy-pale1: rgb(127, 150, 180);--navy-pale2: rgb(203, 212, 224);--navy-pale3: rgb(226, 231, 237);--grey-pale1: rgb(128, 128, 128);--grey-pale2: rgb(177, 177, 177);--grey-pale3: rgb(204, 204, 204);--twd_violet: rgb(138, 43, 226);--twd_violet_pale: rgb(195, 155, 235);--twd_teal: rgb(0, 128, 128);--twd_teal_pale: rgb(143, 200, 200);--twd_orange: rgb(255, 140, 0);--twd_orange_pale: rgb(255, 200, 128);--twd_lime: rgb(50, 205, 50);--twd_lime_pale: rgb(178, 255, 178);--twd_magenta: rgb(255, 0, 144);--twd_magenta_pale: rgb(255, 160, 208);--twd_gold: rgb(218, 165, 32);--twd_gold_pale: rgb(245, 223, 157);--twd_cyan: rgb(0, 255, 255);--twd_cyan_pale: rgb(204, 255, 255);--twd_mustard: rgb(255, 219, 88);--twd_mustard_pale: rgb(255, 237, 160);--twd_emerald: rgb(80, 200, 120);--twd_emerald_pale: rgb(155, 255, 180);--twd_jade: rgb(0, 168, 107);--twd_jade_pale: rgb(102, 225, 180);--highlight-background: #ffe7b7;--highlight-border: #ffeaa7;--highlight-text: #856404;--quote-background: #f8f9fa;--quote-border: #2563eb;--quote-text: #2563eb;--tag-background: #e3f2fd;--tag-text: #1976d2;--tag-border-filter: var(--sunglow-darker);--tag-border-descriptive: #c2c2c2;--learning-background: #f5f7fa;--feature-icon-background: #ffe7b7;--placeholder-background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);--placeholder-text: #6c757d;--step-background: #2563eb;--step-text: white;--accent-challenge: #ef4444;--accent-solution: #10b981;--accent-default: #2563eb;--link-color: #2563eb;--link-hover: #1d4ed8;--shadow-color: rgba(0, 0, 0, .08);--shadow-color-heavy: rgba(0, 0, 0, .1);--shadow-color-light: rgba(0, 0, 0, .04);--shadow-color-medium: rgba(0, 0, 0, .3);--overlay-light: rgba(0, 0, 0, .3);--overlay-medium: rgba(0, 0, 0, .5);--overlay-heavy: rgba(0, 0, 0, .7);--overlay-dark: rgba(0, 0, 0, .8);--overlay-white-light: rgba(255, 255, 255, .15);--overlay-white-medium: rgba(255, 255, 255, .8);--overlay-white-heavy: rgba(255, 255, 255, .9);--overlay-white-subtle: rgba(255, 255, 255, .05);--footer-background: #f8f8f8;--footer-accent: rgb(76, 2, 2);--footer-text: rgb(83, 83, 83);--footer-border: rgb(233, 233, 233);--nav-text-inactive: rgb(83, 83, 83);--nav-background-blur: rgba(255, 255, 255, .95);--nav-text-shadow: rgba(0, 0, 0, .3);--nav-gradient-fade: rgba(51, 51, 51, .7);--lightbox-overlay: rgba(0, 0, 0, .8);--lightbox-caption-bg: rgba(0, 0, 0, .6);--lightbox-controls-bg: rgba(0, 0, 0, .4);--button-shadow-sunglow: rgba(227, 157, 4, .25);--button-shadow-sunglow-hover: rgba(227, 157, 4, .3);--button-shadow-neutral: rgba(140, 140, 140, .35);--button-shadow-neutral-hover: rgba(140, 140, 140, .25);--icon-error: #bf1716;--icon-lock: #ef4444;--divider-fill: #F0F0F0;--rounded_corners_card: 16px;--padding_internal: 16px;--gap1: 8px;--gap2: 16px;--gap3: 24px;--gap4: 32px;--gap5: 40px;--gap6: 48px;--gap7: 56px;--gap8: 64px;--gap9: 72px;--gap10: 80px;--rad1: 8px;--rad2: 16px;--rad3: 24px;--rad4: 32px;--rad5: 40px;--rad6: 48px;--rad7: 56px;--rad8: 64px;--rad9: 72px;--rad10: 80px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{overflow-x:hidden;max-width:100vw}body{min-width:320px}#root{overflow-x:hidden;width:100%;min-height:100vh}img,video,iframe,svg{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6,p,span,a,li,td,th,div,article,section{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}a:not(.skip-link),button:not([type=submit]):not([type=button]),[role=button],[role=tab],[role=switch]{min-height:44px;min-width:44px}body{margin:0;font-family:var(--font-family),sans-serif;font-size:var(--font-size-base);line-height:var(--line-height);font-weight:var(--weight-regular);letter-spacing:var(--letter-spacing-tight);background:var(--background);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:Segoe UI,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,p,label,button,small{margin:0;letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-h1);font-weight:var(--weight-bold);line-height:calc(var(--font-size-h1) * var(--line-height))}h2{font-size:var(--font-size-h2);font-weight:var(--weight-bold);line-height:calc(var(--font-size-h2) * var(--line-height))}h3{font-size:var(--font-size-h3);font-weight:var(--weight-medium);line-height:calc(var(--font-size-h3) * var(--line-height))}p,label{font-size:var(--font-size-base);font-weight:var(--weight-regular);line-height:calc(var(--font-size-base) * var(--line-height))}button{font-size:var(--font-size-base);font-weight:var(--weight-medium);letter-spacing:var(--letter-spacing-button);line-height:calc(var(--font-size-base) * var(--line-height));border:none;background:none;min-width:44px;padding:8px 16px;cursor:pointer}small{font-size:var(--font-size-small);font-weight:var(--weight-regular);line-height:calc(var(--font-size-small) * var(--line-height))}.trip-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-base);color:var(--text-color)}.trip-table th,.trip-table td{padding:var(--gap1);border-bottom:1px solid var(--border-color);text-align:left;font-size:var(--font-size-base);font-weight:var(--weight-regular)}.trip-table thead th{font-weight:var(--weight-bold);font-size:var(--font-size-h3);padding-top:0}.trip-table input{width:4em;height:44px;min-width:44px;font-size:var(--font-size-base);padding:4px;border:1px solid var(--grey-pale3);border-radius:var(--rad1);text-align:right;background:var(--surface-primary);color:var(--text-color)}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--grey-pale3);border-radius:8px;border:4px solid var(--scrollbar-track)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}@media (max-width: 768px){::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{border-width:2px}}@media (max-width: 480px){::-webkit-scrollbar{display:none}*{scrollbar-width:none}}*:focus-visible{outline:2px solid var(--twd-navy);outline-offset:2px;box-shadow:0 0 0 4px #00306b1a}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--twd-navy);outline-offset:2px}@media (prefers-color-scheme: dark){*:focus-visible{outline-color:var(--sunglow);box-shadow:0 0 0 4px #ffc85733}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--sunglow)}}.skip-link{position:absolute;top:-100px;left:0;background:var(--twd-navy);color:var(--twd-white);padding:12px 16px;text-decoration:none;font-weight:var(--weight-bold);z-index:9999;border-radius:0 0 var(--rad1) 0}.skip-link:focus{top:0;outline:2px solid var(--sunglow);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.trip-table tbody tr{transition:none!important}}@media (prefers-contrast: more){*{border-width:2px!important}button,input,select,textarea{border:2px solid currentColor!important}*:focus-visible{outline-width:3px!important;outline-offset:3px!important}}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus,.visually-hidden-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.status-success:before,[data-status=success]:before{content:"✓ ";color:var(--fig-green);font-weight:700}.status-error:before,[data-status=error]:before{content:"✕ ";color:var(--twd-signal);font-weight:700}.status-warning:before,[data-status=warning]:before{content:"⚠ ";color:var(--sunglow-darker);font-weight:700}.status-info:before,[data-status=info]:before{content:"ℹ ";color:var(--twd-aqua-accessible);font-weight:700}.text-aqua{color:var(--twd-aqua-accessible)}.text-navy{color:var(--twd-navy)}.text-signal{color:var(--twd-signal)}label{display:block;margin-bottom:4px;font-weight:var(--weight-medium)}input,select,textarea{border:1px solid var(--border-color);border-radius:var(--rad1);padding:8px 12px;font-family:inherit;font-size:inherit;min-height:44px;background:var(--surface-primary);color:var(--text-color)}::placeholder{color:var(--grey-pale1);opacity:1}@media (max-width: 768px){:root{--font-size-h1: 1.125rem;--font-size-h2: 1rem;--font-size-h3: .9375rem;--font-size-base: .875rem;--font-size-small: .8125rem}:root{--gap1: 6px;--gap2: 12px;--gap3: 18px;--gap4: 24px;--gap5: 30px;--gap6: 36px;--gap7: 42px;--gap8: 48px;--gap9: 54px;--gap10: 60px}:root{--rad1: 6px;--rad2: 12px;--rad3: 18px;--rad4: 24px;--rad5: 30px;--rad6: 36px;--rad7: 42px;--rad8: 48px}:root{--rounded_corners_card: 12px;--padding_internal: 12px}.resume-container{padding:var(--gap3)}.resume-body{gap:var(--gap3)}}@media (max-width: 480px){:root{--font-size-h1: 1rem;--font-size-h2: .9375rem;--font-size-h3: .875rem;--font-size-base: .8125rem;--font-size-small: .75rem}:root{--gap1: 4px;--gap2: 8px;--gap3: 12px;--gap4: 16px;--gap5: 20px;--gap6: 24px;--gap7: 28px;--gap8: 32px;--gap9: 36px;--gap10: 40px}:root{--rad1: 4px;--rad2: 8px;--rad3: 12px;--rad4: 16px;--rad5: 20px;--rad6: 24px;--rad7: 28px;--rad8: 32px}:root{--rounded_corners_card: 8px;--padding_internal: 8px}.resume-container{padding:var(--gap2)}.resume-body{grid-template-columns:1fr;gap:var(--gap2)}.resume-header .name{font-size:1.75rem}.trip-table{font-size:.8125rem}.trip-table th,.trip-table td{padding:4px}.trip-table input{width:3em;min-width:40px;font-size:.8125rem}}@media (max-width: 375px){:root{--font-size-h1: .9375rem;--font-size-h2: .875rem;--font-size-h3: .8125rem;--font-size-base: .75rem;--font-size-small: .6875rem}:root{--padding_internal: 6px}.resume-header .name{font-size:1.5rem}}@media (max-height: 500px) and (orientation: landscape){.resume-container{padding-top:var(--gap2);padding-bottom:var(--gap2)}}.app{min-height:100vh;background:transparent;color:var(--text-color);font-family:var(--font-family)}
