/* Results website - generated by IDSF webresults.
   Colours follow the IDSF / DanceSportLive site: dark by default, light theme optional (switch in the header). */
*{box-sizing:border-box}

/* ---------- themes ---------- */
:root,html[data-theme="dark"]{
  --bg:#0b0b0f;--bg2:#10131a;--panel:#171922;--panel2:#1d2029;--hover:rgba(255,255,255,.04);
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.14);
  --text:#e9ebf0;--muted:#b8bcc7;--faint:#7d8392;
  --gold:#d9a441;--gold-soft:#f0cf8c;--link:#f0cf8c;--num:#f0cf8c;
  --accent:#b30f19;--accent2:#d11b26;
  --on-bg:#efb639;--on-text:#17130a;
  --in-bg:rgba(76,196,120,.16);--in-text:#7fe0a3;
  --p1:rgba(217,164,65,.30);--p2:rgba(205,210,220,.16);--p3:rgba(184,115,59,.28);
  --h1:rgba(217,164,65,.10);--h2:rgba(217,164,65,.20);--h3:rgba(217,164,65,.34);--h4:rgba(217,164,65,.55);--h4t:#fff;
  --chip:rgba(255,255,255,.06);--chipfin:rgba(217,164,65,.18);
  --input:#14161d;--tip:#000;--shadow:0 12px 30px rgba(0,0,0,.28);
  --h1shadow:0 4px 18px rgba(217,164,65,.35);
  --bodybg:radial-gradient(circle at top left,rgba(217,164,65,.08),transparent 26%),linear-gradient(180deg,#0b0b0f 0%,#10131a 100%);
}
html[data-theme="light"]{
  --bg:#f4f2ec;--bg2:#f4f2ec;--panel:#ffffff;--panel2:#f8f6f0;--hover:#faf8f2;
  --line:#e4dfd2;--line2:#d6cfbe;
  --text:#16171c;--muted:#5d6070;--faint:#9a9ca6;
  --gold:#b07d1e;--gold-soft:#8a5c00;--link:#8a5c00;--num:#8a5c00;
  --accent:#b30f19;--accent2:#c4141e;
  --on-bg:#d9a441;--on-text:#17130a;
  --in-bg:#e4f5ea;--in-text:#1b7a43;
  --p1:#fbe9bd;--p2:#eceef2;--p3:#f4dfcd;
  --h1:#fbf3df;--h2:#f6e4b6;--h3:#eecf83;--h4:#d9a441;--h4t:#17130a;
  --chip:#f1ede2;--chipfin:#fbe9bd;
  --input:#ffffff;--tip:#16171c;--shadow:0 8px 22px rgba(0,0,0,.08);
  --h1shadow:none;
  --bodybg:linear-gradient(180deg,#f7f5ef 0%,#f1eee6 100%);
}

/* ---------- base ---------- */
html{background:var(--bg)}
body{margin:0;padding:0;background:var(--bodybg);background-attachment:fixed;color:var(--text);font-family:Arial,Verdana,Helvetica,sans-serif;font-size:16px;line-height:1.4;min-height:100vh}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--gold)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}

