@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-display-vietnamese-wght-normal.87d9a7ed.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-display-latin-ext-wght-normal.99c40d3a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Big Shoulders Display Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/big-shoulders-display-latin-wght-normal.663ac316.woff2) format("woff2-variations");unicode-range:u+00??,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,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}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--f-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.paper{background-color:var(--paper);background-image:radial-gradient(rgba(15,16,18,.035) .5px,transparent .6px),radial-gradient(rgba(193,56,21,.015) .4px,transparent .5px);background-size:6px 6px,4px 4px;background-position:0 0,1px 2px;position:relative}.grain:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.06  0 0 0 0 0.06  0 0 0 0 0.07  0 0 0 0.18 0'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>");mix-blend-mode:multiply}.t-display{font-family:var(--f-display);font-weight:900;letter-spacing:.01em;line-height:.92}.t-display,.t-mono{text-transform:uppercase}.t-mono{font-family:var(--f-mono);letter-spacing:.14em;font-size:11px;font-weight:500}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:1}.sticker{border:var(--bw-thick) solid var(--ink);border-radius:var(--r-card);box-shadow:5px 5px 0 var(--ink)}.chip,.sticker{background:var(--chalk)}.chip{display:inline-flex;align-items:center;gap:6px;border:var(--bw) solid var(--ink);border-radius:var(--r-chip);padding:6px 14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.chip.solid{background:var(--ink);color:var(--chalk)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:18px;padding:16px 28px;border-radius:14px;border:var(--bw-thick) solid var(--ink);background:var(--orange);color:var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease;text-decoration:none}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn.ink{background:var(--ink);color:var(--chalk);box-shadow:4px 4px 0 rgba(15,16,18,.25)}.btn.ghost{background:transparent;box-shadow:none;border-width:var(--bw)}.btn.sm{font-size:14px;padding:11px 18px;border-radius:11px;box-shadow:3px 3px 0 var(--ink)}.btn.block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.\!grade{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:34px!important;height:26px!important;padding:0 7px!important;border:var(--bw) solid var(--ink)!important;border-radius:7px!important;font-family:var(--f-mono)!important;font-weight:700!important;font-size:12px!important;background:var(--grade-mid)!important}.grade{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 7px;border:var(--bw) solid var(--ink);border-radius:7px;font-family:var(--f-mono);font-weight:700;font-size:12px;background:var(--grade-mid)}.\!grade.easy{background:var(--grade-easy)!important;color:var(--chalk)!important}.grade.easy{background:var(--grade-easy);color:var(--chalk)}.\!grade.hard{background:var(--grade-hard)!important;color:var(--chalk)!important}.grade.hard{background:var(--grade-hard);color:var(--chalk)}.\!grade.pro{background:var(--grade-pro)!important;color:var(--chalk)!important}.grade.pro{background:var(--grade-pro);color:var(--chalk)}.stars{letter-spacing:2px;font-size:12px;color:var(--ink)}.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}.nav-site{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:var(--bw-thick) solid var(--ink)}.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--f-display);font-weight:900;font-size:30px;letter-spacing:.02em;color:var(--ink);text-decoration:none}.logo em{font-style:normal;color:var(--orange)}.nav-links{display:flex;gap:26px;align-items:center}.nav-links a{color:var(--ink);text-decoration:none;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--orange-deep)}.nav-cta{font-size:14px;padding:9px 18px;border-radius:10px;box-shadow:3px 3px 0 var(--ink);color:var(--ink)!important}@media (max-width:760px){.nav-links a:not(.nav-cta){display:none}}.marquee{background:var(--ink);color:var(--chalk);border-top:var(--bw-thick) solid var(--ink);overflow:hidden;padding:13px 0;position:relative}.mq-track{display:flex;gap:0;width:-moz-max-content;width:max-content;animation:mq 28s linear infinite}.mq-track span{font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding-right:18px}.mq-track .star{color:var(--orange)}@keyframes mq{to{transform:translateX(-50%)}}.sec-pad{padding:96px 0}.sec-pad-sm{padding:60px 0}.sec-head{margin-bottom:48px;max-width:720px}.h2{font-size:clamp(40px,5.5vw,72px);margin:0;font-family:var(--f-display);font-weight:900;text-transform:uppercase;line-height:.92}.h2 .hl{color:var(--orange)}.sec-sub{font-size:17px;line-height:1.6;color:var(--ink-soft);margin-top:14px;max-width:560px;font-weight:500}.page-head{border-bottom:var(--bw-thick) solid var(--ink);padding:54px 0 46px}.crumbtrail{display:flex;gap:8px;align-items:center;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:18px;flex-wrap:wrap}.crumbtrail a{color:var(--orange-deep);text-decoration:none}.crumbtrail a:hover{text-decoration:underline}.page-title{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,6vw,84px);margin:0;text-transform:uppercase;line-height:.9}.rcard{padding:0;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease;background:var(--chalk);border:var(--bw-thick) solid var(--ink);border-radius:var(--r-card)}.rcard:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}.rcard .ph{height:150px;border-bottom:var(--bw-thick) solid var(--ink);position:relative;overflow:hidden}.rcard .ph img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .35s ease}.rcard:hover .ph img{transform:scale(1.06)}.rcard .ph .gradebadge{position:absolute;top:10px;left:10px}.rcard .ph .cert{position:absolute;bottom:10px;right:10px}.rcard .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}.rcard .crumbs{font-family:var(--f-mono);font-size:9px;letter-spacing:.16em;color:var(--orange-deep);font-weight:700;text-transform:uppercase}.rcard h4{font-family:var(--f-display);font-weight:900;font-size:24px;margin:0;text-transform:uppercase;line-height:.95}.rcard .meta{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--ink-mute);font-weight:600;flex-wrap:wrap}.foot-site{background:var(--ink);color:rgba(250,245,232,.7);padding:56px 0 36px}.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.foot-grid a{color:rgba(250,245,232,.7);text-decoration:none;font-size:13px;display:block;margin-bottom:9px}.foot-grid a:hover{color:var(--orange)}.foot-col h5{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--chalk);margin:0 0 14px}.foot-logo{font-family:var(--f-display);font-weight:900;font-size:40px;color:var(--chalk)}.foot-logo em{font-style:normal;color:var(--orange)}.foot-base{margin-top:44px;padding-top:22px;border-top:1px solid rgba(250,245,232,.15);justify-content:space-between;gap:14px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,245,232,.65)}.badges,.foot-base{display:flex;flex-wrap:wrap}.badges{gap:10px;margin-top:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.field label,.input{font-family:var(--f-mono)}.input{font-size:14px;padding:14px 16px;border:var(--bw-thick) solid var(--ink);border-radius:12px;background:var(--chalk);color:var(--ink);outline:none;box-shadow:3px 3px 0 var(--ink);width:100%}.input::-moz-placeholder{color:var(--ink-mute);letter-spacing:.04em}.input::placeholder{color:var(--ink-mute);letter-spacing:.04em}.input:focus{box-shadow:3px 3px 0 var(--orange)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%230F1012' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.oauth{display:flex;flex-direction:column;gap:10px}.oauth .btn.ghost{font-size:14px;justify-content:center;background:var(--chalk);box-shadow:3px 3px 0 var(--ink);border-width:var(--bw-thick)}.divider{display:flex;align-items:center;gap:14px;margin:22px 0;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.divider:after,.divider:before{content:"";flex:1;height:1.5px;background:rgba(15,16,18,.25)}.prose{max-width:760px;font-size:15.5px;line-height:1.72;color:var(--ink-soft)}.prose h2{font-weight:900;font-size:28px;line-height:1;margin:42px 0 14px}.prose h2,.prose h3{font-family:var(--f-display);text-transform:uppercase;color:var(--ink)}.prose h3{font-weight:800;font-size:19px;margin:28px 0 8px}.prose p,.prose ul{margin:0 0 16px}.prose ul{padding-left:22px}.prose li{margin-bottom:7px}.prose a{color:var(--orange-deep)}.prose strong{color:var(--ink)}.prose .updated{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.notice{background:var(--sun);font-size:10.5px;padding:7px 14px}.meter-banner,.notice{border-bottom:var(--bw-thick) solid var(--ink);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--ink)}.meter-banner{font-size:11px;padding:9px 14px;background:var(--chalk)}.meter-banner.urgent{background:var(--orange)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.border{border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\[email\:preview\]{email:preview}:root{--paper:#f2e8d2;--paper-deep:#e8dcc0;--paper-edge:#dcceaa;--ink:#0f1012;--ink-soft:#1f2024;--ink-mute:#5c5a52;--chalk:#faf5e8;--orange:#ff5a1f;--orange-deep:#b53515;--teal:#1fa0ff;--moss:#14653f;--sun:#ffc83d;--blush:#f0a4a4;--plum:#6e3a8c;--grade-easy:#176b45;--grade-mid:#ffc83d;--grade-hard:#ff5a1f;--grade-pro:#6e3a8c;--f-display:"Big Shoulders Display Variable","Archivo Black",system-ui,sans-serif;--f-body:"Inter Variable",system-ui,sans-serif;--f-mono:"JetBrains Mono Variable",ui-monospace,monospace;--r-card:18px;--r-chip:999px;--bw:1.5px;--bw-thick:2.5px;--maxw:1180px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}body,html{margin:0;padding:0;font-family:var(--f-body);background:var(--paper);color:var(--ink);overscroll-behavior:none}@media (max-width:900px){.route-grid{grid-template-columns:1fr!important}}@media (max-width:760px){.routes-filters{grid-template-columns:1fr 1fr!important}}@media (max-width:460px){.routes-filters{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;transition-duration:1ms!important}.rv{opacity:1;transform:none}.mq-track{animation:none}}:focus-visible{outline:3px solid var(--orange-deep);outline-offset:4px}a{color:var(--orange-deep)}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}.btn,button,input,select{min-height:44px}button{cursor:pointer}fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}legend{font-weight:700;margin-bottom:12px}h1,h2,h3{overflow-wrap:anywhere}h2{font-size:clamp(28px,4vw,42px);font-weight:900;line-height:1.05;margin:0 0 20px;text-transform:uppercase}h2,h3{font-family:var(--f-display)}h3{font-size:26px;font-weight:800;line-height:1.1;margin:0 0 12px}p{line-height:1.65}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:200;background:var(--ink);color:var(--chalk);padding:14px;border-radius:8px}.skip-link:focus{transform:none}.nav-links{gap:12px}.nav-links a{display:flex!important;min-height:44px;align-items:center;padding:8px 10px;letter-spacing:.04em}.nav-links a[aria-current=page]{border-bottom:3px solid var(--orange-deep);font-weight:700}.section-space{padding-top:36px;padding-bottom:48px}.route-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:22px}.rcard h3{font-size:27px;margin:4px 0}.rcard .ph{height:220px;background:var(--paper-deep)}.photo-empty{display:grid;place-items:center;height:100%;font-size:14px;color:var(--ink-mute)}.fine-print{font-size:14px!important;line-height:1.65;color:var(--ink-mute)}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.home-hero{padding-top:62px;padding-bottom:64px}.home-hero h1{font-family:var(--f-display);font-size:clamp(62px,12vw,130px);text-transform:uppercase;line-height:.88;font-weight:900;margin:32px 0 24px}.home-hero h1 em{font-style:normal;color:var(--orange-deep)}.home-hero>p{max-width:560px;font-size:18px;margin:22px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.community-card{padding:clamp(22px,4vw,38px);background:var(--chalk);border:2px solid var(--ink);border-radius:18px}.community-card p{max-width:660px}.empty-state,.status-panel{padding:24px;border:1.5px solid var(--ink);border-radius:14px;background:var(--chalk);margin:24px 0}.browse-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-field{flex:1;min-width:0}.routes-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.billing-contribution label,.routes-filters label{display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:600}.browse-results{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.segmented{display:inline-flex;gap:0;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden}.segmented button{min-width:66px;padding:10px 18px;background:var(--chalk);border:0;color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--chalk)}.discovery-map{position:relative;height:440px;overflow:hidden;border:2px solid var(--ink);border-radius:14px;background:var(--paper-deep);touch-action:none;isolation:isolate}.map-pin{position:absolute;transform:translate(-50%,-50%);background:var(--orange);border:2px solid var(--ink);border-radius:18px;padding:6px 12px;z-index:2;min-width:44px;font-weight:800}.map-pin[aria-pressed=true]{background:var(--ink);color:var(--chalk);z-index:3}.map-controls{position:absolute;right:12px;top:12px;display:grid;z-index:5}.map-controls button{background:var(--chalk);border:1.5px solid var(--ink);width:46px;font-size:24px}.map-attribution{bottom:0;right:0;padding:4px 8px;font-size:11px;color:var(--ink)}.map-attribution,.map-selected{position:absolute;background:var(--chalk);z-index:4}.map-selected{bottom:30px;left:12px;right:12px;border:2px solid var(--ink);border-radius:12px;padding:14px;display:grid;gap:6px}.map-selected span{font-size:13px}.map-route-list{list-style:none;padding:0;max-height:260px;overflow:auto;margin-top:20px}.map-route-list a{display:block;min-height:44px;padding:12px 0;border-bottom:1px solid var(--paper-edge)}.line-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0 30px}.route-photo{position:relative;border:2px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--paper-deep)}.photo-viewport{display:flex;justify-content:center;align-items:center;overflow:hidden}.photo-image-plane{position:relative;line-height:0;width:100%;transform-origin:center}.photo-image-plane>img{width:100%;height:auto;display:block;-o-object-fit:contain;object-fit:contain}.photo-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-placeholder{min-height:220px;display:grid;place-items:center;background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:14px}.photo-expand{position:absolute;right:14px;bottom:14px;border:1.5px solid var(--ink);border-radius:10px;background:var(--chalk);padding:10px 14px;font-size:13px;font-weight:600}.photo-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;padding:16px;border:0;background:var(--ink);color:var(--chalk);margin:0;overflow:hidden}.photo-dialog::backdrop{background:var(--ink)}.photo-dialog .btn{color:var(--chalk);border-color:var(--chalk)}.photo-dialog .fine-print{color:var(--chalk)}.photo-dialog-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.photo-viewport.expanded{height:calc(100dvh - 145px);touch-action:none}.expanded .photo-image-plane{width:auto;max-width:100%}.expanded .photo-image-plane>img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 145px)}.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;margin-top:36px}.guide-section{margin-bottom:36px}.guide-section li,.guide-section p{font-size:16px;line-height:1.8}.caution-panel ul,.guide-section ul{padding-left:22px}.guide-section li{margin-bottom:6px}.guide-description{white-space:pre-line}.route-facts{margin:22px 0;display:grid;gap:12px}.route-facts>div{display:flex;gap:20px;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--paper-edge)}.route-facts dt{color:var(--ink-mute);font-size:14px}.route-facts dd{margin:0;font-size:14px;font-weight:600;text-align:right}.caution-panel{background:#ffedb3;padding:16px 22px;border:1.5px solid var(--ink);border-radius:12px;margin:0 0 24px}.supporting-photos{display:grid;gap:24px}.supporting-photos figure{margin:0}.supporting-photos figcaption{margin-top:14px}.review-card{padding:18px;border:1.5px solid var(--ink);border-radius:12px;background:var(--chalk);margin-bottom:16px}.review-card>div{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.review-card p{margin-bottom:0;white-space:pre-line}.pro-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.pro-benefits{padding-left:22px;margin:28px 0;line-height:1.9}.contribution-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contribution-option{border:1.5px solid var(--ink);border-radius:12px;padding:18px 12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;cursor:pointer}.contribution-option.selected{background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.contribution-option input{min-height:0;width:18px;height:18px;accent-color:var(--ink)}.contribution-option strong{font-size:27px;font-family:var(--f-display)}.contribution-option span{grid-column:2;font-size:13px}.account-content{max-width:760px;display:grid;gap:32px}.auth-content{max-width:520px}.billing-contribution{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.project-remove{margin-top:14px;width:100%}.location-card{color:var(--ink);text-decoration:none}.foot-grid a{min-height:44px;margin-bottom:0;padding:10px 0}hr{border:0;border-top:1px solid var(--paper-edge);margin:26px 0}@media(max-width:760px){.wrap{padding-left:18px;padding-right:18px}.nav-in{height:66px}.nav-links{gap:2px}.nav-links a{padding:8px;font-size:11px}.logo{font-size:28px}.page-head{padding-top:34px;padding-bottom:30px}.page-title{font-size:clamp(40px,10vw,64px);line-height:.98}.section-space{padding-top:28px;padding-bottom:38px}.guide-grid,.pro-layout{grid-template-columns:1fr;gap:12px}.routes-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px}.browse-toolbar{align-items:stretch;gap:10px}.browse-toolbar .btn{padding-left:12px;padding-right:12px}.home-hero{padding-top:44px;padding-bottom:32px}.photo-dialog{padding:12px}.photo-dialog-toolbar .btn{padding:10px 12px}}@media(max-width:360px){.nav-links a{padding:8px 5px}.contribution-options{gap:10px}.contribution-option{padding:14px 10px}.contribution-option strong{font-size:23px}.billing-contribution{grid-template-columns:1fr}}.nav-links a{min-width:44px;justify-content:center}.grade.hard{color:var(--ink)}.route-summary{max-width:700px;font-size:16px;margin:18px 0 26px}@media(max-width:760px){.input{font-size:16px}}.photo-viewport{min-height:220px}.segmented button:disabled{opacity:.55;cursor:wait}html{scroll-padding-top:82px}main :is(h1,h2,h3,section,input,select,button,[tabindex]){scroll-margin-top:82px}.logo{display:inline-flex;align-items:center;min-height:44px}.nav-links a{font-size:12px;font-weight:600}.page-title{line-height:1.02}.crumbtrail{font-size:11px;letter-spacing:.06em;line-height:1.6;margin-bottom:14px}.page-head .sec-sub{margin-bottom:0}.btn{min-height:48px;line-height:1.2}.btn.ghost,.btn.ghost.sm{box-shadow:none}.field{gap:8px;margin-bottom:20px}.field label{font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.4}.field label,.input{font-family:var(--f-body)}.input{min-height:50px;padding:12px 14px;border-width:1.5px;box-shadow:none;font-size:16px;line-height:1.5}.input::-moz-placeholder{letter-spacing:0}.input::placeholder{letter-spacing:0}.input:focus{box-shadow:none}.segmented{background:var(--chalk)}.segmented button{min-height:46px;font-size:14px;font-weight:600}.routes-filters{gap:14px}.routes-filters label{gap:7px;font-size:14px}.browse-toolbar{margin-bottom:18px}.browse-results{margin-bottom:20px}.browse-results p{margin:0;font-size:14px;font-weight:600}.route-cards{gap:20px}.rcard .ph{height:auto;aspect-ratio:16/10}.rcard .bd{padding:16px;gap:7px}.rcard .crumbs{font-family:var(--f-body);font-size:12px;letter-spacing:0;text-transform:none;line-height:1.5;overflow-wrap:anywhere}.rcard h3{font-size:28px;line-height:1.08;margin:0}.rcard .meta{font-size:13px;line-height:1.5;gap:6px 12px}.rcard .meta>span{overflow-wrap:anywhere}.rcard .grade{min-width:36px;height:28px;font-size:13px}.rcard .gradebadge{top:12px;left:12px}.guide-section{margin-bottom:32px}.guide-section h2{margin-bottom:14px}.guide-section li,.guide-section p{line-height:1.7}.guide-section p{max-width:65ch}.caution-panel ul{margin:0}.line-toolbar>a,.section-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-underline-offset:3px}.meter-banner{font-family:var(--f-body);font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none;text-align:left;border:1.5px solid var(--ink);border-left:4px solid var(--orange-deep);border-radius:10px;padding:12px 14px}.meter-banner a{display:inline-block;margin-left:4px;font-weight:600;text-underline-offset:3px}.photo-expand{min-height:44px}.auth-content>h1{font-family:var(--f-display);font-size:clamp(36px,9vw,48px);font-weight:900;text-transform:uppercase;line-height:1.02;margin:0 0 14px}.auth-content>p{color:var(--ink-mute);font-size:16px;line-height:1.6;margin:0 0 24px;max-width:42ch}.auth-form{padding:24px;background:var(--chalk);border:1.5px solid var(--ink);border-radius:16px}.auth-methods{display:flex;gap:4px!important;padding:4px;border:1.5px solid var(--ink);border-radius:12px;background:var(--paper);margin-bottom:22px!important}.auth-methods .btn{min-width:0;min-height:44px;padding:10px 8px;border:0;border-radius:8px;line-height:1.2}.auth-form .oauth .btn,.auth-methods .btn{box-shadow:none;font-family:var(--f-body);font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}.auth-form .oauth .btn{min-height:48px;border-width:1.5px}.auth-form #otp{font-family:var(--f-mono);font-size:22px;letter-spacing:.2em;text-align:center;min-height:56px}.auth-feedback,.auth-switch{font-family:var(--f-body);font-size:14px;line-height:1.6;letter-spacing:0;text-transform:none}.auth-feedback{padding:12px 14px;border:1px solid;border-radius:10px;margin-bottom:0}.auth-feedback.error{color:var(--orange-deep);background:#fff0e8}.auth-feedback.success{color:var(--moss);background:#edf4e9}.auth-switch{margin-bottom:0;color:var(--ink-mute)}.auth-switch a{display:inline-flex;min-height:44px;align-items:center;font-weight:600;text-underline-offset:3px}.pro-layout{gap:36px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.pro-benefits-block{padding:12px 0}.pro-picker .contribution-checkout>p:not(.fine-print){font-size:15px;line-height:1.6}.contribution-option{min-height:96px}.contribution-option strong{font-size:30px}.contribution-option:has(input:focus-visible){outline:3px solid var(--orange-deep);outline-offset:4px}.foot-site{padding:40px 0 28px}.foot-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:28px}.foot-col p{font-size:14px;margin:8px 0 0}.foot-base{margin-top:30px;font-size:11px;line-height:1.6;letter-spacing:.06em}@media(max-width:760px){.nav-in{height:64px}.nav-links a{font-size:12px;letter-spacing:0;padding-left:7px;padding-right:7px}.page-head{padding-top:26px;padding-bottom:24px}.page-title{font-size:clamp(36px,9vw,64px)}.page-head .sec-sub{font-size:16px;line-height:1.6}.routes-filters{gap:12px}.routes-filters .input{padding-left:11px;padding-right:28px;background-position:right 10px center}.browse-toolbar .btn{min-width:76px}.pro-layout{grid-template-columns:minmax(0,1fr);gap:24px}.pro-picker{padding:20px}.pro-picker fieldset{margin-bottom:20px}.pro-picker .contribution-checkout>p:not(.fine-print){margin:18px 0}.foot-grid{grid-template-columns:1fr 1fr;gap:24px}.foot-grid>.foot-col:first-child{grid-column:1/-1}.auth-form{padding:20px}}@media(max-width:360px){.nav-links a{padding-left:5px;padding-right:5px;font-size:11px}.wrap{padding-left:16px;padding-right:16px}.auth-form{padding:16px}.pro-picker{padding:18px}.contribution-option strong{font-size:26px}}@media(hover:none){.rcard:hover{box-shadow:none}.btn:hover,.rcard:hover,.rcard:hover .ph img{transform:none}.btn:hover{box-shadow:4px 4px 0 var(--ink)}.btn.ghost:hover{box-shadow:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}