/* 에다 페스티벌 출품 — 타깃별 지원 전략 보고서 공통 스타일 (fairplan.pages.dev/strategy/*) */
:root{
  --page:#f9f9f7; --surface:#fcfcfb;
  --ink:#0b0b0b; --ink2:#52514e; --muted:#898781;
  --grid:#e1e0d9; --border:rgba(11,11,11,.10);
  --tr-a:#2a78d6; --tr-b:#d0742a; --tr-c:#1baf7a; --tr-d:#4a3aa7;
  --ok:#0ca30c; --mid:#fab219; --bad:#d03b3b; --hold:#7a6bd8;
  --okbg:rgba(12,163,12,.14); --midbg:rgba(250,178,25,.18); --badbg:rgba(208,59,59,.14); --holdbg:rgba(122,107,216,.14);
}
@media (prefers-color-scheme: dark){
  :root{
    --page:#0d0d0d; --surface:#1a1a19;
    --ink:#ffffff; --ink2:#c3c2b7; --muted:#898781;
    --grid:#2c2c2a; --border:rgba(255,255,255,.10);
    --tr-a:#3987e5; --tr-b:#e08a45; --tr-c:#199e70; --tr-d:#9085e9;
  }
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--page); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI","Malgun Gothic",sans-serif; line-height:1.55; padding:28px 20px 60px;}
.wrap{max-width:1120px; margin:0 auto;}
a{color:var(--tr-a);}
a.plain{color:inherit; text-decoration:none; border-bottom:1px dotted var(--muted);}
a.plain:hover{color:var(--tr-a); border-bottom-color:currentColor;}
a.ext::after{content:"\2197"; font-size:.72em; margin-left:2px; color:var(--muted);}

/* nav */
.nav{display:flex; gap:6px; flex-wrap:wrap; font-size:12.5px; margin-bottom:16px; align-items:center;}
.nav a{border:1px solid var(--border); border-radius:999px; padding:4px 11px; text-decoration:none; color:var(--ink2); background:var(--surface);}
.nav a:hover{color:var(--tr-a); border-color:var(--tr-a);}
.nav a.cur{color:var(--ink); border-color:var(--ink); font-weight:700;}
.nav .sep{color:var(--muted); margin:0 2px;}

/* header */
.kicker{font-size:13px; color:var(--muted); letter-spacing:.08em; font-weight:600;}
h1{font-size:28px; font-weight:800; margin:4px 0 6px; line-height:1.22;}
.sub{font-size:15px; color:var(--ink2);}
.datebadge{display:inline-block; margin:10px 6px 0 0; font-size:12px; color:var(--ink2); border:1px solid var(--border); background:var(--surface); border-radius:999px; padding:4px 12px;}

/* verdict / boxes */
.verdict{background:var(--surface); border:1px solid var(--border); border-left:4px solid var(--ink); border-radius:10px; padding:12px 16px; font-size:14px; color:var(--ink2); margin:18px 0 12px;}
.verdict b{color:var(--ink);}
.verdict ul{margin-top:6px;}
.box{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 16px; font-size:13.5px; color:var(--ink2);}
.box b{color:var(--ink);}
.two{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0;}
blockquote{border-left:3px solid var(--tr-a); padding:8px 12px; background:var(--surface); font-size:13.5px; color:var(--ink); margin:8px 0; border-radius:0 8px 8px 0;}
blockquote small{display:block; color:var(--muted); font-size:12px; margin-top:4px;}

/* tiles */
.tiles{display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:18px 0 26px;}
.tile{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 16px;}
.tile .lab{font-size:12.5px; color:var(--muted); font-weight:600;}
.tile .val{font-size:24px; font-weight:800; margin-top:2px; line-height:1.15;}
.tile .note{font-size:12.5px; color:var(--ink2); margin-top:4px;}

