/* NowHitz crowd grammar (2026-10-24, owner: "현재 붐비는게 직관적으로" · "그래프 컬러도 그리고 바의 형태도 애플처럼"):
   one colour per level on /go/crowd/ and /go/area/<id>/ (the home blocks carry the same colours in home-ui.css) —
   Apple system colours: 1 여유 green · 2 보통 yellow · 3 약간 붐빔 orange · 4 붐빔 red, 0 = no recent data; every bar
   and cell sits on Apple's grey fill track. Colour never stands alone: the word (always ink), the number of gauge
   cells and the bar height say the same thing. Yellow on the light page gets a hairline edge so it holds against the
   paper. Corners 2.5px (cells), 4px (bars, tracks), 8px (buttons); no pills, no circles. Light/dark follow the site
   (prefers-color-scheme unless html[data-theme]). */
:root{--cw-1:#34C759;--cw-2:#FFCC00;--cw-3:#FF9500;--cw-4:#FF3B30;--cw-0:rgba(120,120,128,.32);--cw-off:rgba(120,120,128,.16);--cw-edge2:inset 0 0 0 1px rgba(150,110,0,.45)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--cw-1:#30D158;--cw-2:#FFD60A;--cw-3:#FF9F0A;--cw-4:#FF453A;--cw-0:rgba(120,120,128,.48);--cw-off:rgba(120,120,128,.32);--cw-edge2:none}}
:root[data-theme=dark]{--cw-1:#30D158;--cw-2:#FFD60A;--cw-3:#FF9F0A;--cw-4:#FF453A;--cw-0:rgba(120,120,128,.48);--cw-off:rgba(120,120,128,.32);--cw-edge2:none}
.cw-l0{--cw:var(--cw-0)}.cw-l1{--cw:var(--cw-1)}.cw-l2{--cw:var(--cw-2)}.cw-l3{--cw:var(--cw-3)}.cw-l4{--cw:var(--cw-4)}
.cw-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* gauge: four rounded cells on the grey track, filled = level */
.cw-g{display:inline-flex;gap:2px;flex:0 0 auto}
.cw-g i{display:block;width:6px;height:14px;border-radius:2px;background:var(--cw-off)}
.cw-g i.on{background:var(--cw)}
.cw-l2 .cw-g i.on,.cw-g.cw-l2 i.on{box-shadow:var(--cw-edge2)}
/* square: the level colour beside its word */
.cw-sq{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:3px;background:var(--cw)}
.cw-sq.cw-l2{box-shadow:var(--cw-edge2)}

/* status: word + gauge · small line */
.cw-now{margin:0}
.cw-now .cw-w{display:flex;align-items:center;gap:14px;margin:0;font-size:40px;line-height:46px;font-weight:800;letter-spacing:-.03em;color:var(--v2-ink,#171512);word-break:keep-all}
.cw-now .cw-w b{font-weight:800}
.cw-now .cw-g{gap:3px}.cw-now .cw-g i{width:12px;height:30px;border-radius:3px}
.cw-now.cw-l0 .cw-w{font-size:22px;line-height:28px;color:var(--v2-text2,#5f5a53)}
.cw-now .cw-sub{margin:6px 0 0;font-size:13px;line-height:18px;color:var(--v2-text2,#5f5a53);font-variant-numeric:tabular-nums;text-wrap:pretty}

/* advice: one sentence off the forecast */
.cw-adv{margin:20px 0 0;font-size:17px;line-height:24px;font-weight:700;color:var(--v2-ink,#171512);word-break:keep-all;text-wrap:pretty}

/* band: the hours ahead as an Apple Health style bar chart. Each hour = a grey track (full height) with a rounded bar
   whose height is the level (a quarter per level); the snapshot ("now") bar full strength, forecast bars a little lighter.
   "지금" and the hour labels float under the columns so a long label ("12am") never widens its column; the axis on
   the right names the top and bottom levels. */
.cw-band{margin:18px 0 0}
.cw-cap{margin:0 0 6px;font-size:12px;line-height:16px;font-weight:600;color:var(--v2-text2,#5f5a53)}
.cw-ch{display:flex;gap:8px;align-items:flex-start}
.cw-band ol{flex:1 1 auto;min-width:0;list-style:none;margin:0;padding:0 0 20px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.cw-band li{position:relative;margin:0;padding:0;min-width:0}
.cw-band li i{position:relative;display:block;height:52px;border-radius:4px;background:var(--cw-off);overflow:hidden}
.cw-band li i::after{content:"";position:absolute;left:0;right:0;bottom:0;border-radius:4px;background:var(--cw)}
/* forecast bars: the same hue lifted toward white (not transparency, which turned red into coral over the grey track);
   without color-mix they keep the full colour */
.cw-band li:not([data-now]) i::after{background:color-mix(in srgb,var(--cw) 82%,#fff)}
.cw-band .cw-l1 i::after{height:25%}.cw-band .cw-l2 i::after{height:50%}.cw-band .cw-l3 i::after{height:75%}.cw-band .cw-l4 i::after{height:100%}
.cw-band .cw-l2 i::after{box-shadow:var(--cw-edge2)}
/* dark: 70% over the dark track turns orange brown and yellow olive, so the forecast bars are the colour lifted toward
   white instead (same hue, lighter), the "now" bar full strength */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cw-band li:not([data-now]) i::after{background:color-mix(in srgb,var(--cw) 72%,#fff)}}
:root[data-theme=dark] .cw-band li:not([data-now]) i::after{background:color-mix(in srgb,var(--cw) 72%,#fff)}
.cw-band li b,.cw-band li span{position:absolute;left:0;top:56px;font-size:11px;line-height:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cw-band li b{font-weight:800;color:var(--v2-ink,#171512)}
.cw-band li span{color:var(--v2-text2,#5f5a53)}
.cw-band li:last-child span{left:auto;right:0}
.cw-ax{flex:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;height:52px;max-width:34px;margin:0;font-size:11px;line-height:13px;color:var(--v2-text2,#5f5a53)}
.cw-ax span{word-break:keep-all}

/* rows: name · word + gauge · short advice · › — the whole row is the link */
.cw-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--v2-hair,#e6e2da)}
.cw-list li{margin:0;padding:0}
.cw-list li[hidden],.cw-lv[hidden]{display:none}
.cw-row{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;column-gap:12px;row-gap:2px;align-items:center;min-height:56px;padding:11px 0;border-bottom:1px solid var(--v2-hair,#e6e2da);text-decoration:none;color:var(--v2-ink,#171512)!important;-webkit-tap-highlight-color:transparent}
.cw-row .cw-n{grid-column:1;grid-row:1;font-size:16px;line-height:22px;font-weight:700;word-break:keep-all;overflow-wrap:anywhere}
.cw-row .cw-a{grid-column:1;grid-row:2;font-size:13px;line-height:18px;color:var(--v2-text2,#5f5a53);font-variant-numeric:tabular-nums}
.cw-row .cw-s{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;gap:8px;justify-self:end;font-size:13px;line-height:18px;color:var(--v2-text2,#5f5a53);white-space:nowrap}
.cw-row .cw-s b{font-weight:700}
.cw-row .cw-s.cw-l0 b{font-weight:600}
.cw-row .cw-c{grid-column:3;grid-row:1/span 2;font-size:20px;line-height:1;color:var(--v2-soft,#8b857d);text-align:right}
@media (hover:hover){.cw-row:hover .cw-n{text-decoration:underline;text-underline-offset:3px}}
.cw-row:active{background:var(--v2-sunken,#f4f2ed)}

/* /go/crowd/ pages */
.cw{max-width:760px;margin:0 auto;font-variant-numeric:tabular-nums}
.cw-head h1{font-size:clamp(26px,6vw,36px);line-height:1.2;font-weight:800;letter-spacing:-.03em;margin:.25em 0 .2em;text-wrap:balance;word-break:keep-all}
.cw-at{margin:0;font-size:13px;line-height:18px;color:var(--v2-text2,#5f5a53)}
/* hub counts: one bar split by level, then a count per level (each one jumps to its block) */
.cw-sum{margin:22px 0 0}
.cw-bar{display:flex;gap:2px;margin:0;height:12px;border-radius:4px;overflow:hidden;background:var(--cw-off)}
.cw-bar i.cw-sq{display:block;flex:1 1 0;min-width:4px;height:12px;width:auto;border-radius:0;box-shadow:none}
.cw-bar i[hidden]{display:none}
.cw-cnt{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0}
.cw-cnt li{margin:0;padding:0;min-width:0}
.cw-cnt a{display:block;color:var(--v2-ink,#171512)!important;text-decoration:none}
.cw-cnt span{display:flex;align-items:center;gap:5px;font-size:12px;line-height:16px;font-weight:600;color:var(--v2-text2,#5f5a53);white-space:nowrap}
.cw-cnt b{display:block;margin-top:2px;font-size:26px;line-height:32px;font-weight:800;letter-spacing:-.02em}
.cw-cnt b small{font-size:14px;font-weight:700;margin-left:1px}
.cw-cnt .cw-zero b{color:var(--v2-soft,#8b857d)}
@media (hover:hover){.cw-cnt a[href]:hover b{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}}
.cw-sum.cw-stale{font-size:17px;line-height:24px;font-weight:700;color:var(--v2-text2,#5f5a53)}
.cw-chips{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 0}
.cw-chips[hidden]{display:none}
.cw-chips button{min-height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--v2-hair,#e6e2da);background:none;color:var(--v2-ink,#171512);font:600 14px/1 inherit;font-family:inherit;cursor:pointer}
.cw-chips button[aria-pressed="true"]{background:var(--v2-ink,#171512);border-color:var(--v2-ink,#171512);color:var(--v2-paper,#fbfaf7)}
.cw-sec{margin-top:40px}
.cw-sec>h2,.cw h2.cw-h{position:relative;margin:0 0 4px;padding-bottom:11px;font-size:22px;line-height:28px;font-weight:800;letter-spacing:-.02em}
.cw-sec>h2::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;background:var(--v2-accent,#ac442e)}
.cw-sec>h2+.cw-list{margin-top:12px}
/* hub: one block per level, headed by its square, word and count */
.cw-lv{scroll-margin-top:72px}
.cw-lvh{display:flex;align-items:center;gap:8px;margin:24px 0 8px;font-size:15px;line-height:20px;font-weight:800}
.cw-lvh span{font-weight:600;color:var(--v2-text2,#5f5a53)}
.cw-fold>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:12px 0 0;border:1px solid var(--v2-hair,#e6e2da);border-radius:8px;font-size:14px;font-weight:700;color:var(--v2-ink,#171512);cursor:pointer;list-style:none}
.cw-fold>summary::-webkit-details-marker{display:none}
.cw-fold>summary::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
.cw-fold[open]>summary{display:none}
.cw-fold>.cw-list{border-top:0}
.cw-fold.cw-flat>summary{display:none}
.cw-top{margin-top:24px}
.cw-go{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:28px 0 0;padding:0 16px;border:1px solid var(--v2-hair,#e6e2da);border-radius:8px;background:var(--v2-surface,#fff);color:var(--v2-ink,#171512)!important;text-decoration:none;font-size:16px;font-weight:700}
.cw-go span{color:var(--v2-text2,#5f5a53)}
.cw-more{margin:28px 0 0;font-size:14px;line-height:24px;color:var(--v2-text2,#5f5a53)}
.cw-more a{color:var(--v2-ink,#171512)!important;text-decoration:underline;text-decoration-color:var(--v2-hair,#e6e2da);text-underline-offset:4px}
.cw-note{margin:28px 0 0;font-size:12px;line-height:18px;color:var(--v2-text2,#5f5a53)}