/* header like the site's top bar (dark in both themes) */
.top{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(19,19,25,.92);border-bottom:2px solid var(--gold);box-shadow:0 12px 32px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.top .wrap{padding-top:6px;padding-bottom:6px;overflow:hidden}
.top .home{color:#f5f5f5;font-weight:700;font-size:17px;letter-spacing:.2px;display:inline-block;line-height:56px;text-decoration:none}
.top .home:hover{color:#f0cf8c}
.top .logo{float:right;margin-left:12px}
.top .logo img{display:block;height:56px;width:56px}
.themebtn{float:right;margin:12px 4px 0 10px;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#f0cf8c;font-size:17px;line-height:30px;text-align:center;cursor:pointer;padding:0}
.themebtn:hover{background:rgba(255,255,255,.12)}
.toplink{float:right;margin:12px 4px 0 6px;height:34px;line-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#f0cf8c;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.toplink:hover{background:rgba(255,255,255,.12);color:#fff}

main{padding-top:22px;padding-bottom:24px}
.foot{color:var(--faint);font-size:12px;padding-top:18px;padding-bottom:24px}

/* ---------- home ---------- */
.hero{margin-top:10px}
.hero h1{margin:0 0 4px;font-size:30px;color:var(--text);text-shadow:var(--h1shadow)}
.hero .sub{color:var(--muted)}
.search{position:relative;margin:16px 0}
.search input{width:100%;font-size:17px;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--input);color:var(--text);outline:none}
.search input:focus{border-color:var(--gold)}
#hits{margin-top:8px}
.hit{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.hit b{color:var(--num)}
.hit small{color:var(--muted)}
.hit .ev{display:block;font-size:14px;margin-top:4px}
.hit .ev span{color:var(--muted)}
.daytabs{margin:8px 0 4px}
.day h2{font-size:20px;margin:22px 0 10px;color:var(--text)}
.day h2 small{font-size:13px;font-weight:400;color:var(--muted);margin-left:6px}
.evlist{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.evrow{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:48px;padding:0 14px;border-bottom:1px solid var(--line)}
.evrow:last-child{border-bottom:0}
.evrow:hover{background:var(--hover)}
.evt{font-weight:700;font-size:16px;color:var(--text);-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;min-width:0;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evt:hover{color:var(--gold)}
.evfloor{color:var(--muted);font-size:13px;width:120px;-webkit-flex-shrink:0;flex-shrink:0;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evchips{-webkit-flex-shrink:0;flex-shrink:0;white-space:nowrap;text-align:right}
.evchips .chip{margin:0 0 0 4px;padding:3px 8px}
.js .day.hide{display:none}
.chip{display:inline-block;font-size:12px;padding:4px 9px;border-radius:999px;background:var(--chip);color:var(--text);margin:2px 4px 2px 0;font-weight:700;border:1px solid var(--line)}
.chip span{color:var(--muted);font-weight:400}
.chip.fin{background:var(--chipfin);color:var(--gold-soft)}
.chip:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- event page ---------- */
.crumbs{font-size:13px;color:var(--muted);margin-bottom:8px}
.evhead{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}
.evnum{background:var(--on-bg);color:var(--on-text);font-weight:800;font-size:20px;border-radius:12px;padding:10px 12px;margin-right:12px;min-width:64px;text-align:center}
.evhead h1{margin:0;font-size:24px;color:var(--text)}
.evhead .sub{color:var(--muted);font-size:14px;margin-top:2px}
.rounds{margin:14px 0 4px}
.round{display:inline-block;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin:0 6px 6px 0;color:var(--text);text-align:center}
.round b{display:block;font-size:13px}
.round span{font-size:12px;color:var(--muted)}
.round:hover{border-color:var(--gold);color:var(--gold)}
.round.on{background:var(--on-bg);border-color:var(--on-bg);color:var(--on-text)}
.round.on span{color:var(--on-text);opacity:.75}
.tools{margin:14px 0 10px}
.btn{display:inline-block;font:inherit;font-size:14px;font-weight:700;padding:8px 14px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);color:var(--text);cursor:pointer;margin:0 6px 6px 0}
.btn:hover{border-color:var(--gold);color:var(--gold)}
.btn.on,.btn.on:hover{background:var(--on-bg);border-color:var(--on-bg);color:var(--on-text)}
.btn.alt{background:var(--panel)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px 6px 10px;box-shadow:var(--shadow)}
.js .hidden-tab{display:none}
.note{color:var(--muted);font-size:13px;margin:8px 8px 0}
.recallinfo{margin:6px 8px 10px;color:var(--muted)}
.recallinfo b{color:var(--text)}

table{border-collapse:collapse;width:100%}
th,td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;color:var(--text)}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;background:var(--panel2)}
th.l,td.l{text-align:left}
tbody tr:hover td{background-color:var(--hover)}
td.num{font-weight:700;color:var(--num)}
td.couple{font-weight:700;min-width:170px}
td.couple small{display:block;font-weight:400;color:var(--muted);font-size:13px}
td.tot{font-weight:800}
th.d,td.d{width:46px;min-width:46px;max-width:46px;padding-left:2px;padding-right:2px}
th.d{font-size:14px;cursor:help;color:var(--gold-soft)}
.medal{display:inline-block;min-width:32px;padding:4px 6px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-weight:800;color:var(--text)}
.medal.gold{background:#d9a441;border-color:#d9a441;color:#17130a}
.medal.silver{background:#b9c0cc;border-color:#b9c0cc;color:#17130a}
.medal.bronze{background:#b8733b;border-color:#b8733b;color:#fff}
.recall tr.out td,.recall tr.out td.num{color:var(--faint)}
.recall tr.cut td{border-top:3px solid var(--accent2)}
.overall tr.grp td{border-top:2px solid var(--line2)}
.overall tr.out td.place .medal{background:transparent}
.overall td.res-d{color:var(--muted);font-size:14px}
.overall tr.running td.place{color:var(--in-text)}
.tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--in-bg);color:var(--in-text)}
h2.dance{font-size:18px;margin:16px 8px 8px;color:var(--gold-soft)}
.marks-t td.mk{font-size:15px;min-width:24px;padding-left:3px;padding-right:3px}
.marks-t th.j{padding-left:3px;padding-right:3px;cursor:help}
.marks-t td.mk.x{color:var(--in-text);font-weight:800}
.marks-t td.p1{background:var(--p1);font-weight:800}
.marks-t td.p2{background:var(--p2);font-weight:700}
.marks-t td.p3{background:var(--p3);font-weight:700}
.marks-t tr.out td{color:var(--faint)}
.sum-t td.h0{color:var(--faint)}
.sum-t td.h1{background:var(--h1)}
.sum-t td.h2{background:var(--h2)}
.sum-t td.h3{background:var(--h3);font-weight:700}
.sum-t td.h4{background:var(--h4);font-weight:800;color:var(--h4t)}
.sum-t tr.out td.mk{opacity:.75}
.marks-t tr.cut td,.sum-t tr.cut td{border-top:3px solid var(--accent2)}
.judges{margin-top:16px}
.judges h2{font-size:16px;margin:0 0 6px;color:var(--text)}
.judges ul{list-style:none;padding:0;margin:0;-webkit-columns:3 220px;columns:3 220px}
.judges li{padding:2px 0;font-size:14px;color:var(--muted)}
.judges b{display:inline-block;width:24px;color:var(--gold-soft)}
#tip{position:absolute;z-index:50;display:none;background:var(--tip);color:#fff;font-size:13px;padding:6px 9px;border-radius:8px;white-space:nowrap;pointer-events:none;border:1px solid rgba(217,164,65,.5)}

@media (max-width:900px){
  .panel,.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rounds,.daytabs{overflow-x:auto;white-space:nowrap}
}
@media (max-width:640px){
  .evfloor{display:none}
  .evrow{height:auto;min-height:48px;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding:8px 14px}
  .evt{-webkit-flex:1 1 100%;flex:1 1 100%;white-space:normal}
  .evchips{width:100%;text-align:left;overflow-x:auto;margin-top:4px}
  .evchips .chip{margin:0 4px 0 0}
  .top .home{font-size:15px;line-height:1.25;padding-top:10px;max-width:calc(100% - 110px)}
  .top .logo img{height:46px;width:46px}
  .themebtn{margin-top:8px}
  .toplink{margin-top:8px;padding:0 9px}
  .toplink span{display:none}
  .top .home{max-width:calc(100% - 190px)}
  .hero h1{font-size:23px}
  table.final{min-width:540px}
  .recall td,.recall th{padding:6px 5px}
  .evhead h1{font-size:20px}
  th,td{padding:7px 5px}
}
@media print{
  html,body{background:#fff!important;color:#000}
  :root,html[data-theme]{--text:#000;--muted:#444;--faint:#777;--panel:#fff;--panel2:#f2f2f2;--line:#ccc;--num:#000;--gold-soft:#000;--link:#000}
  .top,.tools,.search,.daytabs,.rounds,.crumbs,#tip,.themebtn{display:none!important}
  .panel,.evlist{border:0;padding:0;box-shadow:none}
  .js .hidden-tab{display:block!important}
}
