/* =========================================================
   蹴GO SCORE β v0.3.0
   明るいアーケードゴルフ風UI（空・芝・ぷっくりボタン）
   ========================================================= */
:root{
  --kego-bottom-obstruction:0px;
  --k-sky1:#3fb6f4;
  --k-sky2:#a8e3ff;
  --k-sky3:#e6f7ff;
  --k-grass1:#5cc443;
  --k-grass2:#3a9d35;
  --k-grass3:#2a7a2b;
  --k-ink:#16324a;
  --k-ink2:#4b6476;
  --k-line:#d6e6f0;
  --k-white:#ffffff;
  --k-cream:#fffbea;
  --k-gold:#ffc21a;
  --k-gold2:#f39c0b;
  --k-orange:#ff7a2f;
  --k-red:#ff4f5a;
  --k-blue:#2f8cf0;
  --k-blue2:#1f6fd0;
  --k-go1:#7ee04a;
  --k-go2:#3db63a;
  --k-go3:#2a8f2c;
  --k-radius:22px;
  --k-font:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans","Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;
}

/* ---------- アプリ外枠 ---------- */
.kego-score-app{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:100svh;color:var(--k-ink);font-family:var(--k-font);background:linear-gradient(180deg,var(--k-sky1) 0%,var(--k-sky2) 32%,#dff5d0 62%,#c8ecb4 100%);overflow:hidden;-webkit-tap-highlight-color:transparent}
.kego-score-app *{box-sizing:border-box}
.kego-score-app button{font-family:inherit}
.kego-score-app .kego-bg-orb{display:none}
.kego-shell{position:relative;z-index:2;max-width:760px;margin:0 auto;min-height:100svh;padding:0 14px 40px}
.kego-score-app.is-round .kego-shell{max-width:880px}
.kego-topbar{height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:20}
.kego-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;font-weight:900;letter-spacing:.02em;text-shadow:0 2px 0 rgba(10,70,120,.35)}
.kego-brand-ball{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 40%,#e9eef2 60%,#c9d3da 100%);box-shadow:0 3px 0 rgba(10,70,120,.35);font-size:0;position:relative}
.kego-brand-ball::after{content:"";position:absolute;inset:9px;background:#1b2a36;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
.kego-brand-text{font-size:17px}.kego-brand-text b{color:var(--k-gold)}
.kego-beta{font-size:11px;font-weight:900;letter-spacing:.16em;color:#fff;background:rgba(16,90,150,.42);border:2px solid rgba(255,255,255,.65);padding:4px 10px;border-radius:999px}
.kego-stage{position:relative}
.kego-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 共通パーツ ---------- */
.kego-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:54px;padding:0 18px;border:0;border-radius:18px;font-size:16px;font-weight:900;letter-spacing:.02em;cursor:pointer;user-select:none;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease;text-decoration:none}
.kego-btn:active:not(:disabled){transform:translateY(4px)}
.kego-btn:disabled{opacity:.42;cursor:default}
.kego-btn:focus-visible,.kego-score-app button:focus-visible,.kego-field:focus-visible{outline:3px solid #ffe26a;outline-offset:2px}
.kego-btn--go{color:#fff;background:linear-gradient(180deg,var(--k-go1),var(--k-go2));box-shadow:0 5px 0 var(--k-go3),0 10px 18px rgba(30,110,30,.25);text-shadow:0 2px 0 rgba(0,70,0,.3)}
.kego-btn--go:active:not(:disabled){box-shadow:0 1px 0 var(--k-go3)}
.kego-btn--sky{color:#fff;background:linear-gradient(180deg,#5cb8ff,var(--k-blue));box-shadow:0 5px 0 var(--k-blue2),0 10px 18px rgba(20,90,180,.22);text-shadow:0 2px 0 rgba(0,40,110,.3)}
.kego-btn--sky:active:not(:disabled){box-shadow:0 1px 0 var(--k-blue2)}
.kego-btn--red{color:#fff;background:linear-gradient(180deg,#ff7a80,var(--k-red));box-shadow:0 5px 0 #cf2f3a}
.kego-btn--red:active:not(:disabled){box-shadow:0 1px 0 #cf2f3a}
.kego-btn--ghost{color:var(--k-ink);background:#fff;box-shadow:0 5px 0 #c3d5e2,0 8px 14px rgba(20,60,90,.10)}
.kego-btn--ghost:active:not(:disabled){box-shadow:0 1px 0 #c3d5e2}
.kego-btn--xl{display:flex;flex-direction:column;gap:0;width:100%;min-height:76px;border-radius:24px;margin-top:6px}
.kego-btn--xl span{font-size:26px;letter-spacing:.06em;line-height:1.1}
.kego-btn--xl small{font-size:12px;font-weight:800;opacity:.92}
.kego-btn--go.kego-btn--xl{animation:kegoBreath 2.4s ease-in-out infinite}
@keyframes kegoBreath{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
.kego-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kego-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.12em}
.kego-pill--gold{background:var(--k-gold);color:#5a3a00}
.kego-pill--sky{background:#fff;color:var(--k-blue2);box-shadow:0 3px 0 #b9d6ea}
.kego-note{margin:10px 4px 0;color:var(--k-ink2);font-size:12px;line-height:1.6;text-align:center}
.kego-link{border:0;background:none;color:var(--k-ink2);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px}

/* アバター */
.kego-ava{--c:#2f8cf0;display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45),transparent 45%),var(--c);color:#fff;font-weight:900;font-size:15px;border:3px solid #fff;box-shadow:0 3px 0 rgba(0,0,0,.14);text-shadow:0 1px 0 rgba(0,0,0,.25);line-height:1}
.kego-ava.is-xs{width:22px;height:22px;font-size:10px;border-width:2px}
.kego-ava.is-sm{width:26px;height:26px;font-size:11px;border-width:2px}
.kego-ava.is-md{width:42px;height:42px;font-size:18px}
.kego-ava.is-lg{width:48px;height:48px;font-size:20px}
.kego-ava.is-xl{width:64px;height:64px;font-size:26px;border-width:4px}

/* 順位バッジ */
.kego-rank{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:900;color:#fff;background:#8aa3b5;line-height:1}
.kego-rank--1{background:linear-gradient(180deg,#ffd84d,#f2a90c);color:#5a3a00;box-shadow:0 2px 0 #c98200}
.kego-rank--2{background:linear-gradient(180deg,#e8eef3,#b7c4cf);color:#3a4a57;box-shadow:0 2px 0 #8d9ca8}
.kego-rank--3{background:linear-gradient(180deg,#f2b27a,#d27b3a);color:#fff;box-shadow:0 2px 0 #a75a22}

/* 雲・太陽 */
.kego-cloud{position:absolute;display:block;width:120px;height:36px;border-radius:40px;background:#fff;opacity:.92;filter:drop-shadow(0 4px 0 rgba(120,190,230,.35))}
.kego-cloud::before,.kego-cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.kego-cloud::before{width:56px;height:56px;left:16px;top:-28px}
.kego-cloud::after{width:42px;height:42px;left:58px;top:-18px}
.kego-cloud--1{top:46px;left:-140px;animation:kegoCloud 38s linear infinite}
.kego-cloud--2{top:110px;left:-140px;transform:scale(.7);animation:kegoCloud 52s linear -18s infinite}
.kego-cloud--3{top:20px;left:-140px;transform:scale(.55);animation:kegoCloud 64s linear -40s infinite}
@keyframes kegoCloud{to{left:calc(100% + 160px)}}
.kego-sun{position:absolute;right:30%;top:-14px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#fff6b0 0 45%,#ffe15a 60%,rgba(255,225,90,0) 72%);animation:kegoSun 6s ease-in-out infinite}
@keyframes kegoSun{50%{transform:scale(1.08)}}

/* ---------- SETUP：タイトル画面 ---------- */
.kego-score-app.is-setup .kego-topbar,.kego-score-app.is-result .kego-topbar{position:absolute;left:0;right:0;top:0;max-width:760px;margin:0 auto;padding:0 14px}
.kego-title{position:relative;height:300px;margin:0 -14px;overflow:hidden}
.kego-title__sky{position:absolute;inset:0}
.kego-title__hills i{position:absolute;left:-15%;right:-15%;border-radius:50% 50% 0 0/100% 100% 0 0}
.kego-title__hills i:first-child{height:120px;bottom:30px;background:linear-gradient(180deg,#8fd86a,#5cc443)}
.kego-title__hills i:last-child{height:110px;bottom:-30px;left:-30%;right:20%;background:linear-gradient(180deg,#5cc443,#3a9d35)}
.kego-title__flag{position:absolute;right:20%;bottom:78px;width:4px;height:86px;background:#fff;border-radius:2px;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.kego-title__flag i{position:absolute;left:4px;top:2px;width:40px;height:26px;background:var(--k-red);clip-path:polygon(0 0,100% 50%,0 100%);transform-origin:left center;animation:kegoFlag 1.6s ease-in-out infinite}
@keyframes kegoFlag{50%{transform:scaleX(.82) skewY(4deg)}}
.kego-title__ball{position:absolute;left:18%;bottom:40px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 45%,#e3e9ee 70%,#c3ccd3);box-shadow:0 8px 0 -2px rgba(0,60,0,.25);animation:kegoBounce 2.2s cubic-bezier(.3,.1,.4,1) infinite}
.kego-title__ball::after{content:"";position:absolute;inset:12px;background:#1b2a36;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
@keyframes kegoBounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-46px) rotate(160deg)}60%{transform:translateY(0) rotate(220deg)}75%{transform:translateY(-12px) rotate(260deg)}}
.kego-title__logo{position:absolute;left:0;right:0;top:84px;text-align:center;color:#fff;text-shadow:0 3px 0 rgba(10,80,140,.35)}
.kego-title__logo small{display:block;font-size:11px;font-weight:900;letter-spacing:.24em;opacity:.95}
.kego-title__logo strong{display:block;margin:4px 0 6px;font-size:clamp(44px,12vw,68px);font-weight:900;letter-spacing:.02em;line-height:1;text-shadow:0 4px 0 rgba(10,80,140,.35),0 0 18px rgba(255,255,255,.35);animation:kegoLogo .7s cubic-bezier(.2,1.4,.4,1) both}
.kego-title__logo strong b{color:var(--k-gold)}
.kego-title__logo span{display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(255,255,255,.25);font-size:13px;font-weight:900}
@keyframes kegoLogo{from{opacity:0;transform:scale(.6) translateY(-14px)}to{opacity:1;transform:none}}

.kego-setup{position:relative;z-index:3;display:grid;gap:12px;margin-top:-24px}
.kego-panel{background:#fff;border-radius:var(--k-radius);padding:16px;box-shadow:0 6px 0 #c9dbe8,0 16px 30px rgba(20,70,110,.12);animation:kegoRise .45s cubic-bezier(.2,1,.3,1) both}
.kego-setup>.kego-panel:nth-of-type(2){animation-delay:.05s}.kego-setup>.kego-panel:nth-of-type(3){animation-delay:.1s}.kego-setup>.kego-panel:nth-of-type(4){animation-delay:.15s}
@keyframes kegoRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.kego-panel__head{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.kego-panel__head h2{margin:0;font-size:17px;font-weight:900;color:var(--k-ink)}
.kego-panel__head small{margin-left:auto;color:var(--k-ink2);font-size:12px;font-weight:800}
.kego-step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(180deg,#5cb8ff,var(--k-blue));color:#fff;font-size:14px;font-weight:900;box-shadow:0 3px 0 var(--k-blue2)}
.kego-field{width:100%;height:52px;border-radius:16px;border:3px solid var(--k-line);background:#f6fbff;color:var(--k-ink);padding:0 14px;font-family:inherit;font-size:16px;font-weight:800;outline:none;transition:border-color .15s ease,background .15s ease}
.kego-field:focus{border-color:var(--k-blue);background:#fff}
.kego-field::placeholder{color:#9db3c2;font-weight:700}

.kego-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kego-seg__btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:84px;padding:10px;border:3px solid var(--k-line);border-radius:18px;background:#f6fbff;color:var(--k-ink2);cursor:pointer;box-shadow:0 4px 0 var(--k-line);transition:transform .08s ease,box-shadow .08s ease,background .15s ease,border-color .15s ease}
.kego-seg__btn strong{font-size:28px;font-weight:900;line-height:1;color:var(--k-ink)}
.kego-seg__btn strong small{font-size:15px;margin-left:2px}
.kego-seg__btn span{margin-top:6px;font-size:12px;font-weight:800}
.kego-seg__btn.is-on{border-color:var(--k-go2);background:linear-gradient(180deg,#f2ffe6,#dcf7c8);box-shadow:0 4px 0 var(--k-go3);color:var(--k-go3)}
.kego-seg__btn.is-on strong{color:var(--k-go3)}
.kego-seg__btn.is-on::after{content:"✓";position:absolute;top:-10px;right:-8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--k-go2);color:#fff;font-size:14px;font-weight:900;box-shadow:0 2px 0 var(--k-go3);animation:kegoPop .3s cubic-bezier(.3,1.6,.5,1)}
.kego-seg__btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--k-line)}
@keyframes kegoPop{from{transform:scale(.3)}to{transform:scale(1)}}

.kego-roster{display:grid;gap:10px}
.kego-roster__row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;animation:kegoRise .3s ease both}
.kego-roster__ava{position:relative;border:0;background:none;padding:0;cursor:pointer;border-radius:50%}
.kego-roster__ava i{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);padding:1px 5px;border-radius:6px;background:var(--k-ink);color:#fff;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.06em}
.kego-field--name{border-color:color-mix(in srgb,var(--c) 35%,#d6e6f0)}
.kego-roster__del{width:44px;height:44px;border-radius:14px;border:0;background:#eef4f8;color:var(--k-ink2);font-size:20px;font-weight:900;cursor:pointer}
.kego-roster__del:disabled{opacity:.3;cursor:default}
.kego-add{width:100%;margin-top:10px;height:50px;border-radius:16px;border:3px dashed #b9d3e4;background:transparent;color:var(--k-blue2);font-size:15px;font-weight:900;cursor:pointer}
.kego-add:hover{background:#f0f8ff}

.kego-resume{display:grid;gap:12px;padding:14px;border-radius:var(--k-radius);background:linear-gradient(180deg,#fff7d6,#ffeaa3);box-shadow:0 6px 0 #e9c45a,0 14px 24px rgba(150,110,0,.15);animation:kegoRise .4s ease both}
.kego-resume__info strong{display:block;margin-top:6px;font-size:16px;font-weight:900;color:#5a3a00}
.kego-resume__info small{display:block;margin-top:2px;color:#86651e;font-size:12px;font-weight:800}
.kego-resume__btns{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}

.kego-ocrcard{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;width:100%;margin-top:12px;padding:14px 16px;border:0;border-radius:var(--k-radius);background:#fff;color:var(--k-ink);text-align:left;cursor:pointer;box-shadow:0 5px 0 #c9dbe8,0 12px 22px rgba(20,70,110,.10)}
.kego-ocrcard:active{transform:translateY(3px);box-shadow:0 2px 0 #c9dbe8}
.kego-ocrcard__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(180deg,#e6f6ff,#cdeafe);font-size:24px}
.kego-ocrcard__txt strong{display:block;font-size:15px;font-weight:900}
.kego-ocrcard__txt small{display:block;margin-top:3px;color:var(--k-ink2);font-size:12px;font-weight:700}
.kego-ocrcard em{font-style:normal;font-size:10px;font-weight:900;letter-spacing:.12em;color:#fff;background:var(--k-orange);padding:3px 8px;border-radius:999px}

/* ---------- ROUND ---------- */
.kego-score-app.is-round{background:linear-gradient(180deg,var(--k-sky1) 0px,var(--k-sky2) 240px,#d9f2c9 420px,#cdeebb 100%)}
.kego-hud{position:relative;margin:0 -14px;padding:4px 14px 14px;overflow:hidden}
.kego-hud__sky{position:absolute;inset:0;pointer-events:none}
.kego-hud__sky .kego-cloud--1{top:-8px}
.kego-hud__sky .kego-cloud--2{top:24px}
.kego-hud__top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.kego-holebadge{display:flex;align-items:center;gap:10px;padding:8px 18px 8px 10px;border-radius:24px;background:linear-gradient(180deg,#fff,#eaf6ff);box-shadow:0 5px 0 #a9cfe8,0 12px 22px rgba(10,80,140,.18);animation:kegoBadge .5s cubic-bezier(.2,1.4,.4,1) both}
.kego-holebadge.is-next{animation-name:kegoBadgeR}.kego-holebadge.is-prev{animation-name:kegoBadgeL}
@keyframes kegoBadge{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes kegoBadgeR{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
@keyframes kegoBadgeL{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
.kego-holebadge__flag{position:relative;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,var(--k-go1),var(--k-go2));box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.kego-holebadge__flag::before{content:"";position:absolute;left:17px;top:8px;width:3px;height:24px;background:#fff;border-radius:2px}
.kego-holebadge__flag i{position:absolute;left:20px;top:8px;width:14px;height:10px;background:var(--k-red);clip-path:polygon(0 0,100% 50%,0 100%);animation:kegoFlag 1.4s ease-in-out infinite;transform-origin:left center}
.kego-holebadge__txt{display:flex;align-items:baseline;gap:5px;color:var(--k-ink);white-space:nowrap}
.kego-holebadge__txt small{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--k-blue2)}
.kego-holebadge__txt strong{font-size:44px;font-weight:900;line-height:.9;letter-spacing:-.02em}
.kego-holebadge__txt em{font-style:normal;font-size:14px;font-weight:900;color:var(--k-ink2)}
.kego-hud__meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}
.kego-hud__metrics{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.kego-distance{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 12px;border-radius:15px;background:#fff;color:var(--k-blue2);box-shadow:0 4px 0 #a9cfe8;font-size:13px;font-weight:900;white-space:nowrap}
.kego-distance b{font-size:16px;letter-spacing:.02em}
.kego-hud__course{max-width:100%;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:900;text-shadow:0 1px 0 rgba(0,60,110,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-parpick{display:flex;align-items:center;gap:4px;padding:4px;border-radius:16px;background:#fff;box-shadow:0 4px 0 #a9cfe8}
.kego-parpick>span{padding:0 6px 0 8px;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--k-blue2)}
.kego-parpick button{width:38px;height:36px;border:0;border-radius:12px;background:#eef6fc;color:var(--k-ink2);font-size:17px;font-weight:900;cursor:pointer;transition:transform .1s ease}
.kego-parpick button.is-on{background:linear-gradient(180deg,#ffd84d,#f2a90c);color:#5a3a00;box-shadow:0 3px 0 #c98200;transform:translateY(-1px)}

.kego-track{position:relative;display:flex;gap:5px;margin:14px 0 0;padding:6px;border-radius:16px;background:rgba(255,255,255,.55);overflow-x:auto;scrollbar-width:none}
.kego-track::-webkit-scrollbar{display:none}
.kego-track__dot{flex:1 0 26px;height:28px;border:0;border-radius:10px;background:#fff;color:var(--k-ink2);font-size:12px;font-weight:900;cursor:pointer;transition:transform .15s ease,background .15s ease}
.kego-track__dot.is-done{background:linear-gradient(180deg,#8fe264,#4cbc3e);color:#fff;text-shadow:0 1px 0 rgba(0,70,0,.3)}
.kego-track__dot.is-cur{background:linear-gradient(180deg,#ffd84d,#f2a90c);color:#5a3a00;transform:translateY(-2px) scale(1.08);box-shadow:0 3px 0 #c98200}

.kego-leader{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kego-leader__chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#fff;box-shadow:0 3px 0 #b9d6ea;font-size:13px;font-weight:900;max-width:100%}
.kego-leader__chip.is-top{background:linear-gradient(180deg,#fffbe0,#fff1a8);box-shadow:0 3px 0 #e9c45a}
.kego-leader__name{max-width:7.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-leader__chip strong{color:var(--c);font-size:14px}

.kego-board{display:grid;gap:10px;margin-top:6px;animation:kegoRise .35s ease both}
.kego-board.is-next{animation:kegoSlideR .35s cubic-bezier(.2,1,.3,1) both}
.kego-board.is-prev{animation:kegoSlideL .35s cubic-bezier(.2,1,.3,1) both}
@keyframes kegoSlideR{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes kegoSlideL{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.kego-pcard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 12px 12px 16px;border-radius:var(--k-radius);background:#fff;box-shadow:0 5px 0 #c9dbe8,0 12px 22px rgba(20,70,110,.10);overflow:hidden}
.kego-pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--c)}
.kego-pcard__who{display:flex;align-items:center;gap:10px;min-width:0}
.kego-pcard__name{min-width:0}
.kego-pcard__name strong{display:block;font-size:17px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-pcard__name small{display:flex;align-items:center;gap:6px;margin-top:3px;color:var(--k-ink2);font-size:12px;font-weight:800;white-space:nowrap}
.kego-pcard__name small .kego-rank{height:20px;min-width:0;font-size:11px}
.kego-pcard__name em{font-style:normal;color:var(--k-blue2);font-weight:900}
.kego-counter{display:grid;grid-template-columns:52px 72px 52px;align-items:center;gap:6px}
.kego-counter__btn{width:52px;height:52px;border:0;border-radius:16px;font-size:30px;font-weight:900;line-height:1;cursor:pointer;color:#fff;transition:transform .07s ease,box-shadow .07s ease}
.kego-counter__btn.is-minus{background:linear-gradient(180deg,#8ec9ff,#4c9ef5);box-shadow:0 4px 0 #2f78c8}
.kego-counter__btn.is-plus{background:linear-gradient(180deg,#ffa25b,var(--k-orange));box-shadow:0 4px 0 #d45a17}
.kego-counter__btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 transparent}
.kego-counter__btn:disabled{opacity:.35;cursor:default}
.kego-counter__val{display:flex;flex-direction:column;align-items:center;justify-content:center;height:62px;border-radius:16px;background:var(--k-cream);box-shadow:inset 0 0 0 3px #f1e2a4}
.kego-counter__val strong{font-size:34px;font-weight:900;line-height:1;color:var(--k-ink)}
.kego-counter__val.is-bump strong{animation:kegoBump .35s cubic-bezier(.3,1.8,.5,1)}
@keyframes kegoBump{0%{transform:scale(.6)}100%{transform:scale(1)}}
.kego-tag{margin-top:4px;padding:1px 6px;border-radius:6px;font-size:9px;font-weight:900;letter-spacing:.06em;white-space:nowrap;color:#fff;background:#8aa3b5}
.kego-tag.is-empty{background:none;color:#a7b8c4}
.kego-tag.is-ace{background:linear-gradient(90deg,#ff5a8a,#ffb21e,#3fb54a,#2f8cf0)}
.kego-tag.is-albatross,.kego-tag.is-eagle{background:#ff4f5a}
.kego-tag.is-birdie{background:var(--k-orange)}
.kego-tag.is-par{background:var(--k-go2)}
.kego-tag.is-bogey{background:var(--k-blue)}
.kego-tag.is-double,.kego-tag.is-triple,.kego-tag.is-over{background:#3e5873}

.kego-nav{display:grid;grid-template-columns:1fr 1.25fr 1.15fr;gap:8px;margin-top:16px}
.kego-nav .kego-btn{min-height:58px;padding:0 10px;font-size:15px}
.kego-nav__ico{font-size:18px}
.kego-nav__next span,.kego-nav__prev span{font-size:24px;line-height:1}
.kego-subnav{text-align:center;margin-top:10px}

/* ---------- スコアカード（シート） ---------- */
html.kego-scorecard-lock{overflow:hidden}
.kego-sheet-bg{position:fixed;inset:0;z-index:99990;background:rgba(10,40,70,.45);opacity:0;pointer-events:none;transition:opacity .25s ease}
.kego-sheet-bg.is-open{opacity:1;pointer-events:auto}
.kego-sheet{position:fixed;z-index:99991;left:50%;bottom:var(--kego-bottom-obstruction);width:min(880px,100%);max-height:calc(92svh - var(--kego-bottom-obstruction));display:flex;flex-direction:column;visibility:hidden;transform:translate(-50%,calc(100% + var(--kego-bottom-obstruction) + 40px));transition:transform .32s cubic-bezier(.2,.9,.25,1.05),visibility 0s linear .32s;background:linear-gradient(180deg,#fff,#f4faff);border-radius:26px 26px 0 0;box-shadow:0 -14px 40px rgba(10,50,90,.3);font-family:var(--k-font);color:var(--k-ink)}
.kego-sheet.is-open{visibility:visible;transform:translate(-50%,0);transition:transform .32s cubic-bezier(.2,.9,.25,1.05),visibility 0s}
.kego-sheet__head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:3px solid #eaf3fa}
.kego-sheet__head small{display:block;font-size:10px;font-weight:900;letter-spacing:.2em;color:var(--k-blue2)}
.kego-sheet__head strong{display:block;font-size:19px;font-weight:900}
.kego-sheet__x{width:42px;height:42px;border:0;border-radius:50%;background:#eef4f8;color:var(--k-ink);font-size:24px;font-weight:900;cursor:pointer}
.kego-sheet__body{overflow:auto;padding:12px 12px max(16px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}

.kego-sc__tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;padding:5px;border-radius:16px;background:#e7f1f8}
.kego-sc__tabs button{height:42px;border:0;border-radius:12px;background:transparent;color:var(--k-ink2);font-size:15px;font-weight:900;cursor:pointer}
.kego-sc__tabs button small{font-size:11px;opacity:.8;margin-left:3px}
.kego-sc__tabs button.is-on{background:#fff;color:var(--k-blue2);box-shadow:0 3px 0 #c3d8e8}
.kego-sc{border-radius:18px;overflow:hidden;border:4px solid var(--k-gold);box-shadow:0 5px 0 var(--k-gold2);background:var(--k-cream)}
.kego-sc__table{width:100%;table-layout:fixed;border-collapse:collapse;font-weight:900;text-align:center;color:var(--k-ink)}
.kego-sc__c-name{width:23%}
.kego-sc__c-sum{width:10%}
.kego-sc__c-tot{width:12%}
.kego-sc__table th,.kego-sc__table td{padding:0;height:46px;border-bottom:1px solid #eadfb8;border-right:1px solid #f1e6c4;font-size:15px;overflow:hidden}
.kego-sc__table thead th{height:38px;background:linear-gradient(180deg,#4fb3ff,#2a86e6);color:#fff;font-size:13px;border-right-color:rgba(255,255,255,.25);text-shadow:0 1px 0 rgba(0,40,110,.3)}
.kego-sc__table thead th button{width:100%;height:38px;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.kego-sc__table thead th.is-cur{background:linear-gradient(180deg,#ffd84d,#f2a90c);color:#5a3a00;text-shadow:none}
.kego-sc__name{text-align:left!important;padding:0 6px!important}
.kego-sc__table thead .kego-sc__name{font-size:11px;letter-spacing:.1em}
.kego-sc__who{display:flex;align-items:center;gap:5px;min-width:0}
.kego-sc__who>span:last-child{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-sc__table tbody tr:nth-child(even) td,.kego-sc__table tbody tr:nth-child(even) th{background:#fff6d6}
.kego-sc__table tbody th{border-left:5px solid var(--c,transparent)}
.kego-sc__par th,.kego-sc__par td{background:linear-gradient(180deg,#d9f4ff,#bfe8fb)!important;color:#145377;font-size:13px;height:34px}
.kego-sc__par th{border-left-color:#7cc7ef!important}
.kego-sc__distance th,.kego-sc__distance td{background:#eef8df!important;color:#35631d;font-size:11px;height:30px}
.kego-sc__distance th{border-left:5px solid #8bc95b!important}
.kego-sc__distance td.is-cur{background:#fff0a8!important}
.kego-sc__table td.is-cur{background:rgba(255,216,77,.28)!important}
.kego-sc__sum{background:#f6ecc6!important}
.kego-sc__table thead th.kego-sc__sum,.kego-sc__table thead th.kego-sc__tot{background:linear-gradient(180deg,#ffd84d,#f2a90c)!important;color:#5a3a00;text-shadow:none}
.kego-sc__tot{background:#ffe9a6!important}
.kego-sc__tot strong{display:block;font-size:17px;line-height:1.1}
.kego-sc__tot small{display:block;font-size:10px;color:var(--k-blue2)}
.kego-mark{display:inline-grid;place-items:center;width:min(30px,88%);height:auto;aspect-ratio:1/1;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;font-style:normal;cursor:pointer;border-radius:6px;line-height:1}
.kego-mark.is-birdie{border:2.5px solid var(--k-red);border-radius:50%;color:var(--k-red)}
.kego-mark.is-eagle{border:2.5px solid var(--k-red);border-radius:50%;color:var(--k-red);box-shadow:0 0 0 2px #fff,0 0 0 4.5px var(--k-red)}
.kego-mark.is-ace{border-radius:50%;color:#fff;background:linear-gradient(135deg,#ff5a8a,#ffb21e)}
.kego-mark.is-bogey{border:2.5px solid var(--k-blue);color:var(--k-blue2)}
.kego-mark.is-double{border:2.5px solid var(--k-blue);color:var(--k-blue2);box-shadow:0 0 0 2px #fff,0 0 0 4.5px var(--k-blue)}
.kego-sc__legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:12px 2px 0;font-size:11px;font-weight:800;color:var(--k-ink2)}
.kego-sc__legend span{display:inline-flex;align-items:center;gap:5px}
.kego-sc__legend .kego-mark{width:22px;font-size:11px;cursor:default}
.kego-sc__legend .kego-mark.is-eagle,.kego-sc__legend .kego-mark.is-double{box-shadow:0 0 0 1.5px #fff,0 0 0 3.5px currentColor}
.kego-sc__hint{margin:8px 2px 0;font-size:11px;color:#8aa3b5;font-weight:700}

/* ---------- 演出：ホール開始 ---------- */
.kego-intro{position:fixed;inset:0;z-index:100100;display:grid;place-items:center;pointer-events:none;font-family:var(--k-font)}
.kego-intro__band{display:flex;align-items:center;gap:16px;width:100%;padding:20px max(20px,calc(50% - 280px));background:linear-gradient(90deg,rgba(47,140,240,0),rgba(47,140,240,.95) 18%,rgba(31,111,208,.95) 82%,rgba(31,111,208,0));color:#fff;transform:translateX(-100%);transition:transform .38s cubic-bezier(.2,1,.3,1)}
.kego-intro.show .kego-intro__band{transform:none}
.kego-intro.hide .kego-intro__band{transform:translateX(100%);transition-duration:.32s}
.kego-intro__flag{position:relative;flex:none;width:54px;height:54px;border-radius:50%;background:linear-gradient(180deg,var(--k-go1),var(--k-go2));box-shadow:0 4px 0 var(--k-go3)}
.kego-intro__flag::before{content:"";position:absolute;left:24px;top:10px;width:4px;height:34px;background:#fff;border-radius:2px}
.kego-intro__flag i{position:absolute;left:28px;top:10px;width:18px;height:13px;background:var(--k-red);clip-path:polygon(0 0,100% 50%,0 100%)}
.kego-intro__band small{display:block;font-size:12px;font-weight:900;letter-spacing:.14em;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.kego-intro__band strong{display:block;font-size:44px;font-weight:900;line-height:1;text-shadow:0 3px 0 rgba(0,40,110,.35)}
.kego-intro__band em{margin-left:auto;font-style:normal;padding:8px 14px;border-radius:14px;background:#fff;color:var(--k-blue2);font-size:16px;font-weight:900;box-shadow:0 4px 0 rgba(0,40,110,.25)}
.kego-intro__band em b{font-size:26px;color:var(--k-orange)}

/* ---------- 演出：スコアスタンプ ---------- */
.kego-stamp{position:fixed;left:50%;top:40%;z-index:100200;width:min(340px,86vw);transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0;pointer-events:none;font-family:var(--k-font);text-align:center;transition:transform .32s cubic-bezier(.2,1.6,.4,1),opacity .2s ease}
.kego-stamp.show{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}
.kego-stamp.hide{opacity:0;transform:translate(-50%,-62%) scale(.9) rotate(-4deg);transition:transform .3s ease,opacity .3s ease}
.kego-stamp__burst{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.75) 0 10deg,rgba(255,255,255,0) 10deg 20deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);animation:kegoSpin 3s linear infinite}
@keyframes kegoSpin{to{transform:rotate(360deg)}}
.kego-stamp__inner{position:relative;padding:14px 18px 16px;border-radius:24px;border:5px solid #fff;box-shadow:0 8px 0 rgba(0,0,0,.18),0 18px 40px rgba(0,0,0,.25);color:#fff;background:var(--k-go2)}
.kego-stamp__inner small{display:block;font-size:13px;font-weight:900;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-stamp__inner strong{display:block;font-size:44px;font-weight:900;line-height:1.05;letter-spacing:.02em;text-shadow:0 3px 0 rgba(0,0,0,.2)}
.kego-stamp__inner span{display:block;margin-top:2px;font-size:15px;font-weight:900}
.kego-stamp.is-par .kego-stamp__inner{background:linear-gradient(180deg,var(--k-go1),var(--k-go2))}
.kego-stamp.is-good .kego-stamp__inner{background:linear-gradient(180deg,#ffb36b,var(--k-orange))}
.kego-stamp.is-great .kego-stamp__inner{background:linear-gradient(180deg,#ff8a8f,var(--k-red))}
.kego-stamp.is-ace .kego-stamp__inner{background:linear-gradient(135deg,#ff5a8a,#ffb21e 40%,#3fb54a 70%,#2f8cf0)}
.kego-stamp.is-ace .kego-stamp__inner strong{font-size:38px}
.kego-stamp__confetti,.kego-win__confetti{position:absolute;inset:0;pointer-events:none}
.kego-stamp__confetti i,.kego-win__confetti i{position:absolute;left:50%;top:50%;width:10px;height:14px;border-radius:2px;background:hsl(calc(var(--i)*47),90%,60%);animation:kegoConf 1.2s cubic-bezier(.2,.8,.3,1) forwards;transform:rotate(calc(var(--i)*20deg)) translateY(0)}
@keyframes kegoConf{to{transform:rotate(calc(var(--i)*20deg)) translateY(-170px) rotate(240deg);opacity:0}}

/* ---------- RESULT ---------- */
.kego-score-app.is-result{background:linear-gradient(180deg,#3fb6f4 0%,#9edcff 34%,#d9f2c9 60%,#cdeebb 100%)}
.kego-win{position:relative;margin:0 -14px;padding:70px 14px 40px;overflow:hidden;text-align:center;color:#fff}
.kego-win__rays{position:absolute;left:50%;top:44%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(rgba(255,255,255,.18) 0 8deg,rgba(255,255,255,0) 8deg 16deg);border-radius:50%;-webkit-mask:radial-gradient(circle,#000 10%,transparent 62%);mask:radial-gradient(circle,#000 10%,transparent 62%);animation:kegoSpin 40s linear infinite}
.kego-win__confetti i{top:-20px;left:calc(var(--i)*3.6%);animation:kegoFall calc(2.6s + var(--i)*.07s) linear calc(var(--i)*-.19s) infinite;transform:none}
@keyframes kegoFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(520px) rotate(720deg);opacity:.2}}
.kego-win__head{position:relative}
.kego-win__head small{display:inline-block;max-width:100%;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.25);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-win__head strong{display:block;margin-top:8px;font-size:clamp(30px,8vw,46px);font-weight:900;line-height:1.05;text-shadow:0 4px 0 rgba(10,80,140,.35);animation:kegoLogo .7s cubic-bezier(.2,1.4,.4,1) both}
.kego-podium{position:relative;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;max-width:520px;margin:22px auto 0}
.kego-podium__col{display:flex;flex-direction:column;align-items:center;min-width:0;animation:kegoRise .6s cubic-bezier(.2,1,.3,1) both}
.kego-podium__col.is-p1{animation-delay:.5s}.kego-podium__col.is-p2{animation-delay:.25s}.kego-podium__col.is-p3{animation-delay:0s}
.kego-podium__crown{font-size:30px;line-height:1;margin-bottom:-4px;animation:kegoCrown 1.6s ease-in-out infinite}
@keyframes kegoCrown{50%{transform:translateY(-5px) rotate(-6deg)}}
.kego-podium__name{max-width:100%;margin-top:6px;font-size:14px;font-weight:900;color:var(--k-ink);background:#fff;padding:2px 10px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 3px 0 rgba(0,0,0,.1)}
.kego-podium__score{margin:4px 0 6px;font-size:22px;font-weight:900;text-shadow:0 2px 0 rgba(0,60,110,.35)}
.kego-podium__score small{font-size:13px}
.kego-podium__step{width:100%;display:grid;place-items:start center;padding-top:8px;border-radius:14px 14px 0 0;font-size:30px;font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.2)}
.kego-podium__col.is-p1 .kego-podium__step{height:110px;background:linear-gradient(180deg,#ffd84d,#f2a90c);box-shadow:inset 0 -6px 0 #c98200}
.kego-podium__col.is-p2 .kego-podium__step{height:78px;background:linear-gradient(180deg,#e8eef3,#aebdca);box-shadow:inset 0 -6px 0 #8d9ca8;color:#3a4a57;text-shadow:none}
.kego-podium__col.is-p3 .kego-podium__step{height:56px;background:linear-gradient(180deg,#f2b27a,#d27b3a);box-shadow:inset 0 -6px 0 #a75a22}
.kego-podium__col.is-empty{visibility:hidden}
.kego-win__banner{position:relative;display:inline-flex;align-items:center;gap:10px;margin-top:-6px;padding:10px 22px;border-radius:18px;background:linear-gradient(180deg,#ff8a8f,var(--k-red));box-shadow:0 5px 0 #cf2f3a;animation:kegoRise .5s ease .8s both;max-width:100%}
.kego-win__banner span{font-size:13px;font-weight:900;letter-spacing:.16em;opacity:.9}
.kego-win__banner strong{font-size:22px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-score-app.is-result .kego-setup{margin-top:-8px}
.kego-final{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kego-final__row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;background:#f6fbff;border-left:6px solid var(--c);animation:kegoRise .4s ease both;animation-delay:calc(.9s + var(--d))}
.kego-final__row .kego-rank{min-width:30px;height:30px;font-size:15px}
.kego-final__info{min-width:0}
.kego-final__info strong{display:block;font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kego-final__chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.kego-final__chips i{font-style:normal;padding:1px 6px;border-radius:6px;font-size:10px;font-weight:900;background:#e3edf4;color:var(--k-ink2)}
.kego-final__chips i.is-ace{background:linear-gradient(90deg,#ff5a8a,#ffb21e);color:#fff}
.kego-final__chips i.is-eagle{background:#ffe0e2;color:#c02c37}
.kego-final__chips i.is-birdie{background:#ffe8d6;color:#c2501a}
.kego-final__chips i.is-par{background:#e1f6d8;color:#2a7a2b}
.kego-final__chips i.is-bogey{background:#dcecff;color:#1f6fd0}
.kego-final__score{text-align:right;line-height:1.05}
.kego-final__score strong{display:block;font-size:26px;font-weight:900}
.kego-final__score small{font-size:13px;font-weight:900;color:var(--k-blue2)}
.kego-result-btns{display:grid;gap:12px}

/* ---------- ダイアログ・トースト ---------- */
.kego-dialog{position:fixed;inset:0;z-index:100600;display:grid;place-items:center;padding:20px;background:rgba(10,40,70,.5);opacity:0;transition:opacity .2s ease;font-family:var(--k-font)}
.kego-dialog.is-open{opacity:1}
.kego-dialog__box{width:min(380px,100%);padding:22px 18px 18px;border-radius:26px;background:#fff;color:var(--k-ink);text-align:center;box-shadow:0 8px 0 #c9dbe8,0 24px 50px rgba(0,0,0,.25);transform:scale(.85);transition:transform .25s cubic-bezier(.2,1.5,.4,1)}
.kego-dialog.is-open .kego-dialog__box{transform:none}
.kego-dialog__box strong{display:block;font-size:19px;font-weight:900}
.kego-dialog__box p{margin:10px 0 18px;color:var(--k-ink2);font-size:14px;line-height:1.7;font-weight:700}
.kego-dialog__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kego-toast{position:fixed;left:50%;bottom:calc(var(--kego-bottom-obstruction) + 22px);transform:translateX(-50%) translateY(20px);z-index:100700;max-width:calc(100vw - 32px);background:#16324a;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 6px 0 rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:.25s ease;font-size:13px;font-weight:800;font-family:var(--k-font);text-align:center}
.kego-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- レスポンシブ ---------- */
@media(min-width:760px){
  .kego-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kego-title{height:330px}
  .kego-title__logo{top:96px}
}
@media(max-width:759px){
  .kego-score-app.is-round .kego-stage,.kego-score-app.is-setup .kego-stage,.kego-score-app.is-result .kego-stage{padding-bottom:calc(var(--kego-bottom-obstruction) + 10px)}
}
@media(max-width:480px){
  .kego-hud__top{flex-wrap:wrap;gap:10px}
  .kego-hud__meta{width:100%;flex-direction:row;align-items:center;justify-content:space-between}
  .kego-hud__course{order:-1;max-width:48%}
  .kego-hud__metrics{margin-left:auto}
  .kego-hud__meta .kego-parpick,.kego-hud__meta .kego-pill{margin-left:0}
  .kego-distance{min-height:36px;padding:5px 9px}
  .kego-distance b{font-size:14px}
  .kego-holebadge{padding:6px 16px 6px 8px}
}
@media(max-width:400px){
  .kego-counter{grid-template-columns:46px 62px 46px;gap:5px}
  .kego-counter__btn{width:46px;height:50px;font-size:27px}
  .kego-counter__val{height:58px}
  .kego-counter__val strong{font-size:30px}
  .kego-pcard{padding:10px 10px 10px 14px;gap:8px}
  .kego-pcard__name strong{font-size:15px}
  .kego-ava.is-md{width:36px;height:36px;font-size:15px}
  .kego-holebadge__txt strong{font-size:38px}
  .kego-nav .kego-btn{font-size:13px;min-height:54px}
  .kego-sc__table th,.kego-sc__table td{font-size:13px;height:42px}
  .kego-mark{font-size:13px}
  .kego-sc__c-name{width:19%}
  .kego-sc__c-tot{width:13%}
  .kego-mark.is-eagle,.kego-mark.is-double{box-shadow:0 0 0 1.5px #fff,0 0 0 3px currentColor}
  .kego-mark.is-birdie,.kego-mark.is-eagle,.kego-mark.is-bogey,.kego-mark.is-double{border-width:2px}
  .kego-sc__who .kego-ava{display:none}
  .kego-sc__who>span:last-child{font-size:11px}
  .kego-sc__tot strong{font-size:15px}
  .kego-intro__band strong{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
  .kego-score-app *,.kego-score-app *::before,.kego-score-app *::after{animation:none!important;transition:none!important}
  .kego-cloud{display:none}
  .kego-sheet,.kego-sheet-bg,.kego-dialog,.kego-dialog__box,.kego-toast{transition:none!important}
}

/* ---------- SCORE専用ページ：Lightningの余白・装飾を除去 ---------- */
body.kego-score-page .siteFooter,body.kego-score-page .site-footer,body.kego-score-page footer.site-footer,body.kego-score-page #site-footer{display:none!important}
body.kego-score-page .breadcrumb,body.kego-score-page .breadcrumb_outer,body.kego-score-page .vk-breadcrumb,body.kego-score-page .vk-breadcrumb-outer{display:none!important}
body.kego-score-page .entry-header,body.kego-score-page .page-header,body.kego-score-page .pageHeader,body.kego-score-page .vk-page-header{display:none!important}
body.kego-score-page .siteContent,
body.kego-score-page .site-content,
body.kego-score-page #siteContent,
body.kego-score-page main.siteContent,
body.kego-score-page .siteContent_inner,
body.kego-score-page .siteContent_after,
body.kego-score-page .siteContent_before,
body.kego-score-page .siteContent>.container,
body.kego-score-page .site-content>.container,
body.kego-score-page .siteContent .row,
body.kego-score-page .site-content .row,
body.kego-score-page .mainSection,
body.kego-score-page .main-section,
body.kego-score-page .content-area,
body.kego-score-page #primary,
body.kego-score-page .site-main,
body.kego-score-page article,
body.kego-score-page .entry,
body.kego-score-page .page,
body.kego-score-page .entry-body,
body.kego-score-page .entry-content,
body.kego-score-page .wp-block-post-content,
body.kego-score-page .wp-block-shortcode,
body.kego-score-page .wp-block-group{margin-top:0!important;padding-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
body.kego-score-page .siteContent>.container,
body.kego-score-page .site-content>.container,
body.kego-score-page .siteContent .container,
body.kego-score-page .site-content .container{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
body.kego-score-page .entry-content>p:empty,
body.kego-score-page .wp-block-shortcode>p:empty,
body.kego-score-page .wp-block-post-content>p:empty,
body.kego-score-page .entry-content>.wp-block-spacer:first-child{display:none!important}
body.kego-score-page .kego-score-app{display:block!important;margin-top:0}

/* ---------- 写真取込（OCR）シート ---------- */
html.kego-ocr-lock{overflow:hidden}
.kego-ocr-modal{position:fixed;inset:0;z-index:100500;background:rgba(10,40,70,.55);display:flex;align-items:flex-end;justify-content:center;padding-top:max(16px,env(safe-area-inset-top));font-family:var(--k-font)}
.kego-ocr-sheet{width:min(920px,100%);max-height:94svh;overflow:hidden;display:flex;flex-direction:column;border-radius:26px 26px 0 0;background:linear-gradient(180deg,#fff,#f4faff);color:var(--k-ink);box-shadow:0 -14px 40px rgba(10,50,90,.3);animation:kegoSheetUp .32s cubic-bezier(.2,.9,.25,1.05)}
@keyframes kegoSheetUp{from{transform:translateY(40%);opacity:.4}to{transform:none;opacity:1}}
.kego-ocr-head{flex:none;min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #eaf3fa}
.kego-ocr-head>div span{display:block;color:var(--k-orange);font-size:10px;font-weight:900;letter-spacing:.18em}
.kego-ocr-head>div strong{display:block;font-size:18px;font-weight:900;margin-top:2px}
.kego-ocr-head>button{width:42px;height:42px;border-radius:50%;border:0;background:#eef4f8;color:var(--k-ink);font-size:22px;font-weight:900;cursor:pointer}
.kego-ocr-body{overflow:auto;padding:16px 16px max(24px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.kego-ocr-engine{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:11px 13px;border-radius:16px;background:#eef6fc}
.kego-ocr-engine strong{font-size:13px;font-weight:900;white-space:nowrap}
.kego-ocr-engine span{font-size:11px;line-height:1.5;color:var(--k-ink2);text-align:right;font-weight:700}
.kego-ocr-engine.is-ai{background:#fff4d1}.kego-ocr-engine.is-ai strong{color:#b06a00}.kego-ocr-engine.is-local strong{color:var(--k-blue2)}
.kego-ocr-step{display:flex;align-items:center;gap:11px;margin:4px 0 12px}
.kego-ocr-step>b{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#5cb8ff,var(--k-blue));color:#fff;font-size:14px;box-shadow:0 3px 0 var(--k-blue2)}
.kego-ocr-step strong{display:block;font-size:14px;font-weight:900}
.kego-ocr-step small{display:block;color:var(--k-ink2);font-size:11px;margin-top:2px;font-weight:700}
.kego-ocr-holepick{display:grid;grid-template-columns:repeat(var(--ocr-cols,2),minmax(0,1fr));gap:10px;margin-bottom:20px}
.kego-ocr-holepick button{height:54px;border-radius:16px;border:3px solid var(--k-line);background:#f6fbff;color:var(--k-ink);font-size:19px;font-weight:900;cursor:pointer;box-shadow:0 4px 0 var(--k-line)}
.kego-ocr-holepick button.is-active{border-color:var(--k-go2);background:linear-gradient(180deg,#f2ffe6,#dcf7c8);color:var(--k-go3);box-shadow:0 4px 0 var(--k-go3)}
.kego-ocr-sourcegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.kego-ocr-capture{min-height:104px;border:3px dashed #9fcbea;border-radius:20px;background:#f0f8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;text-align:center;cursor:pointer;transition:background .15s ease}
.kego-ocr-capture:hover{background:#e3f2ff}
.kego-ocr-capture>span{font-size:30px;margin-bottom:4px}
.kego-ocr-capture strong{font-size:15px;font-weight:900}
.kego-ocr-capture small{font-size:11px;color:var(--k-ink2);margin-top:3px;font-weight:700}
.kego-ocr-preview{position:relative;margin:12px 0;height:min(31svh,300px);border-radius:18px;overflow:hidden;background:#e9f1f7;display:grid;place-items:center}
.kego-ocr-preview.is-empty{height:110px;color:#8aa3b5;font-size:12px;font-weight:800}
.kego-ocr-preview img{width:100%;height:100%;object-fit:contain;transition:transform .18s ease;transform-origin:center center}
.kego-ocr-rotate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:0 0 12px}
.kego-ocr-rotate[hidden]{display:none!important}
.kego-ocr-rotate button{height:42px;padding:0 12px;border-radius:14px;border:0;background:#fff;color:var(--k-ink);font-weight:900;font-size:12px;cursor:pointer;box-shadow:0 4px 0 #c3d5e2}
.kego-ocr-rotate span{text-align:center;color:var(--k-ink2);font-size:11px;font-weight:700}
.kego-ocr-note{font-size:11px;line-height:1.65;color:var(--k-ink2);margin:10px 2px 0;font-weight:700}
.kego-primary{width:100%;border:0;border-radius:18px;min-height:58px;font-family:var(--k-font);font-size:17px;font-weight:900;color:#fff;background:linear-gradient(180deg,var(--k-go1),var(--k-go2));box-shadow:0 5px 0 var(--k-go3);text-shadow:0 2px 0 rgba(0,70,0,.3);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}
.kego-primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--k-go3)}
.kego-primary:disabled{opacity:.42;cursor:not-allowed}
.kego-secondary{width:100%;border:0;border-radius:16px;min-height:52px;font-family:var(--k-font);background:#fff;color:var(--k-ink);font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 5px 0 #c3d5e2}
.kego-secondary:active{transform:translateY(4px);box-shadow:0 1px 0 #c3d5e2}
.kego-ocr-working{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 8px}
.kego-ocr-spinner{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 45%,#e3e9ee 70%,#c3ccd3);box-shadow:0 6px 0 -2px rgba(0,60,0,.2);position:relative;animation:kegoOcrBounce .8s ease-in-out infinite alternate;margin-bottom:18px}
.kego-ocr-spinner::after{content:"";position:absolute;inset:18px;background:#1b2a36;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
@keyframes kegoOcrBounce{from{transform:translateY(0) rotate(0)}to{transform:translateY(-18px) rotate(120deg)}}
.kego-ocr-working>strong{font-size:18px;font-weight:900}
.kego-ocr-progress{width:min(420px,90%);height:12px;border-radius:999px;background:#e3edf4;overflow:hidden;margin:18px auto 10px}
.kego-ocr-progress i{display:block;width:4%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5cb8ff,var(--k-go1));transition:width .2s ease}
.kego-ocr-working>span{font-size:12px;color:var(--k-ink2);font-weight:800}
.kego-ocr-working>small{font-size:11px;color:#8aa3b5;margin-top:7px;font-weight:700}
.kego-ocr-error{text-align:center;padding:48px 10px}
.kego-ocr-error strong{font-size:18px;font-weight:900}
.kego-ocr-error p{color:var(--k-ink2);font-size:13px;line-height:1.6;margin:8px 0 20px;font-weight:700}
.kego-ocr-reviewtop{display:grid;grid-template-columns:120px 1fr;gap:13px;align-items:center;padding-bottom:14px;border-bottom:3px solid #eaf3fa}
.kego-ocr-reviewtop img{width:120px;height:82px;border-radius:12px;object-fit:cover;background:#e9f1f7}
.kego-ocr-reviewtop strong{display:block;font-size:16px;font-weight:900}
.kego-ocr-reviewtop span,.kego-ocr-reviewtop small{display:block;color:var(--k-ink2);font-size:11px;margin-top:3px;font-weight:700}
.kego-ocr-reviewtop small{color:#b07a00}
.kego-ocr-warning{margin:10px 0;padding:10px 12px;border-radius:14px;background:#fff4d1;color:#7a5200;font-size:12px;line-height:1.5;font-weight:800}
.kego-ocr-parswitch{display:flex;align-items:center;gap:9px;margin:13px 0;font-size:13px;font-weight:900}
.kego-ocr-parswitch input{width:20px;height:20px;accent-color:var(--k-go2)}
.kego-ocr-tablewrap{overflow:auto;border-radius:16px;border:4px solid var(--k-gold);box-shadow:0 5px 0 var(--k-gold2);background:var(--k-cream)}
.kego-ocr-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;color:var(--k-ink);font-size:12px;font-weight:900}
.kego-ocr-table th,.kego-ocr-table td{height:46px;min-width:50px;padding:3px;border-right:1px solid #eadfb8;border-bottom:1px solid #eadfb8;text-align:center;background:var(--k-cream)}
.kego-ocr-table thead th{position:sticky;top:0;z-index:4;background:linear-gradient(180deg,#4fb3ff,#2a86e6);color:#fff}
.kego-ocr-table th:first-child{position:sticky;left:0;z-index:3;min-width:126px;text-align:left;padding-left:9px;background:#fff6d6}
.kego-ocr-table thead th:first-child{z-index:5;background:linear-gradient(180deg,#4fb3ff,#2a86e6)}
.kego-ocr-table .kego-ocr-parrow th,.kego-ocr-table .kego-ocr-parrow td{background:#d4f0fd;color:#145377}
.kego-ocr-table td.is-uncertain{background:#fff1ad!important;box-shadow:inset 0 0 0 2px #e3b022}
.kego-ocr-table td input{width:44px;height:34px;border:0;border-radius:8px;text-align:center;font-family:var(--k-font);font-weight:900;font-size:16px;background:rgba(255,255,255,.85);color:var(--k-ink);outline:none}
.kego-ocr-table td input:focus{box-shadow:0 0 0 3px rgba(47,140,240,.35);background:#fff}
.kego-ocr-name{width:88px;height:32px;border:0;background:transparent;font-family:var(--k-font);font-size:11px;font-weight:900;color:var(--k-ink);outline:none}
.kego-ocr-remove{width:25px;height:25px;border:0;border-radius:50%;background:#eef4f8;color:var(--k-ink2);cursor:pointer;font-size:13px}
.kego-ocr-table .kego-ocr-total-col{position:sticky;right:0;z-index:3;min-width:64px;background:#ffe9a6!important;color:var(--k-ink)!important;box-shadow:-2px 0 0 rgba(200,160,40,.35)}
.kego-ocr-table thead .kego-ocr-total-col{z-index:6;background:linear-gradient(180deg,#ffd84d,#f2a90c)!important;color:#5a3a00!important}
.kego-ocr-table .kego-ocr-parrow .kego-ocr-total-col{background:#bfe8fb!important;color:#145377!important}
.kego-ocr-reviewactions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.kego-ocr-reviewactions .kego-primary{grid-column:1/-1}
.kego-ocr-raw{margin-top:12px;color:var(--k-ink2);font-size:11px;font-weight:700}
.kego-ocr-raw summary{cursor:pointer}
.kego-ocr-raw pre{white-space:pre-wrap;max-height:150px;overflow:auto;padding:10px;border-radius:10px;background:#eef4f8;color:var(--k-ink2);font-size:10px}
@media(max-width:759px){
  .kego-ocr-sheet{max-height:96svh;border-radius:22px 22px 0 0}
  .kego-ocr-head{min-height:60px;padding:10px 13px}.kego-ocr-head>div strong{font-size:15px}
  .kego-ocr-body{padding:13px 11px max(18px,env(safe-area-inset-bottom))}
  .kego-ocr-engine{align-items:flex-start;flex-direction:column}.kego-ocr-engine span{text-align:left}
  .kego-ocr-rotate{grid-template-columns:1fr 1fr}.kego-ocr-rotate span{grid-column:1/-1;grid-row:1;text-align:left}.kego-ocr-rotate button{grid-row:2}
  .kego-ocr-reviewtop{grid-template-columns:86px 1fr}.kego-ocr-reviewtop img{width:86px;height:62px}
  .kego-ocr-table th,.kego-ocr-table td{min-width:45px;height:43px}.kego-ocr-table th:first-child{min-width:112px}.kego-ocr-table td input{width:39px;height:31px;font-size:15px}.kego-ocr-name{width:76px}
  .kego-ocr-table .kego-ocr-total-col{min-width:58px}
  .kego-ocr-reviewactions{grid-template-columns:1fr}.kego-ocr-reviewactions .kego-primary{grid-column:auto}
}

/* ===== v0.3.1 course_id link ===== */
.kego-course-link{display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 14px;border:3px solid #b7dfbf;border-radius:16px;background:linear-gradient(180deg,#f4fff5,#eaffed);box-shadow:0 5px 0 #d4efd9}
.kego-course-link__mark{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#36aa50;box-shadow:0 3px 0 #20853a;font-size:12px}
.kego-course-link div{min-width:0;display:flex;flex-direction:column;gap:2px}
.kego-course-link strong{color:#173c23;font-size:16px;line-height:1.35;font-weight:900;overflow-wrap:anywhere}
.kego-course-link small{color:#4f7959;font-size:11px;font-weight:900;letter-spacing:.08em}
.kego-course-link em{color:#b15c00;font-size:11px;font-style:normal;font-weight:800}
.kego-layouts{display:grid;gap:10px}
.kego-layoutbtn{appearance:none;width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:3px solid var(--k-line);border-radius:16px;background:#f6fbff;color:var(--k-ink);text-align:left;cursor:pointer;box-shadow:0 4px 0 var(--k-line);transition:transform .08s ease,box-shadow .08s ease,border-color .15s ease,background .15s ease}
.kego-layoutbtn>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.kego-layoutbtn strong{font-size:15px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}
.kego-layoutbtn small{font-size:11px;font-weight:800;color:var(--k-ink2)}
.kego-layoutbtn em{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}
.kego-layoutbtn em.is-ready{background:#ddf7cf;color:#27752d}
.kego-layoutbtn em.is-manual{background:#fff0cc;color:#956000}
.kego-layoutbtn.is-on{border-color:var(--k-go2);background:linear-gradient(180deg,#f2ffe6,#dcf7c8);box-shadow:0 4px 0 var(--k-go3)}
.kego-layoutbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--k-line)}
.kego-layout-note{margin:10px 2px 0;color:var(--k-ink2);font-size:11px;font-weight:800;line-height:1.55}
.kego-layout-note.is-error{color:#a35b00}

.kego-course-code{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.22);font-size:.78em;letter-spacing:.05em}
