/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0;}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.right-20{right:5rem}.right-4{right:1rem}.top-0{top:0}.top-16{top:4rem}.top-\[60px\]{top:60px}.z-40{z-index:40}.z-50{z-index:50}.z-\[999\]{z-index:999}.col-span-2{grid-column:span 2/span 2}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-80{height:20rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-0{max-height:0}.max-h-\[50vh\]{max-height:50vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[min\(80vh\2c 36rem\)\]{max-height:min(80vh,36rem)}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[calc\(100vw-2rem\)\]{width:calc(100vw - 2rem)}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[40px\]{min-width:40px}.min-w-\[48px\]{min-width:48px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[80\%\]{max-width:80%}.max-w-\[9\.5rem\]{max-width:9.5rem}.max-w-\[9rem\]{max-width:9rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2,.transform{-webkit-transform:none;transform:none;column-gap:1.25rem}.divide-y>:not([hidden])~:not([hidden]){border-top-width:1px;border-bottom-width:0}.divide-gray-100>:not([hidden])~:not([hidden]){border-color:rgb(243,244,246)}.divide-gray-200>:not([hidden])~:not([hidden]){border-color:rgb(229,231,235)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#FEE500\]{border-color:rgb(254,229,0)}.border-amber-200{border-color:rgb(253,230,138)}.border-blue-100{border-color:rgb(219,234,254)}.border-blue-200{border-color:rgb(191,219,254)}.border-blue-300{border-color:rgb(147,197,253)}.border-blue-50{border-color:rgb(239,246,255)}.border-blue-500{border-color:rgb(59,130,246)}.border-blue-600{border-color:rgb(37,99,235)}.border-blue-900{border-color:rgb(30,58,138)}.border-emerald-200{border-color:rgb(167,243,208)}.border-emerald-500{border-color:rgb(16,185,129)}.border-gray-100{border-color:rgb(243,244,246)}.border-gray-200{border-color:rgb(229,231,235)}.border-gray-200\/60{border-color:rgba(229,231,235,.6)}.border-gray-200\/90{border-color:rgba(229,231,235,.9)}.border-gray-300{border-color:rgb(209,213,219)}.border-gray-50{border-color:rgb(249,250,251)}.border-green-100{border-color:rgb(220,252,231)}.border-green-200{border-color:rgb(187,247,208)}.border-indigo-200{border-color:rgb(199,210,254)}.border-indigo-300{border-color:rgb(165,180,252)}.border-orange-100{border-color:rgb(255,237,213)}.border-orange-200{border-color:rgb(254,215,170)}.border-pink-100{border-color:rgb(252,231,243)}.border-red-100{border-color:rgb(254,226,226)}.border-red-200{border-color:rgb(254,202,202)}.border-red-50{border-color:rgb(254,242,242)}.border-transparent{border-color:transparent}.border-yellow-200{border-color:rgb(254,240,138)}.border-t-transparent{border-top-color:transparent}.bg-\[\#03C75A\]{background-color:rgb(3,199,90)}.bg-\[\#30B48B\]{background-color:rgb(48,180,139)}.bg-\[\#FEE500\]{background-color:rgb(254,229,0)}.bg-\[\#FF8A3D\]{background-color:rgb(255,138,61)}.bg-amber-100{background-color:rgb(254,243,199)}.bg-amber-50{background-color:rgb(255,251,235)}.bg-amber-50\/40{background-color:rgba(255,251,235,.4)}.bg-black{background-color:rgb(0,0,0)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-blue-100{background-color:rgb(219,234,254)}.bg-blue-50{background-color:rgb(239,246,255)}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-50\/80{background-color:rgba(239,246,255,.8)}.bg-blue-600{background-color:rgb(37,99,235)}.bg-blue-900{background-color:rgb(30,58,138)}.bg-emerald-100{background-color:rgb(209,250,229)}.bg-emerald-600{background-color:rgb(5,150,105)}.bg-gray-100{background-color:rgb(243,244,246)}.bg-gray-400{background-color:rgb(156,163,175)}.bg-gray-50{background-color:rgb(249,250,251)}.bg-gray-50\/60{background-color:rgba(249,250,251,.6)}.bg-gray-50\/70{background-color:rgba(249,250,251,.7)}.bg-gray-800{background-color:rgb(31,41,55)}.bg-gray-900{background-color:rgb(17,24,39)}.bg-green-50{background-color:rgb(240,253,244)}.bg-indigo-50{background-color:rgb(238,242,255)}.bg-indigo-900{background-color:rgb(49,46,129)}.bg-orange-100{background-color:rgb(255,237,213)}.bg-orange-50{background-color:rgb(255,247,237)}.bg-pink-50{background-color:rgb(253,242,248)}.bg-pink-500{background-color:rgb(236,72,153)}.bg-purple-50{background-color:rgb(250,245,255)}.bg-red-100{background-color:rgb(254,226,226)}.bg-red-50{background-color:rgb(254,242,242)}.bg-red-500{background-color:rgb(239,68,68)}.bg-rose-50{background-color:rgb(255,241,242)}.bg-white{background-color:rgb(255,255,255)}.bg-yellow-50{background-color:rgb(254,252,232)}.bg-gradient-to-r{background:#eff6ff;background-image:-webkit-linear-gradient(left,#eff6ff,#eef2ff);background-image:linear-gradient(to right,#eff6ff,#eef2ff);}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.text-\[\#000000\]{color:rgb(0,0,0)}.text-\[\#1a719c\]{color:rgb(26,113,156)}.text-\[\#FF8A3D\]{color:rgb(255,138,61)}.text-\[\#e6752d\]{color:rgb(230,117,45)}.text-amber-600{color:rgb(217,119,6)}.text-amber-700{color:rgb(180,83,9)}.text-amber-800{color:rgb(146,64,14)}.text-amber-900{color:rgb(120,53,15)}.text-blue-100{color:rgb(219,234,254)}.text-blue-200{color:rgb(191,219,254)}.text-blue-500{color:rgb(59,130,246)}.text-blue-600{color:rgb(37,99,235)}.text-blue-700{color:rgb(29,78,216)}.text-blue-800{color:rgb(30,64,175)}.text-blue-900{color:rgb(30,58,138)}.text-blue-950{color:rgb(23,37,84)}.text-emerald-500{color:rgb(16,185,129)}.text-emerald-600{color:rgb(5,150,105)}.text-emerald-700{color:rgb(4,120,87)}.text-emerald-800{color:rgb(6,95,70)}.text-gray-300{color:rgb(209,213,219)}.text-gray-400{color:rgb(156,163,175)}.text-gray-500{color:rgb(107,114,128)}.text-gray-600{color:rgb(75,85,99)}.text-gray-700{color:rgb(55,65,81)}.text-gray-800{color:rgb(31,41,55)}.text-gray-900{color:rgb(17,24,39)}.text-green-500{color:rgb(34,197,94)}.text-green-600{color:rgb(22,163,74)}.text-green-900{color:rgb(20,83,45)}.text-indigo-500{color:rgb(99,102,241)}.text-indigo-700{color:rgb(67,56,202)}.text-indigo-900{color:rgb(49,46,129)}.text-orange-500{color:rgb(249,115,22)}.text-orange-600{color:rgb(234,88,12)}.text-orange-700{color:rgb(194,65,12)}.text-orange-800{color:rgb(154,52,18)}.text-pink-700{color:rgb(190,24,93)}.text-pink-900{color:rgb(131,24,67)}.text-purple-700{color:rgb(126,34,206)}.text-red-500{color:rgb(239,68,68)}.text-red-600{color:rgb(220,38,38)}.text-red-700{color:rgb(185,28,28)}.text-red-800{color:rgb(153,27,27)}.text-red-900{color:rgb(127,29,29)}.text-rose-700{color:rgb(190,18,60)}.text-white{color:rgb(255,255,255)}.text-yellow-600{color:rgb(202,138,4)}.text-yellow-900{color:rgb(113,63,18)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.shadow-xl{outline-offset:2px}.drop-shadow-sm,.filter{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.before\:absolute:before{content:"";position:absolute}.before\:-right-1:before{content:"";right:-.25rem}.before\:top-1\/2:before{content:"";top:50%}.before\:-translate-y-1\/2:before{content:"";-webkit-transform:none;transform:none;border-width:4px}.before\:border-transparent:before{content:"";border-color:transparent}.before\:border-l-gray-800:before{content:"";border-left-color:rgb(31,41,55)}.before\:content-\[\'\'\]:before{content:""}.hover\:scale-110:hover{-webkit-transform:none;transform:none;background-color:rgb(2,179,81)}.hover\:bg-\[\#e6752d\]:hover{background-color:rgb(230,117,45)}.hover\:bg-amber-50:hover{background-color:rgb(255,251,235)}.hover\:bg-blue-50:hover{background-color:rgb(239,246,255)}.hover\:bg-blue-700:hover{background-color:rgb(29,78,216)}.hover\:bg-blue-800:hover{background-color:rgb(30,64,175)}.hover\:bg-emerald-700:hover{background-color:rgb(4,120,87)}.hover\:bg-gray-100:hover{background-color:rgb(243,244,246)}.hover\:bg-gray-200:hover{background-color:rgb(229,231,235)}.hover\:bg-gray-50:hover{background-color:rgb(249,250,251)}.hover\:bg-gray-700:hover{background-color:rgb(55,65,81)}.hover\:bg-green-50:hover{background-color:rgb(240,253,244)}.hover\:bg-orange-100:hover{background-color:rgb(255,237,213)}.hover\:bg-pink-600:hover{background-color:rgb(219,39,119)}.hover\:bg-red-600:hover{background-color:rgb(220,38,38)}.hover\:bg-white:hover{background-color:rgb(255,255,255)}.hover\:bg-yellow-400:hover{background-color:rgb(250,204,21)}.hover\:font-bold:hover{font-weight:700}.hover\:text-\[\#e6752d\]:hover{color:rgb(230,117,45)}.hover\:text-blue-800:hover{color:rgb(30,64,175)}.hover\:text-blue-900:hover{color:rgb(30,58,138)}.hover\:text-gray-600:hover{color:rgb(75,85,99)}.hover\:text-green-700:hover{color:rgb(21,128,61)}.hover\:text-red-600:hover{color:rgb(220,38,38)}.hover\:text-red-700:hover{color:rgb(185,28,28)}.hover\:text-white:hover{color:rgb(255,255,255)}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-transparent:focus{border-color:transparent}.focus\:bg-white:focus{background-color:rgb(255,255,255)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{color:rgb(30,58,138)}.group:hover .group-hover\:text-green-800{color:rgb(22,101,52)}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:border-blue-600{border-color:rgb(37,99,235)}.peer:checked~.peer-checked\:bg-blue-600{background-color:rgb(37,99,235)}.peer:checked~.peer-checked\:text-white{color:rgb(255,255,255)}@media (min-width:640px){.sm\:bottom-8{bottom:2rem}.sm\:right-8{right:2rem}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:w-96{width:24rem}.sm\:min-w-\[44px\]{min-width:44px}.sm\:min-w-\[52px\]{min-width:52px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-5{gap:1.25rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[11px\]{font-size:11px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mb-0{margin-bottom:0}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:justify-start{justify-content:flex-start}.md\:text-left{text-align:left}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.xl\:inline{display:inline}.xl\:max-w-\[14rem\]{max-width:14rem}.xl\:gap-3{gap:.75rem}.xl\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.xl\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\:text-sm{font-size:.875rem;line-height:1.25rem}}


/* === iOS 6 Safari Rock-Solid Layout & Visual Fixes === */

/* 1. Global Reset & Overflow Protection */
*, *::before, *::after {
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
    background-color: #f9fafb !important;
    color: #1f2937 !important;
    font-family: -apple-system, 'Apple SD Gothic Neo', AppleGothic, Helvetica, Arial, sans-serif !important;
}

/* CRITICAL: body must NOT be a flexbox in iOS 6 */
body, body.flex {
    display: block !important;
    min-height: 100% !important;
}

common-header, common-footer, main, section {
    display: block !important;
    width: 100% !important;
}

img {
    max-width: 100% !important;
    height: auto;
}

svg {
    display: inline-block !important;
    vertical-align: middle !important;
}

/* 2. WebKit 2009 Flexbox Primitives for iOS 6 */
.flex {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.inline-flex {
    display: -webkit-inline-box !important;
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flex-col {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
}

.flex-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
}

/* Flex wrap: 2009 webkit-box does NOT support wrap! Fall back to block with inline-block children */
.flex-wrap {
    display: block !important;
}
.flex-wrap > * {
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Justify Content */
.justify-between {
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
}
.justify-center {
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
}
.justify-end {
    -webkit-box-pack: end !important;
    -webkit-justify-content: flex-end !important;
    justify-content: flex-end !important;
}
.justify-start {
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
}

/* Align Items */
.items-center {
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
}
.items-start {
    -webkit-box-align: start !important;
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
}
.items-end {
    -webkit-box-align: end !important;
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
}
.items-baseline {
    -webkit-box-align: baseline !important;
    -webkit-align-items: baseline !important;
    align-items: baseline !important;
}
.items-stretch {
    -webkit-box-align: stretch !important;
    -webkit-align-items: stretch !important;
    align-items: stretch !important;
}

/* Flex item sizing */
.flex-1 {
    -webkit-box-flex: 1 !important;
    -webkit-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
}
.flex-grow {
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    flex-grow: 1 !important;
}
.flex-shrink-0, .shrink-0 {
    -webkit-flex-shrink: 0 !important;
    flex-shrink: 0 !important;
}

/* 3. Gap Emulation for iOS 6 (Flexbox rows only, NEVER for float grids) */
.flex.gap-1 > * + *, .gap-1:not(.grid) > * + * { margin-left: 0.25rem !important; }
.flex.gap-1\.5 > * + *, .gap-1\.5:not(.grid) > * + * { margin-left: 0.375rem !important; }
.flex.gap-2 > * + *, .gap-2:not(.grid) > * + * { margin-left: 0.5rem !important; }
.flex.gap-2\.5 > * + *, .gap-2\.5:not(.grid) > * + * { margin-left: 0.625rem !important; }
.flex.gap-3 > * + *, .gap-3:not(.grid) > * + * { margin-left: 0.75rem !important; }
.flex.gap-4 > * + *, .gap-4:not(.grid) > * + * { margin-left: 1rem !important; }
.flex.gap-5 > * + *, .gap-5:not(.grid) > * + * { margin-left: 1.25rem !important; }
.flex.gap-6 > * + *, .gap-6:not(.grid) > * + * { margin-left: 1.5rem !important; }
.flex.gap-8 > * + *, .gap-8:not(.grid) > * + * { margin-left: 2rem !important; }

/* Grid children NEVER have margin-left from gap emulation */
.grid > * + *, .grid > *, #main-left-column, #main-right-column, .col-half-left, .col-half-right {
    margin-left: 0 !important;
}

.flex-col.gap-1 > * + * { margin-left: 0 !important; margin-top: 0.25rem !important; }
.flex-col.gap-1\.5 > * + * { margin-left: 0 !important; margin-top: 0.375rem !important; }
.flex-col.gap-2 > * + * { margin-left: 0 !important; margin-top: 0.5rem !important; }
.flex-col.gap-2\.5 > * + * { margin-left: 0 !important; margin-top: 0.625rem !important; }
.flex-col.gap-3 > * + * { margin-left: 0 !important; margin-top: 0.75rem !important; }
.flex-col.gap-4 > * + * { margin-left: 0 !important; margin-top: 1rem !important; }
.flex-col.gap-6 > * + * { margin-left: 0 !important; margin-top: 1.5rem !important; }

.gap-x-1 > * + * { margin-left: 0.25rem !important; }
.gap-x-2 > * + * { margin-left: 0.5rem !important; }
.gap-x-3 > * + * { margin-left: 0.75rem !important; }
.gap-x-4 > * + * { margin-left: 1rem !important; }
.gap-x-5 > * + * { margin-left: 1.25rem !important; }
.gap-x-8 > * + * { margin-left: 2rem !important; }

.gap-y-1 > * + * { margin-top: 0.25rem !important; }
.gap-y-2 > * + * { margin-top: 0.5rem !important; }
.gap-y-3 > * + * { margin-top: 0.75rem !important; }
.gap-y-4 > * + * { margin-top: 1rem !important; }

/* 4. Spacing Utilities (.space-y-* and .space-x-*) */
.space-y-1 > * + * { margin-top: 0.25rem !important; }
.space-y-2 > * + * { margin-top: 0.5rem !important; }
.space-y-3 > * + * { margin-top: 0.75rem !important; }
.space-y-4 > * + * { margin-top: 1rem !important; }
.space-y-6 > * + * { margin-top: 1.5rem !important; }
.space-y-8 > * + * { margin-top: 2rem !important; }

.space-x-1 > * + * { margin-left: 0.25rem !important; }
.space-x-2 > * + * { margin-left: 0.5rem !important; }
.space-x-3 > * + * { margin-left: 0.75rem !important; }
.space-x-4 > * + * { margin-left: 1rem !important; }
.space-x-6 > * + * { margin-left: 1.5rem !important; }

/* 5. Clearfix for Floated Layouts (ONLY :after, NEVER :before) */
.clearfix:after,
main:after,
main.grid:after,
.grid:after,
.md\:grid-cols-2:after,
.lg\:grid-cols-2:after,
#flea-preview-container:after {
    content: "" !important;
    display: block !important;
    clear: both !important;
    height: 0 !important;
    visibility: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

/* Strictly disable :before pseudo-elements on all grid containers */
.clearfix:before,
main:before,
main.grid:before,
.grid:before,
.md\:grid-cols-2:before,
.lg\:grid-cols-2:before,
#flea-preview-container:before {
    content: none !important;
    display: none !important;
}

/* 6. Header Layout on Mobile & Desktop */
header {
    display: block !important;
    width: 100% !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #f3f4f6 !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
}

header .max-w-7xl {
    width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin: 0 auto !important;
}

header .h-16 {
    height: 4rem !important;
    line-height: 4rem !important;
    position: relative !important;
}

/* Mobile Header: Logo floats left, hamburger floats right */
header .flex-shrink-0 {
    float: left !important;
    height: 4rem !important;
    line-height: 4rem !important;
}

header h1 {
    margin: 0 !important;
    line-height: 4rem !important;
    font-size: 1.25rem !important;
}

header .h-16 > .lg\:hidden {
    float: right !important;
    height: 4rem !important;
}

#mobile-menu-btn {
    display: block !important;
    margin-top: 0.85rem !important;
    background: transparent !important;
    border: none !important;
    padding: 0.5rem !important;
    cursor: pointer !important;
}

#mobile-menu-btn svg {
    width: 1.5rem !important;
    height: 1.5rem !important;
    color: #4b5563 !important;
}

/* Mobile Dropdown Menu */
#mobile-menu {
    display: none;
}

#mobile-menu.is-open,
#mobile-menu.pointer-events-auto {
    display: block !important;
    position: absolute !important;
    top: 4rem !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 85vh !important;
    background-color: #ffffff !important;
    border-top: 1px solid #e5e7eb !important;
    -webkit-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    z-index: 99 !important;
    padding: 1rem !important;
    float: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

#mobile-menu .mobile-nav-link {
    display: block !important;
    width: 100% !important;
    padding: 0.625rem 0.75rem !important;
    font-size: 0.875rem !important;
    text-align: left !important;
    text-decoration: none !important;
    color: #374151 !important;
}

/* Desktop Header Navigation (>= 1024px) */
@media (min-width: 1024px) {
    header .flex-shrink-0 {
        float: none !important;
    }
    header .lg\:hidden {
        display: none !important;
    }
    header nav.hidden.lg\:flex {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
    }
    header .hidden.lg\:flex.items-center {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-align: center !important;
        -webkit-align-items: center !important;
        align-items: center !important;
        height: 4rem !important;
    }
    #nav-desktop-auth {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-align: center !important;
        -webkit-align-items: center !important;
        align-items: center !important;
        height: 4rem !important;
        line-height: normal !important;
    }
}

