@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2)format("woff2"),url(/assets/instrument-sans-latin-ext-500-normal-CAxz3nsc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(/assets/newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(/assets/newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#fff;--color-bg-subtle:#f9f9f9;--color-surface:#fff;--color-text:#000;--color-text-secondary:#333;--color-text-muted:#767676;--color-border:#e9eaeb;--color-border-strong:#ccc;--color-primary:#000;--color-on-primary:#fff;--color-on-primary-muted:#949494;--color-on-primary-track:#333;--color-accent:#f67599;--color-on-accent:#000;--color-danger:#c00;--color-success:#3a8700;--font-body:"Instrument Sans", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-heading:"Barlow Condensed", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-heading-weight:700;--font-numeric:"Barlow Condensed", "Apple SD Gothic Neo", sans-serif;--font-numeric-weight:600;--font-display:Newsreader, "AppleMyungjo", "Noto Serif KR", serif;--font-mono:ui-monospace, Menlo, monospace;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-display:36px;--heading-letter-spacing:.3px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius:0;--content-width:720px}*,:before,:after{box-sizing:border-box}p{margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);-webkit-text-size-adjust:100%;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;margin:0}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}.header{background:var(--color-primary);color:var(--color-on-primary)}.header-inner,.container{max-width:var(--content-width);padding:0 var(--space-4);margin:0 auto}.header-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.logo{font-size:var(--text-lg)}.container{padding-top:var(--space-6);padding-bottom:var(--space-8)}.button{padding:var(--space-3) var(--space-6);border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;cursor:pointer}.button:disabled{opacity:.5;cursor:default}.button-ghost{padding:var(--space-1) var(--space-3);color:inherit;font-size:var(--text-xs);background:0 0;border-color:currentColor}.field{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column;display:flex}.field input{padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md)}.field input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.muted{color:var(--color-text-muted);font-size:var(--text-sm)}.error{color:var(--color-danger);font-size:var(--text-sm);margin:0}.badge{padding:2px var(--space-2);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;display:inline-block}.info-table{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);grid-template-columns:minmax(120px,max-content) 1fr;margin:0;display:grid}.info-table dt{color:var(--color-text-muted)}.info-table dd{overflow-wrap:anywhere;margin:0}.mono{font-family:var(--font-mono);font-size:var(--text-xs)}.numeric{font-family:var(--font-numeric);font-weight:var(--font-numeric-weight);font-size:var(--text-md);font-variant-numeric:tabular-nums}.stack{gap:var(--space-4);flex-direction:column;display:flex}.login{max-width:400px}.hero-name{margin:var(--space-2) 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-display);font-weight:400;line-height:1.2}.source-list{padding-left:var(--space-6);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.overview{gap:var(--space-6);flex-direction:column;display:flex}.card-label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase}.membership-card{gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary);flex-direction:column;display:flex}.membership-card .card-label{color:var(--color-accent)}.membership-head{justify-content:space-between;align-items:center;display:flex}.membership-number{font-size:var(--text-display);letter-spacing:.05em;line-height:1.1}.membership-period,.membership-remaining,.membership-empty{color:var(--color-on-primary-muted);font-size:var(--text-sm)}.membership-remaining .numeric{color:var(--color-on-primary)}.status{padding:2px var(--space-2);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;border:1px solid}.status-active{color:var(--color-on-primary)}.status-expired{color:var(--color-on-primary-muted)}.progress{height:4px;margin-top:var(--space-2);background:var(--color-on-primary-track)}.progress-fill{background:var(--color-accent);height:100%}.dev-details{margin-top:var(--space-8);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.dev-details summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm)}.dev-section{margin-top:var(--space-6)}.dev-section>h3{margin-bottom:var(--space-3);font-size:var(--text-sm)}.raw-json{padding:var(--space-4);background:var(--color-bg-subtle);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;overflow-x:auto}.button-outline{border-color:var(--color-primary);color:var(--color-primary);background:0 0}.spinner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.spinner-circle{border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.area-message{align-items:center;gap:var(--space-3);padding:var(--space-6) 0;text-align:center;flex-direction:column;display:flex}.my-rides>h2,.groups>h2{margin-bottom:var(--space-3)}.groups-body{gap:var(--space-4);flex-direction:column;min-height:80px;display:flex}.group-card{border:1px solid var(--color-border-strong);border-radius:var(--radius);overflow:hidden}.group-cover{aspect-ratio:3;object-fit:cover;background:var(--color-bg-subtle);width:100%;display:block}.group-content{gap:var(--space-1);padding:var(--space-4) var(--space-6) var(--space-6);flex-direction:column;display:flex}.group-title{align-items:center;gap:var(--space-2);display:flex}.group-flag{width:36px;height:36px;padding:var(--space-1);border-radius:var(--radius);background:var(--color-primary);object-fit:contain;flex:none}.group-name{font-family:var(--font-display);font-size:var(--text-xl);flex:1;line-height:1.2}.group-stats{color:var(--color-text-secondary);font-size:var(--text-sm)}.group-stats-divider{margin:0 var(--space-2);color:var(--color-text-muted)}.group-bio{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}a{color:inherit;text-decoration:none}.group-card{cursor:pointer;display:block}.group-card:active{background:var(--color-bg-subtle)}.back-link{color:var(--color-text-muted);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0}.rides{gap:var(--space-6);flex-direction:column;min-height:80px;display:flex}.ride-day-label{padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary);font-size:var(--text-md)}.ride-card{cursor:pointer;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);display:flex}.ride-time{font-size:var(--text-lg);flex:0 0 72px;margin-top:2px;line-height:1.2}.ride-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.ride-name{font-weight:500;line-height:1.3}.ride-tags{align-items:center;gap:var(--space-2);margin:var(--space-1) 0;flex-wrap:wrap;display:flex}.tag{padding:1px var(--space-2);border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-heading-weight);letter-spacing:var(--heading-letter-spacing);text-transform:uppercase}.ride-stat{font-size:var(--text-md)}.ride-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.load-more{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.load-more .button{width:100%}.ride-card:active{background:var(--color-bg-subtle)}.ride-link{gap:var(--space-3);flex-direction:column;display:flex}.ride-link-form{gap:var(--space-2);display:flex}.ride-link-form input{min-width:0;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);flex:1}.ride-link-form input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.ride-link .spinner{justify-content:flex-start;padding:0}.ride-detail-when{font-family:var(--font-numeric);font-weight:var(--font-numeric-weight);font-size:var(--text-lg)}.detail-section{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.text-link{color:var(--color-text);font-size:var(--text-sm);text-decoration:underline}.chip-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{padding:var(--space-1) var(--space-3);border:1px solid var(--color-primary);font-size:var(--text-sm)}.ride-description{color:var(--color-text-secondary);white-space:pre-line;overflow-wrap:anywhere}.people{gap:var(--space-2);flex-direction:column;display:flex}.people-title{color:var(--color-text-muted);font-size:var(--text-sm)}.people-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.person{align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.avatar{object-fit:cover;background:var(--color-bg-subtle);border-radius:50%;width:32px;height:32px}.avatar-empty{color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}a.button{text-align:center;display:block}.attendance{gap:var(--space-2);flex-direction:column;display:flex}.attendance .button{width:100%}.detail-section .button{margin-top:var(--space-2)}.ride-description .text-link{font-size:inherit}
