  :root {
    --fg:#e5e7eb;
    --muted:#94a3b8;
    --panel:#0f172a;
    --panel2:#111827;
    --line:#1f2937;
    --accent:#5b9cff;
    --accent2:#22c55e;
    --shadow:0 12px 28px rgba(0,0,0,.25);
    --mint: 172,225,215;
  }
  * {
    box-sizing:border-box
  }
  html,body {
    height: 100%
  }
  body {
    margin:0;
    background:#0b1220;
    color:#00dfff;
    overflow:hidden
  }
  #map {
    position:fixed;
    inset:0;
    z-index:0 !important;
    background:#000;
  }
  .top-fade {
    position:fixed;
    left:0;
    right:0;
    top:0;
    height:84px;
    z-index:1;
    pointer-events:none !important;
    background:linear-gradient(to bottom,rgba(0,0,0,.10),rgba(0,0,0,0.0))
  }
  header.topbar {
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:9999;
    background:#ffffff !important;
    padding:0px 5px;
    pointer-events:auto !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.06)
  }
  header.topbar * {
    pointer-events: auto !important;
  }
  .toolbar {
    display:flex;
    gap:10px;
    align-items:center;
    padding-left:10px;
    /* 화면 좌측 끝에서 50px 띄움 */
    justify-content:flex-start;
    max-width:none;
    flex-wrap:nowrap;
    /* 가운데 정렬 해제 */
    margin:0;
    /* auto margin 해제 */
  }
  .toolbar>* {
    min-width: 0;
  }
  .brand {
    display:flex;
    gap:10px;
    align-items:center
  }
  .logo {
    width:28px;
    height:28px;
    border-radius:8px;
    background:transparent url("/source/logo.svg") center/contain no-repeat;
  }
  .brand b {
    letter-spacing:.3px;
    text-shadow:0 2px 6px rgba(0,0,0,.35)
  }
  .tagline {
    margin-left:8px;
    color:#9fb9e8;
    font-size:12px;
    opacity:.9
  }
  .grow {
    flex:1;
    display:flex;
    gap:8px;
    align-items:center
  }
  select,input,button {
    font:14px/1 system-ui
  }
  input,select {
    background:rgba(11,19,38,.92);
    border:1px solid #1f2a45;
    border-radius:12px;
    color:#e6f0ff;
    padding:10px 12px;
  }
  input::placeholder {
    color:#86a6da
  }
  button {
    background:var(--accent);
    color:#041023;
    border:none;
    border-radius:12px;
    padding:10px 14px;
    cursor:pointer;
    box-shadow: var(--shadow)
  }
  button.ghost {
    background:#fff !important;
    color:#0b1220 !important;
    /* 가독성 좋은 다크 텍스트 */
    border:0 !important;
    /* 윤곽선(보더) 제거 */
    box-shadow:0 1px 0 rgba(0,0,0,.04),0 2px 10px rgba(0,0,0,.10) !important;
    /* 테두리 대신 소프트 쉐도우 */
    border-radius:12px;
    /* 기존 둥근 정도 유지/조절 */
    transition:transform .06s ease,box-shadow .15s ease;
  }
  .pc-search {
    display:flex;
    gap:8px;
    align-items:center
  }
  .pc-search #mode {
    flex:0 0 120px;
    width:120px;
    font-size:13px;
    padding:8px 10px;
  }
  .pc-search #keyword {
    flex:1 1 auto;
    min-width:360px;
    padding: 12px 14px;
  }
  #query {
    display:none!important
  }
  #loadingOverlay {
    position:fixed;
    inset:0;
    z-index:9999;
    background:rgba(0,0,0,.55);
    color:#fff;
    display:none;
    align-items:center;
    justify-content:center;
    font-size:18px
  }
  #loadingOverlay.show {
    display:flex
  }
  #loadingOverlay:not(.show) {
    display: none !important;
  }
  #loading .spinner {
    width:36px;
    height:36px;
    border:4px solid #ccc;
    border-top-color:#5b9cff;
    border-radius:50%;
    animation:spin 1s linear infinite;
    margin-right:12px
  }
  @keyframes spin {
    to {
      transform: rotate(360deg)
    }
  }
  .side {
    position:fixed;
    z-index:20;
    top:60px;
    left:0;
    bottom:0;
    display:none;
    width: clamp(340px,32vw,500px);
  }
  .panel {
    height:100%;
    background:#ffffff;
    /* 화이트 톤 고정 */
    border-right:1px solid #e5e7eb;
    border-left:1px solid #e5e7eb;
    border-radius:0;
    box-shadow:0 2px 6px rgba(0,0,0,.05);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:8px;
    position:relative;
    isolation:isolate;
    color:#0b1220;
    /* 가독성 좋은 텍스트 컬러 */
  }
  .tabs {
    display:flex;
    gap:6px;
    padding:10px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
  }
  .tab {
    padding:8px 10px;
    border-radius:10px;
    color:#0b1220;
    cursor:pointer;
    user-select:none;
    border:1px solid #ced8ea;
    background:transparent
  }
  .tab.active {
    background:#eaf1ff;
    color:#0b1220;
    border: 1px solid #bcd0f3
  }
  .searchbar {
    display:flex;
    gap:8px;
    padding:10px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
    position:static;
    z-index: auto;
  }
  aside.side .panel .searchbar input,aside.side .panel .searchbar select {
    background:#fff !important;
    color:#0b1220 !important;
    border:1px solid #dfe6f2 !important;
    box-shadow:none !important;
  }
  aside.side .panel .searchbar input::placeholder {
    color: #94a3b8;
  }
  .results {
    flex:1;
    min-height:0;
    overflow:auto;
    background:transparent
  }
  .results .course-header {
    position:relative;
    border:none !important;
    border-bottom: none !important;
  }
  .results .course+.course .course-header::before {
    content:none !important;
  }
  .empty {
    padding:18px;
    color:#4b5563
  }
  .empty-card {
    position:fixed;
    z-index:10;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(92vw,520px);
    background:rgba(172,225,215,0.7) !important;
    border:0 !important;
    border-radius:16px;
    padding:16px;
    box-shadow:0 14px 40px rgba(0,0,0,.20),0 0 0 1px rgba(0,0,0,.04) inset;
    backdrop-filter:blur(2px);
    /* 살짝 글래스 느낌(옵션) */ text-align:center
  }
  .empty-card h2 {
    color:#0b1220 !important;
    margin:4px 0 10px 0;
  }
  .empty-card p {
    color:#1f2937 !important;
    margin: 0 0 14px 0;
  }
  .empty-card .badge {
    color:#0b1220 !important;
    background:#ffffff !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:0 2px 10px rgba(0,0,0,.08) !important;
    border-radius:999px;
    padding:6px 12px;
    font-weight:600;
  }
  .empty-card .badge:hover {
    box-shadow:0 6px 18px rgba(0,0,0,.12);
  }
  .empty-card .badge:active {
    box-shadow: 0 2px 6px rgba(0,0,0,.18) inset;
  }
  .item {
    display:flex;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px dashed #e5e7eb;
    cursor:pointer;
    background:#fff
  }
  .item:hover {
    background:#f9fafb
  }
  .item.active {
    outline:1px solid #28406d;
    background:#f1f5ff;
    border-radius: 10px
  }
  .item:focus-visible {
    outline:2px solid #28406d;
    border-radius: 10px;
  }
  .label {
    flex:0 0 26px;
    height:26px;
    border-radius:8px;
    display:grid;
    place-items:center;
    font-weight:800;
    color:#ffffff;
    background:#1e3a8a
  }
  .title {
    font-size:15px
  }
  .addr {
    font-size:12px;
    color:#0043a3
  }
  .meta {
    margin-top:4px;
    color:#2563eb;
    font-size: 12px
  }
  /* 메타(포스터 세로 카드) */
  .meta-card-vertical {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:left;
    gap:10px
  }
  .meta-card-vertical .meta-poster {
    max-height:300px;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(0,0,0,.25);
    object-fit:cover
  }
  .meta-card-vertical .meta-title {
    width:100%;
    font-weight:800;
    font-size:16px;
    line-height:1.35
  }
  .meta-card-vertical .meta-sub {
    width:100%;
    opacity:.75;
    font-size:12px;
    margin-top:2px
  }
  .meta-card-vertical .meta-cast {
    width:100%;
    margin-top:6px;
    line-height:1.55;
    opacity:.92;
    word-break:keep-all
  }
  .meta-card-vertical .poster-placeholder {
    width:100%;
    max-width:320px;
    aspect-ratio:2/3;
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
    display:grid;
    place-items:center;
    font-size:13px;
    color:rgba(255,255,255,.6);
    border: 1px solid rgba(255,255,255,.08)
  }
  /* 메타카드(검색 상단 요약 블록) – 화이트 톤 */
  #m-meta-card {
    background:#fafafa !important;
    border:1px solid #e5e7eb !important;
    border-radius:12px;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
    position:relative;
    z-index:0;
    margin-top:0;
  }
  #m-meta-card .meta-title {
    color:#111;
  }
  #m-meta-card .meta-sub,#m-meta-card .meta-cast {
    color:#444;
    opacity: .9;
  }

  /* 검색 도구(모바일) */
  .search-dock {
    position:fixed;
    z-index:22;
    left:12px;
    right:12px;
    top:60px;
    display:none;
    background:rgba(11,19,38,.92);
    border:1px solid #1f2a45;
    border-radius:14px;
    padding:10px;
    box-shadow:0 10px 26px rgba(0,0,0,.35);
    backdrop-filter:blur(8px)
  }
  .search-dock .row {
    display:flex;
    gap:8px
  }
  .search-dock select,.search-dock input {
    flex: 1
  }
  /* 하단 시트(모바일) */
  .sheet {
    position:fixed;
    left:0;
    right:0;
    top:calc(100% - 140px);
    bottom:0;
    z-index:25;
    background:linear-gradient(180deg,rgba(15,23,42,.96) 0%,rgba(15,23,42,.98) 30%,rgba(15,23,42,0.1) 100%);
    border-top:1px solid var(--line);
    border-radius:16px 16px 0 0;
    box-shadow:0 -10px 30px rgba(0,0,0,.4);
    display:none;
    padding-bottom:max(16px,env(safe-area-inset-bottom))
  }
  .sheet-tabs {
    display:flex;
    gap:6px;
    padding:6px 10px 10px 10px;
    border-bottom:1px solid var(--line)
  }
  .sheet-tab {
    padding:8px 10px;
    border-radius:10px;
    color:var(--muted);
    cursor:pointer;
    user-select:none
  }
  .sheet-tab.active {
    background:#16233d;
    color:#dbeafe;
    border:1px solid #28406d
  }
  .sheet-body {
    position:absolute;
    top:64px;
    bottom:0;
    left:0;
    right:0;
    overflow:auto;
    scroll-behavior:smooth;
  }
  .sheet-list .item {
    display:flex;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px dashed #1f2b3f
  }
  .sheet-list .item.active {
    background:rgba(172,225,215,0.2);
    border-left: 3px solid #22c55e;
  }
  .grabber {
    width:60px;
    height:6px;
    border-radius:3px;
    background:#d1d5db;
    opacity:.9;
    margin:8px auto;
    touch-action:none;
    user-select:none
  }

  /* 지도 우측 툴 */
  .legend {
    position:fixed;
    right:12px;
    bottom:16px;
    z-index:12;
    background:rgba(11,19,38,.92);
    border:1px solid #1f2a45;
    border-radius:12px;
    padding:8px 10px;
    color:#cfe3ff;
    box-shadow:0 8px 22px rgba(0,0,0,.35)
  }
  .legend .line {
    display:flex;
    align-items:center;
    gap:8px;
    margin:4px 0
  }
  .sw {
    width:14px;
    height:3px;
    border-radius:2px
  }
  .toast {
    position:fixed;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    background:rgba(11,19,38,.92);
    border:1px solid #1f2a45;
    padding:8px 12px;
    border-radius:999px;
    color:#dbeafe;
    opacity:0;
    transition:.2s;
    z-index:50
  }
  .toast.show {
    opacity:1
  }
  .badge-kind {
    display:inline-block;
    margin-left:6px;
    padding:2px 6px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    vertical-align:1px;
    border:1px solid rgba(0,0,0,.06);
    background:#fff;
    color:#0b1220;
  }
  .badge-kind.is-tv {
    background:#eaf1ff;
    border-color:#bcd0f3;
  }
  .badge-kind.is-movie {
    background:#ecfdf5;
    border-color: #bbf7d0;
  }
  /* === 작품 정보 카드 === */
  .work-card {
    position:fixed;
    right:16px;
    top:96px;
    z-index:26;
    width:320px;
    max-width:92vw;
    background:rgba(15,23,42,.96);
    border:1px solid var(--line);
    border-radius:14px;
    box-shadow:var(--shadow);
    overflow:hidden
  }
  .work-card .head {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
    background:rgba(17,24,39,.9)
  }
  .work-card .title {
    font-weight:700
  }
  .work-card .body {
    display:flex;
    gap:10px;
    padding:12px
  }
  .work-card .poster img {
    width:110px;
    height:auto;
    border-radius:8px;
    display:block
  }
  .work-card .info {
    flex:1;
    min-width:0
  }
  .work-card .row {
    font-size:13px;
    color:#cfe3ff;
    margin:4px 0
  }
  .work-card .row b {
    color:#9cc2ff
  }
  .work-card .cast {
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden
  }
  .work-card .foot {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 12px;
    border-top:1px solid var(--line)
  }
  .work-card .close {
    background:transparent;
    border:0;
    color:#9fb9e8;
    font-size:18px;
    cursor:pointer
  }
  /* 핑 애니메이션 */
  .ping {
    width:16px;
    height:16px;
    border-radius:50%;
    background:#4cc9f0;
    border:3px solid #fff;
    box-shadow:0 0 0 8px rgba(76,201,240,.35);
    animation:ping 1.2s ease-out forwards
  }
  @keyframes ping {
    0% {
      transform:scale(.6);
      opacity:.95
    }
    100% {
      transform:scale(2.6);
      opacity: 0
    }
  }
  /* === 상세보기 패널 === */
  #place-detail {
    position:fixed;
    inset:0;
    display:none;
    z-index:3000;
    background:rgba(4,10,22,.55);
    backdrop-filter:blur(4px)
  }
  #place-detail.open {
    display:block
  }
  .pd-viewport {
    position:absolute;
    top:15vh;
    bottom:6vh;
    left:50%;
    transform:translateX(-50%);
    width:min(980px,92vw);
    background:#000000ad;
    border:1px solid #1f2b3f;
    border-radius:16px;
    box-shadow:0 10px 40px rgba(0,0,0,.45);
    overflow:hidden;
    display:flex;
    flex-direction:column
  }
  .pd-header {
    display:flex;
    gap:16px;
    align-items:center;
    padding:14px 18px;
    border-bottom:1px solid #1f2b3f;
    background:#0c152a;
    position:sticky;
    top:0;
    z-index:1
  }
  .pd-back {
    padding:8px 10px;
    border-radius:10px;
    border:1px solid #324567;
    background:#0b1a33;
    color:#cfe1ff;
    cursor:pointer
  }
  .pd-headline h2 {
    margin:0;
    font-size:20px;
    color:#e7f0ff
  }
  .pd-headline .muted {
    margin:2px 0 0;
    color:#9fb9e8;
    font-size:12px
  }
  .pd-body {
    overflow:auto;
    padding:16px
  }
  .pd-section {
    margin-bottom:18px
  }
  .pd-sec-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px
  }
  .pd-sec-head h3 {
    margin:0;
    font-size:21px;
    color:#dfe9ff
  }
  .pd-more {
    border:1px solid #2a3d62;
    background:#0b1a33;
    color:#cfe1ff;
    padding:6px 10px;
    border-radius:10px;
    cursor:pointer;
    font-size:15px
  }
  .pd-hero-card {
    height:240px;
    border:1px solid #223556;
    border-radius:12px;
    background:#0c1a31;
    display:flex;
    align-items:center;
    justify-content:center
  }
  /*-------------
  tourapi
  --------------*/
  .pd-card {
    border:1px solid #223556;
    border-radius:12px;
    background:#dfe9ff;
    display:flex;
    align-items:center;
    justify-content:center;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:600px;
    min-height:150px;
    margin:0 auto;
  }
  .pd-card.tour-card {
    padding:0;
    /* 내용 여백은 info에서 */
    display:flex;
    flex-direction:column;
    align-items:stretch;
    background:#0c1a31;
    /* 상세 뷰 톤과 맞춤 */
    max-height:300px;
    border:1px solid #223556;
    border-radius:12px;
    overflow:hidden;
  }
  .pd-card.tour-card .thumb {
    width:100%;
    aspect-ratio:4 / 3;
    /* 이미지 영역 고정비율 */
    background:#0b1220;
    border-bottom:1px solid #223556;
    overflow:hidden;
  }
  .pd-card.tour-card .thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .pd-card.tour-card .info {
    padding:10px;
    text-align:left;
  }
  .pd-card.tour-card .title {
    font-weight:700;
    color:#dfe9ff;
    line-height:1.35;
  }
  .pd-card.tour-card .addr {
    margin-top:4px;
    font-size:12px;
    color:#9fb9e8;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .pd-card.tour-card .actions {
    margin-top:10px;
    display:flex;
    gap:8px;
    justify-content:flex-end;
  }
  .pd-card.tour-card .actions button {
    background:#0b1a33;
    color:#cfe1ff;
    border:1px solid #2a3d62;
    border-radius:10px;
    padding:6px 10px;
    cursor: pointer;
  }
  .placeholder .ghost-line {
    width:70%;
    height:16px;
    border-radius:8px;
    background:linear-gradient(90deg,#1a2a46,#213a5e,#1a2a46);
    animation:shine 1.6s infinite;
    color:#93b0e5;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    opacity:.8
  }
  @keyframes shine {
    0% {
      filter:brightness(1)
    }
    50% {
      filter:brightness(1.35)
    }
    100% {
      filter: brightness(1)
    }
  }
  /* 버튼 톤 (요청 반영) */
  .btn-detail,.btn-to-course {
    background:#fff !important;
    color:#0b1220 !important;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    border-radius:10px;
    padding:8px 12px;
    font-weight:600;
  }
  .btn-detail:hover,.btn-to-course:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,.10);
  }
  /* YouTube 영역 */
  #pd-youtube {
    height:clamp(220px,40vw,320px);
    max-width:520px;
    margin:0 auto
  }
  #pd-youtube iframe {
    width:100%;
    height:100%;
    display:block;
    border:0;
    border-radius: 8px
  }
  /* 로드맵(지도/로드뷰) */
  #pd-roadmap {
    position:relative;
    height:clamp(320px,38vw,420px);
    max-width:720px;
    margin:0 auto
  }
  #pd-roadmap .rd-wrap {
    position:absolute;
    inset:0;
    border-radius:12px;
    overflow:hidden
  }
  #pd-roadmap .rd-controls {
    position:absolute;
    right:12px;
    top:12px;
    z-index:2;
    display:flex;
    gap:6px
  }
  #pd-roadmap .rd-controls button {
    border:1px solid #2a3d62;
    background:#0b1a33;
    color:#cfe1ff;
    padding:6px 10px;
    border-radius:10px;
    cursor:pointer;
    font-size:12px
  }
  #pd-roadmap #pd-map-mini {
    width:100%;
    height:100%
  }
  #pd-roadmap #pd-rv-mini {
    width:100%;
    height: 100%
  }
  /*옵션 대체 바*/
  .map-tools {
    position:fixed;
    right:12px;
    bottom:16px;
    top:auto;
    z-index:22;
    display:flex;
    flex-direction:column;
    gap:8px;
    background:rgba(11,19,38,.92);
    border:1px solid #1f2a45;
    padding:8px;
    border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.35)
  }
  .map-tools button {
    background:#0f1b33;
    color:#cfe3ff;
    border:1px solid #1e2d4a;
    border-radius:10px;
    padding:8px 10px;
    cursor:pointer
  }
  .map-tools button:active {
    transform: translateY(1px)
  }
  .map-tools,.legend,.empty-card {
    z-index: 24 !important;
  }

  /*코스 조작*/
  #fabTrip {
    position:fixed;
    right:16px;
    bottom:16px;
    z-index:100000;
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--accent);
    color:#041023;
    border:0;
    box-shadow:var(--shadow);
    font-size:28px;
    font-weight:800;
    cursor:pointer
  }
  #fabTrip.active {
    background: var(--accent2)
  }
  /* mine DnD */
  #panel-mine .dnd-handle {
    flex:0 0 28px;
    height:44px;
    align-self:center;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
    border:1px solid #24324e;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    cursor:grab;
    user-select:none;
    color:#0b1220;
    font-size:18px;
    line-height:1;
  }
  #panel-mine .dnd-handle:hover {
    background:rgba(91,156,255,.12);
    border-color:#2c4b7a;
    color:#0b1220;
  }
  #panel-mine .item {
    position:relative;
    transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
    min-height:64px;
  }
  #panel-mine .item.dragging {
    opacity:1;
    transform:scale(1.015);
    background:rgba(91,156,255,.10);
    border:1px solid #2a3d62;
    box-shadow:0 10px 24px rgba(0,0,0,.35);
    z-index:5;
  }
  #panel-mine .drop-marker {
    height:0;
    border-top:3px solid var(--accent);
    margin:0 8px;
    box-shadow:0 0 0 2px rgba(91,156,255,.18) inset;
  }
  #panel-mine .dnd-handle::before {
    content:"↕";
    filter: drop-shadow(0 1px 0 rgba(0,0,0,.5));
  }

  /* '바로 앞에 코스가 있는' 헤더 위에만 분리선 생성 → 이중선 방지 */

  /* 검색 버튼 스타일 */
  #go {
    background:rgb(var(--mint));
    /* 민트 배경 */
    color:#0b1220;
    /* 어두운 글자색 → 가독성 ↑ */
    border:none;
    border-radius:12px;
    padding:10px 16px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(var(--mint),0.35);
    transition:transform .1s ease,box-shadow .2s ease;
  }
  #go:hover {
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(var(--mint),0.45);
  }
  #go:active {
    transform:translateY(0);
    box-shadow: 0 2px 6px rgba(var(--mint),0.55) inset;
  }
  /* 내부 텍스트 */
  #goLabel {
    color:#0b1220;
    /* 글자색은 어두운 톤으로 */
  }
  .btn-mint {
    background:rgba(172,225,215,0.5);
    color:#0b1220;
    border:none;
    border-radius:12px;
    padding:10px 16px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(var(--mint),0.35);
    transition:transform .1s ease,box-shadow .2s ease;
  }
  .btn-mint:hover {
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(var(--mint),0.45);
  }
  .btn-mint:active {
    transform:translateY(0);
    box-shadow: 0 2px 6px rgba(var(--mint),0.55) inset;
  }
  /* 모바일 도크 버튼들이 PC 톤을 그대로 사용 */
  #searchDock button {
    height: 38px;
  }
  /* 살짝 컴팩트 */
  #searchDock .btn-mint {
    background: rgba(172,225,215,0.9);
  }
  /* 민트톤 강조(PC와 유사) */
  /* === PC 상단바:드롭다운 좁게,검색 인풋은 넓게 === */

  /* === 모바일 도크:드롭다운은 컴팩트,인풋은 대부분 차지 === */
  #searchDock .row select#mMode {
    flex:0 0 112px;
    /* 드롭다운 폭 축소 */
    width:112px;
    padding:8px 10px;
    font-size:13px;
  }
  #searchDock .row input#mKeyword {
    flex:1 1 auto;
    /* 남는 공간 전부 */
    min-width:0;
    /* 줄바꿈 없이 유연하게 */
  }
  /* 공통:인풋은 살짝 더 높고 시원하게 보이도록(옵션) */
  #keyword,#mKeyword {
    padding: 12px 14px;
    /* 인풋만 높이감 ↑ */
  }


  /* === 데스크톱:드롭다운 확 줄이고,검색 인풋은 쫙 === */
  header .pc-search #mode {
    flex:0 0 108px !important;
    /* 더 작게 고정 */
    width:108px !important;
    padding:8px 10px;
    font-size:13px;
  }
  header .pc-search #keyword {
    flex:1 1 auto !important;
    /* 남는 공간 전부 차지 */
    min-width:100px;
    /* 최소 폭 넉넉하게 */
    padding:12px 14px;
  }
  /* 헤더 툴바:모바일에서 한 줄 유지 */

  /* 모바일 인라인 검색:기본은 숨김(PC) */
  .mobile-inline {
    display: none;
  }
  /* 모바일 인라인 아래 액션줄 */
  .mobile-inline .actions-inline {
    display:flex;
    gap:8px;
    align-items:center;
    margin-top:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom: 4px;
  }
  .mobile-inline .actions-inline .chk {
    display:flex;
    align-items:center;
    gap:6px;
    color:#0b1220;
    /* 헤더 흰 배경에 어울리는 어두운 텍스트 */
    font-size:13px;
    opacity:.95;
    flex:0 0 auto;
  }
  .mobile-inline .actions-inline button {
    flex:0 0 auto;
    height:40px;
    padding:0 10px;
    border-radius:20px;
    border:0;
    background:#ffffff;
    color:#0b1220;
    box-shadow:0 1px 0 rgba(0,0,0,.04),0 2px 10px rgba(0,0,0,.10);
    font-weight:600;
  }
  .mobile-inline .actions-inline button#mGoInline {
    background:rgba(172,225,215,0.92);
    box-shadow: 0 4px 12px rgba(172,225,215,0.35);
  }
  /* iOS 체크박스 컬러 */
  .mobile-inline .actions-inline .chk input {
    width:16px;
    height:16px;
    accent-color: #9cc2ff;
  }

  #keyword {
    position:relative;
    z-index: 10000;
    /* 헤더보다 한 단계 더 높게 */
  }



  /*-------------
  장소 기반 작품 묶기
  --------------*/

  .work-groups {
    display:grid;
    gap:8px;
  }
  .work-groups .group {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px;
    border-radius:10px;
    background:#0b1a2a;
    cursor:pointer;
  }
  .work-groups .group .label {
    width:28px;
    height:28px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1f2f46;
    font-weight:700;
  }
  .work-groups .group .title {
    font-weight:700;
  }
  .work-groups .group .meta {
    margin-left:auto;
    opacity:.7;
    font-size:12px;
  }

  /*-------------
  뒤로가기
  --------------*/
  .backbar {
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-radius:10px;
    background:#0b1a2a;
    margin-bottom:8px;
  }
  .backbar .ghost {
    background:transparent;
    border:1px solid #29425f;
    padding:6px 10px;
    border-radius: 8px;
  }

  /*-------------
  코스
  --------------*/
  .course-places {
    display:none;
  }
  .course-item.is-open .course-places {
    display: block;
  }
  .course-places {
    transition:max-height .25s ease;
    overflow:hidden;
  }
  .course-item.is-open .course-places {
    max-height: 1000px;
  }
  .course-header::before {
    content:none !important;
  }

  .course-header[style*="dashed"] {
    border:none !important;
  }
  .m-course-header::before {
    content: none !important;
  }

  /*-------------
  화면 크기 설정
  --------------*/
  @supports (-webkit-touch-callout:none) {
    @media (max-width:759px) {
      input,select,textarea {
        font-size:16px !important;
        line-height:1.2;
      }
    }
  }
  /* pc 대화면 */
  @media (max-width:1024px) {
    .tagline {
      display: none
    }
  }
  /* 기본 pc */
  @media (max-width:759px) {
    #searchDock select,#searchDock input {
      font-size:16px !important;
      /* iOS 탭-줌 방지 */
    }
    /*------------------
    header 및 툴바
    -------------------*/
    header.topbar {
      padding:0px 5px;
    }
    .toolbar {
      gap:8px;
      padding-left: 8px;
    }
    .brand {
      flex: 0 0 auto;
    }
    .pd-header {
      display:flex;
      flex-wrap:wrap;
      /* 줄바꿈 허용 */
      align-items:flex-start;
      gap:8px;
      padding:10px 12px;
    }
    /*------------------
    body
    -------------------*/
    .pc-search {
      display: none !important;
    }
    body>.row:nth-of-type(1),body>.row:nth-of-type(2) {
      display: none !important;
    }
    .sheet {
      display:block
    }
    .side {
      display:none
    }
    .work-card {
      display:none !important
    }
    /* 버튼 묶음 */
    #pd-cta {
      order:1;
      /* 가장 위 */
      flex:1 1 auto;
      /* 가능한 만큼 가로로 */
      display:flex;
      gap:8px;
      padding:8px 0;
      border-bottom:0;
      /* 모바일에선 하단 보더 제거 */
      background:transparent;
      /* 배경도 투명 */
    }
    /* ← 뒤로가기 버튼:같은 행 오른쪽 정렬 */
    .pd-back {
      order:1;
      /* 버튼 행에 함께 배치 */
      flex:0 0 auto;
      margin-left:auto;
      /* 오른쪽으로 붙이기 */
    }
    /* 제목/주소 블록 */
    .pd-headline {
      order:2;
      /* 버튼들 아래로 */
      width:100%;
      margin-top:4px;
    }
    .pd-headline h2 {
      font-size:18px;
      line-height:1.25;
    }
    .pd-headline .muted {
      font-size:12px;
      opacity:.9;
    }
    .pd-grid {
      grid-template-columns: 1fr;
    }

    /*------------------
    map_tool
    -------------------*/
    .map-tools {
      position:fixed;
      left:12px;
      right:12px;
      bottom:auto;
      /* 하단 고정 해제 */
      top:160px;
      /* 임시 기준값 — JS가 실제 헤더 높이로 보정 */
      z-index:24;
      /* 검색/지도 컨트롤 위에 오도록 살짝 상승 */
      flex-direction:row;
      /* 가로로 */
      gap:8px;
      overflow-x:auto;
      /* 버튼이 많으면 가로 스크롤 */
      -webkit-overflow-scrolling:touch;
    }
    .map-tools button {
      flex:0 0 auto;
    }
    /*------------------
    search_dock
    -------------------*/
    .search-dock {
      position:fixed;
      z-index:22;
      left:12px;
      right:12px;
      top:60px;
      background:rgba(7,14,28,.92);
      border:1px solid #1f2a45;
      border-radius:14px;
      padding:10px;
      box-shadow:0 10px 26px rgba(0,0,0,.35);
      backdrop-filter:blur(8px);
    }
    .search-dock .inputs {
      display:flex !important;
      gap: 8px !important;
      background:#0b152b;
      border:1px solid #1f2947;
      border-radius:12px;
      padding:8px;
    }
    .search-dock .actions {
      margin-top:8px;
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap: wrap;
    }
    .search-dock .chk {
      display:flex;
      align-items:center;
      gap:6px;
      color:#cfe3ff;
      font-size:12px;
      opacity:.9;
      margin-right: 4px;
    }
    #searchDock {
      display: none !important;
      position:fixed !important;
      left:12px;
      right:12px;
      top:60px;
      z-index:22;
      background:rgba(11,19,38,.92) !important;
      border:1px solid #1f2a45 !important;
      border-radius:14px !important;
      padding:10px !important;
      box-shadow:0 10px 26px rgba(0,0,0,.35) !important;
      backdrop-filter: blur(8px);
    }
    #searchDock #mMode {
      flex:0 0 104px !important;
      width:104px !important;
      height:40px !important;
      padding:8px 10px !important;
      font-size:13px !important;
      background:#0f1b33 !important;
      color:#e6f0ff !important;
      border:1px solid #1f2a45 !important;
      border-radius:10px !important;
    }
    #searchDock #mKeyword {
      flex:1 1 auto !important;
      min-width:0 !important;
      height:40px !important;
      padding:12px 14px !important;
      font-size:14px !important;
      background:#0f1b33 !important;
      color:#e6f0ff !important;
      border:1px solid #1f2a45 !important;
      border-radius:10px !important;
    }
    #searchDock #mKeyword::placeholder {
      color: #86a6da !important;
    }
    #searchDock .actions {
      display:flex !important;
      align-items:center !important;
      gap:8px !important;
      margin-top:8px !important;
      flex-wrap:nowrap !important;
      overflow-x:auto !important;
      -webkit-overflow-scrolling:touch;
      padding-bottom:4px;
      /* 스크롤 그림자 여유 */
    }
    #searchDock .actions .chk {
      display:flex;
      align-items:center;
      gap:6px;
      color:#cfe3ff;
      font-size:13px;
      opacity:.95;
      flex:0 0 auto;
    }
    #searchDock .actions .chk input {
      width:16px;
      height:16px;
      accent-color: #9cc2ff;
      /* iOS/안드 크롬 체크 컬러 */
    }
    #searchDock button {
      flex:0 0 auto;
      height:40px !important;
      padding:0 14px !important;
      border-radius:20px !important;
      border:0 !important;
      background:#ffffff !important;
      color:#0b1220 !important;
      box-shadow:0 1px 0 rgba(0,0,0,.04),0 2px 10px rgba(0,0,0,.10) !important;
      font-weight:600 !important;
    }
    #searchDock button:hover {
      transform:translateY(-1px);
      box-shadow:0 2px 0 rgba(0,0,0,.05),0 6px 18px rgba(0,0,0,.14) !important;
    }
    #searchDock button:active {
      transform:none;
      box-shadow: 0 1px 0 rgba(0,0,0,.06) inset,0 2px 6px rgba(0,0,0,.18) inset !important;
    }
    #searchDock #mGo {
      background:rgba(172,225,215,0.92) !important;
      /* #ACE1D7 */
      box-shadow:0 4px 12px rgba(172,225,215,0.35) !important;
    }
    /*------------------
    mobilebtn
    -------------------*/
    header.topbar .mobile-inline {
      display:grid !important;
      grid-template-columns:104px 1fr auto;
      /* 드롭다운 / 입력 / 검색버튼 */
      grid-auto-rows:40px;
      column-gap:8px;
      row-gap:8px;
      align-items:center;
      width:100%;
      min-width:0;
    }
    .mobile-inline {
      display:flex;
      align-items:center;
      gap:8px;
      flex:1 1 auto;
      /* 남는 공간 차지 */
      min-width:0;
      /* 인풋이 줄어들 수 있게 */
    }
    .mobile-inline .actions-inline {
      grid-column:1 / -1;
      /* ← 바로 아래 한 줄로 전폭 배치 */
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:nowrap;
      overflow-x:auto;
      /* 길면 가로 스크롤 */
      padding-bottom:4px;
    }
    .mobile-inline button#mGoInline {
      flex:0 0 auto;
      height:40px;
      padding:0 14px;
      border-radius:20px;
      /* 알약 모양 */
      white-space:nowrap;
    }
    .mobile-inline select#mModeInline {
      flex:0 0 104px;
      width:104px;
      height:40px;
      padding:8px 10px;
      font-size:13px;
      background:#0f1b33;
      color:#e6f0ff;
      border:1px solid #1f2a45;
      border-radius:10px;
    }
    .mobile-inline input#mKeywordInline {
      flex:1 1 auto;
      min-width:0;
      height:40px;
      padding:12px 14px;
      font-size:14px;
      background:#0f1b33;
      color:#e6f0ff;
      border:1px solid #1f2a45;
      border-radius:10px;
    }
    .mobile-inline input#mKeywordInline::placeholder {
      color: #86a6da;
    }
    #mGo.btn-mint {
      background: rgba(172,225,215,0.9);
    }
    #mMode {
      flex:0 0 108px;
      width:108px;
      min-width:108px;
      padding:8px 10px;
      font-size:13px;
      background:#0f1b33;
      color:#e6f0ff;
      border:1px solid #1f2a45;
      border-radius:10px;
      box-shadow:none;
    }
    #mKeyword {
      flex:1 1 auto;
      min-width:0;
      padding:12px 14px;
      font-size:14px;
      background:#0f1b33;
      color:#e6f0ff;
      border:1px solid #1f2a45;
      border-radius:10px;
    }
    #mKeyword::placeholder {
      color: #86a6da;
    }
    #mModeInline {
      grid-column:1;
      height:40px;
    }
    #mKeywordInline {
      grid-column:2;
      height:40px;
    }
    #mGoInline {
      grid-column:3;
      height: 40px;
    }
  }
  /* 모바일 */
  @media (min-width:760px) {
    .pc-search {
      display:flex
    }
    .side {
      display:block
    }
    .search-dock {
      display: none !important;
    }
    .sheet {
      display:none
    }
    .work-card {
      display: none !important
    }
    .mobile-inline {
      display: none !important;
    }
    #panel-results #metaCard {
      display:flex;
      flex-direction:column;
      gap:10px;
      align-items:center;
      text-align:center;
      padding:12px;
    }
    #panel-results #metaCard .meta-poster {
      width:100%;
      max-width:240px;
      margin:0 auto;
      border-radius:10px;
      overflow:hidden;
      background:#f3f4f6;
    }
    #panel-results #metaCard .meta-poster img {
      display:block;
      width:100%;
      height: auto;
    }
    #panel-results #metaCard .meta-title,#panel-results #metaCard .meta-sub,#panel-results #metaCard .meta-cast {
      max-width: 520px;
    }

    .map-tools {
      position:fixed !important;
      left:auto !important;
      right:12px !important;
      top:auto !important;
      bottom:87px !important;
      width:auto !important;
      max-width:none !important;
      flex-direction:column !important;
      gap:8px !important;
      overflow:visible !important;
    }
    .map-tools button {
      flex:0 0 auto !important;
      width: auto !important;
    }
  }

    /* 내 보관함 항목 시각 피드백 */
  #m-mine .item.active {
    outline: 2px solid var(--accent, #5b9cff);
    box-shadow: 0 0 0 3px rgba(91,156,255,.25);
    background: rgba(91,156,255,.07);
  }
  #m-mine .item.pressed {             /* 0.5초간 눌린 효과 */
    transform: scale(.995);
    filter: brightness(1.06);
    transition: transform .12s ease, filter .12s ease;
  }


  /* 하단 시트: 세로 스크롤 허용(닫기 제스처 과도 인식 방지) */
  #sheet{ touch-action: pan-y; }

  /* 탭/아이템은 드래그보다 탭(클릭) 우선 */
  #sheet .sheet-tabs,
  #sheet .sheet-tabs .sheet-tab,
  #sheet .item{
    touch-action: manipulation;
  }