h2{font-size:20px; font-weight:800; margin:38px 0 6px; padding-top:8px; border-top:2px solid var(--ink);}
h3{font-size:16px; font-weight:800; margin:22px 0 8px;}
.h2sub{font-size:13.5px; color:var(--ink2); margin-bottom:12px;}
p{font-size:14px; color:var(--ink2); margin:6px 0;}
ul,ol{padding-left:18px; font-size:14px; color:var(--ink2);}
li{margin:4px 0;}
q,.q{color:var(--ink); font-style:normal;}
q::before{content:"\201C";} q::after{content:"\201D";}

/* tables */
table{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:12px; overflow:hidden; font-size:13.5px;}
th,td{text-align:left; padding:8px 12px; border-bottom:1px solid var(--grid); vertical-align:top;}
th{font-size:12.5px; color:var(--muted); font-weight:700; background:var(--page);}
tr:last-child td{border-bottom:none;}
td.c,th.c{text-align:center;}
td.n{white-space:nowrap;}
.tbl-wrap{overflow-x:auto; margin:8px 0;}
table.timeline td:first-child{white-space:nowrap; font-weight:700; color:var(--ink);}
table.timeline tr.hot td:first-child{color:var(--bad);}
table.compare th:first-child, table.compare td:first-child{min-width:150px;}

/* status tags */
.badge{display:inline-block; font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; border:1px solid currentColor; margin-left:4px; white-space:nowrap; vertical-align:1px;}
.b-top{color:var(--ok);} .b-mid{color:#b57c00;} .b-hold{color:var(--hold);} .b-low{color:var(--muted);} .b-fund{color:var(--tr-c);} .b-x{color:var(--bad);}
.t-sure{color:var(--ok);} .t-est{color:#b57c00;} .t-unk{color:var(--muted);} .t-ask{color:var(--hold);}
.cell{display:inline-block; width:26px; height:22px; line-height:22px; border-radius:6px; text-align:center; font-weight:800; font-size:12px; margin-right:2px;}
.ok{background:var(--okbg); color:var(--ok);} .mid{background:var(--midbg); color:#9a6700;} .bad{background:var(--badbg); color:var(--bad);} .na{background:var(--grid); color:var(--muted);}
.axes small{font-size:10.5px; color:var(--muted); margin-right:6px;}
.src{display:inline-block; font-weight:800; color:var(--bad);}
.fav{width:16px; height:16px; vertical-align:-3px; margin-right:6px; border-radius:3px;}

/* cards (선례) */
.cards{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:10px 0;}
.cards.three{grid-template-columns:repeat(3,1fr);}
.card{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:14px 16px; border-left:4px solid var(--grid);}
.card .name{font-weight:800; font-size:15px;}
.card .meta{font-size:12px; color:var(--muted); margin:2px 0 6px;}
.card .row{font-size:13px; color:var(--ink2); margin:3px 0;}
.card .row b{color:var(--ink); font-weight:700;}
.card img{display:block; width:100%; height:150px; object-fit:cover; border-radius:8px; background:#222; margin-bottom:8px;}
.refs{display:flex; gap:8px; flex-wrap:wrap; margin-top:8px;}
.refs a{display:inline-flex; align-items:center; gap:6px; font-size:12px; text-decoration:none; color:var(--ink2); border:1px solid var(--border); border-radius:8px; padding:4px 8px; background:var(--page);}
.refs a:hover{color:var(--tr-a); border-color:var(--tr-a);}

/* checklist */
.check li{list-style:none; position:relative; padding-left:22px;}
.check li::before{content:"\2610"; position:absolute; left:0; top:0; color:var(--muted);}

.foot{margin-top:40px; font-size:12px; color:var(--muted); border-top:1px solid var(--grid); padding-top:12px; line-height:1.6;}

@media (max-width:820px){
  body{padding:20px 16px 48px;}
  h1{font-size:23px;}
  .tiles{grid-template-columns:repeat(2,1fr);}
  .cards,.cards.three,.two{grid-template-columns:1fr;}
}
