/* IJCAI 2024 FinLLM Challenge page (on top of style.css) */
body>.fb-tip{position:fixed}
a.inline{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.updated.final i{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.sec-p{max-width:62ch;margin-bottom:24px}

/* podiums */
.hero-viz{height:420px}
.podiums{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start;align-content:end;padding:18px 0 24px}
.pod{display:flex;flex-direction:column;min-width:0}
.pod-task{margin-bottom:10px;text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);opacity:0;transition:opacity .6s var(--ease) calc(var(--td) + .5s)}
.pod-steps{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:4px;border-bottom:1px solid var(--line)}
.step{display:flex;flex-direction:column;align-items:center;min-width:0}
.step .who{font-size:.72rem;font-weight:500;color:var(--ink);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease) calc(var(--d) + .55s),transform .6s var(--spring) calc(var(--d) + .55s)}
.step .block{display:grid;place-items:start center;width:100%;height:0;padding-top:8px;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--c),color-mix(in srgb,var(--c) 55%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.4);transition:height .9s var(--ease) var(--d),transform .35s var(--spring)}
.step .block b{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:#fff;opacity:0;transition:opacity .4s calc(var(--d) + .5s)}
.podiums.in .s1 .block{height:120px}.podiums.in .s2 .block{height:84px}.podiums.in .s3 .block{height:58px}
.pod-names{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px}
.pod-names li{display:flex;align-items:center;gap:7px;font-size:.78rem;line-height:1.25;color:var(--ink);opacity:0;transform:translateX(-6px);transition:opacity .5s var(--ease) var(--d),transform .6s var(--spring) var(--d)}
.pod-names li:not(:first-child){color:var(--soft)}
.pod-names li:first-child{font-weight:600}
.pod-names i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--c)}
.podiums.in .pod-names li{opacity:1;transform:none}
.podiums.in .step .block b,.podiums.in .pod-task{opacity:1;transform:none}
.step:hover .block{transform:translateY(-4px)}