/* 탭은 드래그 제스처보다 탭(클릭) 우선 */
.sheet-tabs, .sheet-tabs .sheet-tab { touch-action: manipulation !important; }

/* 탭/리스트는 드래그보다 탭(클릭) 우선 */
.sheet, .sheet-tabs, .sheet-tabs .sheet-tab, .sheet-body, .sheet-list .item {
  touch-action: manipulation;
  pointer-events: auto;
}

/* iOS에서 스크롤/히트테스트 안정화 */
.sheet-body { 
  -webkit-overflow-scrolling: touch;
}

/* 각 아이템을 독립 히트박스로 (겹침/오프셋 방지) */
.sheet-list .item {
  position: relative;   /* ← 히트박스 고정 */
  z-index: 0;
}

/* === 모바일 하단 시트 클릭 불가 구간 수정 === */
@media (max-width: 720px) {
  /* 시트가 모든 오버레이(지도 툴/클러스터/FAB)보다 위 */
  .sheet { z-index: 60 !important; pointer-events: auto; }
  /* FAB은 시트 아래로 내리고, 버튼 박스만 히트 (불필요한 넓은 히트 막기) */
  #fabTrip { z-index: 100000 ; pointer-events: none; }
  #fabTrip > * { pointer-events: auto; } /* 실제 버튼만 클릭되게 */
  /* 탭/아이템은 탭(클릭) 우선 */
  .sheet, .sheet-tabs, .sheet-tabs .sheet-tab, .sheet-body, .sheet-list .item {
    touch-action: manipulation;
    pointer-events: auto;
  }
  /* 스크롤/히트테스트 안정화 */
  .sheet-body { -webkit-overflow-scrolling: touch; }
}

