body{margin:0;padding:0;min-width:320px;min-height:100vh;min-height:100dvh}*,*:before,*:after{box-sizing:border-box}body{background:#0f0f1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;margin:0}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.header{text-align:center;padding:24px 16px 16px;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);flex-shrink:0}.header h1{font-size:1.4rem;font-weight:700;margin-bottom:16px;letter-spacing:-.3px}.buttons{display:flex;gap:12px;justify-content:center}.vote-btn{padding:12px 28px;font-size:1.05rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 4px 14px #0000004d}.vote-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0006}.vote-btn:active:not(:disabled){transform:scale(.96)}.vote-btn:disabled{opacity:.45;cursor:not-allowed}.vote-btn.happy{background:gold;color:#1a1200}.vote-btn.normal{background:orange;color:#1a0800}.vote-btn.sad{background:#6495ed;color:#fff}.voted-msg{margin-top:10px;color:#90ee90;font-size:.85rem}.map-area{flex:1;background:#0f0f1a;display:flex;align-items:center;overflow:hidden}.map-area svg{width:100%;height:auto;display:block}.footer{padding:14px 24px;background:#1a1a2e;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid #2a2a4e;flex-shrink:0}.temp-display{display:flex;flex-direction:column;gap:2px}.temp-label{font-size:.75rem;color:#888}.temp-value{font-size:2.4rem;font-weight:800;line-height:1}.graph-area{display:flex;flex-direction:column;gap:4px}.graph-label{font-size:.7rem;color:#666}.sparkline{display:block}.spark-empty{font-size:.75rem;color:#555}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#aaa;align-items:center}.legend span{margin-right:2px}@media(min-width:480px)and (max-width:767px){.header h1{font-size:1.2rem;margin-bottom:12px}.vote-btn{padding:10px 20px;font-size:.95rem}.footer{padding:12px 16px}.temp-value{font-size:2rem}.legend{font-size:.74rem;gap:8px}}@media(max-width:479px){.header{padding:12px 12px 10px}.header h1{font-size:1rem;margin-bottom:10px}.buttons{gap:6px}.vote-btn{flex:1;padding:10px 4px;font-size:.88rem;border-radius:40px}.voted-msg{font-size:.78rem}.footer{padding:10px 12px;flex-direction:column;align-items:flex-start;gap:10px}.temp-value{font-size:1.8rem}.legend{width:100%;font-size:.7rem;gap:6px}}@media(min-width:768px){.app{display:grid;grid-template-columns:340px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header map" "footer map"}.header{grid-area:header;text-align:left;padding:36px 28px 24px;background:#1a1a2e;border-right:1px solid #2a2a4e;border-bottom:1px solid #2a2a4e}.header h1{font-size:1.4rem;margin-bottom:24px;line-height:1.5}.buttons{flex-direction:column;gap:10px}.vote-btn{width:100%;padding:13px 16px}.voted-msg{text-align:left}.map-area{grid-area:map}.footer{grid-area:footer;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:24px 28px;background:#1a1a2e;border-right:1px solid #2a2a4e;border-top:1px solid #2a2a4e;gap:16px}.temp-value{font-size:2.8rem}}.privacy-wrap{min-height:100vh;background:#0f0f1a;color:#fff;padding:40px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}.privacy-content{max-width:720px;margin:0 auto}.privacy-content h1{font-size:1.8rem;font-weight:800;margin-bottom:8px;color:gold}.updated{font-size:.82rem;color:#666;margin-bottom:32px}section{margin-bottom:28px}section h2{font-size:1.1rem;font-weight:700;color:orange;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #2a2a4e}section p{font-size:.92rem;line-height:1.7;color:#ccc;margin-bottom:8px}section ul{padding-left:20px;margin-top:6px}section ul li{font-size:.92rem;line-height:1.7;color:#ccc;margin-bottom:6px}a{color:#6495ed;text-decoration:none}a:hover{text-decoration:underline}.back-btn{display:inline-block;margin-top:32px;padding:10px 24px;background:#1a1a2e;border:1px solid #2a2a4e;border-radius:40px;color:#aaa;font-size:.88rem;transition:background .2s}.back-btn:hover{background:#2a2a4e;text-decoration:none}@media(max-width:480px){.privacy-wrap{padding:24px 16px}.privacy-content h1{font-size:1.4rem}}
