  /* v5.38 RC12 — 사진 없는 장소 상세의 정보 위계와 밝은 지도 톤을 정리한다. */
  html[data-theme="light"]{color-scheme:light;}
  html[data-theme="dark"]{
      color-scheme:dark;
      --bg-canvas:#06131f; --bg-app:#0b1d2c;
      --surface-section:#0e2232; --surface-card:#11283a; --surface-raised:#18364b; --control-bg:#1c3d54;
      --surface-interactive:#153248; --surface-info:#102c4d;
      --border-subtle:#2a485e; --border-default:#3b5a70; --border-control:#6f8ba0; --border-interactive:#42647a;
      --text-primary:#f2f7fa; --text-secondary:#b7c8d3; --text-muted:#9eb2c0;
      --canvas:var(--bg-canvas); --app:var(--bg-app);
      --surface-1:var(--surface-card); --surface-2:var(--surface-section); --surface-muted:var(--surface-raised);
      --border:var(--border-subtle); --border-strong:var(--border-default); --input-border:var(--border-control);
      --action:#64a8ff; --action-fill:#1b64da; --action-hover:#2272eb; --action-weak:#102c4d; --on-action:#ffffff;
      --focus:#90c2ff;
      --success:#6ed39e; --success-bg:#123528; --success-fill:#1e7a4d; --on-success:#ffffff;
      --warning:#ffd166; --warning-bg:#3a2d14; --warning-fill:#f6c453; --on-warning:#2d2100;
      --danger:#ff928a; --danger-bg:#472321; --danger-fill:#b94742; --on-danger:#ffffff;
      --info:#90c2ff; --info-bg:#102c4d;
      --fixed:#c1ccd5; --fixed-bg:#27394b;
      --manual:#7bd3a3; --manual-bg:#123528;
      --ai:#aab4ff; --ai-bg:#24264f;
      --idea:#b0bdc7; --idea-bg:#263646;
      --category-sea:#58c7c7; --category-soup:#fb8890; --category-local:#9294ff; --category-market:#f277a7;
      --category-meal:#3fd599; --category-bar:#a899ff; --category-cafe:#c770e4; --category-tour:#64a8ff; --category-etc:#91a5b2;
      --day-1-a:#164f91; --day-1-b:#1b64da; --day-2-a:#176049; --day-2-b:#247356; --day-3-a:#4c469f; --day-3-b:#5c55b9;
      --shadow-sm:0 1px 2px rgba(0,0,0,.16);
      --shadow-md:0 10px 26px rgba(0,0,0,.28);
      --shadow-card:0 3px 0 rgba(4,11,16,.48),0 10px 24px rgba(0,0,0,.28);
      --shadow-card-hover:0 4px 0 rgba(4,11,16,.52),0 13px 28px rgba(0,0,0,.34);
      --shadow-card-pressed:0 1px 0 rgba(4,11,16,.42),0 5px 12px rgba(0,0,0,.20);
      --navy:var(--action); --blue:var(--info); --sky:var(--surface-2); --sand:var(--surface-1);
      --accent:var(--warning); --green:var(--success); --red:var(--danger);
      --text:var(--text-primary); --sub:var(--text-secondary);
  }

  html{background:var(--canvas);}
  body{background:var(--canvas);color:var(--text-primary);}
  .wrap{background:var(--app);box-shadow:0 0 30px rgba(20,45,60,.12);}
  a{color:var(--info);}
  button,input,textarea,select{font-family:inherit;}
  input,textarea,select{color:var(--text-primary);background:var(--surface-1);border-color:var(--input-border);}
  input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.78;}
  button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
    outline:3px solid var(--focus)!important;outline-offset:3px;box-shadow:none;
  }
  ::selection{background:var(--info-bg);color:var(--text-primary);}

  /* 앱 셸과 전역 내비게이션 */
  .bnav{background:var(--surface-1);border-top-color:var(--border);box-shadow:0 -8px 22px rgba(20,45,60,.08);}
  .bnav button{min-height:54px;color:var(--text-secondary);margin:4px 3px;padding:5px 0 6px;}
  .bnav button.on{color:var(--action);background:var(--control-bg);box-shadow:inset 0 0 0 1.5px var(--border-default);}
  .qnav{background:var(--surface-1);border-bottom-color:var(--border);}
  .qnav a{min-height:40px;display:inline-flex;align-items:center;color:var(--action);background:var(--control-bg);border-color:var(--input-border);}
  .qnav a.on{background:var(--action-fill);border-color:var(--action-fill);color:var(--on-action);}
  .hero{background:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--brand-glow) 28%,transparent) 0,transparent 43%),linear-gradient(150deg,var(--brand-deep) 0%,var(--brand-deep-2) 70%,#123b69 100%);}
  .hero .dday,.sp-dday{
    background:linear-gradient(145deg,var(--warning-fill),color-mix(in srgb,var(--warning-fill) 78%,#b87812));
    border:1px solid color-mix(in srgb,var(--warning-fill) 72%,#8a5a00);color:var(--on-warning);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 3px 9px rgba(55,39,0,.18);
  }
  section{color:var(--text-primary);}
  h2{color:var(--text-primary);background-image:none;}
  h2::after{background:var(--border);}
  footer{color:var(--text-secondary);}

  /* 공통 표면과 피드백 */
  .card,.nowcard,.wday,.wnote,.legend,.fpanel,.qempty,.kbox2{
    background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-sm);
  }
  .card h3,.nowcard .nc-t,.qempty b,.qempty .emt,.kbox2 h3{color:var(--text-primary);}
  .card .row .k,.fn,.fn-li,.nowcard .nc-s,.wday .wd,.wnote,.kbox2 p{color:var(--text-secondary);}
  .notice{background:var(--warning-bg);border-left-color:var(--warning);color:var(--warning);}.notice b{color:var(--warning);}
  table td{border-bottom-color:var(--border);}tr.total td{background:var(--warning-bg);color:var(--warning);}
  .warn{background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 52%,transparent);color:var(--danger);}
  .warn b{color:var(--danger);}
  .warn.success-note{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 58%,transparent);color:var(--success);}
  .warn.success-note b{color:var(--success);}
  .nowcard{background:var(--surface-raised);}
  .nowcard .nc-l{color:var(--info);}
  #tab-home .home-now .nowcard{
    background:linear-gradient(145deg,var(--surface-info),var(--surface-card));
    border:1px solid var(--border-interactive);border-left:3px solid var(--info);box-shadow:var(--shadow-card);
  }
  #tab-home .home-place-card{
    background:linear-gradient(145deg,var(--surface-interactive),var(--surface-card));
    border:1px solid var(--border-interactive);color:var(--text-primary);box-shadow:var(--shadow-card);
  }
  #tab-home .home-place-card:active{
    border-color:var(--info);box-shadow:inset 0 0 0 1px var(--info),var(--shadow-card-pressed);
  }
  #tab-home .home-place-icon{background:none;border:0;box-shadow:none;}
  .home-more{border-color:var(--input-border);}
  .gobtn,.kbox2 .kgo,.qempty button{min-height:46px;background:var(--action-fill);color:var(--on-action);}
  .checks{gap:9px;}
  .chk{background:var(--surface-1);border-color:var(--border);color:var(--text-primary);}
  .chk small{color:var(--text-secondary);}
  .chk.must{background:var(--warning-bg);border-color:var(--warning);}
  .wday.trip{background:var(--info-bg);border-color:var(--info);}
  .wday.today,.wday.today.trip{background:var(--action-weak);border-color:var(--action);box-shadow:none;}
  .wday .wt{color:var(--text-primary);}
  .wday .wr,.wday.trip .wd{color:var(--info);}
  .wday.today .wd{color:var(--action);}
  .wday.today::after{background:var(--action-fill);color:var(--on-action);}

  /* 확정 일정 — 상태는 색뿐 아니라 기존 아이콘과 문구를 함께 유지 */
  .day{background:var(--surface-1);border-color:var(--border);box-shadow:var(--shadow-sm);}
  .d1 .day-head{background:linear-gradient(90deg,var(--day-1-a),var(--day-1-b));}
  .d2 .day-head{background:linear-gradient(90deg,var(--day-2-a),var(--day-2-b));}
  .d3 .day-head{background:linear-gradient(90deg,var(--day-3-a),var(--day-3-b));}
  .day.hl>.day-head{filter:brightness(1.08) saturate(1.04);}
  .item{border-bottom-color:var(--border);}
  .time{color:var(--info);}.d2 .time{color:var(--success);}.d3 .time{color:var(--ai);}
  .cont .s,.lg{color:var(--text-secondary);}
  .cont a,.item.bk-injected .bknav{color:var(--info);}
  .chip.lock{background:var(--fixed-bg);color:var(--fixed);}
  .chip.hold,.chip.bktm{background:var(--warning-bg);color:var(--warning);}
  .chip.bkpin{background:var(--manual-bg);color:var(--manual);}
  .chip.bkai{background:var(--ai-bg);color:var(--ai);}
  .chip.ok{background:var(--success-bg);color:var(--success);}
  .chip.meeting{background:var(--info-bg);color:var(--info);}
  .chip.choice{background:var(--warning-bg);color:var(--warning);}
  .chip.now{background:var(--danger-fill);color:var(--on-danger);animation:none;}
  .legend{background:var(--surface-2);border-color:var(--border);}
  .legend .lg-sum,.lgv b{color:var(--text-primary);}
  .legend .lg-hint{color:var(--text-secondary);}
  .meeting-decisions{background:var(--surface-2);border-color:var(--border-default);}
  .meeting-decisions summary,.meeting-decision strong{color:var(--text-primary);}
  .meeting-count{background:var(--info-bg);color:var(--info);}
  .meeting-decision{background:var(--surface-1);border-color:var(--border);}
  .meeting-decision span{color:var(--text-secondary);}
  .meeting-decision span b{color:var(--warning);}
  .item.hold{background:var(--warning-bg);border-left-color:var(--warning);}
  .item.hold .s b{color:var(--warning);}
  .item.bk-injected{background:var(--info-bg);border-left-color:var(--info);}
  .item.bk-injected .bk-reason{color:var(--text-secondary);}
  .item.bk-injected .bknav{background:var(--control-bg);}
  .item.bk-injected .bkrm{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  .schedule-detail-label{color:var(--text-muted);}
  .schedule-detail-caution .schedule-detail-label,.schedule-detail-caution b{color:var(--warning);}
  .schedule-actions{border-top-color:var(--border);}
  .schedule-actions a{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--info);}
  .plan-edit-toggle{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .plan-edit-toggle[aria-pressed="true"]{background:var(--success-bg);border-color:var(--success);color:var(--success);}
  .plan-edit-note{background:var(--info-bg);border-color:var(--info);color:var(--info);}
  .pay-fab{right:max(14px,calc(50% - 226px));background:var(--action-fill);color:var(--on-action);box-shadow:var(--shadow-md);}

  /* 맛집·장소 — 표면은 세 단계만 쓰고 입력 경계를 분명히 */
  #tab-pick{background:var(--app);}
  #tab-pick .pk{background:var(--surface-1);border:1.5px solid var(--border-default);box-shadow:var(--shadow-card);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;}
  #tab-pick .pk:active{transform:none;}
  #tab-pick .pk:has(.pk-open-detail:active){transform:translateY(1px);box-shadow:var(--shadow-card-pressed);}
  #tab-pick .spot{background:var(--surface-1);border-color:var(--border);box-shadow:var(--shadow-sm);}
  #tab-pick .pk-menu{background:var(--surface-raised);border-color:var(--border);}
  .fpanel{background:var(--surface-card);border-color:var(--border-default);box-shadow:var(--shadow-sm);}
  .pk-name,.spot .sn,.qempty .emt{color:var(--text-primary);}
  .pk-one,.pk-info,.pk-src,.spot .sd,.subhead,.qempty{color:var(--text-secondary);}
  .pk-links a{min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--control-bg);color:var(--text-primary);border:1px solid var(--border-default);}
  .pk-tip{background:var(--info-bg);border-left-color:var(--info);color:var(--text-secondary);}
  .pk-tip.warn{background:var(--danger-bg);border-left-color:var(--danger);color:var(--danger);}
  .closed-warn,.closed-warn-s{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  .fsearch input{min-height:46px;color:var(--text-primary);background:var(--surface-raised);border-color:var(--input-border);}
  .fsearch input::placeholder{color:var(--text-muted);opacity:1;}
  .fsearch input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 26%,transparent);}
  .fsearch button,.fclear,.freset{min-width:44px;min-height:44px;background:var(--surface-muted);color:var(--text-secondary);}
  .fbar .fchk,.fbar .fsort{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .fbar .fchk input{accent-color:var(--action-fill);}
  .fbar .fsort.on{background:var(--action-fill);border-color:var(--action-fill);color:var(--on-action);}
  .fbar .fchk b,.dbasis b{color:var(--text-primary);}.dbasis.est,.starsync{color:var(--warning);}
  .star-own,.fresult{border-top-color:var(--border);}
  @media (hover:hover) and (pointer:fine){
    #tab-pick .pk:hover{border-color:var(--border-control);box-shadow:var(--shadow-card-hover);transform:translateY(-1px);}
  }
  .star-own-status{color:var(--text-secondary);}
  .star-own .fclear{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  .starbtn{min-width:44px;min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-secondary);}
  .starbtn.on{background:var(--action-weak);border-color:var(--action);color:var(--action);}
  .starbtn.on .n{color:var(--action);}
  .place-detail-star.on{color:var(--on-action);}
  .pk-badge{background:var(--info-bg);color:var(--info);}
  .pk-badge.hot{background:var(--ai-bg);color:var(--ai);}
  .pk-badge.pick{background:var(--action-weak);color:var(--action);}
  .pk-badge.sns{background:var(--ai-bg);color:var(--ai);}
  .pk-info .pf.warn{color:var(--warning);}
  .d-walk{background:var(--success-bg);color:var(--success);}.d-near{background:var(--info-bg);color:var(--info);}
  .d-mid{background:var(--warning-bg);color:var(--warning);}.d-far{background:var(--danger-bg);color:var(--danger);}
  .t-walk{color:var(--success);}.t-near{color:var(--info);}.t-mid{color:var(--warning);}.t-far{color:var(--danger);}
  .qempty{background:var(--surface-1);border-color:var(--border-strong);}
  /* 예약·정산 — 송금 결론만 최상위 강조, 나머지는 차분한 표면 */
  .pay-summary{background:var(--surface-section);border:1px solid var(--border);}
  .pay-total-row{border-bottom-color:var(--border);}
  .pay-total-l,.pay-paid-cap,.pay-team-nm,.pay-person .pp-n,.pay-field>label,.pay-field-sub{color:var(--text-secondary);}
  .pay-total-n,.pay-team-fig b,.pay-person .pp-v,.pay-bd-l,.pay-bd-n,.pay-amt,.pay-title,.pay-empty .emt{color:var(--text-primary);}
  .pay-team,.pay-row{background:var(--surface-card);border-color:var(--border);box-shadow:none;}
  .pay-person{background:var(--surface-raised);border-color:var(--border);}
  .pay-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:0;background:transparent;border:0;}
  .pay-bd-row{display:grid;align-content:start;gap:2px;min-width:0;min-height:68px;margin:0!important;padding:9px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-card);}
  .pay-bd-l,.pay-bd-n{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pay-bd-l{font-size:11px;}.pay-bd-n{font-size:15px;}
  .pay-bd-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10.5px;line-height:1.35;}
  .pay-verdict{background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--brand-glow) 27%,transparent),transparent 42%),linear-gradient(145deg,var(--brand-deep),var(--brand-deep-2) 68%,#123b69);border:1px solid color-mix(in srgb,var(--action) 72%,#fff);color:#fff;text-shadow:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(5,24,35,.36),0 5px 14px rgba(7,26,46,.22);animation:none;}
  .pay-verdict.zero{background:var(--success-fill);border-color:color-mix(in srgb,var(--success) 72%,#fff);color:var(--on-success);}
  .pay-team{padding:9px 10px;}
  .pay-team-nm{font-size:11.5px;}.pay-team-fig b{font-size:16px;}
  .pay-resv-badge{background:var(--info-bg);color:var(--info);}
  .pay-field-cap{color:var(--text-primary);border-top-color:var(--border);}
  .pay-payer{background:var(--info-bg);color:var(--info);}
  .pay-scope.sc-gong{background:var(--idea-bg);color:var(--idea);}
  .pay-scope.sc-a{background:var(--info-bg);color:var(--info);box-shadow:inset 0 0 0 1px var(--border-default);}
  .pay-scope.sc-b{background:var(--ai-bg);color:var(--ai);box-shadow:inset 0 0 0 1px var(--border-default);}
  .pay-row.pay-resv-row,.pay-group-empty,.pay-empty{background:var(--surface-raised);border-color:var(--border-default);}
  .pay-sync,.pay-pend-tag{background:var(--warning-bg);border-color:var(--warning);color:var(--warning);}
  .pay-note,.pay-bd-note,.pay-resv-hint,.pay-empty{color:var(--text-secondary);}
  .pay-photo-btn,.pay-edit,.pay-del{min-width:44px;min-height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;background:var(--control-bg);border-color:var(--input-border);font-size:18px;}
  .pay-photo-btn,.pay-edit{color:var(--info);}
  .pay-del{color:var(--danger);background:var(--danger-bg);border-color:var(--danger);}
  .pay-sheet-in{background:var(--surface-card);border:1px solid var(--border);border-bottom:0;box-shadow:0 -12px 36px rgba(0,0,0,.24);}
  .pay-sheet-foot{background:var(--surface-card);border-top-color:var(--border);}
  .pay-sheet-head h3{color:var(--text-primary);}
  .pay-x,.rt-x,.bk-reset-x{width:44px;height:44px;background:var(--control-bg);color:var(--text-primary);}
  .pay-method{min-height:54px;background:var(--surface-raised);border-color:var(--input-border);color:var(--text-primary);}
  .pay-method.on,.pay-opt.on{background:var(--action-fill);border-color:var(--action-fill);color:var(--on-action);}
  .pay-wiz,.pay-scope-help{background:var(--info-bg);color:var(--info);}
  .pay-note.warn{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  .pay-note.info{background:var(--info-bg);border-color:var(--info);color:var(--info);}
  .pay-opt{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .pay-input,.pay-memo-ta{min-height:46px;background:var(--surface-raised);border-color:var(--input-border);color:var(--text-primary);}
  .pay-ocr{background:var(--surface-raised);border-color:var(--border-default);box-shadow:none;}
  .pay-photo-prev img{border-color:var(--border-default);}.pay-ocr-spin{border-color:var(--border-default);border-top-color:var(--info);}
  .pay-ocr-bar{background:var(--surface-section);}
  .pay-ocr-txt{color:var(--text-primary);}
  .cfm-card{background:var(--surface-card);border:1px solid var(--border);box-shadow:var(--shadow-md);}
  .cfm-title{color:var(--text-primary);}.cfm-body{color:var(--text-secondary);}
  .cfm-cancel{background:var(--control-bg);color:var(--text-primary);}
  .pay-input:focus,.pay-memo-ta:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 26%,transparent);}
  .pay-save{min-height:50px;background:var(--action-fill);color:var(--on-action);}
  .pay-skip{min-height:44px;color:var(--text-secondary);}
  .pay-ocr-fill{background:linear-gradient(90deg,var(--action-fill),var(--action));}

  /* 계획하기 */
  .bk-intro,.bk-summary,.bk-focus-list,.bk-fold,.bk-group,.bk-card,.bk-empty-slot{background:var(--surface-1);border-color:var(--border);box-shadow:var(--shadow-sm);}
  .bk-intro,.bk-one,.bk-sm-i,.bk-empty,.bk-reset-note{color:var(--text-secondary);}
  .bk-steps{color:var(--text-secondary);}
  .bk-steps b{color:var(--text-muted);}
  .bk-steps span,.bk-gcount,.bk-caret,.bk-pchip{background:var(--surface-raised);color:var(--text-secondary);}
  .bk-group{box-shadow:none;}
  .bk-group.bk-d1{border-left-color:var(--day-1-b);}.bk-group.bk-d2{border-left-color:var(--day-2-b);}.bk-group.bk-d3{border-left-color:var(--day-3-b);}.bk-group.bk-d0{border-left-color:var(--idea);}
  .bk-ghead,.bk-fold>summary,.bk-name,.bk-reset-title,.bk-empty .bk-emt,.bk-iname{color:var(--text-primary);}
  .bk-summary{background:var(--surface-section);box-shadow:none;}
  .bk-focus-title,.bk-focus-more{color:var(--text-secondary);}
  .bk-focus-row,.bk-focus-more{border-color:var(--border);}
  .bk-focus-name{color:var(--text-primary);}
  .bk-focus-state.unassigned{background:var(--idea-bg);color:var(--idea);}
  .bk-focus-state.assigned{background:var(--warning-bg);color:var(--warning);}
  .bk-focus-state.done{background:var(--success-bg);color:var(--success);}
  .bk-sm-tot b{color:var(--text-primary);}.bk-sm-cf b{color:var(--success);}.bk-sm-as b{color:var(--warning);}.bk-sm-un b{color:var(--idea);}
  .bk-primary,.bk-auto3{min-height:50px;background:var(--action-fill);color:var(--on-action);box-shadow:var(--shadow-sm);}
  .bk-prim-time{background:var(--success);color:#092317;}
  .bk-done,.bk-inject{background:var(--success-bg);border-color:var(--success);color:var(--success);}
  .bk-reset-launch{min-height:44px;border-color:var(--border-strong);color:var(--text-secondary);}
  .bk-reset-sheet{background:var(--surface-card);border:1px solid var(--border);border-bottom:0;}
  .bk-reset-option{min-height:50px;background:var(--surface-raised);border-color:var(--input-border);color:var(--text-primary);}
  .bk-reset-cancel{min-height:48px;background:var(--control-bg);color:var(--text-primary);}
  .bk-ghead,.bk-fold>summary{min-height:44px;box-sizing:border-box;}
  .bk-daybtn,.bk-slot,.bk-confirm,.bk-unfix,.bk-inav,.bk-iunfix,.bk-clearall,.bk-clearday{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  .bk-daybtn,.bk-slot,.bk-inav{background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .bk-daybtn.on{background:var(--action-fill);border-color:var(--action-fill);color:var(--on-action);}
  .bk-confirm,.bk-prim-time{background:var(--success-fill);color:var(--on-success);}
  .bk-confirm:disabled{background:var(--surface-muted);color:var(--text-muted);}
  .bk-fixed,.bk-islot{background:var(--success-bg);color:var(--success);}
  .bk-unfix,.bk-iunfix,.bk-clearall,.bk-clearday,.bk-warn,.bk-closedbadge,.bk-msg{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  .bk-star{background:var(--warning-bg);color:var(--warning);}
  .bk-star0{background:var(--idea-bg);color:var(--idea);}
  .bk-fold>summary:after,.bk-reset-option span{color:var(--text-secondary);}
  .bk-closednote{color:var(--danger);}.bk-ititle{color:var(--success);}
  .bk-irow{border-top-color:var(--border);}
  .bk-irow.bk-ai{background:var(--ai-bg);border-top-color:var(--border);}
  .bk-itime,.bk-aibadge{background:var(--ai-bg);color:var(--ai);}
  .bk-ireason{color:var(--text-secondary);}

  /* 지도와 AI 결과 바텀시트 */
  .mchip,.mdaytab{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .mchip-all,.mdaytab.on{background:var(--action-fill);border-color:var(--action-fill);color:var(--on-action);}
  .mchip-all.off{background:var(--control-bg);border-color:var(--input-border);color:var(--text-secondary);}
  #sokcho-map-wrap,#sokcho-map-state{background:var(--surface-2);border-color:var(--border);color:var(--text-secondary);}
  #sokcho-map-wrap[data-map-theme="light"]{background:#dbe9f1;}
  #sokcho-map-wrap[data-map-theme="dark"]{background:#8fa6b5;}
  #sokcho-map-msg,.rt-errtxt{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);}
  #sokcho-map-wrap .leaflet-popup-content-wrapper,#sokcho-map-wrap .leaflet-popup-tip{background:var(--surface-card);color:var(--text-primary);}
  #sokcho-map-wrap[data-map-theme="light"] .leaflet-tile{filter:saturate(.76) contrast(.98) brightness(1.02);}
  #sokcho-map-wrap[data-map-theme="dark"] .leaflet-tile{filter:brightness(.84) saturate(.78) contrast(.94);opacity:.98;}
  .mpop-nm{color:var(--text-primary);}.mpop-desc{color:var(--text-secondary);}.mpop-dist{color:var(--info);}
  .mpop-b{min-width:44px;min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .mpop-b.star.on{background:var(--action-weak);border-color:var(--action);color:var(--action);}
  #sokcho-map-wrap .mfab{width:44px;height:44px;min-width:44px;min-height:44px;background:#fff;border-color:#d6e0ee;color:#16324f;box-shadow:0 3px 10px rgba(11,37,69,.15);}
  #sokcho-map-wrap .mfab-star.on{background:#1b64da;border-color:#1b64da;color:#fff;box-shadow:0 3px 10px rgba(27,100,218,.3);}
  html[data-theme="dark"] #sokcho-map-wrap .mfab{background:rgba(19,27,40,.92);border-color:#2b3d5c;color:#cfe0f5;box-shadow:0 3px 10px rgba(0,0,0,.42);}
  html[data-theme="dark"] #sokcho-map-wrap .mfab-star.on{background:#1b64da;border-color:#1b64da;color:#fff;box-shadow:0 3px 10px rgba(27,100,218,.38);}
  .rt-sheet-in{background:var(--surface-card);border:1px solid var(--border);border-bottom:0;box-shadow:0 -12px 36px rgba(0,0,0,.24);}
  .rt-sheet-head h3,.rt-nm,.rt-a3-dh,.rt-a3-it b,.rt-result-head,.rt-fill-t,.rt-fill-n{color:var(--text-primary);}
  .rt-loadtxt,.rt-reason,.rt-note,.rt-a3-it span,.rt-result-row,.rt-fill-r{color:var(--text-secondary);}
  .rt-note,.rt-a3-day,.rt-result-block{background:var(--surface-raised);border-color:var(--border);}
  .rt-result-lead{background:var(--info-bg);border-color:var(--info);color:var(--info);}
  .rt-result-block.ok,.rt-tips{background:var(--success-bg);border-color:var(--success);color:var(--success);}
  .rt-result-block.warn{background:var(--warning-bg);border-color:var(--warning);}
  .rt-result-block.fail,.rt-a3-ex{background:var(--danger-bg);border-color:var(--danger);}
  .rt-result-retry,.rt-result-secondary,.rt-close{min-height:44px;background:var(--control-bg);border-color:var(--input-border);color:var(--text-primary);}
  .rt-daybtn,.rt-retry,.rt-apply,.rt-result-primary{min-height:48px;background:var(--action-fill);color:var(--on-action);}
  .rt-a3-d1{border-left-color:var(--day-1-b);}.rt-a3-d2{border-left-color:var(--day-2-b);}.rt-a3-d3{border-left-color:var(--day-3-b);}
  .rt-spin{border-color:var(--border-default);border-top-color:var(--info);}
  .rt-tl{border-color:var(--border-default);}.rt-row{border-top-color:var(--border);}.rt-time{color:var(--info);}
  .rt-badge.fix{background:var(--success-bg);color:var(--success);}.rt-badge.rec{background:var(--ai-bg);color:var(--ai);}
  .rt-a3-em,.rt-a3-exh,.rt-a3-exit,.rt-fill-row.fx .rt-fill-n{color:var(--text-secondary);}
  .kbox2 .kskip{color:var(--text-muted);}
  .cfm-ok{background:var(--action-fill);color:var(--on-action);}
  footer,footer .crew a{color:var(--text-muted);}

  @media (max-width:480px){
    .wrap{box-shadow:none;}
  }
  @media (max-width:360px){
    section{padding-left:14px;padding-right:14px;}
    .checks{grid-template-columns:1fr;}
    .hero{padding:22px 14px 16px;}
    .hero h1{font-size:25px;gap:5px;}
    .hero .date{font-size:12px;gap:4px;}
    .hero .members{font-size:11.5px;gap:2px 9px;}
    .hero-aside{flex-basis:136px;width:136px;}
    .hero-alert{padding-left:7px;padding-right:7px;gap:2px;}
    .hero-alert-title b,.hero-alert-text{font-size:10.5px;}
    .htop{gap:8px;}.hwnow{min-width:0;padding-left:8px;padding-right:8px;}
    .hwnow .hw-i{font-size:24px;}.hwnow .hw-t{font-size:17px;}
    .keys{gap:5px;}.keys .kbox{padding-left:3px;padding-right:3px;}
    #tab-home .home-section{padding-left:14px;padding-right:14px;}
    .home-section-head{gap:7px;}
    .home-more{padding-left:10px;padding-right:10px;font-size:12px;}
    .home-resv-card{padding-left:12px;padding-right:12px;}
    .home-place-card{gap:9px;padding-left:10px;padding-right:10px;}
    .home-place-icon{flex-basis:34px;width:34px;height:34px;}
    .home-place-symbol{width:27px;height:27px;}
    .home-emergency-body .card .row{flex-direction:column;gap:1px;}
    .home-emergency-body .card .row .v{text-align:left;}
    .pay-team{padding-left:9px;padding-right:9px;}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
    .mroute{animation:none!important;stroke-dasharray:none;}
  }
