/* Print Hub 디자인 정리 — 기존 빌드 위에 덮어쓰는 스타일
   방향: 친절하고 정확하고 조용한 화면, 교무실 복사 용지, 프린터 카드가 주인공
   unslop by Damir Sokolovsky (@heydamir), CC BY 4.0 */

:root {
  --u-bg: #f6f6f4;
  --u-card: #ffffff;
  --u-raised: #f0f0ed;
  --u-sheet: #fbfbf9;
  --u-text: #1b1b19;
  --u-text-2: #55554f;
  --u-muted: #74746d;
  --u-line: rgba(27, 27, 25, 0.08);
  --u-line-2: rgba(27, 27, 25, 0.14);
  --u-accent: #0064e6;
  --u-accent-ink: #0054c4;
  --u-accent-soft: rgba(0, 100, 230, 0.07);
  --u-ok: #16a34a;
  --u-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --u-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
}

body { background: var(--u-bg) !important; color: var(--u-text); }
[code-path="src/components/AppShell.tsx:16:5"] { background: var(--u-bg) !important; }

/* 굵기와 자간: 400–600, 작은 글자에 음수 자간 없음 */
#root .font-extrabold, #root .font-bold { font-weight: 600 !important; }
#root [class*="tracking-[-"] { letter-spacing: 0 !important; }
#root .uppercase { text-transform: none !important; letter-spacing: 0 !important; }

/* ── 상단 헤더 (앱) ───────────────────────────── */
[code-path="src/components/AppShell.tsx:17:7"] {
  background: var(--u-card) !important;
  backdrop-filter: none !important;
  border-bottom: 1px solid var(--u-line) !important;
}
.brand-mark {
  width: 32px !important; height: 32px !important;
  border-radius: 8px !important;
  background: var(--u-text) !important;
  box-shadow: none !important;
}
.brand-mark svg { width: 17px; height: 17px; }
.brand-signal { display: none !important; }
[code-path="src/components/AppShell.tsx:24:17"] { font-size: 12px !important; color: var(--u-muted) !important; border-color: var(--u-line-2) !important; }
[code-path="src/components/AppShell.tsx:26:15"] { display: none !important; }
[code-path="src/components/AppShell.tsx:30:15"] { font-size: 11px !important; color: var(--u-muted) !important; }

/* 헤더 내비게이션: 알약 묶음 → 조용한 탭 */
[code-path="src/components/AppShell.tsx:35:13"],
[code-path="src/components/AppShell.tsx:35:13"] ~ a {
  min-height: 36px !important; border-radius: 8px !important;
  font-weight: 500 !important; font-size: 14px !important;
}
[code-path="src/components/AppShell.tsx:35:13"].bg-\[\#12141f\],
nav a.bg-\[\#12141f\] {
  background: var(--u-raised) !important; color: var(--u-text) !important;
  box-shadow: inset 0 0 0 1px var(--u-line) !important;
}
nav:has(> [code-path="src/components/AppShell.tsx:35:13"]) {
  background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; gap: 4px !important;
}

/* 서버 연결 상태: 대문자 모노 → 조용한 문장 + 점 */
[code-path="src/components/AppShell.tsx:53:11"] {
  font-family: inherit !important; font-size: 13px !important; color: var(--u-muted) !important;
}
[code-path="src/components/AppShell.tsx:53:11"]::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--u-ok);
}
[code-path="src/components/AppShell.tsx:54:13"],
[code-path="src/components/AppShell.tsx:56:13"] { display: none !important; }

/* 앱 자체 푸터는 숨기고 페이지 하단 푸터 하나만 남김 */
[code-path="src/components/AppShell.tsx:61:7"] { display: none !important; }

/* ── 히어로 ──────────────────────────────────── */
[code-path="src/pages/Home.tsx:178:7"] {
  background: var(--u-bg) !important;
  border-bottom: 1px solid var(--u-line) !important;
}
[code-path="src/pages/Home.tsx:179:9"] {
  grid-template-columns: minmax(0, 1fr) !important;
  padding-top: 48px !important; padding-bottom: 40px !important;
}
[code-path="src/pages/Home.tsx:181:13"] { display: none !important; }
[code-path="src/pages/Home.tsx:184:13"] {
  font-size: 44px !important; line-height: 1.15 !important; font-weight: 500 !important;
  letter-spacing: -0.02em !important; color: var(--u-text) !important; word-break: keep-all;
}
[code-path="src/pages/Home.tsx:187:13"] {
  max-width: 36rem !important; margin-top: 16px !important;
  font-size: 17px !important; line-height: 28px !important; color: var(--u-text-2) !important; word-break: keep-all;
}
[code-path="src/pages/Home.tsx:178:7"] svg { color: var(--u-muted) !important; }
[code-path="src/pages/Home.tsx:178:7"] [class*="gap-x"], [code-path="src/pages/Home.tsx:178:7"] .text-slate-600 { color: var(--u-text-2); }
/* 장식용 연결 지도 제거 */
[code-path="src/pages/Home.tsx:196:11"] { display: none !important; }