/* 시트 내부 스크롤 튐/반동 방지 + 터치 안정화 */
.sheet-body{ overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.sheet-list .item{ user-select: none; -webkit-user-select: none; }

/* 탭/리스트는 드래그보다 탭(클릭) 우선 */
.sheet, .sheet-tabs, .sheet-tabs .sheet-tab, .sheet-body, .sheet-list .item {
  touch-action: manipulation;
  pointer-events: auto;
}
/* iOS 스크롤 안정화 */
.sheet-body { -webkit-overflow-scrolling: touch; }
/* 아이템 히트박스 안정화 */
.sheet-list .item { position: relative; z-index: 0; }
/* 모바일에선 시트를 모든 오버레이 위로, FAB는 클릭영역만 히트 */
@media (max-width: 720px) {
  .sheet { z-index: 60 !important; }
  #fabTrip { z-index: 100002 ;pointer-events: none; }
  #fabTrip > * { pointer-events: auto; }
}

.drop-marker{
  height: 8px;
  margin: 4px 0;
  border-radius: 999px;
  background: #5b9cff;
  opacity: .65;
  pointer-events: none;
}
.item.dragging { opacity: .6; }
.dnd-handle { cursor: grab; }
.dnd-handle:active { cursor: grabbing; }

/* PC 보관함 삭제 버튼 노출 보장 */
#panel-mine .btn-fav-del {
  display: inline-flex !important;
  align-items: center;
  padding: 4px 8px;
  margin-top: 6px;
  font-size: 12px;
}