/* Header Auth Buttons — login/signup only (홈피·로그아웃·승인 링크는 header.css) */
#nav-desktop-auth {
    line-height: normal !important;
}
#nav-login-btn,
#nav-signup-btn {
    display: inline-block !important;
    height: 2.25rem !important;
    line-height: 2.25rem !important;
    padding: 0 0.875rem !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    border-radius: 0.375rem !important;
    -webkit-border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}
#nav-login-btn {
    margin: auto 0.5rem auto 0 !important;
}
#nav-signup-btn {
    margin: auto 0 !important;
}
#nav-signup-btn {
    background-color: #1e3a8a !important; /* bg-blue-900 */
    color: #ffffff !important;
    border: none !important;
}
#nav-login-btn {
    background: transparent !important;
    color: #4b5563 !important;
    border: none !important;
    margin-right: 0.5rem !important;
}

/* 7. Hero Section (Banner) */
section.hero-banner,
section.bg-gradient-to-br,
section[class*="from-emerald"],
section.bg-blue-900 {
    background-color: #022c22 !important;
    background-image: -webkit-linear-gradient(135deg, #022c22, #064e3b, #042f2e) !important;
    background-image: linear-gradient(135deg, #022c22, #064e3b, #042f2e) !important;
    color: #ffffff !important;
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
    text-align: center !important;
    position: relative !important;
}

section.hero-banner .inset-0,
section.bg-gradient-to-br .inset-0,
section[class*="from-emerald"] .inset-0,
section.bg-blue-900 .inset-0 {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

section.hero-banner img,
section.bg-gradient-to-br img,
section[class*="from-emerald"] img,
section.bg-blue-900 img {
    width: 100% !important;
    height: 100% !important;
    opacity: 0.2 !important;
}

section.hero-banner h2,
section.bg-gradient-to-br h2,
section[class*="from-emerald"] h2,
section.bg-blue-900 h2 {
    font-size: 1.875rem !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    margin-bottom: 1rem !important;
    color: #ffffff !important;
}

section.hero-banner p,
section.bg-gradient-to-br p,
section[class*="from-emerald"] p,
section.bg-blue-900 p {
    font-size: 1.125rem !important;
    line-height: 1.6 !important;
    color: #d1fae5 !important;
    margin-bottom: 1.5rem !important;
}

/* Hero CTA Buttons */
.mt-8.flex.flex-wrap.justify-center,
.mt-6.flex.flex-wrap.justify-center {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-top: 1.5rem !important;
    line-height: normal !important;
}

.mt-8.flex.flex-wrap.justify-center > a,
.mt-6.flex.flex-wrap.justify-center > a {
    display: inline-block !important;
    vertical-align: middle !important;
    padding: 0.75rem 1.5rem !important;
    margin: 0.5rem 0.85rem !important;
    font-weight: bold !important;
    font-size: 0.875rem !important;
    text-align: center !important;
    text-decoration: none !important;
    -webkit-border-radius: 0.5rem !important;
    border-radius: 0.5rem !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.mt-8.flex.flex-wrap.justify-center > a:first-child,
.mt-6.flex.flex-wrap.justify-center > a:first-child {
    margin-right: 0.85rem !important;
}

.mt-8.flex.flex-wrap.justify-center > a:last-child,
.mt-6.flex.flex-wrap.justify-center > a:last-child {
    margin-left: 0.85rem !important;
}

/* Specific styling for the 2 hero buttons to guarantee colors */
a[href*="cafe.naver.com"],
.bg-\[\#03C75A\] {
    background-color: #03C75A !important;
    color: #ffffff !important;
}

a[href*="cafe.naver.com"] svg {
    fill: #ffffff !important;
    color: #ffffff !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 0.5rem !important;
}

a[href*="hogangnono.com"] {
    background-color: #ffffff !important;
    color: #064e3b !important;
}

a[href*="hogangnono.com"] svg {
    stroke: #064e3b !important;
    color: #064e3b !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 0.5rem !important;
}

/* 8. Site Vision Bar */
.bg-gradient-to-r {
    background-color: #ecfdf5 !important;
    background-image: -webkit-linear-gradient(left, #ecfdf5, #f0fdfa, #ecfdf5) !important;
    background-image: linear-gradient(to right, #ecfdf5, #f0fdfa, #ecfdf5) !important;
    border-bottom: 1px solid #a7f3d0 !important;
    padding: 1rem !important;
    text-align: center !important;
}

.bg-gradient-to-r p {
    margin: 0.25rem 0 !important;
}

.bg-gradient-to-r p:first-of-type {
    color: #022c22 !important;
}

.bg-gradient-to-r p:last-of-type {
    color: #475569 !important;
}

/* 9. Main Content Layout */
main, main.grid {
    display: block !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 1.5rem 1rem !important;
    box-sizing: border-box !important;
}

/* Mobile: stack vertically */
#main-left-column,
#main-right-column,
.col-half-left,
.col-half-right,
.grid > div,
main.grid > div,
.md\:grid-cols-2 > div,
.lg\:grid-cols-2 > div,
#flea-preview-container > a,
#flea-preview-container > div {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

#main-left-column {
    margin-bottom: 2rem !important;
}

main.grid > div {
    margin-bottom: 1.5rem !important;
}

.col-half-left, .col-half-right, .md\:grid-cols-2 > div {
    margin-bottom: 1rem !important;
}

.lg\:grid-cols-2 > div {
    margin-bottom: 1.5rem !important;
}

#flea-preview-container > a,
#flea-preview-container > div {
    margin-bottom: 0.75rem !important;
}

/* Card 2 & Grid Containers (Block & Clearfix) */
.grid.grid-cols-1.md\:grid-cols-2,
.md\:grid-cols-2,
.lg\:grid-cols-2 {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}
.grid.grid-cols-1.md\:grid-cols-2:after,
.md\:grid-cols-2:after,
.lg\:grid-cols-2:after {
    content: "" !important;
    display: block !important;
    clear: both !important;
    height: 0 !important;
    visibility: hidden !important;
}

/* Desktop 2-column layout (>= 768px) */
@media screen and (min-width: 768px) {
    #main-left-column,
    main.grid > div:first-child,
    main.grid > .md\:col-span-2 {
        display: block !important;
        float: left !important;
        width: 65% !important;
        margin-left: 0 !important;
        margin-right: 3% !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    #main-right-column,
    main.grid > div:last-child,
    main.grid > .space-y-6 {
        display: block !important;
        float: right !important;
        width: 32% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    .col-half-left,
    .grid > .col-half-left,
    .md\:grid-cols-2 > .col-half-left,
    .md\:grid-cols-2 > div:first-child,
    .lg\:grid-cols-2 > div:first-child {
        display: block !important;
        float: left !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 3% !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    .col-half-right,
    .grid > .col-half-right,
    .md\:grid-cols-2 > .col-half-right,
    .md\:grid-cols-2 > div:last-child,
    .md\:grid-cols-2 > div:nth-child(2n),
    .lg\:grid-cols-2 > div:last-child {
        display: block !important;
        float: right !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    #flea-preview-container > a:first-child,
    #flea-preview-container > div:first-child:not(.col-span-2) {
        display: block !important;
        float: left !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 3% !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    #flea-preview-container > a:last-child,
    #flea-preview-container > a:nth-child(2n),
    #flea-preview-container > div:last-child:not(.col-span-2) {
        display: block !important;
        float: right !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Large desktop (>= 1024px) */
@media screen and (min-width: 1024px) {
    #main-left-column,
    main.grid > div:first-child,
    main.grid > .md\:col-span-2 {
        display: block !important;
        float: left !important;
        width: 65% !important;
        margin-left: 0 !important;
        margin-right: 3% !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    #main-right-column,
    main.grid > div:last-child,
    main.grid > .space-y-6 {
        display: block !important;
        float: right !important;
        width: 32% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    .col-half-left,
    .grid > .col-half-left,
    .md\:grid-cols-2 > .col-half-left,
    .md\:grid-cols-2 > div:first-child,
    .lg\:grid-cols-2 > div:first-child {
        display: block !important;
        float: left !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 3% !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
    .col-half-right,
    .grid > .col-half-right,
    .md\:grid-cols-2 > .col-half-right,
    .md\:grid-cols-2 > div:last-child,
    .md\:grid-cols-2 > div:nth-child(2n),
    .lg\:grid-cols-2 > div:last-child {
        display: block !important;
        float: right !important;
        width: 48.5% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Card 1 & Card 2 Internal Elements — only 부동산 매물 카드(div.col-half-*), not flea <a.col-half-*> */
div.col-half-left,
div.col-half-right {
    min-height: 14rem !important;
}

div.col-half-left > a,
div.col-half-right > a {
    display: block !important;
    width: 100% !important;
    height: 2.375rem !important;
    line-height: 2.375rem !important;
    padding: 0 0.5rem !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-radius: 0.25rem !important;
    -webkit-border-radius: 0.25rem !important;
    font-size: 0.8125rem !important;
    font-weight: bold !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

div.col-half-left > a {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    color: #374151 !important;
}

div.col-half-right > a {
    background-color: #047857 !important; /* emerald-700 */
    color: #ffffff !important;
    border: none !important;
}

div.col-half-left > ul {
    list-style: none !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

div.col-half-left > ul > li {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-pack: justify !important;
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    height: 1.75rem !important;
    line-height: 1.75rem !important;
}

#index-reviews-container {
    height: 4.25rem !important;
    min-height: 4.25rem !important;
    max-height: 4.25rem !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 1rem !important;
}

a[href*="type-info.html"].bg-blue-900,
a[href*="type-info.html"].bg-emerald-700 {
    display: block !important;
    width: 100% !important;
    background-color: #047857 !important; /* emerald-700 */
    color: #ffffff !important;
    height: 2.5rem !important;
    line-height: 2.5rem !important;
    padding: 0 1rem !important;
    text-align: center !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    border-radius: 0.25rem !important;
    -webkit-border-radius: 0.25rem !important;
    font-weight: bold !important;
    font-size: 0.875rem !important;
    box-sizing: border-box !important;
}

/* 10. Card Styling & Colors */
.bg-white { background-color: #ffffff !important; }
.bg-gray-50 { background-color: #f9fafb !important; }
.bg-gray-100 { background-color: #f3f4f6 !important; }
.bg-gray-200 { background-color: #e5e7eb !important; }
.bg-gray-800 { background-color: #1f2937 !important; }
.bg-gray-900 { background-color: #111827 !important; }
.bg-blue-50 { background-color: #eff6ff !important; }
.bg-blue-100 { background-color: #dbeafe !important; }
.bg-blue-600 { background-color: #2563eb !important; }
.bg-blue-800 { background-color: #1e40af !important; }
.bg-blue-900 { background-color: #1e3a8a !important; }
.bg-red-50 { background-color: #fef2f2 !important; }
.bg-red-100 { background-color: #fee2e2 !important; }
.bg-red-500 { background-color: #ef4444 !important; }
.bg-red-600 { background-color: #dc2626 !important; }
.bg-yellow-50 { background-color: #fefce8 !important; }
.bg-pink-50 { background-color: #fdf2f8 !important; }
.bg-pink-500 { background-color: #ec4899 !important; }
.bg-pink-600 { background-color: #db2777 !important; }
.bg-green-50 { background-color: #f0fdf4 !important; }
.bg-emerald-100 { background-color: #d1fae5 !important; }
.bg-emerald-600 { background-color: #059669 !important; }
.bg-emerald-700 { background-color: #047857 !important; }
.bg-indigo-50 { background-color: #eef2ff !important; }
.bg-indigo-900 { background-color: #312e81 !important; }
.bg-amber-100 { background-color: #fef3c7 !important; }
.bg-orange-50 { background-color: #fff7ed !important; }
.bg-orange-100 { background-color: #ffedd5 !important; }

/* Text colors */
.text-white { color: #ffffff !important; }
.text-blue-900 { color: #1e3a8a !important; }
.text-blue-800 { color: #1e40af !important; }
.text-blue-600 { color: #2563eb !important; }
.text-blue-500 { color: #3b82f6 !important; }
.text-gray-900 { color: #111827 !important; }
.text-gray-800 { color: #1f2937 !important; }
.text-gray-700 { color: #374151 !important; }
.text-gray-600 { color: #4b5563 !important; }
.text-gray-500 { color: #6b7280 !important; }
.text-gray-400 { color: #9ca3af !important; }
.text-green-600 { color: #16a34a !important; }
.text-green-500 { color: #22c55e !important; }
.text-red-500 { color: #ef4444 !important; }
.text-red-700 { color: #b91c1c !important; }
.text-red-800 { color: #991b1b !important; }
.text-red-900 { color: #7f1d1d !important; }
.text-pink-700 { color: #be185d !important; }
.text-pink-900 { color: #831843 !important; }
.text-yellow-600 { color: #ca8a04 !important; }
.text-yellow-900 { color: #713f12 !important; }
.text-amber-800 { color: #92400e !important; }

/* Slash-opacity color support */
.bg-black\/60 { background-color: rgba(0, 0, 0, 0.6) !important; }
.bg-gray-50\/70 { background-color: rgba(249, 250, 251, 0.7) !important; }
.bg-gray-50\/60 { background-color: rgba(249, 250, 251, 0.6) !important; }
.bg-blue-50\/80 { background-color: rgba(239, 246, 255, 0.8) !important; }
.bg-blue-50\/50 { background-color: rgba(239, 246, 255, 0.5) !important; }
.bg-amber-50\/40 { background-color: rgba(254, 252, 232, 0.4) !important; }
.border-gray-200\/60 { border-color: rgba(229, 231, 235, 0.6) !important; }
.border-gray-200\/90 { border-color: rgba(229, 231, 235, 0.9) !important; }

.rounded-xl { -webkit-border-radius: 0.75rem !important; border-radius: 0.75rem !important; }
.rounded-lg { -webkit-border-radius: 0.5rem !important; border-radius: 0.5rem !important; }
.rounded-md { -webkit-border-radius: 0.375rem !important; border-radius: 0.375rem !important; }
.rounded-full { -webkit-border-radius: 9999px !important; border-radius: 9999px !important; }

.shadow-sm { -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; }
.border { border-width: 1px !important; border-style: solid !important; }
.border-gray-100 { border-color: #f3f4f6 !important; }
.border-gray-200 { border-color: #e5e7eb !important; }
.border-blue-100 { border-color: #dbeafe !important; }
.border-blue-200 { border-color: #bfdbfe !important; }
.border-red-100 { border-color: #fee2e2 !important; }
.border-yellow-200 { border-color: #fef08a !important; }
.border-pink-100 { border-color: #fce7f3 !important; }
.border-green-100 { border-color: #dcfce7 !important; }

/* 11. Weather Widget Horizontal Scroll on iOS & Modern Browsers (스크롤바 숨김 처리) */
.weather-scroll {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
    display: block !important;
    width: 100% !important;
    padding-bottom: 0.5rem !important;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE 10+ */
}

.weather-scroll::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
    width: 0 !important;
    height: 0 !important;
}

.weather-scroll > div {
    display: inline-block !important;
    vertical-align: top !important;
    white-space: normal !important;
    margin-right: 0.75rem !important;
}

/* 12. Suggestion Filter Tabs */
.suggestion-cat-btn, .suggestion-status-btn {
    display: inline-block !important;
    vertical-align: middle !important;
    padding: 0.25rem 0.625rem !important;
    font-size: 0.75rem !important;
    margin: 0.15rem !important;
    -webkit-border-radius: 0.5rem !important;
    border-radius: 0.5rem !important;
    cursor: pointer !important;
}

/* 13. Floating Chatbot Button & Window */
#chatbot-open-btn {
    position: fixed !important;
    bottom: 1.5rem !important;
    right: 1rem !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    background-color: #047857 !important; /* emerald-700 */
    color: #ffffff !important;
    border: none !important;
    -webkit-border-radius: 9999px !important;
    border-radius: 9999px !important;
    -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
    z-index: 40 !important;
    cursor: pointer !important;
}

#chatbot-open-btn > span {
    display: none !important; /* Hide tooltip that causes horizontal scroll on iOS */
}

#chatbot-window {
    width: 90% !important;
    right: 5% !important;
    max-width: 24rem !important;
}

/* 14. Modals on iOS 6 - Default Hidden */
#suggestion-write-modal,
#waste-stores-modal,
#chatbot-window {
    display: none !important;
}

#suggestion-write-modal.is-open,
#waste-stores-modal.is-open {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.6) !important;
    z-index: 999 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

#chatbot-window.is-open {
    display: block !important;
}

/* Visibility Guards - Highest specificity */
.hidden,
[hidden],
*.hidden,
#suggestion-write-modal.hidden,
#waste-stores-modal.hidden,
#chatbot-window.hidden {
    display: none !important;
}

#suggestion-write-modal > div, #waste-stores-modal > div {
    width: 92% !important;
    max-width: 36rem !important;
    margin: 1.5rem auto !important;
    background-color: #ffffff !important;
    -webkit-border-radius: 1rem !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Float 2-column layout for chat rooms, topics, and contact cards in non-grid browsers */
#index-chat-rooms-container:after,
#index-topic-list-container:after,
.contact-grid:after {
    content: "" !important;
    display: block !important;
    clear: both !important;
    height: 0 !important;
    visibility: hidden !important;
}

@media screen and (min-width: 640px) {
    #index-chat-rooms-container > a:nth-child(odd),
    #index-topic-list-container > a:nth-child(odd),
    .contact-grid > div:first-child,
    .contact-grid > div:nth-child(odd) {
        float: left !important;
        width: 48.5% !important;
        margin-right: 3% !important;
        margin-left: 0 !important;
        margin-bottom: 0.75rem !important;
        box-sizing: border-box !important;
    }

    #index-chat-rooms-container > a:nth-child(even),
    #index-topic-list-container > a:nth-child(even),
    .contact-grid > div:last-child,
    .contact-grid > div:nth-child(even) {
        float: right !important;
        width: 48.5% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 0.75rem !important;
        box-sizing: border-box !important;
    }
}

/* 15. Modern Browser Native Overrides
   NOTE: media-query float rules use :first-child/:nth-child (higher specificity).
   Resets here must match or exceed that specificity or PC gets 48.5% widths inside grid cells. */
@supports (display: grid) {
    main.grid {
        display: grid !important;
    }
    #main-left-column,
    main.grid > div:first-child,
    main.grid > .md\:col-span-2,
    #main-right-column,
    main.grid > div:last-child,
    main.grid > .space-y-6 {
        float: none !important;
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
    }
    .md\:grid-cols-2,
    .lg\:grid-cols-2,
    .sm\:grid-cols-2,
    .grid.grid-cols-1.md\:grid-cols-2,
    #flea-preview-container,
    #index-chat-rooms-container,
    #index-topic-list-container,
    .contact-grid {
        display: grid !important;
    }
    .col-half-left,
    .col-half-right,
    .grid > .col-half-left,
    .grid > .col-half-right,
    .md\:grid-cols-2 > div,
    .md\:grid-cols-2 > div:first-child,
    .md\:grid-cols-2 > div:last-child,
    .md\:grid-cols-2 > div:nth-child(2n),
    .md\:grid-cols-2 > .col-half-left,
    .md\:grid-cols-2 > .col-half-right,
    .lg\:grid-cols-2 > div,
    .lg\:grid-cols-2 > div:first-child,
    .lg\:grid-cols-2 > div:last-child,
    .lg\:grid-cols-2 > div:nth-child(2n),
    .lg\:grid-cols-2 > .col-half-left,
    .lg\:grid-cols-2 > .col-half-right,
    #flea-preview-container > a,
    #flea-preview-container > a:first-child,
    #flea-preview-container > a:last-child,
    #flea-preview-container > a:nth-child(2n),
    #flea-preview-container > div,
    #flea-preview-container > div:first-child,
    #flea-preview-container > div:last-child,
    #flea-preview-container > div:nth-child(2n),
    #index-chat-rooms-container > a,
    #index-chat-rooms-container > a:nth-child(odd),
    #index-chat-rooms-container > a:nth-child(even),
    #index-chat-rooms-container > a:nth-child(2n),
    #index-chat-rooms-container > a:nth-child(2n+1),
    #index-chat-rooms-container > div,
    #index-topic-list-container > a,
    #index-topic-list-container > a:nth-child(odd),
    #index-topic-list-container > a:nth-child(even),
    #index-topic-list-container > a:nth-child(2n),
    #index-topic-list-container > div,
    .contact-grid > div,
    .contact-grid > div:first-child,
    .contact-grid > div:last-child,
    .contact-grid > div:nth-child(odd),
    .contact-grid > div:nth-child(even),
    .grid > div,
    .grid > a {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    #index-chat-rooms-container > a,
    #index-chat-rooms-container > a:nth-child(odd),
    #index-chat-rooms-container > a:nth-child(even),
    #index-chat-rooms-container > a:nth-child(2n),
    #index-chat-rooms-container > a:nth-child(2n+1) {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: row !important;
        flex-direction: row !important;
        -webkit-box-align: center !important;
        -webkit-align-items: center !important;
        align-items: center !important;
    }
}

@supports (display: flex) {
    .flex {
        display: flex !important;
    }
    .inline-flex {
        display: inline-flex !important;
    }
    .flex-wrap {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    .flex-wrap > * {
        display: block;
        vertical-align: baseline;
    }
    .mt-8.flex.flex-wrap.justify-center {
        display: flex !important;
    }
    .mt-8.flex.flex-wrap.justify-center > a {
        display: inline-flex !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }
    .gap-1 > * + *, .gap-1\.5 > * + *, .gap-2 > * + *, .gap-2\.5 > * + *,
    .gap-3 > * + *, .gap-4 > * + *, .gap-5 > * + *, .gap-6 > * + *, .gap-8 > * + *,
    .gap-x-1 > * + *, .gap-x-2 > * + *, .gap-x-3 > * + *, .gap-x-4 > * + *,
    .gap-x-5 > * + *, .gap-x-8 > * + * {
        margin-left: 0 !important;
    }
    .flex-col.gap-1 > * + *, .flex-col.gap-1\.5 > * + *, .flex-col.gap-2 > * + *,
    .flex-col.gap-2\.5 > * + *, .flex-col.gap-3 > * + *, .flex-col.gap-4 > * + *,
    .flex-col.gap-6 > * + *, .gap-y-1 > * + *, .gap-y-2 > * + *, .gap-y-3 > * + *,
    .gap-y-4 > * + * {
        margin-top: 0 !important;
    }
}

/* 16. Utility classes & SVG bounding fallback for modern WebKit / Safari */
svg {
    max-width: 100%;
}
.w-3\.5, svg.w-3\.5 { width: 0.875rem !important; max-width: 0.875rem !important; }
.h-3\.5, svg.h-3\.5 { height: 0.875rem !important; max-height: 0.875rem !important; }
.w-4, svg.w-4 { width: 1rem !important; max-width: 1rem !important; }
.h-4, svg.h-4 { height: 1rem !important; max-height: 1rem !important; }
.w-5, svg.w-5 { width: 1.25rem !important; max-width: 1.25rem !important; }
.h-5, svg.h-5 { height: 1.25rem !important; max-height: 1.25rem !important; }
.w-6, svg.w-6 { width: 1.5rem !important; max-width: 1.5rem !important; }
.h-6, svg.h-6 { height: 1.5rem !important; max-height: 1.5rem !important; }
.w-7 { width: 1.75rem !important; max-width: 1.75rem !important; }
.h-7 { height: 1.75rem !important; max-height: 1.75rem !important; }
.w-8, svg.w-8 { width: 2rem !important; max-width: 2rem !important; }
.h-8, svg.h-8 { height: 2rem !important; max-height: 2rem !important; }
.w-9 { width: 2.25rem !important; max-width: 2.25rem !important; }
.h-9 { height: 2.25rem !important; max-height: 2.25rem !important; }
.w-10 { width: 2.5rem !important; max-width: 2.5rem !important; }
.h-10 { height: 2.5rem !important; max-height: 2.5rem !important; }

.w-7.h-7 {
    width: 1.75rem !important;
    height: 1.75rem !important;
    min-width: 1.75rem !important;
    min-height: 1.75rem !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -webkit-align-items: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -webkit-justify-content: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    -webkit-flex-shrink: 0 !important;
}

.w-7.h-7 > svg,
.w-7 > svg {
    width: 0.875rem !important;
    height: 0.875rem !important;
    min-width: 0.875rem !important;
    min-height: 0.875rem !important;
    max-width: 0.875rem !important;
    max-height: 0.875rem !important;
    display: block !important;
    flex-shrink: 0 !important;
    -webkit-flex-shrink: 0 !important;
}

.break-keep {
    word-break: keep-all !important;
}
.whitespace-nowrap {
    white-space: nowrap !important;
}

