:root{--gray-900: #1a1a1a;--gray-800: #282828;--gray-600: #777;--gray-500: #999;--gray-400: #aaa;--gray-300: #bbb;--gray-200: #ccc;--gray-100: #eeeeee;--cream: #faf8f3;--ivory: #f5f0e8;--sand: #d5d0c8;--taupe: #cbc5b8;--white: #fff;--red: #e63946;--red-rgb: 230, 57, 70;--shadow-card: 10px 10px 40px rgba(0, 0, 0, .11);--shadow-card-heavy: 20px 20px 50px rgba(0, 0, 0, .15);--shadow-image: 20px 20px 50px rgba(0, 0, 0, .3);--white-8: rgba(255, 255, 255, .08);--white-15: rgba(255, 255, 255, .15);--white-25: rgba(255, 255, 255, .25);--white-50: rgba(255, 255, 255, .5);--white-60: rgba(255, 255, 255, .6);--white-80: rgba(255, 255, 255, .8);--white-85: rgba(255, 255, 255, .85);--dark-75: rgba(30, 30, 30, .75);--gray-rgb: 160, 160, 160;--red-highlight-rgb: 255, 0, 0}*{margin:0;padding:0;box-sizing:border-box;touch-action:manipulation;word-break:keep-all}body{font-family:Pretendard Variable,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background-color:#1a1a1a}#app{min-height:100dvh}.layout{display:flex;min-height:100dvh}.layout-map{position:sticky;top:0;flex:1;height:100dvh;min-width:0;overflow:hidden}.layout-content{width:680px;flex-shrink:0;overflow-x:hidden;overflow-y:auto;background-color:#f5f1f1}.layout-map:after{content:"";position:absolute;top:0;right:0;width:40px;height:100%;background:linear-gradient(to left,rgba(0,0,0,.02),transparent);z-index:10;pointer-events:none}@media(max-width:1023px){.layout-map{display:none;position:fixed;inset:0;z-index:1000;height:100dvh;border-right:none}.layout-map.overlay-active{display:block;animation:mapOverlayIn .25s ease}.layout-content{width:100%}}.map-overlay-close{display:none}@media(max-width:1023px){.map-overlay-close{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:1001;width:48px;height:48px;border:none;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .15s}.map-overlay-close:active{background:#00000080}}@keyframes mapOverlayIn{0%{opacity:0}to{opacity:1}}
