:root{--bg-color:#fff;--text-color:#000;--accent-color:#863bff;--paper-shadow:4px 4px 0px #000}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;overflow:hidden}button,input,textarea{font-family:inherit}#root{width:100%;height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}:root{--bg-color:#fff;--text-color:#000;--primary-color:#000;--accent-color:#863bff;--paper-shadow:4px 4px 0px #000;--hover-shadow:2px 2px 0px #000}.app-container{width:100vw;height:100vh;color:var(--text-color);font-family:Pretendard Variable,sans-serif;position:relative;overflow:hidden}.map-blur-overlay{pointer-events:none;z-index:1;background:radial-gradient(circle at var(--user-x,50%) var(--user-y,50%), transparent 0%, transparent 300px, #fff6 450px, #fffc 700px);width:100%;height:100%;position:absolute;top:0;left:0}.loading-screen{background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.loading-pin{margin-bottom:40px;transform:scale(2)}.loading-text{color:var(--text-color);text-transform:uppercase;letter-spacing:-1px;font-size:1.5rem;font-weight:800}.pin-modal{background-color:var(--bg-color);border-top:4px solid var(--text-color);z-index:1000;padding:30px 24px;transition:transform .3s ease-out;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0000001a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.modal-title{color:var(--text-color);text-transform:uppercase;letter-spacing:-1px;margin:0;font-size:1.8rem;font-weight:900}.close-button{border:2px solid var(--text-color);cursor:pointer;width:40px;height:40px;color:var(--text-color);background:#fff;justify-content:center;align-items:center;font-size:1.5rem;transition:all .1s;display:flex}.close-button:hover{background:var(--text-color);color:#fff;box-shadow:2px 2px 0px var(--accent-color);transform:translate(-2px,-2px)}.modal-content{color:var(--text-color);white-space:pre-wrap;margin-bottom:20px;font-size:1.2rem;font-weight:500;line-height:1.6}.modal-footer{color:#666;text-transform:uppercase;font-size:.9rem;font-weight:700}.locked-message{text-align:center;color:#000;border:2px dashed #000;padding:40px 10px}.locked-message p:first-child{margin-bottom:10px;font-size:1.4rem;font-weight:800}.error-overlay{color:#fff;border:2px solid var(--accent-color);box-shadow:4px 4px 0px var(--accent-color);z-index:2000;text-align:center;text-transform:uppercase;background-color:#000;width:90%;max-width:400px;padding:12px 24px;font-weight:800;position:absolute;top:20px;left:50%;transform:translate(-50%)}@keyframes float-rigid{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes pulse-brutal{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2)}}.cute-button{border:2px solid var(--text-color);color:var(--text-color);cursor:pointer;box-shadow:var(--paper-shadow);text-transform:uppercase;letter-spacing:-.5px;background-color:#fff;justify-content:center;align-items:center;padding:12px 24px;font-size:1rem;font-weight:800;transition:all .1s;display:flex}.cute-button:hover{box-shadow:6px 6px 0px var(--accent-color);transform:translate(-2px,-2px)}.cute-button:active{transform:translate(2px,2px);box-shadow:0 0 #000}.cute-button.active{background-color:var(--text-color);color:#fff}.primary-button{background-color:var(--text-color);color:#fff;border:2px solid var(--text-color)}.primary-button:hover{background-color:var(--accent-color);border-color:var(--accent-color)}.input-cute{border:2px solid var(--text-color);text-align:left;width:100%;color:var(--text-color);background:#fff;outline:none;margin-bottom:20px;padding:15px;font-size:1.1rem;font-weight:600;box-shadow:4px 4px #eee}.input-cute:focus{border-color:var(--accent-color);box-shadow:4px 4px 0px var(--accent-color)}::-webkit-scrollbar-thumb{background:var(--text-color)}
