:root{--navy:#2d3340;--teal:#10dfaa;--pink:#ff3b6e;--ink:#1a1a1e;--sub:#6e7079;--line:#e7e9ee;--bg:#f5f7fa;--card:#fff}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg)}body{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Malgun Gothic,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.45}.wrap{max-width:480px;margin:0 auto;padding:40px 18px 60px}.header{text-align:center;margin-bottom:26px}.header img.logo{width:76px;height:76px}.header h1{font-size:22px;font-weight:800;margin-top:10px;letter-spacing:-.02em}.header p{color:var(--sub);font-size:14px;margin-top:6px}.list{flex-direction:column}.card,.list{display:flex;gap:14px}.card{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;text-decoration:none;color:inherit;box-shadow:0 2px 10px rgba(20,20,30,.04);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,20,30,.09);border-color:#dfe2e9}.thumb{width:66px;height:84px;flex:0 0 auto;border-radius:12px;object-fit:cover;background:#eef1f5}.info{flex:1 1 auto;min-width:0}.info .danji{font-size:16px;font-weight:700;letter-spacing:-.01em}.info .station{font-size:13px;color:var(--sub);margin-top:2px}.info .price{font-size:13px;color:var(--navy);font-weight:600;margin-top:4px}.meta{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}.badge.open{background:#ffe7ee;color:var(--pink)}.badge.soon{background:#e7f0ff;color:#2f6fe6}.badge.closed{background:#eef0f3;color:#9a9da6}.period{font-size:12px;color:var(--sub)}.go{flex:0 0 auto;font-size:22px;color:var(--pink);font-weight:800}.empty{color:var(--sub);padding:40px 0}.empty,.footer{text-align:center}.footer{color:#aeb1ba;font-size:12px;margin-top:34px}.footer a{color:var(--sub);text-decoration:none}.search{position:relative;margin-bottom:18px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--sub)}.search input{width:100%;height:46px;border:1px solid var(--line);border-radius:14px;padding:0 14px 0 42px;font-size:15px;background:var(--card);color:var(--ink);outline:none}.search input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,59,110,.12)}.search input::placeholder{color:#9a9da6}.info .apply{font-size:13px;color:var(--sub);margin-top:4px}.card .badge{margin-left:auto}