:root{--primary: #00b4d8;--secondary: #ff4d6d;--bg-light: #f0f9ff;--text-main: #1d3557;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--shadow: 0 8px 32px 0 rgba(31, 38, 135, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,Noto Sans KR,sans-serif;background:linear-gradient(#e0f2f166,#b2ebf266),url(/background.png);background-size:cover;background-position:center;background-attachment:fixed;color:var(--text-main);min-height:100vh}#app{max-width:1200px;margin:0 auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-bottom:30px}.logo{display:flex;align-items:center;gap:10px}.logo h1{font-size:1.8rem;font-weight:700;color:var(--text-main);letter-spacing:-.5px}.api-status{display:flex;align-items:center;gap:10px;background:var(--glass-bg);padding:8px 15px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.8rem;font-weight:600}.status-dot{width:10px;height:10px;border-radius:50%;background:#ccc;display:inline-block}main{display:grid;grid-template-columns:1fr 400px;gap:30px}.glass-card{background:#ffffffbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid var(--glass-border);box-shadow:var(--shadow);padding:25px}.config-card{margin-bottom:20px}.config-card h2{font-size:1.3rem;margin-bottom:20px}.input-group{margin-bottom:15px}.input-group label{display:block;font-size:.9rem;margin-bottom:5px;font-weight:600;color:#555}.input-group select{width:100%;padding:12px;border-radius:12px;border:1px solid #ddd;background:#fff;font-size:1rem;outline:none}.primary-btn{width:100%;padding:15px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--primary),#0077b6);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00b4d866}.primary-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.result-area{min-height:400px}.empty-state{display:flex;justify-content:center;align-items:center;height:100%;color:#888;font-style:italic;background:#ffffff4d;border-radius:20px;border:2px dashed rgba(255,255,255,.5);padding:20px}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;gap:20px}.loading-voxel{width:250px;height:auto;animation:float 3s ease-in-out infinite}.loading-bar{width:200px;height:6px;background:#ffffff80;border-radius:10px;overflow:hidden}.loading-progress{width:0%;height:100%;background:var(--primary);animation:progress 2s infinite linear}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes progress{0%{width:0%;margin-left:0}50%{width:50%;margin-left:25%}to{width:0%;margin-left:100%}}.chat-card{height:700px;display:flex;flex-direction:column;position:sticky;top:20px}.chat-header{padding-bottom:15px;border-bottom:1px solid var(--glass-border);margin-bottom:15px}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:15px;padding-right:10px}.message{padding:12px 16px;border-radius:15px;max-width:85%;font-size:.95rem;line-height:1.5}.message.bot{align-self:flex-start;background:#fff;border-bottom-left-radius:2px}.message.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:2px}.chat-input-area{display:flex;gap:10px;padding-top:15px}.chat-input-area input{flex:1;padding:12px;border-radius:10px;border:1px solid #ddd;outline:none}.chat-input-area button{padding:0 20px;border-radius:10px;border:none;background:var(--text-main);color:#fff;cursor:pointer}.day-card{margin-bottom:25px;background:#fff9;border-radius:15px;overflow:hidden}.day-header{background:var(--primary);color:#fff;padding:10px 20px;font-weight:700}.day-content{padding:20px}.itinerary-item{display:flex;gap:15px;margin-bottom:15px}.time{font-weight:700;color:var(--primary);min-width:60px}.cost-summary{background:#e3f2fd;padding:20px;border-radius:15px;margin-top:20px;border-left:5px solid var(--primary)}.cost-summary h3{margin-bottom:10px;font-size:1.1rem}.restaurant-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.8rem;margin-right:5px;font-weight:700}.tag-tourist{background:#ffe0e6;color:#ff4d6d}.tag-local{background:#e0f2f1;color:#00897b}.place-card{display:block;background:#fff;padding:15px;border-radius:12px;text-decoration:none;color:inherit;transition:all .3s ease;border:1px solid transparent}.place-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a;border-color:var(--primary)}.place-info strong{display:block;margin:5px 0;font-size:1rem;color:var(--text-main)}.place-info p{font-size:.85rem;color:#666;margin-bottom:10px}.book-btn{display:inline-block;font-size:.8rem;color:var(--primary);font-weight:700}.inline-link{color:var(--primary);text-decoration:none;font-weight:700;border-bottom:1px dashed var(--primary);transition:all .2s}.inline-link:hover{color:var(--secondary);border-bottom-color:var(--secondary);background:#ff4d6d0d}@media (max-width: 900px){#app{padding:10px}header{flex-direction:column;gap:15px;text-align:center}main{grid-template-columns:1fr;gap:20px}.chat-card{height:500px;position:static}.loading-voxel{width:180px}.place-card{padding:12px}.local-tips div{grid-template-columns:1fr!important}}@media (max-width: 600px){body{background-attachment:scroll}.logo h1{font-size:1.5rem}.glass-card{padding:15px}}