/* 보관함 아이템 정렬/여백(가독성) */
#panel-mine .item { align-items: flex-start; cursor: pointer; }
#panel-mine .item .dnd-handle { cursor: grab; }
#panel-results .btn-remove { display:inline-flex; }
#panel-mine .item.dragging { opacity: .6; }

/* === [MOVE-DEL] PC: 결과리스트 삭제버튼 숨김, 보관함 삭제버튼 노출 === */
@media (min-width:760px){
  #panel-results .btn-remove { 
    display: none;      /* 결과 패널(검색 결과)에서는 감추기 */
  }
  #panel-mine .btn-fav-del {
    display: inline-flex !important;/* 보관함에서는 계속 보이게 */
  }
}
/* === [MOBILE-BTN-PRIORITY] 버튼 히트 강제 보장(겹침 대비) === */
@media (max-width: 759px){
  /* 리스트 내부 버튼들 히트 우선권 */
  .sheet-list .item button,
  .sheet-list .item a,
  .sheet-list .item [role="button"]{
    position: relative;
    z-index: 1;
    pointer-events: auto;
  }
}

#panel-mine .dnd-handle { cursor: grab; user-select: none; }
#panel-mine .item.dragging { opacity: .55; }

/* 9월 10일 이후 추가 함수 */

/* PC 보관함 전용: 핸들이 눈에 띄고, 0폭/겹침 방지 */
#panel-mine #favList .item { display:flex; align-items:flex-start; gap:8px; }
#panel-mine #favList .item .dnd-handle { flex:0 0 22px; display:flex; justify-content:center; align-items:center; font-size:16px; color:#9fb9e8; cursor:grab; user-select:none; }
#panel-mine #favList .item .dnd-handle:active { cursor:grabbing; }

