/* Contest day (G1–G5, H1–H4). Rules: text 17px+, buttons 56px+, high contrast, nothing to type during a session.
   A centred 560px column on every screen (this mode is for the phone); the timeline (G3) puts the next session and the list side by side at ≥1024px. */
.dy{max-width:560px;margin:0 auto;min-height:100vh;box-sizing:border-box;padding:16px 16px 40px;display:flex;flex-direction:column;gap:16px;font-size:17px;color:var(--kl-ink);background:var(--kl-bg)}
.dy h1{font:800 32px/1.1 var(--kl-font-head);letter-spacing:-.02em;margin:0}.dy small{font-size:15px;color:var(--kl-muted-2)}
.dy-top{display:flex;flex-direction:column;gap:6px}.dy-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dy-clock{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--kl-amber-text)}.dy-sub{margin:0;font-size:17px;color:var(--kl-muted-2)}
.dy-net{font-size:15px}
.dy-big{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;min-height:60px;padding:0 20px;border:0;border-radius:999px;background:var(--kl-green);color:var(--kl-bg);font:800 18px var(--kl-font-body);text-decoration:none;cursor:pointer}
.dy-big.is-amber{background:var(--kl-amber);color:var(--kl-ink)}.dy-big.is-light{background:var(--kl-card);color:var(--kl-green);border:2px solid var(--kl-green)}
.dy-big:focus-visible,.dy-ghost:focus-visible,.dy button:focus-visible{outline:3px solid var(--kl-focus);outline-offset:3px}
.dy-ghost{display:flex;align-items:center;justify-content:center;min-height:56px;border:0;background:transparent;color:var(--kl-green);font:800 17px var(--kl-font-body);cursor:pointer;width:100%;text-decoration:none}.dy-ghost.is-dark{color:var(--kl-banner-bg)}
.dy-bar{margin-top:auto;position:sticky;bottom:0;display:flex;flex-direction:column;gap:4px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--kl-bg) 22%)}
.dy-lead{margin:0;color:var(--kl-muted-2)}
/* G1 packing */
.dy-pcount{display:flex;justify-content:space-between;font-weight:800}
.dy-pack,.dy-tl,.dy-logs{list-style:none;margin:0;padding:0}
.dy-pack{display:flex;flex-direction:column;gap:10px}
.dy-pack button{display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:0 18px;border-radius:20px;border:2px solid var(--kl-border);background:var(--kl-card);font:700 18px var(--kl-font-body);color:var(--kl-ink);text-align:left;cursor:pointer}
.dy-pack .is-done{background:var(--kl-green-light);border-color:transparent}
.dy-box{width:34px;height:34px;flex:none;border-radius:10px;border:2.5px solid var(--kl-dashed);box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:var(--kl-bg)}.is-done .dy-box{background:var(--kl-green);border-color:var(--kl-green)}.dy-box svg{width:18px;height:18px}
/* G2 venue */
.dy-arrived{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;background:var(--kl-green-light);font-size:18px}.dy-arrived span{width:36px;height:36px;border-radius:50%;background:var(--kl-green);color:var(--kl-bg);display:flex;align-items:center;justify-content:center}
.dy-entries{display:flex;flex-direction:column;gap:10px}
.dy-entries label{display:flex;align-items:center;gap:12px;min-height:80px;padding:10px 14px;border-radius:22px;background:var(--kl-card)}
.dy-entries label>span:nth-of-type(1){flex:1;min-width:0;display:flex;flex-direction:column}.dy-entries strong{font-size:18px}
.dy-gnw{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.dy-gnw small{font-size:13px}
.dy-gnw input{width:96px;min-height:56px;box-sizing:border-box;border:2px solid var(--kl-border);border-radius:16px;text-align:center;font:800 24px var(--kl-font-head);color:var(--kl-ink);background:var(--kl-bg)}.dy-gnw input::placeholder{font:600 14px var(--kl-font-body);color:var(--kl-muted)}
.dy-gnw input:focus{outline:none;border-color:var(--kl-green)}
.dy-photo{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border-radius:999px;border:2px dashed var(--kl-dashed);font-weight:800;cursor:pointer;color:var(--kl-green)}
.bd-photo.is-md{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}.bd-photo.is-xl{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--kl-amber);box-sizing:border-box}
/* G3 timeline */
.dy-grid{display:flex;flex-direction:column;gap:16px}.dy-col{display:flex;flex-direction:column;gap:12px}
.dy-next{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:28px;background:var(--kl-green);color:var(--kl-bg)}
.dy-k{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--kl-amber)}
.dy-next-b{display:flex;align-items:center;gap:14px}.dy-next-b .bd-photo.is-md{width:64px;height:64px;border:3px solid var(--kl-amber)}.dy-next-b>div{display:flex;flex-direction:column}
.dy-next-b strong{font:800 28px/1.1 var(--kl-font-head)}.dy-next-b span{font-size:18px;color:var(--kl-banner-bg)}
.dy-next-c{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:17px}.dy-next-c strong{font:800 22px var(--kl-font-head)}.dy-nono{font-style:normal;font-weight:700;font-size:15px;white-space:nowrap;opacity:.85}
.dy-next.is-done strong{font:800 22px/1.2 var(--kl-font-head)}
.dy-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dy-quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;border-radius:20px;border:0;background:var(--kl-card);color:var(--kl-ink);font:800 17px var(--kl-font-body);cursor:pointer}.dy-quick img{width:34px;height:34px;object-fit:contain}
.dy-quick button:active{transform:scale(.97)}.dy-quick button:disabled{opacity:.5}
.dy-list{display:flex;flex-direction:column;gap:10px}.dy-list h2{font:800 22px var(--kl-font-head);margin:4px 0 0}
.dy-tl{padding:4px 16px;border-radius:24px;background:var(--kl-card)}
.dy-tl li{display:flex;align-items:center;gap:14px;min-height:72px;padding:8px 0}.dy-tl li+li{border-top:1px solid var(--kl-divider)}
.dy-t{flex:none;width:60px;font:800 20px var(--kl-font-head)}
.dy-tl-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dy-tl-b strong{font-size:18px}.dy-tl-b small{font-size:15px}
.dy-g{font:800 22px var(--kl-font-head);color:var(--kl-green)}
.dy-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:44px;padding:0 14px;border-radius:999px;border:0;background:var(--kl-amber-light);color:var(--kl-amber-text);font:800 15px var(--kl-font-body);cursor:pointer}
.dy-chip.is-no{border:1.5px solid var(--kl-amber)}.dy-chip.is-res.is-juara,.dy-res .is-juara{background:var(--kl-amber);color:var(--kl-ink)}.dy-res .is-nominasi,.dy-chip.is-nominasi{background:var(--kl-green-light);color:var(--kl-green)}.dy-res .is-tidak_masuk,.dy-res .is-tidak_jadi{background:var(--kl-sand);color:var(--kl-muted-2)}
.dy-badge{width:24px;height:24px;object-fit:contain;flex:none}
.dy-tl li.is-skipped .dy-tl-b{opacity:.6}
.dy-sumrow a{display:flex;align-items:center;gap:14px;width:100%;color:var(--kl-ink);text-decoration:none;min-height:56px}.dy-sumrow img{width:44px;height:44px;padding:7px;box-sizing:border-box;border-radius:12px;background:var(--kl-green-light)}.dy-sumrow span{flex:1;display:flex;flex-direction:column}.dy-sumrow strong{font-size:18px}.dy-sumrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.dy-logs{display:flex;flex-direction:column;padding:4px 16px;border-radius:22px;background:var(--kl-green-light)}.dy-logs li{display:flex;align-items:center;gap:12px;min-height:56px}.dy-logs li+li{border-top:1px solid rgba(23,64,47,.1)}
.dy-tick{width:30px;height:30px;flex:none;border-radius:50%;background:var(--kl-green);color:var(--kl-bg);display:flex;align-items:center;justify-content:center}
.dy-pending{display:flex;flex-direction:column;gap:10px}
.dy-empty{display:flex;flex-direction:column;gap:14px;padding-top:40px}
/* G4 session */
.dy-run{min-height:100vh;box-sizing:border-box;max-width:560px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));background:var(--kl-green);color:var(--kl-bg);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;container-type:inline-size}
.dy-run-top{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.dy-run-k{font-size:16px;font-weight:800;letter-spacing:.1em;color:var(--kl-amber)}
.dy-run-n{display:block;width:100%;font:800 44px/1.12 var(--kl-font-head);container-type:inline-size}.dy-run-c{font-size:18px;color:var(--kl-banner-bg)}
.dy-run-g{display:flex;flex-direction:column;align-items:center;padding:10px 32px;border-radius:20px;border:2px solid var(--kl-amber)}.dy-run-g span{font-size:16px;font-weight:700;color:var(--kl-banner-bg)}.dy-run-g strong{font:800 48px/1.12 var(--kl-font-head);color:var(--kl-amber)}
.dy-run-t strong{display:block;font:800 84px/1.12 var(--kl-font-head);font-variant-numeric:tabular-nums}.dy-run-t span{font-size:18px;color:var(--kl-banner-bg)}
.dy-run-bar{width:100%;height:12px;border-radius:999px;background:rgba(246,243,234,.18);overflow:hidden}.dy-run-bar i{display:block;height:100%;width:0;background:var(--kl-amber);transition:width 1s linear}
.dy-run-hint{margin:0;font-size:17px;color:var(--kl-banner-bg)}
.dy-run .dy-big{margin-top:auto}
/* H1–H3 result sheet */
.dy-sheet .kc-sheet-box{font-size:17px;padding:12px 16px calc(16px + env(safe-area-inset-bottom))}
.dy-sheet .dy-sh .bd-photo.is-head{width:56px;height:56px;border-radius:50%;object-fit:cover}
.dy-steps{display:flex;align-items:center;gap:12px;margin:2px 0 12px}.dy-steps>span{font-size:15px;font-weight:800;color:var(--kl-muted-2);white-space:nowrap}.dy-steps>div{flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.dy-steps i{height:5px;border-radius:999px;background:var(--kl-border)}.dy-steps i.is-on{background:var(--kl-green)}
.dy-q{font:800 24px var(--kl-font-head);margin:0 0 10px}.dy-q small{font:600 16px var(--kl-font-body);color:var(--kl-muted-2)}
.dy-outs{display:flex;flex-direction:column;gap:10px}
.dy-outs button{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 16px;border-radius:20px;border:2px solid var(--kl-border);background:var(--kl-card);color:var(--kl-ink);font:inherit;text-align:left;cursor:pointer}
.dy-outs button strong{flex:1;font-size:19px}.dy-oi{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--kl-bg)}.dy-oi svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.dy-outs button.is-on,.dy-outs button[data-dyout=juara]:hover{background:var(--kl-green);border-color:var(--kl-green);color:var(--kl-bg)}.dy-chev{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.dy-lab{display:block;margin:14px 0 8px;font-size:17px;font-weight:800}
.dy-ranks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dy-ranks button{min-height:60px;border-radius:16px;border:2px solid var(--kl-border);background:var(--kl-card);font:800 22px var(--kl-font-head);color:var(--kl-ink);cursor:pointer}.dy-ranks button[aria-checked=true]{background:var(--kl-green);border-color:var(--kl-green);color:var(--kl-bg)}
.dy-flags{display:flex;flex-direction:column;padding:4px 14px;border-radius:20px;background:var(--kl-bg)}.dy-flags>div{display:flex;align-items:center;gap:10px;min-height:64px}.dy-flags>div+div{border-top:1px solid var(--kl-border)}
.dy-flags img{width:34px;height:34px;object-fit:contain}.dy-flags>div>strong{flex:1;font-size:18px}.dy-flags b{min-width:36px;text-align:center;font:800 24px var(--kl-font-head)}
.dy-flags button{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--kl-border);background:var(--kl-card);color:var(--kl-green);font:700 26px/1 var(--kl-font-body);cursor:pointer}.dy-flags button.is-plus{background:var(--kl-green);border-color:var(--kl-green);color:var(--kl-bg)}
.dy-kon{display:flex;align-items:baseline;gap:8px}.dy-kon strong{font:800 44px var(--kl-font-head)}
.dy-quickadd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dy-quickadd button{min-height:56px;border-radius:16px;border:2px solid var(--kl-border);background:var(--kl-card);font:800 16px var(--kl-font-body);cursor:pointer}
.dy-amt{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:14px 16px;border-radius:20px;background:var(--kl-bg)}.dy-amt span{font-weight:800;font-size:20px}.dy-amt strong{font:800 40px var(--kl-font-head);font-variant-numeric:tabular-nums}
.dy-switch{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;margin-top:8px;padding:0 14px;border:0;border-radius:18px;background:var(--kl-amber-light);font:800 18px var(--kl-font-body);color:var(--kl-ink);cursor:pointer}.dy-switch span{flex:1;text-align:left}
.dy-switch b{position:relative;width:56px;height:32px;border-radius:999px;background:var(--kl-border)}.dy-switch b i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s}.dy-switch[aria-checked=true] b{background:var(--kl-green)}.dy-switch[aria-checked=true] b i{left:28px}
.dy-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.dy-keys button{min-height:60px;border-radius:16px;border:0;background:var(--kl-bg);font:800 24px var(--kl-font-head);color:var(--kl-ink);cursor:pointer}
.dy-sheet .dy-big{margin-top:14px}
.dy-sheet-pill{display:flex;justify-content:center;margin:8px 0 0}
.dy-saved{display:flex;align-items:center;gap:12px;margin:8px 0}.dy-saved>svg{width:28px;height:28px;color:var(--kl-green)}
.dy-note{display:flex;flex-direction:column;gap:6px}.dy-note>span{font-weight:800}.dy-note textarea{box-sizing:border-box;width:100%;border:2px solid var(--kl-border);border-radius:16px;padding:12px 14px;font:17px var(--kl-font-body);color:var(--kl-ink);background:var(--kl-card);resize:vertical}.dy-note textarea:focus{outline:none;border-color:var(--kl-green)}
/* G5 summary */
.dy-sumbar{display:flex;align-items:center;gap:12px}.dy-sumbar h1{font-size:24px}.dy-sumbar svg{width:22px;height:22px;fill:none;stroke:var(--kl-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dy-sum>.dy-net{align-self:flex-start}
.dy-sumhead{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:28px;background:var(--kl-card)}.dy-sumhead.is-good{background:var(--kl-green);color:var(--kl-bg)}
.dy-sumhead>span{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--kl-amber-text)}.dy-sumhead.is-good>span{color:var(--kl-amber)}.dy-sumhead h2{font:800 28px/1.15 var(--kl-font-head);margin:0}.dy-sumhead p{margin:0}.dy-sumhead.is-good p{color:var(--kl-banner-bg)}
.dy-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dy-tiles>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:18px;background:rgba(127,127,127,.12)}.dy-tiles span{font-size:15px;opacity:.85}.dy-tiles strong{font:800 22px var(--kl-font-head)}
.dy-net-t{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:var(--kl-amber);color:var(--kl-ink)}.dy-net-t span{font-weight:800}.dy-net-t strong{font:800 30px var(--kl-font-head)}.dy-net-t .is-neg{color:#7A2E0B}
.dy .is-neg{color:var(--kl-neg)}
.dy-warn{margin:0;padding:14px 16px;border-radius:16px;background:var(--kl-amber-light);color:var(--kl-amber-text);font-weight:700}
.dy-birds{display:flex;flex-direction:column;padding:4px 16px;border-radius:24px;background:var(--kl-card)}.dy-bird{display:flex;flex-direction:column;gap:8px;padding:12px 0}.dy-bird+.dy-bird{border-top:1px solid var(--kl-divider)}
.dy-bird-h{display:flex;align-items:center;gap:12px}.dy-bird-h>div{flex:1;min-width:0;display:flex;flex-direction:column}.dy-bird-h strong{font-size:18px}.dy-bird-h span{font-size:15px;color:var(--kl-muted-2)}.dy-bnet{font:800 20px var(--kl-font-head);color:var(--kl-green)}
.dy-res{display:flex;flex-wrap:wrap;gap:8px;padding-left:68px}
@media(min-width:1024px){
  .dy.is-timeline{max-width:1040px}
  .dy.is-timeline .dy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px}
  .dy-run,.dy{padding-top:32px}
}
.dy-bird-h span.kc-bname,.dy-tl-b .kc-bname{font-size:inherit;color:inherit}.dy-next-b strong .kc-bname{color:inherit}
.dy-sheet .dy-sh{margin-bottom:10px}
