:root{--bg:#f3f8f0;--surface:#fff;--text:#1c2b21;--muted:#5b6d60;--border:#dbe7d6;--green:#1e8a4c;--green-dark:#146b39;--green-soft:#dff2e4;--green-tint:#f1f8f2;--sky:#2b7bc9;--sky-soft:#e7f1fb;--heart:#e5484d;--heart-soft:#fdecec;--no:#667085;--no-bg:#eff2ee;--unknown:#9a6700;--unknown-bg:#fff6dd;--warn-bg:#fff1dc;--warn-border:#f5a524;--danger:#c8372d;--radius:16px;--shadow:0 1px 2px #1c2b210d, 0 6px 18px #1c2b210f}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);word-break:keep-all;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;font-size:16px;line-height:1.65}a{color:var(--green);text-underline-offset:3px}.wrap{max-width:760px;margin:0 auto;padding:0 16px}button{font:inherit;border:1.5px solid var(--green);background:var(--surface);color:var(--green-dark);cursor:pointer;border-radius:999px;padding:9px 16px;font-weight:600}button:hover:not(:disabled){background:var(--green-tint)}button:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;font-weight:500}.button-primary{background:var(--green);color:#fff;border-radius:999px;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-block}.button-quiet{border-color:var(--border);color:var(--muted);padding:6px 12px;font-weight:500}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header-inner{justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px;display:flex}.logo{color:var(--green-dark);font-size:1.25rem;font-weight:800;text-decoration:none}.nav-link{color:var(--text);font-size:.95rem;font-weight:600;text-decoration:none}.nav-link span{color:var(--heart)}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:48px;padding:24px 0 40px;font-size:.85rem}.site-footer p{margin:2px 0}.tagline{color:var(--green-dark);margin:4px 0 0;font-size:1.15rem;font-weight:700}.lede{color:var(--text);margin:8px 0 0;font-size:1.08rem}.meta,.legend{color:var(--muted);font-size:.85rem}.unknown{color:var(--unknown)}.pending{color:var(--muted)}.page h1,.home h1{margin:32px 0 4px}.course-list,.similar,.favorites{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.course-list a,.similar a,.similar div{background:var(--surface);color:var(--text);border-radius:12px;justify-content:space-between;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.course-list a{box-shadow:var(--shadow)}.similar a,.similar div{background:var(--green-tint)}.similar a:hover,.course-list a:hover{outline:2px solid var(--green)}.course-list span,.similar span{color:var(--muted);white-space:nowrap}.fav-button{border-color:var(--border);color:var(--text);background:var(--surface);flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.fav-button span{color:var(--heart);font-size:1.15rem;line-height:1}.fav-button:hover:not(:disabled){background:var(--heart-soft)}.fav-button.is-saved{background:var(--heart-soft);color:#b42318;border-color:#f4b4b6}.favorites li{background:var(--surface);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:10px 12px 10px 16px;display:flex}.favorites a{color:var(--text);flex:1;gap:8px;text-decoration:none;display:flex}.favorites a span{color:var(--heart)}.empty{text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:24px;padding:32px 20px}.empty p{margin:4px 0}.empty .empty-icon{color:var(--heart);font-size:2.5rem;line-height:1.2}.empty .button-primary{margin-top:16px}.hero{background:var(--green-soft);border-radius:20px;margin:16px 0 12px;padding:18px 20px 20px}.breadcrumb ol{color:var(--green-dark);flex-wrap:wrap;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumb a{color:inherit}.breadcrumb li+li:before{content:"›";opacity:.6;margin:0 8px}.hero-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:6px;display:flex}.hero h1{color:var(--green-dark);margin:0;font-size:2rem;line-height:1.3}.badges{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.badge{border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600}.badge--yes{background:var(--green);color:#fff}.badge--no{color:var(--no);background:#ffffffbf}.badge--unknown{background:var(--unknown-bg);color:var(--unknown);border:1px dashed}.stats{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;margin:0;display:grid}.stats>div{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{color:var(--green-dark);margin:2px 0 0;font-size:1.45rem;font-weight:800}.section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:12px;padding:18px 20px 20px}.section h2{align-items:center;gap:10px;margin:0 0 12px;font-size:1.15rem;display:flex}.section-icon{background:var(--green-soft);border-radius:10px;place-items:center;width:34px;height:34px;font-size:1.05rem;display:inline-grid}.section p{margin:8px 0}.placeholder{text-align:center;background:var(--green-tint);border:2px dashed var(--border);min-height:190px;color:var(--muted);border-radius:12px;place-content:center;justify-items:center;padding:20px;display:grid}.placeholder p{margin:2px 0}.placeholder-icon{font-size:2.2rem}.transit-raw{margin:0}.transit-raw blockquote{background:var(--sky-soft);border-left:4px solid var(--sky);white-space:pre-line;border-radius:0 10px 10px 0;margin:0;padding:12px 16px}.transit-raw figcaption{color:var(--muted);margin-top:4px;font-size:.8rem}.warning{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:12px;padding:12px 14px}.facts{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:12px 0 0;display:grid}.fact{border:1px solid #0000;border-radius:12px;padding:10px 12px}.fact dt{color:var(--muted);font-size:.8rem}.fact dd{margin:0;font-weight:700}.fact--yes{background:var(--green-soft)}.fact--yes dd{color:var(--green-dark)}.fact--no{background:var(--no-bg)}.fact--no dd{color:var(--no)}.fact--unknown{border:1px dashed var(--unknown);background:var(--unknown-bg)}.fact--unknown dd{color:var(--unknown);font-weight:500}.checklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist li{background:var(--green-tint);border-radius:10px;padding:8px 12px 8px 36px;position:relative}.checklist li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;left:14px}.buttons{flex-wrap:wrap;gap:8px;display:flex}.source{margin:0}.source>div{border-bottom:1px solid var(--border);gap:12px;padding:8px 0;display:flex}.source dt{width:60px;color:var(--muted);flex-shrink:0}.source dd{margin:0}.report{margin-top:12px}.field{padding:12px 0}.field h1{margin:8px 0 0;font-size:1.5rem}.field h2{margin:0 0 10px;font-size:1.05rem}.field-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:12px;padding:16px}.field-label{margin-bottom:6px;font-weight:700;display:block}.field input[type=text],.field textarea{width:100%;font:inherit;border:1.5px solid var(--border);background:var(--surface);border-radius:12px;padding:12px}.field-note{color:var(--muted);margin:6px 0 0;font-size:.85rem}.field-alert{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:12px;margin:12px 0 0;padding:10px 14px}.field .field-primary{background:var(--green);border-color:var(--green);color:#fff;width:100%;margin-top:12px;padding:14px;font-size:1.1rem}.field .field-danger{color:var(--danger);border-color:#f0b4ae}.field-status-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-dot{background:var(--no-bg);color:var(--no);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.field-dot.is-on{background:var(--heart-soft);color:var(--danger)}.field-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 0;display:grid}.field-stats div{background:var(--green-tint);border-radius:10px;padding:8px 10px}.field-stats dt{color:var(--muted);font-size:.75rem}.field-stats dd{color:var(--green-dark);margin:0;font-size:1.1rem;font-weight:800}.field-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.field-actions .field-primary{flex:1;width:auto;margin-top:0}.field-kinds{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.field .field-kind{border:1.5px solid var(--border);background:var(--green-tint);color:var(--text);border-radius:14px;justify-items:center;gap:2px;padding:12px 4px;font-size:.85rem;display:grid}.field-kind span{font-size:1.6rem;line-height:1.2}.field-kind:active:not(:disabled){background:var(--green-soft);transform:scale(.96)}.field-pois,.field-past{gap:8px;margin:0;padding:0;list-style:none;display:grid}.field-poi{border:1px solid var(--border);border-radius:12px;overflow:hidden}.field .field-poi-head{background:var(--surface);width:100%;color:var(--text);text-align:left;border:none;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 12px;font-weight:500;display:flex}.field-poi-note{width:100%;color:var(--muted);font-size:.9rem}.field-poi-body{gap:8px;padding:0 12px 12px;display:grid}.field-photo-input{text-align:center;border:1.5px dashed var(--green);color:var(--green-dark);cursor:pointer;border-radius:12px;padding:10px;font-weight:700;display:inline-block}.field-photo-input input{display:none}.field-thumbs{flex-wrap:wrap;gap:6px;display:flex}.field-thumb{object-fit:cover;background:var(--no-bg);border-radius:8px;width:72px;height:72px}.field-past li{border:1px solid var(--border);border-radius:12px;padding:12px}.field-past .field-actions button{padding:6px 12px;font-size:.9rem}.field-map-wrap{margin-top:8px;position:relative}.field-map{isolation:isolate;background:var(--green-tint);border-radius:12px;height:300px;overflow:hidden}.field-map-poi{border:2px solid var(--green);background:#fff;border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid;box-shadow:0 1px 4px #0000004d}.field-map-me{background:#2b7bc9;border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000059}.field-map-info{padding:8px 12px;font-size:.9rem;line-height:1.5}.field .field-map-follow{z-index:1000;padding:6px 12px;font-size:.85rem;position:absolute;bottom:24px;right:10px}.field-map-link{font-weight:700}.field-ready{background:var(--green-tint);border-radius:12px;margin-top:10px;padding:10px 12px}@media (max-width:600px){.hero h1{font-size:1.6rem}.hero-title{flex-direction:column}.stats>div{padding:12px}.stats dd{font-size:1.2rem}.section{padding:16px}}
