/* Earned platinum is deliberately distinct from the existing gold state. */
html body .btn.sgk-platinum {
  border-color:#f4fdff!important;
  background:linear-gradient(135deg,#173d64 0%,#587a94 40%,#24486b 65%,#8ca7b8 100%)!important;
  box-shadow:0 0 0 2px #bfe8f866,inset 0 0 24px #e2f7ff55,0 0 24px #bfeaff88!important;
}
html body .btn.sgk-platinum .label {
  background:linear-gradient(#fff,#e6f9ff 50%,#bcd6e7)!important;
  background-clip:text!important;-webkit-background-clip:text!important;
  color:transparent!important;-webkit-text-fill-color:transparent!important;
  text-shadow:none!important;filter:drop-shadow(0 1px 1px #132d4e);
}
.sgkCompletionLine {display:flex;align-items:center;gap:6px;max-width:100%;flex-wrap:wrap;}
.sgkCatchBadge {
  pointer-events:auto!important;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-height:30px;padding:3px 8px;border:1px solid #ffe8a4;border-radius:16px;
  background:linear-gradient(135deg,#ffed9e,#d5a942);color:#253a50;font:800 12px/1.2 system-ui;cursor:pointer;
}
.sgkCatchBadge:focus-visible,.symbolCatch button:focus-visible {outline:3px solid #ffd64d;outline-offset:2px;}
.sgkCatchBadge.sgk-platinumBadge {background:linear-gradient(135deg,#fff,#c1e2f3);border-color:#fff;}
.symbolCatchOffer {
  margin:12px auto 0;display:block;border:2px solid #ffe47c;border-radius:14px;
  padding:12px 20px;background:#173e67;color:#fff3b9;font:800 18px/1.4 system-ui;cursor:pointer;
}
.symbolCatchOffer[hidden] {display:none;}
.symbolCatch {
  position:fixed;inset:0;margin:auto;padding:0;box-sizing:border-box;
  width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);
  max-width:1100px;max-height:none;overflow:hidden;border:2px solid #ffdf79;border-radius:20px;
  background:#0b2340;color:#fff;box-shadow:0 20px 70px #0009;z-index:2147483000;
}
.symbolCatch::backdrop {background:#020c20dc;}
.symbolCatchLayout {height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;}
.symbolCatchHeader {display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:10px;}
.symbolCatchHeader h2 {margin:0;font:900 clamp(18px,3vw,28px)/1.3 system-ui;color:#ffe48a;}
.symbolCatchCourse {margin:2px 0 0;font:700 12px/1.3 system-ui;}
.symbolCatch .symbolCatchClose {width:40px;height:40px;min-height:40px;padding:0;border:1px solid #b9dcf2;border-radius:50%;background:#e8f4ff;color:#173e67;font:28px/1 system-ui;cursor:pointer;}
.symbolCatchPrompt {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#193e63;border-top:1px solid #bad9f344;border-bottom:1px solid #bad9f344;}
.symbolCatchQuestion {font:900 clamp(18px,3vw,30px)/1.4 system-ui;overflow-wrap:anywhere;}
.symbolCatchProgress {flex-shrink:0;font:800 20px/1.3 system-ui;color:#ffe48a;}
.symbolCatchField {position:relative;min-height:0;overflow:hidden;background:linear-gradient(#102c4e,#295875);contain:layout paint;}
.symbolCatch .symbolCatchSymbol {
  position:absolute;top:0;width:var(--catch-size);height:var(--catch-size);min-height:0;max-width:none;padding:5px;
  border:2px solid #d7e9f8;border-radius:12px;background:#fff;box-shadow:0 2px 8px #00142d44;
  cursor:pointer;touch-action:manipulation;will-change:transform;transition:none;opacity:1;
}
.symbolCatchSymbol img {display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;}
.symbolCatch .symbolCatchSymbol:disabled {opacity:1;cursor:default;}
.symbolCatch .symbolCatchSymbol.is-wrong {border:4px solid #ff536c;background:#ffdce2;}
.symbolCatchFooter {padding:8px 14px;}
.symbolCatchMessage {margin:0;font:700 14px/1.5 system-ui;}
.symbolCatchActions {display:flex;gap:12px;justify-content:center;}
.symbolCatchActions:empty {display:none;}
.symbolCatchActions button {margin-top:8px;min-height:40px;padding:8px 20px;border:1px solid #ffe48a;border-radius:10px;background:#234d78;color:#fff;font:800 16px/1.3 system-ui;cursor:pointer;}
@media(max-width:600px) {
  .symbolCatch {border-radius:12px;}
  .symbolCatchPrompt {padding:8px 10px;gap:8px;}
  .symbolCatchQuestion {font-size:20px;}
  .symbolCatchProgress {font-size:16px;}
  .symbolCatchMessage {font-size:12px;}
  .sgkCatchBadge {font-size:10px;padding:3px 6px;min-height:28px;}
  .sgkCompletionLine {gap:4px;}
}
@media(orientation:landscape) and (max-height:520px) {
  .symbolCatchHeader {padding:4px 12px;}
  .symbolCatchHeader h2 {font-size:18px;}
  .symbolCatchCourse {display:none;}
  .symbolCatchPrompt {padding:3px 12px;}
  .symbolCatchQuestion {font-size:18px;}
  .symbolCatchFooter {padding:4px 12px;}
  .symbolCatchMessage {font-size:12px;}
}
@media(max-width:350px) {
  .sgkCompletionLine {flex-wrap:nowrap;gap:3px;}
  .sgkCompletionLine .rankLine {font-size:11px;flex:0 0 auto;}
  .sgkCompletionLine .sgkCatchBadge {font-size:9px;padding:3px 4px;}
}
#result .symbolCatchRewards {display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
#result .symbolCatchRewards .challengeSymbolReward {margin:0;}
#result .symbolCatchOffer[hidden] {display:none;}
.symbolCatchEntry {display:inline-flex;align-items:center;gap:6px;}
.symbolCatchHint {max-width:130px;text-align:left;font:600 11px/1.4 system-ui;color:#d5deec;}
.symbolCatchHint[hidden] {display:none;}
/* Four result actions share one two-column rhythm, including the return artwork. */
#result .resultBox {--result-action-width:124px;--result-action-height:48px;--result-action-gap:12px;}
#result .btnRow,
#result .symbolCatchRewards {
  display:grid;grid-template-columns:repeat(2,var(--result-action-width));
  gap:var(--result-action-gap);justify-content:center;align-items:center;
}
#result .symbolCatchRewards {margin-top:var(--result-action-gap);}
#result .symbolCatchEntry {display:contents;}
#result .btnRow > .miniBtn,
#result .symbolCatchRewards .challengeSymbolReward {
  display:flex!important;align-items:center;justify-content:center;
  box-sizing:border-box;width:var(--result-action-width)!important;min-width:0!important;max-width:none!important;
  height:var(--result-action-height)!important;min-height:var(--result-action-height)!important;
  padding:6px 8px!important;margin:0!important;
  border:1px solid #ffffffb3!important;border-radius:10px!important;
  background:#10244ec0!important;color:#fff;font:700 14px/1.3 system-ui!important;
  text-decoration:none;box-shadow:none;
}
#result .btnRow > .challengeResultReturn {padding:0!important;overflow:hidden;}
#result .challengeResultReturn img {width:100%!important;height:100%!important;object-fit:fill;}
#result .symbolCatchHint {grid-column:1 / -1;max-width:none;text-align:center;}
#result .symbolCatchHint[hidden] {display:none;}
@media(max-width:350px) {
  #result .resultBox {--result-action-width:116px;--result-action-height:44px;--result-action-gap:10px;}
  #result .btnRow > .miniBtn,#result .symbolCatchRewards .challengeSymbolReward {font-size:13px!important;}
}
/* The artwork supplies its own frame; do not place another button frame around it. */
#result .btnRow > .challengeResultReturn {border:0!important;background:transparent!important;}
#result .challengeResultReturn img {flex:0 0 100%;}
/* Catch 10 follows QUEST's full-screen mini-shower, with no modal frame. */
body.sgk-catching #result .resultBox {visibility:hidden;}
.symbolCatch[hidden] {display:none!important;}
.symbolCatch {
  position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  margin:0;padding:0;border:0;border-radius:0;background:rgba(17,35,70,.28);
  box-shadow:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  overflow:hidden;z-index:10000;
}
.symbolCatchLayout {display:block;height:100%;}
.symbolCatchHeader {display:contents;}
.symbolCatchHeader > div {display:none;}
.symbolCatch .symbolCatchClose {
  position:absolute;left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));
  width:88px;height:40px;min-height:40px;padding:0;border:0;border-radius:0;background:none;z-index:12;
}
.symbolCatchClose img {display:block;width:100%;height:100%;object-fit:fill;}
.symbolCatchPrompt {
  position:absolute;top:15%;left:50%;transform:translateX(-50%);
  width:max-content;max-width:calc(100% - 120px);padding:10px 18px;
  display:block;border:2px solid #ffe76b;border-radius:14px;background:#17345bf5;
  z-index:5;text-align:center;pointer-events:none;
}
.symbolCatchQuestion {display:block;color:#ffe76b;font:800 clamp(22px,3.5vw,34px)/1.3 system-ui;}
.symbolCatchProgress {
  position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);
  white-space:nowrap;font:600 clamp(13px,1.7vw,18px)/1.2 system-ui;color:#dce5f2;opacity:.85;text-shadow:0 1px 3px #17345b;
}
.symbolCatchField {position:absolute;inset:0;min-height:0;background:none;overflow:hidden;contain:layout paint;z-index:6;pointer-events:none;}
.symbolCatch .symbolCatchSymbol {
  padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  pointer-events:auto;filter:drop-shadow(0 0 1px white) drop-shadow(0 0 3px white) drop-shadow(0 1px 1px white);
}
.symbolCatch .symbolCatchSymbol:hover {filter:drop-shadow(0 0 3px white) drop-shadow(0 0 8px white);}
.symbolCatch .symbolCatchSymbol.is-wrong {padding:0;border:0;background:none;filter:drop-shadow(0 0 8px #ff455a);}
.symbolCatchFooter {display:none;}
.symbolCatchMark {position:absolute;z-index:15;transform:translate(-50%,-50%);pointer-events:none;font:800 72px/1 system-ui;}
.symbolCatchMark.is-correct {color:#009e73;-webkit-text-stroke:2px white;text-shadow:0 0 4px white;}
.symbolCatchMark.is-wrong {display:grid;place-items:center;width:1.1em;height:1.1em;border-radius:50%;background:#fffffff2;color:#ec3448;font-size:clamp(54px,9vmin,90px);box-shadow:0 2px 14px #101c4d55;}
.symbolCatch.is-ending .symbolCatchPrompt {visibility:hidden;}
.symbolCatch.is-finished .symbolCatchPrompt {display:none;}
.symbolCatch.is-finished .symbolCatchFooter {
  display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(440px,86vw);max-height:88vh;overflow:auto;box-sizing:border-box;padding:22px;
  border:3px solid #ffdf79;border-radius:24px;background:linear-gradient(135deg,#244a9a,#15336f);
  text-align:center;z-index:10;
}
.symbolCatch.is-finished .symbolCatchFooter::before {content:attr(data-result);display:block;margin-bottom:14px;color:#ffe76b;font:900 clamp(26px,5vw,40px)/1.2 system-ui;}
.symbolCatch.is-finished .symbolCatchMessage {font:700 clamp(16px,2.2vw,22px)/1.5 system-ui;}
@media(orientation:landscape) and (max-height:520px) {
  .symbolCatchPrompt {padding:7px 14px;}
  .symbolCatchQuestion {font-size:clamp(18px,4vh,26px);}
}
/* Match the QUEST SHOWER achievement mark and replay controls. */
.sgkCompletionLine {width:100%;flex-wrap:nowrap;font-size:var(--timeFont,14px);}
.sgkCatchBadge,.sgkCatchBadge.sgk-platinumBadge {
  display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:auto;
  min-height:0;padding:.18em .6em;border:1px solid #c8edff;border-radius:.3em;
  background:linear-gradient(135deg,rgba(151,218,255,.22),rgba(16,48,91,.5));
  box-shadow:inset 0 1px 0 #ffffff40,0 0 5px #a9ddff25;
  color:#eaf8ff;font-size:.76em;font-weight:700;letter-spacing:.1em;line-height:1.2;
  white-space:nowrap;text-shadow:0 1px 2px #17395c;
}
.sgkCatchCount {margin-left:.35em;letter-spacing:0;}
.symbolCatch.is-ending .symbolCatchClose,.symbolCatch.is-finished .symbolCatchClose {display:none;}
.symbolCatch.is-finished .symbolCatchActions {display:block;}
.symbolCatchReplayRow {display:flex;align-items:center;justify-content:flex-start;width:190px;max-width:100%;gap:12px;margin:16px auto 0;}
.symbolCatchReplayRow[hidden] {display:none;}
.symbolCatchReplayRow span {font:600 16px/1.3 system-ui;color:#eaf8ff;white-space:nowrap;}
.symbolCatch .symbolCatchReplayControl {
  box-sizing:border-box;width:88px;min-width:88px;height:40px;min-height:40px;margin:0;padding:0;
  display:flex;align-items:center;justify-content:center;border:1px solid #c8edff;border-radius:.3em;
  background:linear-gradient(135deg,rgba(151,218,255,.22),rgba(16,48,91,.5));
  box-shadow:inset 0 1px 0 #ffffff40,0 0 5px #a9ddff25;
  color:#eaf8ff;font:700 14px/1.2 system-ui;letter-spacing:.1em;text-shadow:0 1px 2px #17395c;
}
.symbolCatch .symbolCatchResultReturn {
  position:relative;left:-51px;display:block;box-sizing:border-box;width:88px;height:40px;min-height:40px;
  margin:12px auto 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;line-height:0;
}
.symbolCatchResultReturn img {display:block;width:88px;height:40px;object-fit:contain;}
.symbolCatch .symbolCatchResultReturn.is-only-return {left:0;}
/* Return artwork already has a frame; do not add a thick focus frame. */
.symbolCatch .symbolCatchClose:focus,
.symbolCatch .symbolCatchClose:focus-visible {outline:none!important;}
/* Match QUEST's result border; replay focus must not create a heavy gold frame. */
.symbolCatch.is-finished .symbolCatchFooter {border:2px solid rgba(210,245,255,.7);}
.symbolCatch .symbolCatchReplayControl:focus,
.symbolCatch .symbolCatchReplayControl:focus-visible,
.symbolCatch .symbolCatchResultReturn:focus,
.symbolCatch .symbolCatchResultReturn:focus-visible {outline:none!important;}
/* Identical mini-result sizing and rhythm to QUEST's quest-result/shower-replay CSS. */
.symbolCatch.is-finished .symbolCatchFooter {
  --result-heading-size:clamp(18px,min(3.2vw,5dvh),40px);
  --result-body-size:clamp(16px,min(2.8vw,4.2dvh),32px);
  --result-gap:clamp(6px,1.4dvh,14px);
  width:36vw;max-width:92vw;height:auto;min-height:0;
  padding:clamp(8px,2vmin,18px);border:2px solid rgba(210,245,255,.7);
  border-radius:24px;box-shadow:0 18px 60px rgba(0,0,0,.25);
}
.symbolCatch.is-finished .symbolCatchFooter::before {display:none;}
.symbolCatchFooter .resultBig {margin:0;color:#fff;font:800 var(--result-heading-size)/1.3 system-ui;letter-spacing:.06em;white-space:nowrap;}
.symbolCatch.is-finished .symbolCatchMessage {margin:var(--result-gap) 0 0;color:#fff;font:800 var(--result-body-size)/1.3 system-ui;letter-spacing:.02em;white-space:nowrap;}
.symbolCatch.is-finished .symbolCatchActions {display:block;margin:0;padding:0;}
@media(orientation:portrait){.symbolCatch.is-finished .symbolCatchFooter {width:86vw;}}
@media(orientation:landscape) and (max-aspect-ratio:4/3){.symbolCatch.is-finished .symbolCatchFooter {width:48vw;}}
/* Main-game result cards use the same width and responsive type as QUEST. */
#result .resultBox {
  --result-heading-size:clamp(18px,min(3.2vw,5dvh),40px);
  --result-body-size:clamp(16px,min(2.8vw,4.2dvh),32px);
  --result-gap:clamp(6px,1.4dvh,14px);
  --result-action-width:88px;--result-action-height:40px;--result-action-gap:12px;
  width:36vw;max-width:92vw;padding:clamp(8px,2vmin,18px);
}
#result .resultBig {font-size:var(--result-heading-size);line-height:1.3;}
#result .resultSame {font-size:var(--result-body-size);line-height:1.3;margin-top:var(--result-gap);}
#result .resultRank {font-size:clamp(11px,min(1.6vw,3dvh),16px);line-height:1.5;white-space:normal;overflow-wrap:anywhere;}
#result .btnRow > .miniBtn,#result .symbolCatchRewards .challengeSymbolReward {font-size:12px!important;padding:4px!important;}
#result .symbolCatchRewards .symbolCatchOffer {font-size:11px!important;padding:4px 2px!important;letter-spacing:0;white-space:nowrap;}
#result .btnRow > .challengeResultReturn {padding:0!important;}
@media(orientation:portrait){#result .resultBox {width:86vw;}}
@media(orientation:landscape) and (max-aspect-ratio:4/3){#result .resultBox {width:48vw;}}
.sgkCatchAchievement {display:inline-flex;align-items:baseline;flex:none;margin-left:auto;gap:4px;}
.sgkCatchAchievement[hidden] {display:none;}
.sgkCatchAchievement .sgkCatchBadge {margin-left:0;}
.sgkCatchClearCount {font-weight:700;letter-spacing:0;color:#eaf8ff;white-space:nowrap;}
html body #btnMode1.sgk-platinum .oasisIcon{color:#eaf8ff;filter:drop-shadow(0 0 3px #cceeff);}
