/* Visual guidance layer: vivid palette, clear "where am I", obvious input fields. Loaded last. */
:root{--ui-blue:#0b63f6;--ui-blue-dark:#0842b5;--ui-violet:#6a3df5;--ui-rose:#e8336d;--ui-rose-dark:#b81e52;--ui-green:#12a150;--ui-amber:#ffb020;--ui-red:#e5323b;--ui-ink:#14213d;--ui-sub:#51607a;--ui-line:#c9d3e6;--ui-bg:#eef3fb;--ui-accent:var(--ui-blue);--ui-accent-dark:var(--ui-blue-dark);--ui-accent-soft:#e3edff}
body[data-gender=female]{--ui-accent:var(--ui-rose);--ui-accent-dark:var(--ui-rose-dark);--ui-accent-soft:#ffe6ef}
body[data-gender=other]{--ui-accent:var(--ui-violet);--ui-accent-dark:#4a24c4;--ui-accent-soft:#ece6ff}
:root{color:var(--ui-ink);background:var(--ui-bg)}
body{background:var(--ui-bg)}
/* header */
header{background:linear-gradient(110deg,var(--ui-blue) 0%,var(--ui-violet) 100%);padding:16px 4%;box-shadow:0 2px 10px #0b2a7033}
header small{opacity:.9;letter-spacing:.08em}
header h1{font-size:26px;letter-spacing:.04em}
#saved{background:#ffffff26;border:1px solid #ffffff55;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:bold}
#saved::before{content:'✓ ';color:#9dffc7}
/* event bar */
.event-switcher{background:white;border-bottom:1px solid var(--ui-line);padding:12px 4%}
.ui-event-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;width:100%}
.ui-event-label{font-weight:bold;font-size:13px;color:var(--ui-sub)}
.ui-event-chips{display:flex;gap:10px;flex-wrap:wrap}
.ui-chip{display:grid;gap:2px;text-align:left;padding:8px 16px;border-radius:12px;border:2px solid var(--chip);background:white;color:var(--chip);min-width:150px}
.ui-chip b{font-size:16px}.ui-chip small{font-size:11px;opacity:.85}
.ui-chip:hover{background:var(--chip-soft)}
.ui-chip.is-on{background:var(--chip);color:white;box-shadow:0 4px 12px var(--chip-shadow);transform:translateY(-1px)}
.ui-chip.g-male{--chip:var(--ui-blue);--chip-soft:#e3edff;--chip-shadow:#0b63f655}
.ui-chip.g-female{--chip:var(--ui-rose);--chip-soft:#ffe6ef;--chip-shadow:#e8336d55}
.ui-chip.g-other{--chip:var(--ui-violet);--chip-soft:#ece6ff;--chip-shadow:#6a3df555}
.ui-event-title{margin-left:auto;color:var(--ui-sub);font-size:13px}
/* steps */
nav{background:white;border-bottom:3px solid var(--ui-accent);padding:10px 4%;align-items:stretch;gap:10px;box-shadow:0 3px 10px #14213d12}
.ui-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;flex:1}
.ui-step-arrow{display:none}
.ui-step{display:flex;align-items:center;gap:8px;min-width:0;border:2px solid transparent;background:#f4f7fc;border-radius:12px;padding:6px 12px 6px 6px;text-align:left;color:var(--ui-ink)}
.ui-step:hover{background:var(--ui-accent-soft)}
.ui-step-no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:bold;background:white;border:2px solid #b5c1d8;color:var(--ui-sub);flex-shrink:0}
.ui-step-text{display:grid;line-height:1.25;min-width:0}.ui-step-text b,.ui-step-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-step-text b{font-size:14px}.ui-step-text small{font-size:11px;color:var(--ui-sub)}
.ui-step.is-done .ui-step-no{background:var(--ui-green);border-color:var(--ui-green);color:white}
.ui-step.is-current{background:var(--ui-accent);border-color:var(--ui-accent);color:white;box-shadow:0 4px 12px #14213d2e}
.ui-step.is-current .ui-step-no{background:white;border-color:white;color:var(--ui-accent)}
.ui-step.is-current small{color:#ffffffd9}
.ui-step.is-off{opacity:.45;cursor:not-allowed;background:#f4f7fc}
.ui-utility{align-self:center;margin-left:auto;border:2px solid var(--ui-line);border-radius:12px;font-weight:bold;background:white}
.ui-utility.is-current{background:var(--ui-ink);color:white;border-color:var(--ui-ink)}
/* screen head */
.ui-screen-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:white;border-radius:16px;padding:18px 22px;margin-bottom:18px;border-left:8px solid var(--ui-accent);box-shadow:0 4px 16px #14213d14}
.ui-screen-kicker{font-size:12px;font-weight:bold;letter-spacing:.12em;color:var(--ui-accent);display:flex;align-items:center;gap:10px}
.ui-screen-event{letter-spacing:0;background:var(--ui-accent-soft);color:var(--ui-accent-dark);padding:2px 10px;border-radius:999px}
.ui-screen-title{font-size:24px;margin:4px 0 6px}
.ui-screen-lead{margin:0;color:var(--ui-sub);line-height:1.7}
.ui-next{background:var(--ui-accent);color:white;border:0;border-radius:999px;padding:12px 22px;font-weight:bold;font-size:15px;box-shadow:0 4px 12px #14213d2e}
.ui-next:hover{background:var(--ui-accent-dark)}
/* cards and text */
.card{border:1px solid #dbe3f1;border-radius:16px;box-shadow:0 2px 10px #14213d0d}
.card h2{border-left:5px solid var(--ui-accent);padding-left:10px}
.muted{color:var(--ui-sub)}
.notice{background:#fff6dd;border-left:5px solid var(--ui-amber);border-radius:8px}
.pill{background:var(--ui-accent-soft);color:var(--ui-accent-dark);font-weight:bold}
.stat{background:white;border:2px solid var(--ui-accent-soft);border-radius:14px}
.stat strong{color:var(--ui-accent)}
/* inputs: always look editable */
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:2px solid #b7c4dc;background:#fff;border-radius:8px;color:var(--ui-ink)}
input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,select:hover,textarea:hover{border-color:var(--ui-accent)}
input:focus,select:focus,textarea:focus{outline:3px solid #ffd23f;outline-offset:1px;border-color:var(--ui-accent);background:#fffdf0}
input:disabled,select:disabled,input[readonly]{background:#eef1f6;border-style:dashed;color:#6b7690}
.row>label,label{font-weight:bold}
input::placeholder{color:#9aa6bd;font-weight:normal}
/* buttons */
button,.file{border:2px solid var(--ui-line);border-radius:10px;font-weight:bold;color:var(--ui-ink);background:white}
button:hover{background:var(--ui-accent-soft)}
button.primary,nav button.active{background:var(--ui-accent);border-color:var(--ui-accent);color:white}
button.primary:hover{background:var(--ui-accent-dark)}
button.danger{color:var(--ui-red);border-color:#f3b2b6;background:white}
button.danger:hover{background:var(--ui-red);color:white;border-color:var(--ui-red)}
button:disabled{opacity:.5;cursor:not-allowed}
/* tables */
th{background:#eef3fb;color:var(--ui-ink)}
tbody tr:hover td{background:#f8fbff}
/* tournament & results */
.match{border-left:4px solid var(--ui-accent)}
.winner{color:var(--ui-green)}
.event-summary.selected{border:2px solid var(--ui-accent);background:var(--ui-accent-soft)}
.quick-entry{border-color:var(--ui-accent);background:var(--ui-accent-soft)}
.quick-side>b{color:var(--ui-accent-dark)}
.quick-pick.selected{background:var(--ui-accent);border-color:var(--ui-accent)}
dialog{border-top:8px solid var(--ui-accent);border-radius:16px}
dialog h2{color:var(--ui-ink)}
#toast{background:var(--ui-ink);border-left:6px solid var(--ui-green);font-weight:bold}
@media(max-width:1100px){.ui-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.ui-steps{grid-template-columns:repeat(2,minmax(0,1fr))}nav{flex-direction:column}.ui-utility{margin-left:0}}
@media print{.ui-screen-head,.ui-steps,.ui-utility{display:none!important}}

.rank-help{background:var(--ui-accent-soft);border-left:5px solid var(--ui-accent);padding:10px 14px;border-radius:8px;line-height:1.8;color:var(--ui-ink)}.team-rank-cell{white-space:nowrap}.team-rank{display:inline-block;min-width:52px;font-weight:bold;color:var(--ui-accent-dark)}.team-rank small{color:var(--ui-sub);font-weight:normal}.team-rank-none{color:#9aa6bd}.rank-move{padding:2px 8px;margin-left:4px;font-size:12px;border-radius:6px}.draw-help{background:#f4f8ff;border:2px solid var(--ui-accent-soft);border-radius:10px;padding:12px 14px;line-height:1.9;color:var(--ui-ink)}

.sample-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(90deg,#fff3c4,#ffe7a3);border-bottom:3px solid var(--ui-amber);padding:12px 4%}.sample-banner>div{display:grid;gap:4px}.sample-banner b{font-size:16px;color:#7a4b00}.sample-banner span{font-size:13px;color:#5b4a1f;line-height:1.6}.sample-banner button{white-space:nowrap}

.stage2-settings{margin-top:18px;padding:14px 16px;border:2px solid var(--ui-accent-soft);border-radius:12px;background:#fafcff}.stage2-settings h3{margin:0 0 10px}.stage2-card{border-left:6px solid var(--ui-accent)}.stage2-divider{margin:28px 0 12px;padding:8px 14px;background:var(--ui-accent);color:white;border-radius:10px;font-size:18px}.final-standings td small{color:var(--ui-sub)}

/* Compact dropdowns: as wide as their text, with a slim arrow (instead of stretching to the whole column) */
select{width:auto;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;padding:7px 30px 7px 10px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2351607a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:11px 7px;line-height:1.4;cursor:pointer}
select:focus{background-color:#fffdf0}
.row>label>select,label>select,.event-plan-grid select,.row label select{justify-self:start;align-self:start}
.event-plan-grid label{justify-items:start}
td select{max-width:100%}

/* entry form QR dialog and A4 flyer */
.form-dialog{width:min(860px,96vw)}.form-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.form-dialog-head h2{margin:0}
.form-dialog label{display:grid;gap:6px}.form-dialog .row>label{flex:1 1 240px}
.form-events{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:12px}.form-ev{display:flex!important;align-items:center;gap:6px;font-weight:normal}
.form-qr-box{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;margin-top:16px;padding:14px;border:2px solid var(--ui-accent-soft);border-radius:14px}.form-qr svg{width:200px;height:200px;display:block}
.form-url{word-break:break-all;font-size:12px;color:var(--ui-sub);margin:0 0 8px}
@media(max-width:620px){.form-qr-box{grid-template-columns:1fr}}
.form-flyer{display:none}
@media print{body.form-print>*:not(#printArea){display:none!important}body.form-print #printArea{display:block!important}
 body.form-print .form-flyer{display:block;color:#111;font-family:"Hiragino Sans","Meiryo",sans-serif}
 .form-flyer-kicker{font-size:14pt;letter-spacing:.2em;margin:0;color:#0842b5}.form-flyer h1{font-size:24pt;margin:2mm 0 2mm;line-height:1.3}
 .form-flyer-events{font-size:13pt;margin:0 0 8mm;padding-bottom:4mm;border-bottom:.6mm solid #0b63f6}
 .form-flyer-main{display:grid;grid-template-columns:78mm 1fr;gap:8mm;align-items:center}.form-flyer-qr svg{width:78mm;height:78mm;display:block}
 .form-flyer ol{font-size:13pt;line-height:1.9;margin:0;padding-left:1.4em}
 .form-flyer-line{font-size:14pt;margin:6mm 0 0}.form-flyer-note{font-size:12pt;margin:5mm 0 0;padding:3mm 4mm;border:.3mm solid #999;border-radius:2mm;white-space:pre-wrap}
 .form-flyer-url{font-size:8.5pt;word-break:break-all;margin:8mm 0 0;color:#333}.form-flyer-small{font-size:9pt;color:#555;margin:3mm 0 0}}
@media print{html:has(body.form-print),body.form-print{background:white!important}}
.rank-reason{font-size:12px;color:var(--ui-sub);white-space:nowrap}.rank-reason.tb{color:var(--ui-accent-dark);font-weight:bold}.rank-reason.open{color:#b5202b;font-weight:bold}
.rank-notes{margin:10px 0 0;padding:10px 14px;background:#fff6dd;border-left:5px solid var(--ui-amber);border-radius:8px}.rank-notes p{margin:4px 0 0;line-height:1.7;font-size:13px}
.header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.help-link{color:#fff;text-decoration:none;font-weight:bold;font-size:13px;background:#ffffff26;border:1px solid #ffffff66;border-radius:999px;padding:6px 14px}.help-link:hover{background:#ffffff40}

/* league block printing */
.lp-preview{background:#e9eeee;padding:12px;overflow:auto;max-height:62vh;border-radius:10px}.lp-preview .lp-page{zoom:.62;box-shadow:0 2px 10px #14213d26}
.lp-page{width:186mm;height:273mm;background:#fff;margin:0 auto 14px;display:flex;flex-direction:column;gap:7mm;color:#111;font-family:"Hiragino Sans","Meiryo",sans-serif}
.lp-block{flex:1 1 0;min-height:0;display:flex;flex-direction:column;border-top:.8mm solid #0b63f6;padding-top:2mm}
.lp-head{display:flex;align-items:baseline;gap:4mm;margin-bottom:2mm}.lp-head b{font-size:14pt}.lp-head span{font-size:9pt;color:#333}.lp-head small{margin-left:auto;font-size:8pt;color:#555}
.lp-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;white-space:normal}
.lp-table th,.lp-table td{border:.25mm solid #333;padding:.8mm 1mm;font-size:9.5pt;text-align:center;vertical-align:middle;color:#111;background:#fff}
.lp-table th{background:#eef3fb;font-weight:bold;font-size:8.5pt}
.lp-table .lp-no{width:8mm}.lp-table .lp-name{width:42mm;text-align:left}.lp-table td.lp-name b{display:block;font-size:10pt;line-height:1.3}.lp-table td.lp-name small{display:block;font-size:7.5pt;color:#444}
.lp-table .lp-num{width:10mm}.lp-table .lp-rank{font-weight:bold;font-size:11pt}.lp-rank small{display:block;font-size:6.5pt;font-weight:normal}
.lp-table .lp-why{width:36mm;font-size:7pt;text-align:left;line-height:1.35}
.lp-table .lp-opp span{display:block;font-size:7pt;color:#555;font-weight:normal}
.lp-table td.lp-self{background:repeating-linear-gradient(45deg,#cfd6df 0 .7mm,#fff .7mm 2mm)}
.lp-notes{margin-top:1.5mm;font-size:7.5pt;line-height:1.5}.lp-notes p{margin:0}
.lp-per-3 .lp-table th,.lp-per-3 .lp-table td,.lp-per-4 .lp-table th,.lp-per-4 .lp-table td{font-size:8pt;padding:.5mm .8mm}.lp-per-4 .lp-head b{font-size:12pt}.lp-per-4 .lp-table td.lp-name b{font-size:8.5pt}
@media print{body.league-print>*:not(#printArea){display:none!important}body.league-print #printArea{display:block!important}html:has(body.league-print),body.league-print{background:#fff!important}
 body.league-print .lp-page{margin:0;break-after:page;page-break-after:always;box-shadow:none}body.league-print .lp-page:last-child{break-after:auto;page-break-after:auto}}
/* ── 抽選の方法・ブロック配分までの抽選 (allot.js, 2026-11-14) ── */
.draw-method-card{border-left:6px solid #7c3aed}
.draw-method-card .row label{min-width:260px}
.allot-card{border-top:6px solid #f59e0b}
.allot-steps{margin:8px 0 12px 1.2em;padding:0;line-height:1.7}
.allot-progress{display:flex;align-items:center;gap:12px;margin:10px 0}
.allot-bar{flex:1;max-width:420px;height:12px;border-radius:99px;background:#fde7c2;overflow:hidden}
.allot-bar span{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444)}
.allot-team{border:2px solid #fbbf24;border-radius:12px;padding:10px 12px;margin:12px 0;background:#fffbeb}
.allot-team.done{border-color:#10b981;background:#ecfdf5}
.allot-team h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:17px}
.allot-team h3 small{font-weight:normal;color:#92400e;background:#fef3c7;border-radius:99px;padding:1px 10px;font-size:13px}
.allot-team.done h3 small{color:#065f46;background:#d1fae5}
.allot-team h3 .allot-reset{margin-left:auto;font-size:13px;padding:3px 10px}
.allot-table{width:100%;border-collapse:collapse}
.allot-table th,.allot-table td{border-bottom:1px solid #f3e1b5;padding:5px 8px;text-align:left}
.allot-table .allot-where{font-weight:bold;white-space:nowrap;color:#b45309}
.allot-table .allot-opp{color:#555;font-size:14px}
.allot-table tr:not(.set) select{border:2px solid #f59e0b;background:#fff7e6}
.allot-table tr.set select{border:2px solid #10b981}
.allot-singles{margin-top:10px;color:#444}
.allot-banner{background:#fff3cd;border:2px solid #f59e0b;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-weight:bold;color:#7c2d12}
.allot-banner button{margin-left:10px}
.region-input{width:8em}.region-rank-input{width:4.5em}

@media print{body.allot-print>*:not(#printArea){display:none!important}
 body.allot-print #printArea{display:block!important}
 html:has(body.allot-print),body.allot-print{background:#fff!important}
 body.allot-print .allot-sheet{display:block;break-after:page;page-break-after:always;font-family:Meiryo,sans-serif;color:#000}
 body.allot-print .allot-sheet:last-child{break-after:auto;page-break-after:auto}
 .allot-sheet .as-head{border-bottom:2px solid #000;padding-bottom:4px;font-size:12pt}
 .allot-sheet .as-head span{display:block;font-size:10pt;margin-top:2px}
 .allot-sheet h2{font-size:20pt;margin:10px 0 4px}
 .allot-sheet .as-note{font-size:10.5pt;margin:0 0 8px}
 .allot-sheet .as-table{width:100%;border-collapse:collapse;font-size:11pt}
 .allot-sheet .as-table th,.allot-sheet .as-table td{border:1px solid #000;padding:4px 6px;height:11mm}
 .allot-sheet .as-table th{height:auto;background:#eee}
 .allot-sheet .as-no{width:26mm;font-weight:bold;white-space:nowrap}
 .allot-sheet .as-opp{font-size:9.5pt}
 .allot-sheet .as-name{width:70mm}
 .allot-sheet h3{font-size:12pt;margin:12px 0 4px}
 .allot-sheet .as-players{columns:2;font-size:10.5pt;margin:0;padding-left:0;list-style:none}
 .allot-sheet .as-sign{margin-top:14px;font-size:11pt}
 .allot-sheet .as-sign span{display:inline-block;width:70mm;border-bottom:1px solid #000}}
.method-note,.allot-note{color:#555;margin:6px 0}
/* 「いま操作中の種目」も手順バーと一緒に上部に固定 (2026-11-14 店主) */
.sticky-top{position:sticky;top:0;z-index:6;background:#fff;box-shadow:0 2px 8px rgba(23,44,53,.08)}
.sticky-top nav{position:static}
@media print{.sticky-top{position:static;box-shadow:none}}
/* 固定中はコンパクトに：種目も手順も1行（はみ出す分は横にスクロール） */
.sticky-top .event-switcher{padding:6px 2%}
.sticky-top .ui-event-inner{display:flex!important;align-items:center;gap:10px;flex-wrap:nowrap!important;max-width:none}
.sticky-top .ui-event-label{flex:0 0 auto;font-size:12px;margin:0;writing-mode:horizontal-tb}
.sticky-top .ui-event-chips{display:flex!important;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;flex:1 1 auto;min-width:0;padding:2px 0;scrollbar-width:thin;grid-template-columns:none!important}
.sticky-top .ui-chip{flex:0 0 auto;padding:4px 12px!important;min-height:0!important;border-radius:10px;white-space:nowrap;display:flex!important;flex-direction:column;align-items:flex-start;gap:0}
.sticky-top .ui-chip b{font-size:14px;line-height:1.25}
.sticky-top .ui-chip small{font-size:11px;line-height:1.2}
.sticky-top .ui-event-title{display:none}
.sticky-top nav{padding:6px 2%!important;gap:8px;flex-wrap:nowrap!important;align-items:center}
.sticky-top .ui-steps{display:flex!important;flex-wrap:nowrap!important;gap:4px;overflow-x:auto;flex:1 1 auto;min-width:0;grid-template-columns:none!important;scrollbar-width:thin;align-items:center}
.sticky-top .ui-step{flex:0 0 auto;padding:4px 10px 4px 6px!important;min-height:0!important;white-space:nowrap}
.sticky-top .ui-step-no{width:22px!important;height:22px!important;font-size:12px!important;flex:0 0 22px}
.sticky-top .ui-step-text b{font-size:13px}
.sticky-top .ui-step-text small{font-size:11px}
.sticky-top .ui-step-arrow{display:inline!important;flex:0 0 auto;color:#9aa9ad}
.sticky-top .ui-utility{flex:0 0 auto;padding:6px 10px!important;white-space:nowrap;font-size:13px}
.sticky-top nav{display:flex!important;flex-direction:row!important}
.sticky-top .ui-event-chips,.sticky-top .ui-steps{position:relative}
/* リーグ表：選手名を2行に（横スクロールを減らす） 2026-11-14 */
#league table th.lg-opp{white-space:normal;line-height:1.25;font-size:13px;min-width:4.6em;vertical-align:bottom;text-align:center}
#league table th.lg-name{white-space:normal;text-align:left;min-width:7em;line-height:1.3}
#league table th.lg-name b{display:block;font-size:14px}
#league table th.lg-name small{display:block;font-size:11.5px;font-weight:normal;color:#5b6b70}
#league table td.rank-reason{white-space:normal;min-width:8em;max-width:13em;font-size:12px;line-height:1.35}
#league table td button{white-space:nowrap}
@media print{#league table th.lg-opp{font-size:9pt}#league table th.lg-name b{font-size:10pt}#league table th.lg-name small{font-size:8pt}#league table td.rank-reason{font-size:8pt;max-width:none}}
.lp-opp{line-height:1.2}
#league table th.lg-name b{white-space:nowrap}#league table th.lg-name.lg-team b{white-space:normal}
/* 大会設定：選んだ種目の設定を中心に (home-focus.js) */
.event-focus{border-top:6px solid #7c3aed}
.event-focus.g-male{border-top-color:#2563eb}.event-focus.g-female{border-top-color:#e11d74}
.event-focus .focus-ev{color:#7c3aed}.event-focus.g-male .focus-ev{color:#2563eb}.event-focus.g-female .focus-ev{color:#e11d74}
.focus-note{color:#555;margin:4px 0 12px}
.plan-details{padding:0}
.plan-details>summary{cursor:pointer;padding:14px 18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;list-style:revert}
.plan-details>summary span{color:#5b6b70;font-size:13px}
.plan-details[open]>summary{border-bottom:1px solid #e3eaec}
.plan-details .plan-body{padding:4px 18px 16px}
/* 大会全体のトップページ (overview.js) */
.ui-chip.ui-chip-all{border-color:#7c3aed!important;color:#5b21b6}
.ui-chip.ui-chip-all.is-on{background:#7c3aed!important;color:#fff!important;border-color:#7c3aed!important}
.ui-chip.ui-chip-all.is-on small{color:#ede9fe!important}
.ov-nav-hint{color:#5b6b70;font-size:13px;align-items:center;padding:6px 4px;white-space:nowrap}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:10px}
.ov-event{border:2px solid #c4b5fd;border-top:6px solid #7c3aed;border-radius:14px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px}
.ov-event.g-male{border-color:#bfdbfe;border-top-color:#2563eb}.ov-event.g-female{border-color:#fbcfe8;border-top-color:#e11d74}
.ov-event .ov-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ov-event .ov-head b{font-size:18px;color:#5b21b6}
.ov-event.g-male .ov-head b{color:#1d4ed8}.ov-event.g-female .ov-head b{color:#be185d}
.ov-state{font-size:12px;font-weight:bold;background:#fef3c7;color:#92400e;border-radius:99px;padding:2px 10px;white-space:nowrap}
.ov-state.done{background:#d1fae5;color:#065f46}
.ov-meta{margin:0;color:#555;font-size:13px}
.ov-steps{list-style:none;display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0}
.ov-steps li{font-size:12px;border-radius:8px;padding:2px 8px;background:#f1f5f9;color:#64748b}
.ov-steps li.ok{background:#dcfce7;color:#166534;font-weight:bold}
.ov-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.ov-actions button{font-size:13px;padding:7px 12px}
.link-btn{background:none;border:0;padding:0 2px;color:#7c3aed;font-weight:bold;text-decoration:underline;cursor:pointer;font-size:inherit}
/* 開始画面 (title-screen.js): original 80s home-console style */
body.ts-open{overflow:hidden}
.ts{position:fixed;inset:0;z-index:10000;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:"Press Start 2P","DotGothic16",ui-monospace,monospace;image-rendering:pixelated;overflow:hidden}
.ts-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 2px,transparent 2px 4px);mix-blend-mode:screen}
.ts-inner{position:relative;text-align:center;padding:24px 16px;max-width:900px;width:100%}
.ts-kicker{font-size:clamp(9px,1.6vw,13px);color:#9aa3ff;letter-spacing:.15em;margin:0 0 26px}
.ts-title{margin:0;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.6vw,14px);font-weight:normal;line-height:1.1}
.ts-title span{display:block;letter-spacing:.04em}
.ts-t1{font-size:clamp(12px,2.4vw,20px);color:#ffd23f;text-shadow:3px 3px 0 #b33a00}
.ts-t2{font-size:clamp(22px,5.6vw,52px);color:#ffffff;text-shadow:4px 4px 0 #e8323c,8px 8px 0 #5a0f14}
.ts-t3{font-size:clamp(24px,6.4vw,60px);color:#3ff0ff;text-shadow:4px 4px 0 #2f6bff,8px 8px 0 #0d1d5c}
.ts-sub{font-family:"DotGothic16",ui-monospace,monospace;font-size:clamp(12px,2vw,17px);color:#b6ffb0;letter-spacing:.3em;margin:22px 0 6px}
.ts-rally{width:min(480px,86vw);height:auto;aspect-ratio:160/56;image-rendering:pixelated;display:block;margin:6px auto 14px}
.ts-menu{list-style:none;margin:0 auto 18px;padding:0;display:inline-flex;flex-direction:column;gap:12px;text-align:left;font-family:"DotGothic16",ui-monospace,monospace;font-size:clamp(16px,2.6vw,22px)}
.ts-menu li{padding-left:1.6em;position:relative;color:#d8d8d8;outline:none}
.ts-menu li.on{color:#fff}
.ts-menu li.on::before{content:"▶";position:absolute;left:0;color:#ffd23f;animation:tsBlink 1s steps(1) infinite}
.ts-push{font-size:clamp(10px,1.8vw,14px);color:#fff;margin:6px 0 22px;animation:tsBlink 1.1s steps(1) infinite}
.ts-copy{font-size:clamp(8px,1.3vw,11px);color:#8b8b8b;margin:0}
.ts.ts-flash{animation:tsFlash .52s steps(1) forwards}
@keyframes tsBlink{50%{opacity:0}}
@keyframes tsFlash{0%{background:#fff}20%{background:#000}40%{background:#fff}60%{background:#000;opacity:1}100%{opacity:0;background:#000}}
@media (prefers-reduced-motion:reduce){.ts-push,.ts-menu li.on::before,.ts.ts-flash{animation:none}}
@media print{.ts{display:none!important}}
/* 版の表示・体験版 (edition-ui.js) */
.ed-badge{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;font-weight:bold;background:#fff;color:#5b21b6;border-radius:99px;padding:2px 10px}
.ed-badge.ed-trial{background:#fde047;color:#713f12}
.ed-badge a{color:#1d4ed8;font-weight:bold}
.ts-edition{font-size:clamp(10px,1.6vw,13px);color:#fde047;letter-spacing:.12em;margin:4px 0 4px;font-family:"Press Start 2P","DotGothic16",ui-monospace,monospace}
.trial-note{background:#fef9c3;border:2px solid #facc15;border-radius:10px;padding:8px 12px;font-weight:bold;color:#713f12}
@media print{.ed-badge,.trial-note{display:none!important}}
/* 記入用紙：選手の一覧に入る番号を書く形 (2026-11-15) */
@media print{
 .allot-sheet .as-table.as-pos td,.allot-sheet .as-table.as-pos th{height:auto;padding:2.5px 6px;font-size:10pt}
 .allot-sheet .as-pos .as-no{width:22mm}
 .allot-sheet .as-players-table .as-rank{width:28mm;font-weight:bold;white-space:nowrap}
 .allot-sheet .as-players-table .as-pname{font-size:12pt}
 .allot-sheet .as-players-table .as-no-in{width:38mm}
 .allot-sheet h3{margin:10px 0 4px}}
.allot-table .allot-name small{display:block;color:#666;font-size:12px}
