*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:#f5f7fb;color:#242b3b;font-family:Arial,'Malgun Gothic',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{max-width:1220px;margin:auto;padding-left:18px;padding-right:18px}.ticker{background:#18243a;color:#cbd5e1;font-size:12px}.ticker-inner{height:35px;display:flex;align-items:center;gap:20px;white-space:nowrap;overflow:hidden}.ticker strong{color:#ffda6b}.header{background:#fff;border-bottom:1px solid #e7ebf1}.head-inner{display:flex;align-items:center;gap:35px;min-height:91px}.brand{font-size:31px;font-weight:900;letter-spacing:-2px;white-space:nowrap;color:#1c2b49}.brand span{color:#e34d58}.brand small{display:block;font-size:9px;letter-spacing:2.8px;color:#94a0b5;text-align:center;margin-top:1px}.search{display:flex;max-width:520px;flex:1;border:2px solid #31456b;border-radius:7px;overflow:hidden;height:43px}.search input{width:100%;min-width:0;border:0;outline:none;padding:0 14px}.search button{border:0;background:#31456b;color:white;padding:0 18px;cursor:pointer}.favorite-btn{margin-left:auto;white-space:nowrap;background:white;border:1px solid #d9e0eb;border-radius:7px;padding:12px;cursor:pointer}.favorite-btn span{color:#d84754}.nav{background:#253756;box-shadow:0 3px 9px #0001}.nav-inner{display:flex;flex-wrap:wrap;gap:0}.nav-link{padding:13px 12px;color:#edf2fa;font-size:13px;white-space:nowrap}.nav-link:hover,.nav-link.active{background:#e44f5b;color:white}.intro{display:flex;align-items:center;justify-content:space-between;padding:27px 0 23px}.intro h1{font-size:23px;letter-spacing:-1px;margin:0 0 7px}.intro h1 span{color:#e44f5b}.intro p{margin:0;color:#7a8497}.intro-count{color:#7c8797}.intro-count strong{color:#d84a55}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:45px}.category{min-width:0;background:white;border:1px solid #e2e7ef;border-radius:8px;box-shadow:0 3px 11px #1c29400a;overflow:hidden}.card-title{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid #e9edf3;background:#fbfcff}.card-title h2{font-size:16px;margin:0;letter-spacing:-.5px}.card-title em{font-size:10px;color:#e44f5b;font-style:normal;margin-left:4px}.card-title>span{color:#9ca6b4;font-size:11px}.category ol{padding:7px 14px 12px;margin:0;list-style:none}.category li{display:flex;align-items:center;height:35px;border-bottom:1px solid #f1f3f7;gap:12px}.category li:last-child{border:0}.rank{width:22px;height:22px;display:grid;place-items:center;font-size:12px;color:#8490a1;font-weight:700;flex-shrink:0}.rank.top{background:#fcecef;color:#d94c5a;border-radius:5px}.site-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.site-name[href]:hover{color:#e44f5b;text-decoration:underline}.star{border:0;background:transparent;color:#a9b2c0;font-size:21px;cursor:pointer}.star.selected{color:#e3a12b}.category li[hidden],.category[hidden],#empty[hidden],.modal[hidden]{display:none}#empty{background:white;padding:30px;text-align:center;border:1px solid #e3e8f0;border-radius:8px;margin-bottom:30px}footer{background:#202d44;color:#fff;padding:29px 0}footer strong{font-size:20px}footer p,footer small{color:#aab5c7}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:18px;z-index:10}.modal-panel{background:white;border-radius:10px;padding:22px;width:min(480px,100%);max-height:80vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head button{background:#f0f2f6;border:0;padding:9px 12px;border-radius:6px;cursor:pointer}.fav-entry{padding:12px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.fav-entry button{border:0;background:none;color:#c74b59;cursor:pointer}@media(max-width:1050px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.head-inner{gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{font-size:25px}.search{order:3;flex-basis:100%;max-width:none}.nav-inner{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.nav-link{padding:12px 10px}.intro{padding:22px 0}.intro h1{font-size:19px}.intro-count{display:none}}@media(max-width:420px){.cards{grid-template-columns:1fr}.category li{height:37px}.intro h1{font-size:18px}.favorite-btn{padding:9px}}

