/* Peacock visual system: brand accent is separate from priority colors. */
:root{--accent:#788eca;--purple:#788eca;--bg:#0c1117;--panel:#131b23;--line:#293740;--text:#edf3f5;--muted:#98aab5;--peacock:#526da9}
body{background:var(--bg)}
.topbar{background:radial-gradient(ellipse at 10% 0%,#526da920,transparent 55%),#0c1117;border-bottom-color:#284049}
.brand-title{color:#edf3f5}.brand-title>span{color:var(--accent)}.brand-kicker{color:#9bbabe}
.brand:hover .brand-symbol{filter:drop-shadow(0 0 6px #55c9d244)}
.viewnav{background:#101a20;border-color:#2b3a43;border-radius:8px}
.viewnav a.active{background:#263451;color:#c5d3f4;box-shadow:inset 0 0 0 1px #4b6195}
button.primary,.download-link,.cm-send{background:var(--accent);border-color:var(--accent);color:#101a30}
button.primary:hover{background:#9aafe0}
.hy-heading{padding:0 0 17px;border-bottom:1px solid var(--line);margin-bottom:20px}
.hy-heading h1{font-weight:780;letter-spacing:0}
.hy-layout{gap:24px}
.hy-list{background:#10171e;border-radius:8px;scrollbar-color:#36555e #10171e}
.hy-item{border-radius:5px;min-height:50px}
.hy-item:hover{background:#16282f}
.hy-item.active{background:#242f49;box-shadow:inset 3px 0 0 #788eca,inset 0 0 0 1px #4b5f8f}
.hy-filters button.active{background:#242f49}
.hy-card{background:#10171e;border-radius:10px;border-color:#2a3942}
.hy-hero{border-bottom:1px solid #35535a}
.hy-hero-shade{background:linear-gradient(90deg,#07151bf2,#0b171b99 55%,#526da920),linear-gradient(0deg,#10171e,transparent 65%)}
.hy-hero::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.hy-hero-text{z-index:1}.hy-hero-text h2{font-weight:780;letter-spacing:0}
.hy-row{grid-template-columns:184px minmax(0,1fr);column-gap:24px;border-top-color:#2a3740;padding-block:22px}
.hy-trap{border-right:1px solid #2a3c45;padding-right:12px}
.hy-trap-heading{align-items:center}.hy-trap-heading b{color:#eff7f7;font-size:16px}
.hy-trap>small{color:#92aeb8}
.hy-trap-icons img{border-color:#4c737c}
.hy-ctile:not(:last-child)::after{background:#293b44}
.hy-ctile p{color:#c2cfd7}
.hy-ctile .hy-timing{color:#e1ebef}
.hy-src,.hy-sources summary{color:#8aa5b2}
.hy-legend.compact{padding-bottom:6px}
.cm-invite{background:#1b263b;border-color:#3c507b;border-radius:7px}
.cm-invite strong{color:#bdccef}.cm-invite p{color:#acc4cd}
.cm-invite-btn{background:#2b3d63;border-color:#566fa7;color:#e3eafa}
.cm-invite-btn:hover{background:#374e7d}
.cm-btn:hover,.cm-btn.has{background:#788eca18;color:#bdccef;border-color:#39727c}
.cm-meta-feedback{color:#b2ced4;text-decoration-color:#426b74}
.year{color:#bdccef}.search-wrap{color:#9bafe0}
.deck-option.selected,.deck-chip{background:#242f49;border-color:#4b5f8f;color:#cff2f3}
#toast{background:#c1ceed;color:#102b30}
@media(max-width:1100px) and (min-width:901px){.hy-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}.hy-row{grid-template-columns:160px minmax(0,1fr);column-gap:20px}}
@media(max-width:1100px){.hy-row{grid-template-columns:minmax(0,1fr);row-gap:16px}.hy-trap{border-right:0;padding-right:0}.hy-trap-heading b{font-size:17px}}
@media(max-width:650px){.hy-layout{gap:16px}.hy-heading{padding-bottom:14px}.hy-card{border-radius:8px}.hy-row{padding-block:20px}.hy-hero-text h2{font-size:28px}.hy-ctiles{gap:22px 24px}.hy-ctile p{font-size:13px;line-height:1.5}.hy-trap-heading b{font-size:17px}.hy-ctile:not(:last-child)::after{right:-12px}}
@media(max-width:359px){.hy-ctile{width:100%}.hy-ctile::after{display:none}}
.hy-heading button{white-space:nowrap;flex-shrink:0}

@font-face{font-family:'Effect Numbers';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/noto-effect-400.ttf');unicode-range:U+2460-2473}
@font-face{font-family:'Effect Numbers';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/noto-effect-600.ttf');unicode-range:U+2460-2473}
@font-face{font-family:'Effect Numbers';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/noto-effect-700.ttf');unicode-range:U+2460-2473}
.hy-card,.hy-card p,.hy-card small,.hy-card strong,.hy-card b,.hy-card button{font-family:'Effect Numbers','Pretendard Variable',Pretendard,sans-serif}
.hy-tile-art img.hy-ban{width:22px;height:22px;top:-4px;left:-4px;filter:drop-shadow(0 1px 1px #0009)}

.hy-trap-heading{gap:8px;align-items:center}.hy-trap-heading b{font-size:18px;line-height:1.2;letter-spacing:0}.hy-trap-icons img{width:32px;height:32px}.hy-trap-icons img+img{margin-left:-14px}.hy-trap>small{margin-top:2px;font-size:12px;line-height:1.3}.hy-trap:has(.hy-trap-icons)>small{padding-left:40px}.hy-trap:has(.hy-trap-icons img+img)>small{padding-left:58px}

/* Shared surfaces and interactions use one teal accent; priority colors stay semantic. */
:root{--accent-soft:#202a42;--accent-border:#4b5f8f;--surface:#121a21;--ink-secondary:#b9c8cf}
.hy-tactics,.hy-hand-plan,.hy-hand-branches{border-left-color:var(--accent-border)}
.branch-help{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}
.branch-help:hover{background:#2b3d63;border-color:var(--accent)}
.hy-flow{background:var(--surface);border-color:var(--line)}
.hy-flow-path{border-top-color:var(--line)}
.hy-flow-path b,.hy-hand-plan strong{color:#e0eded}
.hy-flow-path small,.hy-note,.hy-secnote,.hy-tactics p,.hy-tips li,.hy-matchup p{color:var(--ink-secondary)}
.hy-hand-plan{background:#788eca08}
.hy-hand-first>span,.hy-rt-arrow{color:var(--accent)}
.hy-rt-tag{background:var(--accent-soft);color:#bdccef}
.hy-rt-branches{border-left-color:var(--accent-border)}
.tour-ring{border-color:var(--accent)}
.tour-tip{background:#142029;border-color:var(--accent-border)}
.tour-top{color:var(--accent)}
.tour-tip p{color:#cbd9df}
.cm-btn{color:#a6bbc3}
.cm-btn:hover,.cm-btn:focus-visible,.cm-btn.has{background:#788eca14;color:var(--accent)}
.hy-overview-item,.hy-overview-card{background:var(--surface)}
button:hover{border-color:#47616a}
.search-wrap,input:not([type=checkbox],[type=range]),select,textarea{background:#0e161d;border-color:#33444e}
.sample-note{background:#142a31;border-color:#31515b;color:#c6dcdf}
.deck-chip button{color:#b7dddd}
.empty-cell button:hover{background:#142a31;border-color:#31515b}
.download-link.secondary{background:transparent;color:var(--text)}

/* One semantic palette shared by draw ratings and target priorities. */
:root{--rank-red:#ef6268;--rank-yellow:#e7c544;--rank-green:#4fc68b;--rank-red-text:#ffb5b8;--rank-yellow-text:#f5df88;--rank-green-text:#a1e5bf}
.sev-r,.hy-tile.sev-r{border-color:var(--rank-red);background:#321b20;color:var(--rank-red-text)}
.sev-y,.hy-tile.sev-y{border-color:var(--rank-yellow);background:#302a18;color:var(--rank-yellow-text)}
.sev-g,.hy-tile.sev-g{border-color:var(--rank-green);background:#182d24;color:var(--rank-green-text)}
.hy-tile.sev-r strong,.hy-tile.sev-r small{color:var(--rank-red-text)}
.hy-tile.sev-y strong,.hy-tile.sev-y small{color:var(--rank-yellow-text)}
.hy-tile.sev-g strong,.hy-tile.sev-g small{color:var(--rank-green-text)}
.hy-matchup{background:#151c24;border-color:#34414b}
.hy-matchup.is-high{border-top-color:var(--rank-red)}.hy-matchup.is-high b{color:var(--rank-red-text)}
.hy-matchup.is-conditional{border-top-color:var(--rank-yellow)}.hy-matchup.is-conditional b{color:var(--rank-yellow-text)}
.hy-matchup.is-low{border-top-color:var(--rank-green)}.hy-matchup.is-low b{color:var(--rank-green-text)}
.hy-trap>small,.hy-overview>small,.hy-legend-note,.hy-src,.hy-sources summary{color:#98a6b0}
.hy-tactics{border-left-color:#53636d}
.hy-secnote,.hy-tactics p{color:#c4cdd3}

/* Slate blue brand palette, based on the original branch rule. */
:root{--accent:#788eca;--purple:#788eca;--accent-soft:#202a42;--accent-border:#4b5f8f;--bg:#0e1118;--panel:#161c27;--line:#30394b;--muted:#9ca7ba}
body{background:var(--bg)}
.topbar{background:radial-gradient(ellipse at 10% 0%,#788eca17,transparent 55%),#0e1118;border-bottom-color:var(--line)}
.brand-title>span,.brand-kicker{color:#a9bae5}
.viewnav{background:#151b27;border-color:var(--line)}
.viewnav a.active{background:#263451;color:#d5dff7;box-shadow:inset 0 0 0 1px #4b6195}
.hy-list{background:#121823;scrollbar-color:#4b5976 #121823}
.hy-item:hover{background:#1d273b}
.hy-item.active{background:#263451;box-shadow:inset 3px 0 0 #788eca,inset 0 0 0 1px #4b6195}
.hy-card{background:#121823;border-color:var(--line)}
.hy-hero{border-bottom-color:#3b4a69}
.hy-hero-shade{background:linear-gradient(90deg,#101624f2,#11192999 55%,#788eca18),linear-gradient(0deg,#121823,transparent 65%)}
.hy-row,.hy-trap{border-color:var(--line)}
.hy-ctile:not(:last-child)::after{background:var(--line)}
.hy-tactics{border-left-color:#788eca}
.hy-trap-icons img{border-color:#596b91}
.cm-invite{background:#1c2740;border-color:#405582}
.cm-invite p,.cm-meta-feedback{color:#bbc7df}
.cm-invite-btn{background:#2b3d63;border-color:#566fa7;color:#e3eafa}
.cm-invite-btn:hover{background:#374e7d}
.cm-btn:hover,.cm-btn:focus-visible,.cm-btn.has{background:#788eca20;color:#c6d5fa}
.search-wrap,input:not([type=checkbox],[type=range]),select,textarea{background:#101722;border-color:#35425b}
.tour-tip{background:#192338;border-color:#4b5f8f}
button:hover{border-color:#56698e}

/* Separate aliases from build engines only when both are present. */
.hy-hero-meta{column-gap:14px}.hy-hero-meta>p:not(.hy-hero-builds)+.hy-hero-builds{border-left:1px solid #7b89a680;padding-left:14px}

/* Neutral black artwork mask and natural Korean letter spacing. */
.hy-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.64) 45%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.15) 70%)}
.hy-hero::after{display:none}
h1,.hy-heading h1,.hy-hero-text h2,.hy-trap-heading b,.hy-card-set .hy-tile strong,.hy-ctile .hy-timing,.hy-ctile p,.card-label h3,.dialog-head h2{letter-spacing:0}
.hy-hero-text h2{color:#f5f7fa;text-shadow:0 2px 8px #000}

/* Brighter blue accents; artwork mask stays neutral black. */
:root{--accent:#9db5f2;--purple:#9db5f2;--accent-border:#718bc4;--accent-soft:#253657}
.brand-title>span,.brand-kicker{color:#b5c9fa}
.viewnav a.active{background:#30456e;color:#e1eaff;box-shadow:inset 0 0 0 1px #7894d0}
.hy-item.active{background:#2c4064;box-shadow:inset 3px 0 0 #9db5f2,inset 0 0 0 1px #6e88be}
.hy-tactics{border-left-color:#9db5f2}
.branch-help{color:#c2d3ff;background:#263859;border-color:#718bc4}
.cm-invite{border-color:#657fae}
.cm-invite strong,.tour-top{color:#c2d3ff}
.cm-invite-btn{background:#385381;border-color:#819bd4;color:#f1f5ff}
.cm-invite-btn:hover{background:#466496}
button.primary:hover{background:#b8cbfa}

@font-face{font-family:'Effect Numbers KR';font-weight:400;font-display:swap;src:url('fonts/noto-kr-effect-400.ttf');unicode-range:U+2460-2473}
@font-face{font-family:'Effect Numbers KR';font-weight:700;font-display:swap;src:url('fonts/noto-kr-effect-700.ttf');unicode-range:U+2460-2473}
.hy-card,.hy-card p,.hy-card small,.hy-card strong,.hy-card b,.hy-card button{font-family:'Effect Numbers KR','Pretendard Variable',Pretendard,sans-serif}
.hy-trap-icons img{width:38px;height:38px}
.hy-trap-icons img+img{margin-left:-16px}
.hy-trap:has(.hy-trap-icons)>small{padding-left:46px}
.hy-trap:has(.hy-trap-icons img+img)>small{padding-left:68px}
.hy-sevlabel{line-height:1;min-height:22px;padding:4px 8px 2px;align-items:center;justify-content:center}
.hy-legend .hy-chip{line-height:1;min-height:30px;padding:7px 10px 5px;align-items:center;justify-content:center}

/* Korean type hierarchy: readable labels, compact rhythm, natural tracking. */
.hy-hero-text>small{display:block;font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:13px;font-weight:700;line-height:1.3;letter-spacing:.02em;color:#cad8ff;margin-bottom:7px}
.hy-hero-text h2{font-size:34px;font-weight:760;line-height:1.18;margin:0 0 10px;letter-spacing:0}
.hy-hero-meta{align-items:center;row-gap:6px}
.hy-hero-text .hy-hero-meta p{font-size:13px;line-height:1.45;font-weight:500;color:#d2d9e5}
.hy-hero-builds>span:first-child{font-weight:700;color:#e5eaf3}
.hy-heading h1{font-size:32px;font-weight:760;line-height:1.25}
.hy-sub{font-size:14px;line-height:1.5}
.hy-overview h3,.hy-tactics h3{font-size:16px;font-weight:700;line-height:1.35;margin-bottom:10px}
.hy-trap-heading b{font-size:18px;font-weight:700;line-height:1.25}
.hy-trap>small{font-size:12px;font-weight:500;line-height:1.4;color:#aeb9ca;margin-top:2px}
.hy-ctile .hy-timing{font-size:14px;font-weight:650;line-height:1.45;letter-spacing:0}
.hy-ctile p,.hy-tactics p,.hy-secnote{font-size:13px;font-weight:400;line-height:1.5;letter-spacing:0}
.hy-card-set .hy-tile strong{font-size:13px;font-weight:650;line-height:1.35;letter-spacing:0}
.hy-matchup summary{font-size:13px;line-height:1.35;gap:6px}
.hy-matchup summary b{font-weight:650}
.hy-matchup summary:after,.hy-srcline,.hy-srcline summary{font-size:11px;line-height:1.4}
.hy-overview>small{font-size:12px;line-height:1.4;color:#a2afc1}
@media(max-width:650px){
 .hy-heading h1{font-size:28px}
 .hy-hero-text h2{font-size:28px;line-height:1.2;margin-bottom:8px}
 .hy-hero-text>small{font-size:13px;margin-bottom:6px}
 .hy-hero-text .hy-hero-meta p{font-size:12px}
 .hy-ctile .hy-timing{font-size:13px}
}

/* Strong text contrast on neutral dark surfaces. */
:root{--bg:#0c0f15;--panel:#151923;--surface:#151923;--text:#f4f6fa;--muted:#b0bacb;--ink-secondary:#d5dbe5;--line:#354052}
body{background:var(--bg);color:var(--text)}
.topbar{background:#0c0f15;border-bottom-color:#2c3443}
.hy-card,.hy-list{background:#10141d}
.hy-card{border-color:#354052}
.hy-matchup{background:#191e2a;border-left-color:#465168;border-right-color:#465168;border-bottom-color:#465168}
.hy-heading h1,.hy-hero-text h2,.hy-trap-heading b,.hy-overview h3,.hy-tactics h3,.hy-matchup summary{color:#f4f6fa}
.hy-ctile .hy-timing{color:#f0f3f9}
.hy-ctile p,.hy-tactics p,.hy-secnote,.hy-matchup p,.hy-tips li,.hy-note{color:#d5dbe5}
.hy-trap>small,.hy-overview>small,.hy-sub,.hy-legend-note,.hy-src,.hy-sources summary,.hy-srcline,.hy-srcline summary,.hy-matchup summary:after{color:#b0bacb}
.hy-item{color:#edf1f8}.hy-item small{color:#b5bfd1;background:#1e2532}
.hy-row,.hy-trap{border-color:#354052}
.hy-ctile:not(:last-child)::after{background:#354052}
.hy-hero-text .hy-hero-meta p{color:#e0e5ee}
.cm-guide,.cm-as{color:#bac4d4}.cm-btn{color:#b9c7e2}
input::placeholder,textarea::placeholder{color:#98a5bb;opacity:1}

/* Align badge text and legend copy to their optical vertical centers. */
.hy-legend,.hy-legend.compact{align-items:center}
.hy-legend>small{display:flex;align-items:center;align-self:center;margin:0;line-height:1.4}
.hy-legend .hy-chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:30px;min-height:30px;line-height:18px;padding:2px 10px 0}
.hy-sevlabel{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:22px;min-height:22px;line-height:16px;padding:2px 8px 0}
.branch-help{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:26px;min-height:26px;line-height:16px;padding:2px 8px 0;vertical-align:middle}

.hy-tactics>h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;line-height:26px}.hy-tactics>h3>.branch-help{margin:0;flex:none;align-self:center}

/* Priority boundaries are stronger than within-priority card dividers. */
.hy-sevgroups{column-gap:20px;row-gap:22px}
.hy-sevgroup+.hy-sevgroup{border-left:2px solid #64738e;padding-left:20px}
.hy-trap>small{word-break:keep-all;overflow-wrap:normal}
@media(max-width:650px){
 .hy-sevgroup+.hy-sevgroup{border-left:0;padding-left:0;border-top:2px solid #64738e;padding-top:18px}
}

/* Keep only priority boundaries; spacing separates cards within a group. */
.hy-trap{border-right:0}.hy-ctile::after{display:none!important}.hy-sevgroup+.hy-sevgroup{border-left-color:#46536a}

/* Climb board: neutral masks, saturated rank signals, blue notice. */
.sample-note{background:#1b2540;border-color:#526caa;color:#e4eaff;padding:10px 14px}
.sample-note button{color:#bfd1ff;font-weight:700}
.deck-card .art img{opacity:.95}
.deck-card .art:after{background:linear-gradient(180deg,#0a0c1555 0%,#0a0c1510 50%,#080b14f2 100%)}
.deck-card{border-color:#54617a;background:#10141d}
.grade-row button{background:#070a10f2;border-color:#7c8ba466;backdrop-filter:none;font-size:13px;font-weight:750;padding:3px 7px;gap:5px}
.grade-row .month-mini{color:#d4dce9;font-size:11px}
.grade-row .p-text{color:#6ff5d0}
.grade-row .d-text{color:#91caff}
.grade-row .m-text{color:#ffdc72}
.card-label h3{color:#fff;text-shadow:0 2px 4px #000,0 0 10px #0009;font-weight:750}
.board-scroll,.board .year,.board .month,.board .corner{background:#0e121b}
.year{color:#c7d6ff}
.brand:hover .brand-symbol{filter:drop-shadow(0 0 5px #929dff44)}