/* team x task matrix */
.tm{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(var(--cols),minmax(90px,1fr));gap:6px;max-width:860px}
.tm-h{font-size:.74rem;font-weight:600;letter-spacing:.04em;color:var(--soft);text-align:center;padding:6px 4px;display:flex;flex-direction:column;justify-content:flex-end}
.tm-h small{font-weight:400;color:var(--muted);letter-spacing:0}
.tm-team{display:flex;flex-direction:column;justify-content:center;padding:6px 10px;font-size:.9rem;font-weight:500}
.tm-team small{font-size:.72rem;color:var(--muted);font-weight:400}
.tm-c{display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;border-radius:12px;background:var(--card);box-shadow:0 0 0 1px var(--line);cursor:default;transition:transform .35s var(--spring),box-shadow .25s,opacity .5s var(--ease) var(--d)}
.tm-c span{font-family:var(--serif);font-size:1.15rem;line-height:1}
.tm-c small{font-size:.66rem;color:var(--muted)}
.tm-c.none{background:transparent;box-shadow:none;color:var(--line);font-size:1.4rem}
.tm-c.m1{background:color-mix(in srgb,#c9a24a 22%,var(--card));box-shadow:0 0 0 1px #c9a24a}
.tm-c.m2{background:color-mix(in srgb,#9aa4b5 22%,var(--card));box-shadow:0 0 0 1px #9aa4b5}
.tm-c.m3{background:color-mix(in srgb,#b77b4e 20%,var(--card));box-shadow:0 0 0 1px #b77b4e}
.tm-c[data-t]:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 1px var(--accent-light),0 12px 24px -14px rgba(24,56,152,.5)}
#teams-matrix .tm-c,#teams-matrix .tm-team{opacity:0}
#teams-matrix.in .tm-c,#teams-matrix.in .tm-team{opacity:1;transition:opacity .5s var(--ease) var(--d),transform .35s var(--spring),box-shadow .25s}

/* task sections */
.task-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.task-head p{max-width:64ch}
.task-head p b{color:var(--ink);font-weight:600}
.data-link{font-size:.86rem;font-weight:500;color:var(--accent);padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;transition:box-shadow .25s,transform .35s var(--spring)}
.data-link:hover{box-shadow:inset 0 0 0 1px var(--accent-light);transform:translateY(-2px)}

/* lollipop */
.lolli{position:relative;transition:height .5s var(--ease)}
.l-axis{position:absolute;left:calc(34px + min(260px,30%) + 24px);right:76px;bottom:0;height:20px;border-top:1px solid var(--line)}
.l-axis span{position:absolute;top:4px;transform:translateX(-50%);font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.l-row{position:absolute;left:0;right:0;height:40px;display:grid;grid-template-columns:34px min(260px,30%) 1fr 64px;gap:12px;align-items:center;padding:0 6px;border-radius:12px;transition:transform .7s var(--ease),background .2s}
.l-row:hover{background:var(--accent-soft)}
.l-pos{font-family:var(--mono);font-size:.74rem;color:var(--muted);text-align:right}
.l-row.medal .l-pos{display:grid;place-items:center;justify-self:end;width:22px;height:22px;border-radius:50%;background:var(--mc);color:#fff;font-size:.7rem}
.l-name{font-size:.9rem;display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l-row.anon .l-name{color:var(--muted);font-style:italic}
em.dlt{font-style:normal;font-size:.64rem;font-weight:600;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:999px;flex:none}
.l-track{position:relative;height:12px}
.l-stem{position:absolute;left:0;top:5px;height:2px;width:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mc) 60%,transparent));border-radius:2px;transition:width .9s var(--ease)}
.l-dot{position:absolute;top:0;left:0;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--mc);box-shadow:0 0 0 3px var(--paper);transition:left .9s var(--ease),transform .35s var(--spring)}
.l-row:hover .l-dot{transform:scale(1.4)}
.l-val{font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:500;text-align:right}
.l-row:not(.medal){--mc:var(--accent)}

/* trading */
.trade-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
.mini-h{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:16px}
.dv-axis{display:flex;justify-content:space-between;margin-left:140px;font-size:.7rem;color:var(--muted);padding-bottom:6px;border-bottom:1px solid var(--line)}
.dv-row{display:grid;grid-template-columns:128px 1fr;gap:12px;align-items:center;height:46px;border-radius:12px;padding:0 4px;cursor:default;transition:background .2s}
.dv-row:hover{background:var(--accent-soft)}
.dv-name{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-name i{width:10px;height:10px;border-radius:50%;flex:none}
.dv-track{position:relative;height:22px}
.dv-track::before{content:"";position:absolute;left:50%;top:-12px;bottom:-12px;width:1px;background:var(--ink);opacity:.35}
.dv-bar{position:absolute;top:0;height:100%;width:0;border-radius:6px;transition:width 1s var(--ease) var(--d)}
.dv-bar.pos{left:50%;background:linear-gradient(90deg,color-mix(in srgb,#16a34a 55%,transparent),#16a34a)}
.dv-bar.neg{right:50%;background:linear-gradient(270deg,color-mix(in srgb,#dc2626 55%,transparent),#dc2626)}
#sharpe.in .dv-bar{width:var(--w)}
.dv-val{position:absolute;top:2px;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .4s calc(var(--d) + .7s)}
.dv-val.pos{left:calc(50% + var(--w) + 8px);color:#15803d}
.dv-val.neg{right:calc(50% + var(--w) + 8px);color:#b91c1c}
#sharpe.in .dv-val{opacity:1}
.sg{display:grid;grid-template-columns:minmax(110px,1.3fr) repeat(var(--cols),1fr);gap:5px}
.sg-h{font-size:.74rem;font-weight:600;color:var(--soft);text-align:center;font-family:var(--mono);padding-bottom:4px}
.sg-team{font-size:.86rem;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-c{height:46px;display:grid;place-items:center;border-radius:10px;font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink);opacity:0;transform:scale(.85);transition:opacity .5s var(--ease) var(--d),transform .5s var(--spring) var(--d),box-shadow .2s}
#stocks.in .sg-c{opacity:1;transform:none}
.sg-c:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* DLT card */
.dlt.card{display:flex;gap:18px;align-items:flex-start;padding:24px 26px}
.dlt-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:1.1rem}
.dlt p{max-width:80ch}

/* tables */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs button{border:0;background:var(--card);box-shadow:0 0 0 1px var(--line);font:500 .84rem var(--sans);color:var(--soft);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s,transform .3s var(--spring)}
.tabs button:hover{box-shadow:0 0 0 1px var(--accent-light)}
.tabs button:active{transform:scale(.95)}
.tabs button.on{background:var(--ink);color:var(--paper);box-shadow:none}
th.num{text-align:right !important}
tr.top td:nth-child(2){font-weight:600}
.medal-dot{display:inline-block;width:12px;height:12px;border-radius:50%}
table{min-width:640px}

.brand{white-space:nowrap}
@media (max-width:900px){.trade-grid{grid-template-columns:1fr}.hero-viz{height:380px}.links a:not([href^="http"]){display:none}}
@media (max-width:640px){
  .l-row{grid-template-columns:24px 110px 1fr 52px;gap:8px}
  .l-axis{left:calc(24px + 110px + 22px);right:60px}
  .dv-row{grid-template-columns:96px 1fr}.dv-axis{margin-left:108px}
  .tm{grid-template-columns:92px repeat(var(--cols),minmax(0,1fr));gap:4px}
  .tm-h{font-size:.64rem;letter-spacing:0}
  .tm-team{font-size:.78rem;padding:4px 2px}
  .tm-c{height:46px}
  .podiums{gap:10px}
  .pod-task{font-size:.6rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pod-names li{font-size:.7rem}
}
.fb-sec{scroll-margin-top:56px}

/* organizers */
.orgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.org{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:132px;padding:18px 16px 14px;border-radius:18px;background:var(--card);box-shadow:0 0 0 1px var(--line);text-align:center;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease) var(--d),transform .8s var(--ease) var(--d),box-shadow .3s}
#organizers.in .org{opacity:1;transform:none}
.org img{max-height:44px;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .4s,opacity .4s,transform .45s var(--spring)}
.org img.emblem{max-height:54px}
.org img.mark{max-height:36px}
.org-name{font-size:.74rem;line-height:1.3;color:var(--soft)}
.org-text{font-family:var(--serif);font-size:1.35rem;color:var(--ink);opacity:.8;line-height:44px}
.org.noimg .org-name{display:none}
a.org:hover{box-shadow:0 0 0 1px var(--accent-light),0 14px 30px -18px rgba(24,56,152,.45)}
a.org:hover img{filter:none;opacity:1;transform:scale(1.06)}
a.org:hover .org-name{color:var(--ink)}
.cite pre{max-height:220px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .org img:not(.mark):not(.emblem){filter:grayscale(1) invert(1) brightness(1.4)}}
:root[data-theme="dark"] .org img:not(.mark):not(.emblem){filter:grayscale(1) invert(1) brightness(1.4)}
@media (max-width:640px){.orgs{grid-template-columns:1fr 1fr}.org{height:120px}}