/* PC 보관함: 드래그 핸들이 라벨에 가려지는 문제 수정 */
#panel-mine #favList .item .dnd-handle{
  position: relative;  /* 쌓임맥락 부여 */
  z-index: 2;          /* 라벨보다 위로 */
}

#panel-mine #favList .item .label{
  position: static;    /* 겹치지 않게 절대배치 해제 */
  flex: 0 0 22px;
  margin-top: 8px;     /* 높이 맞춤 */
  z-index: 1;
}

/* 라벨 절대배치 전제로 주던 왼쪽 패딩 제거 */
#panel-mine #favList .item > div{
  padding-left: 0;
}

/* 보관함 드래그 핸들 가시성 보장 */
#panel-mine .dnd-handle {
  display: flex !important;          /* 혹시라도 display: none 걸리면 무시 */
  align-items: center;
  justify-content: center;
  min-width: 28px;                   /* 폭이 0으로 접히지 않게 */
  height: 44px;
  margin-right: 8px;                 /* 라벨과 간격 */
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.02));
  border: 1px solid #dfe6f2;         /* 밝은 패널에서도 보이는 테두리 */
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.03);
  color: #0b1220;
  font-size: 18px;
  cursor: grab;
  user-select: none;
}
#panel-mine .dnd-handle:active { cursor: grabbing; }
/* 보관함 DnD */
#panel-mine #favList .item {
  display: grid;
  grid-template-columns: 28px 24px 1fr;
  gap: 8px;
}
#panel-mine #favList .item .dnd-handle {
  display: inline-flex;
  width: 34px; height: 75px;
  justify-content: center;
  margin-right: 4px;
  cursor: grab; user-select: none;
  opacity: .9;
}
#panel-mine #favList .item.dragging {
  opacity: .6;
  outline: 1px dashed #5b9cff;
}