/* screenshot-inspired light theme */
body{background:#fff8f0;color:#4c3a32}.shell{max-width:1100px}.ticker{background:#fff;color:#ab5d3a;border-bottom:1px solid #f6e0d1}.ticker strong{color:#ee658a}.header{background:#fff}.head-inner{justify-content:center;min-height:88px}.brand{color:#f12468;font-size:34px}.brand span{color:#ff689a}.nav{background:#fff;border-top:1px solid #ffe3d1;border-bottom:1px solid #ffe3d1;box-shadow:none}.nav-link{color:#9d4d45;padding:10px}.nav-link:hover,.nav-link.active{background:#fff0f3;color:#f52a6d}.intro{padding:14px 0}.intro h1{font-size:17px}.intro p{font-size:12px}.cards{gap:12px;margin-bottom:28px}.category{border:1px solid #ffd8b7;border-radius:7px;box-shadow:none}.card-title{background:#fff2f5;border-bottom:1px solid #ffdfdc;padding:10px 12px}.card-title h2{font-size:13px;color:#f42e6b}.category ol{padding:7px 12px}.category li{height:30px;gap:8px;border:0;font-size:12px}.rank{background:#fff0db;color:#b86611;border-radius:50%;font-size:11px}.rank.top{background:#f6c64c;color:#573700;border-radius:50%}.site-name{color:#403d72}footer{background:#ffc2d2;color:#a94e65}footer p,footer small{color:#a94e65}.banner-slot{min-height:90px;border:1px dashed #f3d4c4;border-radius:6px;background:#fffaf5;margin:12px 0 16px;display:flex;align-items:center;justify-content:center}.banner-slot.empty{color:#c9b8b1;font-size:12px}.banner-slot img{max-width:100%;max-height:180px;object-fit:contain}.admin-bar{background:#fff0c9;border-bottom:1px solid #e4c67b;padding:9px 0}.admin-bar .shell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-btn,.edit-btn{border:1px solid #e7a9ba;background:white;color:#be3661;padding:5px 9px;border-radius:5px;cursor:pointer;font-size:12px}.edit-btn{margin-left:auto}.admin-actions{display:flex;gap:5px;padding:0 12px 9px}.admin-form{background:white;border:1px solid #f1c3ce;padding:18px;border-radius:8px;max-width:540px;margin:20px auto}.admin-form label{display:block;margin:12px 0 4px;font-weight:bold}.admin-form input,.admin-form select{width:100%;padding:9px;border:1px solid #ddd;border-radius:4px}.admin-form button{margin-top:12px}.notice{padding:10px;background:#fff0ce;margin:10px 0;border-radius:5px}.banner-slot.empty:not(.editable){visibility:hidden}.banner-slot.empty.editable{min-height:90px}.card-title .edit-btn{font-size:11px}.admin-link-edit{display:none}.is-admin .admin-link-edit{display:inline-block}.is-admin .category li .star{margin-left:0}.is-admin .category li .edit-btn{padding:2px 5px}.modal{z-index:20}@media(max-width:740px){.shell{padding-left:12px;padding-right:12px}.head-inner{justify-content:space-between}.banner-slot{min-height:60px}}

/* bulletin boards */
.board-quick{margin:20px 0;padding:18px;border-radius:12px;background:#fff;border:1px solid #f2d6dd}.board-quick h2{font-size:17px;margin:0 0 12px}.board-quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.board-quick-grid a{padding:13px;border:1px solid #eadbe1;border-radius:10px;text-decoration:none;color:#df356d;font-weight:700}.board-quick-grid span{float:right}.board-wrap{max-width:1000px;padding-top:30px;min-height:70vh}.board-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.board-heading h1{font-size:24px}.board-table{border-top:2px solid #f58da8;background:#fff}.board-table-head,.board-table-row{display:grid;grid-template-columns:75px minmax(0,1fr) 110px 65px;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #eee}.board-table-head{font-weight:700;background:#fff1f5}.board-table-row{text-decoration:none;color:#303030}.board-table-row:hover{background:#fff7fa}.board-subject{display:flex;align-items:center;gap:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.board-subject img{width:55px;height:42px;object-fit:cover;border-radius:5px}.board-none{text-align:center;padding:35px}.pages{text-align:center;padding:20px}.pages a{display:inline-block;margin:3px;padding:7px 12px;border:1px solid #ddd;border-radius:5px}.pages .selected{background:#fce1e9}.post{background:white;border:1px solid #eee;border-radius:12px;padding:25px}.post h1{font-size:25px}.post-image{max-width:100%;height:auto}.post-body{line-height:1.8;white-space:normal;overflow-wrap:anywhere}.admin-form textarea,.admin-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;margin-bottom:12px}@media(max-width:700px){.board-quick-grid{grid-template-columns:repeat(2,1fr)}.board-table-head,.board-table-row{grid-template-columns:42px minmax(0,1fr) 70px 42px;gap:4px;font-size:12px;padding:9px 5px}.board-subject img{width:40px;height:34px}}

/* Menu-adjacent ranking tiles, matching supplied reference */
.top-ranking{padding:14px 0 16px}.ranking-note{display:inline-block;background:#dff2f3;color:#008f8b;border-radius:10px;padding:8px 12px;margin-bottom:9px;font-size:13px;font-weight:700}.ranking-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ranking-item{display:flex;align-items:center;gap:12px;min-height:47px;background:#fff;border:1px solid #dce4ee;border-radius:12px;padding:10px 20px;box-shadow:0 3px 6px #34405412;color:#e90056;font-size:13px;font-weight:700;min-width:0}.ranking-item:nth-child(1),.ranking-item:nth-child(2),.ranking-item:nth-child(3){color:red}.ranking-item:nth-child(6){border-color:#c768ed}.ranking-number{min-width:10px;color:inherit}.ranking-item a,.ranking-item>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-item a:hover{text-decoration:underline}.board-quick{display:none}@media(max-width:700px){.ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-item{padding:10px 12px}}

/* 관리자 전용 순위 드래그 및 배너 등록 */
.is-admin .ranking-item{cursor:grab;user-select:none}.is-admin .ranking-item.dragging{opacity:.45;border:2px dashed #ed4590}.rank-controls{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0}.rank-controls button{border:1px solid #ddd;background:#fff;border-radius:5px;cursor:pointer;padding:2px 5px;color:#b32b68}.rank-grip{font-size:19px;color:#ad6898;cursor:grab}.rank-help{font-size:12px;color:#666;margin:0 0 8px}.rank-save-status{font-size:12px;color:#078c77;min-height:18px;margin-top:6px}.banner-admin-add{display:flex;align-items:center;gap:12px;padding:8px 0 10px;font-size:12px}.banner-admin-add a{background:#ec3981;color:white;text-decoration:none;padding:9px 14px;border-radius:8px;font-weight:700}.banner-admin-add span{color:#777}

/* 주소팡 통합 검색 */
.search{max-width:700px;gap:7px;align-items:center}.search select{min-width:130px;padding:11px 8px;border:1px solid #d7deea;border-radius:9px;background:white;color:#25334c}.search input{min-width:100px}.search button{white-space:nowrap}.search-results{margin:18px 0;padding:20px;background:#fff;border:1px solid #e0e5ef;border-radius:13px;scroll-margin-top:85px}.search-results[hidden]{display:none}.search-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-results-heading h2{font-size:19px;margin:0 0 12px}.search-results-heading button{border:1px solid #d7deea;background:#fff;border-radius:7px;padding:7px 12px;cursor:pointer}.local-search-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.local-search-row{border:1px solid #e6e9f0;border-radius:9px;padding:12px;display:flex;gap:12px;align-items:center}.local-search-row span{color:#6b7280;font-size:12px;margin-left:auto}.local-search-row a,.external-search-link{color:#d8325a;font-weight:700}.external-search-link{display:inline-block;padding:12px 18px;border:1px solid #efb5c4;border-radius:9px;margin-top:8px}@media(max-width:750px){.search{width:100%;max-width:none;flex-wrap:wrap}.search select{min-width:110px}.search input{flex:1}.local-search-list{grid-template-columns:1fr}.local-search-row{flex-wrap:wrap}}

/* 주소팡: 아이콘이 있는 부드러운 상단 메뉴 */
.nav{background:linear-gradient(180deg,#fffafc 0%,#fff2f7 100%);border-top:1px solid #ffe3ec;border-bottom:1px solid #f8cbdc;box-shadow:0 4px 15px rgba(224,91,139,.07)}
.nav-inner{display:flex;align-items:center;justify-content:center;gap:9px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.nav .nav-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:999px;background:#fff;color:#98546e;border:1px solid #f7d7e3;box-shadow:0 2px 5px rgba(179,74,112,.04);font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;transition:background .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease}
.nav .nav-link:hover{background:#ffe6ef;color:#d52b68;transform:translateY(-2px);box-shadow:0 5px 12px rgba(211,75,121,.12)}
.nav .nav-link.active{background:linear-gradient(135deg,#ff6f9b,#f3447b);border-color:#f35a89;color:white;box-shadow:0 4px 11px rgba(233,72,125,.22)}
.nav .nav-icon{font-size:17px;line-height:1;flex-shrink:0}
.nav .nav-link:focus-visible{outline:3px solid #e56c98;outline-offset:3px}
@media(max-width:740px){.nav-inner{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:7px;padding-top:9px;padding-bottom:9px;scrollbar-width:thin}.nav .nav-link{padding:9px 12px;font-size:12px}.nav .nav-icon{font-size:15px}}
@media(prefers-reduced-motion:reduce){.nav .nav-link{transition:none}.nav .nav-link:hover{transform:none}}


/* 최종 메뉴 스타일: 기존 .nav-link 규칙보다 우선 */
html body nav.nav {background:#fff4f7!important;border-top:1px solid #f9d8e5;border-bottom:1px solid #f9d8e5;}
html body nav.nav .nav-inner {display:flex!important;align-items:center!important;justify-content:center;flex-wrap:wrap;gap:10px!important;padding-top:13px!important;padding-bottom:13px!important;}
html body nav.nav a.nav-link {display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:42px!important;padding:10px 18px!important;border:1px solid #f5cfde!important;border-radius:9999px!important;background:#fff!important;color:#924965!important;box-shadow:0 3px 9px rgba(177,67,104,.08)!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important;transition:transform .18s,background .18s,box-shadow .18s!important;}
html body nav.nav a.nav-link .nav-icon {display:inline-block!important;font-size:18px!important;line-height:1!important;flex-shrink:0;}
html body nav.nav a.nav-link.active {background:#f54b83!important;border-color:#f54b83!important;color:white!important;box-shadow:0 4px 12px rgba(245,75,131,.25)!important;}
html body nav.nav a.nav-link:hover {background:#ffe2ec!important;color:#b82458!important;transform:translateY(-2px)!important;}
html body nav.nav a.nav-link.active:hover {background:#e83d75!important;color:white!important;}
@media(max-width:740px){html body nav.nav .nav-inner {justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;}html body nav.nav a.nav-link {font-size:12px!important;padding:9px 13px!important;min-height:39px!important;}}

/* 순위 편집 핸들은 관리자에게만 표시 */
.rank-controls{display:none!important}.is-admin .rank-controls{display:flex!important}.rank-up,.rank-down,.rank-help{display:none!important}

/* 주소팡 링크그룹 생성 버튼: 기존 분홍색 테마 유지 */
.linkgroup-toolbar{display:flex;align-items:center;margin:0 0 14px}.linkgroup-create{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:9px 16px;background:linear-gradient(120deg,#f74785,#d9468d);color:#fff!important;border:1px solid #e63b78;border-radius:11px;box-shadow:0 3px 10px #ed609129;font-weight:700;font-size:13px;text-decoration:none;transition:transform .15s,box-shadow .15s}.linkgroup-create:hover{transform:translateY(-1px);box-shadow:0 5px 14px #ed609145}.linkgroup-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ffe3ed;border-radius:8px;font-size:14px;vertical-align:middle;margin-right:3px}.card-title h2{display:flex;align-items:center;gap:3px}@media(max-width:740px){.linkgroup-create{width:100%}}
