@charset "utf-8";

#tr_board,#tr_write,#tr_view{
  max-width:760px;margin:0 auto;padding:8px 14px 36px;box-sizing:border-box;color:#0f172a
}
.tr_kicker{
  margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#94a3b8
}
.tr_hero{margin:8px 0 18px}
.tr_hero h2{margin:0 0 6px;font-size:1.45rem;font-weight:800;letter-spacing:-.04em}
.tr_desc{margin:0;font-size:13px;color:#64748b;line-height:1.5}

.tr_podium{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;align-items:stretch
}
.tr_podium .tr_empty{grid-column:1/-1}
.tr_podium_card.tr_gold{grid-column:1/-1}
.tr_podium_card{
  position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:22px 14px 16px;background:#fff;border:1px solid #e8edf3;border-radius:16px
}
.tr_podium_card.tr_gold{padding-top:26px}
.tr_medal{
  position:absolute;top:10px;left:10px;width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#fff;letter-spacing:-.04em
}
.tr_gold .tr_medal{background:#c9a227}
.tr_silver .tr_medal{background:#94a3b8}
.tr_bronze .tr_medal{background:#b87333}
.tr_gold{border-color:#ead9a0;box-shadow:0 8px 24px rgba(201,162,39,.08)}
.tr_podium_card .tr_logo{width:72px;height:72px;margin:4px 0 10px}
.tr_gold .tr_logo{width:88px;height:88px}
.tr_name{
  display:block;margin:0 0 6px;font-size:16px;font-weight:800;letter-spacing:-.03em;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.tr_gold .tr_name{font-size:18px}
.tr_intro{
  margin:0 0 10px;font-size:13px;color:#64748b;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em
}
.tr_stat{margin:auto 0 0;font-size:12px;color:#94a3b8}
.tr_stat b{color:#0f172a;font-size:14px}

.tr_logo{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:40px;height:40px;border-radius:12px;overflow:hidden;background:#f1f5f9;color:#64748b
}
.tr_logo img{width:100%;height:100%;object-fit:cover;display:block}
.tr_ini{font-weight:800;font-size:14px}

.tr_block{margin:0 0 22px}
.tr_block h3,.tr_apps h3{
  margin:0 0 10px;font-size:13px;font-weight:800;color:#334155;letter-spacing:-.02em
}
.tr_rows,.tr_app_list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tr_rows li,.tr_app_list li{
  display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;
  border:1px solid #e8edf3;border-radius:14px
}
.tr_num{
  flex:0 0 28px;font-size:13px;font-weight:800;color:#94a3b8;text-align:center
}
.tr_row_body{flex:1;min-width:0}
.tr_row_body strong{
  display:block;font-size:14px;font-weight:800;letter-spacing:-.03em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.tr_row_body em{
  display:block;margin-top:2px;font-style:normal;font-size:12px;color:#94a3b8;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.tr_row_meta{
  flex:0 0 auto;text-align:right;font-size:12px;font-weight:700;color:#334155;line-height:1.35
}
.tr_row_meta span{display:block;font-weight:600;color:#94a3b8}
.tr_rows_rest li{padding:8px 10px;background:#fbfcfe}
.tr_rows_rest .tr_logo{width:32px;height:32px;border-radius:9px}

.tr_empty{
  margin:0;padding:28px 12px;text-align:center;background:#fff;border:1px dashed #dbe3ee;
  border-radius:14px;color:#64748b;font-size:13px
}
.tr_empty.sm{padding:16px 12px}

.tr_cta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:4px 0 24px;padding:16px 16px;background:#0f172a;border-radius:16px;color:#e2e8f0
}
.tr_cta h3{margin:0 0 4px;font-size:15px;font-weight:800;color:#fff}
.tr_cta p{margin:0;font-size:12px;line-height:1.45;color:#94a3b8}
.tr_cta p strong{color:#f8fafc;font-weight:800}
.tr_cta_btn{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:0 16px;border-radius:10px;background:#fff;color:#0f172a!important;
  font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap
}
.tr_cta_btn.is-ghost{background:transparent;border:1px solid #334155;color:#e2e8f0!important}

.tr_apps{margin:0 0 8px}
.tr_app_list{position:relative}
.tr_app_list a{
  display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:inherit;text-decoration:none
}
.tr_chk{margin-right:2px}
.tr_allchk,.tr_admin_btns{margin:0 0 8px;font-size:13px;color:#64748b}
.tr_admin_btns button{
  height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-weight:700
}
.tr_st{
  flex:0 0 auto;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:11px;font-weight:800;font-style:normal;letter-spacing:-.02em
}
.tr_st_pending{background:#fff7ed;color:#c2410c}
.tr_st_approved{background:#ecfdf5;color:#047857}
.tr_st_reject{background:#f1f5f9;color:#64748b}
.tr_pager{margin:16px 0 0;text-align:center}

#tr_write .tr_write_head{margin:8px 0 18px}
#tr_write h2{margin:0 0 8px;font-size:1.25rem;font-weight:800}
.tr_notice{
  margin:0;padding:12px 14px;background:#f8fafc;border:1px solid #e8edf3;border-radius:12px;
  font-size:13px;color:#475569;line-height:1.5
}
.tr_notice strong{color:#0f172a}
.tr_notice.warn{margin:0 0 14px;background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.tr_field{margin:0 0 14px}
.tr_field_row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tr_lbl{display:block;margin:0 0 6px;font-size:13px;font-weight:800;color:#475569}
.tr_lbl strong{color:#b91c1c;font-weight:800}
.tr_hint{margin:0 0 8px;font-size:12px;color:#94a3b8}
.tr_seg{display:flex;gap:8px}
.tr_seg label{
  flex:1;display:flex;align-items:center;justify-content:center;height:42px;
  border:1px solid #e2e8f0;border-radius:12px;background:#fff;font-weight:800;cursor:pointer;font-size:13px
}
.tr_seg label.on{border-color:#0f172a;background:#0f172a;color:#fff}
.tr_seg input{position:absolute;opacity:0;width:0;height:0}
.tr_write_btns{display:flex;gap:8px;margin-top:8px}
.tr_btn_cancel,.tr_view_btns a{
  flex:1;display:inline-flex;align-items:center;justify-content:center;height:46px;
  border-radius:12px;border:1px solid #d0d5dd;background:#fff;color:#334155;text-decoration:none;font-weight:800
}
.tr_btn_submit{
  flex:1;height:46px;border:0;border-radius:12px;background:#0f172a;color:#fff;font-weight:800;font-size:15px
}
.tr_del{display:block;margin-top:6px;font-size:13px;color:#64748b}
#tr_write .frm_input,#tr_write select{width:100%;height:44px;border-radius:10px;font-size:16px}
#tr_write textarea{width:100%;min-height:140px;font-size:16px}
#tr_write input[type=file]{width:100%;min-height:44px;font-size:16px}

#tr_view .tr_view_visual{
  position:relative;margin:8px 0 16px;border-radius:18px;overflow:hidden;
  background:#0f172a;min-height:220px;display:flex;align-items:center;justify-content:center
}
#tr_view .tr_view_visual img{
  width:100%;height:auto;max-height:360px;object-fit:cover;display:block
}
.tr_view_fallback{
  font-size:64px;font-weight:800;color:#fff;opacity:.35;letter-spacing:-.06em
}
.tr_view_head{margin:0 0 16px}
.tr_view_head h1{margin:8px 0 6px;font-size:1.4rem;line-height:1.3;letter-spacing:-.04em}
.tr_view_meta{margin:0 0 12px;color:#94a3b8;font-size:13px}
.tr_view_facts{
  display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none
}
.tr_view_facts li{
  display:flex;flex-direction:column;gap:2px;padding:10px 12px;min-width:96px;
  background:#f8fafc;border-radius:12px
}
.tr_view_facts span{font-size:11px;color:#94a3b8;font-weight:700}
.tr_view_facts b{font-size:14px;font-weight:800}
.tr_view_con{margin:0 0 18px;line-height:1.7;word-break:break-word;font-size:15px;color:#334155}
.tr_view_extra img{max-width:100%;height:auto;border-radius:12px;margin:0 0 10px}
.tr_view_btns{display:flex;flex-wrap:wrap;gap:8px}
.tr_view_btns a.is-primary{background:#0f172a;border-color:#0f172a;color:#fff}

#bo_vc{margin:16px 12px 24px;max-width:760px}
.cmt_btn{margin:0 12px 8px;background:none;border:0;font-weight:800}

@media (min-width:720px){
  #tr_board,#tr_write,#tr_view{padding:16px 0 48px}
  .tr_podium{
    grid-template-columns:1fr 1.18fr 1fr;align-items:end
  }
  .tr_podium_card.tr_gold{grid-column:2;grid-row:1}
  .tr_podium_card.tr_silver{grid-column:1;grid-row:1}
  .tr_podium_card.tr_bronze{grid-column:3;grid-row:1}
  .tr_silver,.tr_bronze{transform:translateY(10px)}
  .tr_cta{padding:18px 20px}
}
@media (max-width:480px){
  .tr_field_row{grid-template-columns:1fr}
  .tr_cta{flex-direction:column;align-items:flex-start}
  .tr_cta_btn{width:100%}
  .tr_row_meta span{display:none}
}