button.ghost.danger { color:#fca5a5; border-color:#7f1d1d; }
button.ghost.danger:hover { background:rgba(127,29,29,.15); }

.icon-btn{
  width: 36px;
  display: inline-grid; place-items: center;
  border: 0; border-radius: 999px;
  background: rgba(255,255,255,.06);
  transition: background .15s ease, transform .08s ease;
  cursor: pointer;
  box-shadow: 0 0px 0px rgba(0,0,0,0);
  display : block;
}
.icon-btn:hover{ background: rgba(255,255,255,.12); }
.icon-btn:active{ transform: translateY(1px) scale(.98); }
.icon-btn img{ width: 35px; height: 43px; display:block; }
.icon-btn.busy img{ animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* 접근성: 화면엔 숨기고 스크린리더만 읽음 */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* 다크배경에서 더 또렷하게 하고 싶으면(선택) */
/* .icon-btn img{ filter: invert(1) brightness(1.1); } */
#panel-mine .course-items .item{
  display:flex; gap:8px; padding:8px 10px;
  border-top:1px solid #1f2b3f; cursor:pointer;
}
#panel-mine .course-items .item .label{
  width:22px;height:22px;border-radius:999px;
  display:grid;place-items:center;font-weight:700;color:#02112e;
  background:#5b9cff;
}
#panel-mine .course-items .item.active{
  background:rgba(79,140,255,.08);
}