/* ── 교무실 찾기 패널 ───────────────────────── */
aside[class*="lg:sticky"] {
  border-radius: 16px !important; border-color: var(--u-line) !important;
  box-shadow: none !important; padding: 20px !important;
}
[code-path="src/pages/Home.tsx:213:13"] { font-size: 16px !important; line-height: 24px !important; font-weight: 600 !important; color: var(--u-text) !important; }
[code-path="src/pages/Home.tsx:214:13"] { display: none !important; }
#root .form-label { font-size: 13px !important; font-weight: 400 !important; color: var(--u-text-2) !important; }
#root .form-input, #root .select-wrap select {
  border-color: var(--u-line-2) !important; border-radius: 8px !important; min-height: 40px !important;
}
#root .form-input:focus, #root .select-wrap select:focus {
  border-color: var(--u-accent) !important; box-shadow: 0 0 0 3px var(--u-accent-soft) !important;
}

/* 교무실 목록: 한 줄 높이 통일, 선택은 옅은 면 + 얇은 선 */
[code-path="src/pages/Home.tsx:233:11"] { margin-top: 8px !important; display: grid; gap: 2px; }
[code-path="src/pages/Home.tsx:233:11"] > * + * { margin-top: 0 !important; }
button[code-path="src/pages/Home.tsx:238:17"] {
  min-height: 52px !important; padding: 6px 8px !important; gap: 10px !important;
  border-radius: 8px !important; border: 0 !important; background: transparent !important;
  justify-content: flex-start !important;
  transition: background-color .15s var(--u-ease) !important;
}
button[code-path="src/pages/Home.tsx:238:17"]:hover { background: var(--u-raised) !important; }
button[code-path="src/pages/Home.tsx:238:17"].border-\[\#0064e6\] {
  background: var(--u-accent-soft) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 100, 230, 0.2) !important;
}
[code-path="src/pages/Home.tsx:239:19"] { flex: 1; min-width: 0; }
[code-path="src/pages/Home.tsx:239:25"] { font-size: 14px !important; font-weight: 500 !important; line-height: 20px; }
button[code-path="src/pages/Home.tsx:238:17"]:not(.border-\[\#0064e6\]) [code-path="src/pages/Home.tsx:239:25"] { color: var(--u-text) !important; }
[code-path="src/pages/Home.tsx:239:161"] { margin-top: 0 !important; font-size: 12px !important; color: var(--u-muted) !important; }
[code-path="src/pages/Home.tsx:240:29"], [code-path="src/pages/Home.tsx:240:87"] { display: none !important; }

/* 시그니처: 층 표시 */
.unslop-floor {
  flex: none; width: 36px; height: 24px; border-radius: 4px;
  display: grid; place-items: center;
  border: 1px solid var(--u-line-2); background: var(--u-sheet);
  font: 500 12px/1 var(--u-mono); color: var(--u-text-2);
  font-variant-numeric: tabular-nums;
}
button.border-\[\#0064e6\] .unslop-floor { border-color: rgba(0, 100, 230, 0.35); color: var(--u-accent-ink); }

/* ── 결과 영역 ───────────────────────────────── */
[code-path="src/pages/Home.tsx:251:15"], [code-path="src/pages/Home.tsx:251:15"] * { font-size: 13px !important; color: var(--u-muted) !important; }
[code-path="src/pages/Home.tsx:252:15"] { color: var(--u-text) !important; font-size: 28px !important; line-height: 1.25 !important; font-weight: 500 !important; letter-spacing: -0.01em !important; }
[code-path="src/pages/Home.tsx:254:13"] {
  border: 0 !important; background: none !important; padding: 0 !important;
  font-family: inherit !important; font-size: 14px !important; color: var(--u-text-2) !important;
}
[code-path="src/pages/Home.tsx:254:175"] { display: none !important; }

/* 프린터 카드: 프린터 옆에 붙은 안내지처럼 */
.printer-card {
  position: relative; isolation: isolate; overflow: visible !important;
  border-radius: 16px !important; border-color: var(--u-line) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05) !important;
  margin-bottom: 8px;
  transition: none !important;
}
.printer-card::before, .printer-card::after {
  content: ""; position: absolute; z-index: -1; height: 100%;
  border-radius: 14px; background: var(--u-sheet); border: 1px solid var(--u-line);
}
.printer-card::after { left: 12px; right: 12px; top: 4px; }
.printer-card::before { left: 20px; right: 20px; top: 8px; }
.printer-card:hover { transform: none !important; }
.printer-card > * { position: relative; }
.printer-card > :first-child { border-radius: 16px 16px 0 0; background: var(--u-card); }
[code-path="src/pages/Home.tsx:98:11"] {
  border-radius: 12px !important; border-color: var(--u-line) !important;
  background: var(--u-raised) !important; color: var(--u-text-2) !important;
}
[code-path="src/pages/Home.tsx:102:13"] > span {
  border-radius: 4px !important; background: transparent !important;
  box-shadow: inset 0 0 0 1px var(--u-line-2); font-weight: 400 !important; font-size: 12px !important;
  padding: 2px 6px !important; color: var(--u-text-2) !important;
}
[code-path="src/pages/Home.tsx:104:17"] { display: none !important; }
[code-path="src/pages/Home.tsx:102:13"] > span:nth-child(2) { font-family: var(--u-mono); box-shadow: none; padding-left: 0 !important; color: var(--u-muted) !important; }
.printer-card h3 { font-size: 20px !important; line-height: 28px !important; font-weight: 600 !important; letter-spacing: 0 !important; }

a[code-path="src/pages/Home.tsx:115:9"] {
  min-height: 44px !important; border-radius: 10px !important;
  font-size: 15px !important; font-weight: 500 !important;
  box-shadow: none !important; background: var(--u-accent) !important;
  transition: background-color .15s var(--u-ease), transform .12s var(--u-ease) !important;
}
a[code-path="src/pages/Home.tsx:115:9"]:hover { transform: none !important; background: var(--u-accent-ink) !important; }
a[code-path="src/pages/Home.tsx:115:9"]:active { transform: scale(.98) !important; }

[code-path="src/pages/Home.tsx:124:7"] {
  background: var(--u-sheet) !important;
  border-top: 1px dashed var(--u-line-2) !important;
  border-radius: 0 0 16px 16px;
}
[code-path="src/pages/Home.tsx:124:7"] > * + * { border-color: var(--u-line) !important; }
#root .data-label {
  font-family: inherit !important; font-size: 12px !important; text-transform: none !important;
  letter-spacing: 0 !important; color: var(--u-muted) !important; line-height: 16px;
}
[code-path="src/pages/Home.tsx:124:7"] .font-semibold { font-weight: 400 !important; }

/* 빈 상태 */
div:has(> [code-path="src/pages/Home.tsx:265:17"]) { border-color: var(--u-line-2) !important; border-radius: 16px !important; }

/* 안내 문구: 파란 상자 → 조용한 면 */
div:has(> [code-path="src/pages/Home.tsx:272:13"]) {
  background: var(--u-raised) !important; border: 0 !important; border-radius: 12px !important;
  color: var(--u-text-2) !important;
}
div:has(> [code-path="src/pages/Home.tsx:272:13"]) svg { color: var(--u-muted) !important; }
[code-path="src/pages/Home.tsx:272:13"] { color: var(--u-text-2) !important; font-size: 14px !important; line-height: 22px !important; word-break: keep-all; }

/* 본문 속 업체 카드는 숨기고 하단 푸터에만 남김 */
div:has(> div > div > .unslop-company-tag) { display: none !important; }

/* 움직임: 반복 애니메이션 제거 */
.network-line span, #root .animate-pulse, #root .animate-ping { animation: none !important; }

@media (max-width: 640px) {
  [code-path="src/pages/Home.tsx:179:9"] { padding-top: 32px !important; padding-bottom: 28px !important; }
  [code-path="src/pages/Home.tsx:184:13"] { font-size: 32px !important; }
  [code-path="src/pages/Home.tsx:187:13"] { font-size: 15px !important; line-height: 24px !important; }
  [code-path="src/pages/Home.tsx:252:15"] { font-size: 24px !important; }
}
