/* v2.0: 宝箱の見える化 / 思い出しHELP / 練習スター / 今週の10問テスト */

/* 1画目の思い出しヒント */
.softHintSubV20{display:inline-block;margin-top:5px;font-size:.88em;color:#6f7f91;font-weight:800}

/* 正解後、スクロールせず押せる練習スター */
#reviewScreen .reviewShell{position:relative}
.quickWishV20{position:sticky;top:10px;float:right;z-index:120;margin:-2px 0 -58px 10px;display:flex;align-items:center;gap:6px;min-height:48px;padding:6px 10px;border:2px solid #f0dfae;border-radius:17px;background:linear-gradient(145deg,#fffdf4,#fff7d9);color:#78643b;box-shadow:0 7px 18px #6b5b3420;touch-action:manipulation;cursor:pointer}
.quickWishV20 strong{font-size:28px;line-height:1;color:#d7b14e;text-shadow:0 2px 0 #fff}
.quickWishV20 span{font-size:9px;line-height:1.18;font-weight:950;text-align:left;white-space:nowrap}
.quickWishV20.on{background:linear-gradient(145deg,#fff4b4,#ffe173);border-color:#f1c64d;color:#715221;box-shadow:0 8px 20px #c18b2630}
.quickWishV20.on strong{color:#efac17;transform:scale(1.08)}
.quickWishV20:active{transform:scale(.97)}

/* 宝箱ボタンを島の上に必ず表示 */
.treasureBtnV20{position:absolute;right:20px;top:92px;z-index:95;display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:2px solid #fff8;border-radius:16px;background:linear-gradient(145deg,#fff2c8,#ffd886 58%,#efb961);color:#745021;font-size:11px;font-weight:1000;box-shadow:0 9px 22px #7853262e,inset 0 1px 0 #fff;backdrop-filter:blur(6px);touch-action:manipulation;cursor:pointer}
.treasureBtnV20>span:nth-child(2){white-space:nowrap}.treasureBtnV20:active{transform:translateY(1px) scale(.98)}
.treasureBtnV20>b{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:50px;background:#ff6f88;color:white;font-size:10px;box-shadow:0 3px 9px #a64c5e44}
.miniChestV20{position:relative;width:28px;height:22px;display:block;flex:none}
.miniChestV20:before{content:"";position:absolute;left:3px;top:1px;width:22px;height:10px;border-radius:8px 8px 2px 2px;background:linear-gradient(#e9a45a,#bd7138);border:1px solid #91532f}
.miniChestV20:after{content:"";position:absolute;left:2px;top:10px;width:24px;height:11px;border-radius:2px 2px 7px 7px;background:linear-gradient(#e6a056,#af6437);border:1px solid #8f5230}
.miniChestV20 i{position:absolute;z-index:2;left:11px;top:9px;width:7px;height:9px;border-radius:2px;background:#ffe078;border:1px solid #b47c28}

.treasureOverlayV20{position:fixed;inset:0;z-index:40000;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#263f5b82;backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.22s ease}
.treasureOverlayV20.show{opacity:1;visibility:visible}
.treasurePanelV20{position:relative;width:min(820px,96vw);max-height:90vh;overflow:auto;padding:22px;border-radius:32px 32px 24px 24px;background:linear-gradient(180deg,#fffdf7,#f5fbff 60%,#edf7ff);border:2px solid white;box-shadow:0 32px 90px #162d425f;transform:translateY(28px);transition:.25s cubic-bezier(.2,.85,.2,1.05);-webkit-overflow-scrolling:touch;touch-action:pan-y}
.treasureOverlayV20.show .treasurePanelV20{transform:none}
.treasureCloseV20{position:absolute;right:16px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#eef4f8;color:#53687e;font-size:25px;z-index:4}
.treasureHeadV20{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;padding:5px 35px 17px 0}.treasureHeadV20>div:last-child>span{font-size:9px;letter-spacing:.16em;color:#9b7a42;font-weight:1000}.treasureHeadV20 h2{margin:4px 0 5px;font-size:29px;color:#405970}.treasureHeadV20 p{margin:0;color:#6f7f8e;font-size:12px;line-height:1.6}.treasureHeadV20 #treasureSummaryV20{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:99px;background:#fff0c9;color:#86632f;font-size:10px;font-weight:950}
.chestArtV20{position:relative;width:125px;height:100px;margin:auto;filter:drop-shadow(0 12px 10px #815a3029)}
.chestArtV20:before{content:"";position:absolute;left:14px;top:11px;width:97px;height:38px;border-radius:25px 25px 7px 7px;background:linear-gradient(#f1b56b,#c57840);border:3px solid #87502f;box-shadow:inset 0 7px 0 #ffd99a}
.chestArtV20:after{content:"";position:absolute;left:9px;top:47px;width:107px;height:47px;border-radius:7px 7px 19px 19px;background:linear-gradient(#e79d52,#a95f38);border:3px solid #81492d;box-shadow:inset 0 7px 0 #f5bd72}
.chestArtV20 i{position:absolute;z-index:3;left:54px;top:42px;width:17px;height:24px;border-radius:5px;background:#ffe078;border:2px solid #a97929}.chestArtV20 b,.chestArtV20 span{position:absolute;z-index:2;top:47px;bottom:6px;width:9px;background:#efc35e;border:1px solid #a87a27}.chestArtV20 b{left:28px}.chestArtV20 span{right:28px}
.treasureGridV20{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:3px 0 13px}
.treasureItemV20{display:grid;grid-template-columns:72px 1fr auto;gap:9px;align-items:center;min-height:86px;padding:8px;border-radius:19px;background:white;border:2px solid #e9f0f6;box-shadow:0 7px 17px #45607612}.treasureItemV20.stored{background:#fffaf0;border-color:#ecdcb8}
.treasureArtV20{width:68px;height:68px;display:grid;place-items:center}.treasureArtV20 .artSvgV15{width:100%;height:100%}.treasureCopyV20{display:flex;flex-direction:column;gap:3px;min-width:0}.treasureCopyV20 b{font-size:12px;color:#40576e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treasureCopyV20 span{font-size:9px;color:#82909e;font-weight:850}.treasureToggleV20{min-width:90px;min-height:39px;border:0;border-radius:12px;padding:7px 8px;background:#edf5fb;color:#516c86;font-size:10px;font-weight:950;touch-action:manipulation}.treasureItemV20.stored .treasureToggleV20{background:#e2f4ff;color:#3f668c}.treasureEmptyV20{grid-column:1/-1;text-align:center;padding:28px;color:#768696;line-height:1.7;font-size:12px}.treasureDoneV20{position:sticky;bottom:0;display:block;margin:5px 0 0 auto;min-width:150px;min-height:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#647ff0,#68b4eb);color:#fff;font-weight:1000;box-shadow:0 7px 17px #5775bd2e}

/* 今週の10問テスト：TOPカード */
.weeklyCardV20{display:grid;grid-template-columns:88px 1fr auto auto;align-items:center;gap:13px;margin:16px 0;padding:12px 15px;border-radius:24px;background:linear-gradient(135deg,#313d6d 0%,#4c63a6 45%,#6a91c4 100%);color:#fff;box-shadow:0 13px 32px #344d7833;overflow:hidden;position:relative}
.weeklyCardV20:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 20%,#fff7 0 2px,transparent 3px),radial-gradient(circle at 80% 24%,#fff6 0 2px,transparent 3px);background-size:90px 75px,120px 95px;pointer-events:none}.weeklyMiniTrophyV20{width:80px;height:80px;z-index:1}.weeklyCardCopyV20{z-index:1;display:flex;flex-direction:column;gap:2px}.weeklyCardCopyV20>span{font-size:9px;letter-spacing:.08em;color:#dce9ff;font-weight:950}.weeklyCardCopyV20>b{font-size:22px;line-height:1.1}.weeklyCardCopyV20>small{font-size:10px;color:#e3ecfb;font-weight:800}.weeklyCardGoalV20{z-index:1;display:flex;flex-direction:column;align-items:center;min-width:70px}.weeklyCardGoalV20 strong{font-size:27px;line-height:1}.weeklyCardGoalV20 strong small{font-size:11px}.weeklyCardGoalV20 span{font-size:8px;margin-top:4px;font-weight:900;color:#dfeaff}.weeklyCardV20>button{z-index:1;min-height:44px;padding:9px 15px;border:0;border-radius:14px;background:#fff;color:#43598a;font-weight:1000;box-shadow:0 6px 14px #1e31513b;touch-action:manipulation}

/* トロフィー */
.trophySvgV20{width:100%;height:100%;overflow:visible;--cup:#7d8da0;--cup2:#536274;--star:#cfd8e1;filter:drop-shadow(0 8px 6px #26364a26)}.trophySvgV20.gold{--cup:#f1bd3f;--cup2:#c78316;--star:#fff09a}.trophySvgV20.rainbow{--cup:#bf8bff;--cup2:#597fe4;--star:#ffe574}.trophySvgV20.sky{--cup:#69c5f1;--cup2:#4f83d8;--star:#dffaff}.trophySvgV20.sprout{--cup:#78ca8b;--cup2:#4a9668;--star:#fff2a1}.trophySvgV20.none{opacity:.45;filter:grayscale(.65)}.tShadowV20{fill:#273d56;opacity:.14}.tCupV20{fill:var(--cup);stroke:var(--cup2);stroke-width:3}.tHandleV20{fill:none;stroke:var(--cup2);stroke-width:7;stroke-linecap:round}.tBaseV20{fill:var(--cup2)}.tStarV20{fill:var(--star);stroke:#fff8;stroke-width:1}.tShineV20{stroke:#fff9;stroke-width:5;stroke-linecap:round}
.weeklyIslandTrophyV20{position:absolute;right:13%;top:20%;z-index:28;width:82px;height:98px;display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 7px 5px #34516a25);animation:trophyFloatV20 3s ease-in-out infinite}.weeklyIslandTrophyV20 .trophySvgV20{width:72px;height:72px}.weeklyIslandTrophyV20 span{margin-top:-5px;padding:3px 7px;border-radius:9px;background:#ffffffdf;color:#51657b;font-size:7px;line-height:1.15;text-align:center;font-weight:900;box-shadow:0 3px 8px #3d5b711a}.weeklyIslandTrophyV20 span b{font-size:10px}@keyframes trophyFloatV20{50%{transform:translateY(-5px)}}

/* テスト説明・途中・結果 */
.weeklyOverlayV20,.testBetweenV20,.weeklyResultV20{position:fixed;inset:0;z-index:50000;display:grid;place-items:center;padding:17px;background:#263f5b7c;backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.22s}.weeklyOverlayV20.show,.testBetweenV20.show,.weeklyResultV20.show{opacity:1;visibility:visible}
.weeklyIntroCardV20,.testBetweenCardV20,.weeklyResultCardV20{width:min(520px,94vw);padding:25px;border-radius:30px;background:linear-gradient(160deg,#fff,#f2f8ff);border:2px solid white;box-shadow:0 30px 90px #18304757;text-align:center;transform:scale(.96) translateY(12px);transition:.25s}.weeklyOverlayV20.show .weeklyIntroCardV20,.testBetweenV20.show .testBetweenCardV20,.weeklyResultV20.show .weeklyResultCardV20{transform:none}.testBadgeV20,.resultEyebrowV20{display:inline-block;padding:5px 10px;border-radius:99px;background:#e7edff;color:#5268a1;font-size:9px;font-weight:1000;letter-spacing:.12em}.weeklyIntroCardV20 h2,.weeklyResultCardV20 h2{margin:9px 0 7px;font-size:29px;color:#3f5471}.weeklyIntroCardV20>p,.weeklyResultCardV20>p{margin:0 0 14px;color:#718095;font-size:12px;line-height:1.6}.scoreRulesV20{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.scoreRulesV20>div{padding:12px;border-radius:17px;background:#f6f9fc;border:1px solid #e5edf5;display:flex;flex-direction:column;gap:4px}.scoreRulesV20 b{font-size:17px;color:#435874}.scoreRulesV20 span{font-size:9px;color:#7c8b99;font-weight:850}.goalV20{display:block;margin:15px 0 12px;font-size:23px;color:#e6a322}.weeklyStartV20,.weeklyResultCardV20>button:first-of-type,.testBetweenCardV20>button{width:100%;min-height:49px;border:0;border-radius:15px;background:linear-gradient(135deg,#637cf0,#68b1eb);color:white;font-weight:1000;box-shadow:0 8px 18px #5573bd2d;touch-action:manipulation}.weeklyCancelV20,.weeklyResultCardV20>button:last-of-type{margin-top:8px;border:0;background:transparent;color:#6f8092;font-weight:900;padding:9px 14px;touch-action:manipulation}
.testBetweenCardV20{width:min(430px,92vw)}.bigMarkV20{width:86px;height:86px;margin:0 auto;display:grid;place-items:center;border-radius:50%;font-size:62px;line-height:1;font-weight:800}.testBetweenCardV20.perfect .bigMarkV20{background:#e9fff0;color:#42b66a}.testBetweenCardV20.triangle .bigMarkV20{background:#fff7df;color:#e3a733}.testBetweenCardV20 h2{margin:10px 0 5px;color:#40566f}.testBetweenCardV20 p{margin:0 0 12px;color:#748393;font-size:11px}.testRunningScoreV20{margin:10px 0 14px;padding:9px;border-radius:13px;background:#f0f5fb;color:#5d7086;font-weight:900}.testRunningScoreV20 b{font-size:20px;color:#405a7d}
.resultTrophyV20{width:130px;height:130px;margin:-4px auto -8px}.weeklyResultCardV20 h2{font-size:38px;margin-top:7px}.resultDotsV20{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin:13px 0}.testResultDotV20{padding:5px 2px;border-radius:11px;background:#f3f6fa;display:flex;flex-direction:column;gap:1px}.testResultDotV20 span{font-size:7px;color:#8a98a5}.testResultDotV20 b{font-size:17px}.testResultDotV20.ok b{color:#40ac67}.testResultDotV20.tri b{color:#dda02f}.weeklyRewardV20{display:flex;flex-direction:column;gap:3px;margin:11px 0 15px;padding:12px;border-radius:17px;background:linear-gradient(135deg,#fff8dc,#fffdf5);border:1px solid #f1dfac}.weeklyRewardV20 span{font-size:8px;letter-spacing:.1em;color:#9b7b41;font-weight:1000}.weeklyRewardV20 b{font-size:18px;color:#70572c}.weeklyRewardV20 small{font-size:10px;color:#8c7954;font-weight:850}.weeklyResultV20.perfect10:before{content:"✨  ⭐  ✨  🌟  ✨";position:absolute;top:7%;left:0;right:0;text-align:center;font-size:28px;letter-spacing:18px;animation:perfectSparkV20 1.2s ease-in-out infinite alternate}@keyframes perfectSparkV20{to{transform:translateY(9px) scale(1.08)}}

.weeklyTestModeV20 #challengeScreen .playTop{background:linear-gradient(90deg,#34416f,#506da3);color:white}.weeklyTestModeV20 #challengeScreen .playTop .backBtn{background:#ffffff1c;color:white;border-color:#ffffff3d}.weeklyTestModeV20 #challengeScreen .miniLevel{background:#fff;color:#4e6390}.weeklyTestModeV20 #challengeScreen .playTitle span{color:#dce8ff}

@media(max-width:760px){
  .treasureBtnV20{right:10px;top:78px;min-height:41px;padding:7px 9px;font-size:10px}.treasureBtnV20>span:nth-child(2){display:none}.treasureBtnV20{width:43px;justify-content:center}.miniChestV20{transform:scale(1.02)}
  .weeklyCardV20{grid-template-columns:62px 1fr auto;padding:10px;gap:8px}.weeklyMiniTrophyV20{width:58px;height:58px}.weeklyCardCopyV20>b{font-size:18px}.weeklyCardGoalV20{display:none}.weeklyCardV20>button{grid-column:3;grid-row:1;min-height:40px;padding:8px 10px;font-size:10px}
  .treasureOverlayV20{padding:7px}.treasurePanelV20{width:100%;max-height:92vh;padding:16px 11px;border-radius:28px 28px 18px 18px}.treasureHeadV20{grid-template-columns:92px 1fr;padding-right:28px;gap:5px}.chestArtV20{transform:scale(.72);margin-left:-14px}.treasureHeadV20 h2{font-size:23px}.treasureHeadV20 p{font-size:10px}.treasureGridV20{grid-template-columns:1fr}.treasureItemV20{grid-template-columns:62px 1fr auto;min-height:76px}.treasureArtV20{width:58px;height:58px}.treasureToggleV20{min-width:82px;font-size:9px}
  .quickWishV20{top:6px;margin-right:-2px;padding:5px 8px;min-height:43px}.quickWishV20 strong{font-size:25px}.quickWishV20 span{font-size:8px}
  .weeklyIslandTrophyV20{right:11%;top:25%;width:70px}.weeklyIslandTrophyV20 .trophySvgV20{width:60px;height:60px}
}
@media(max-width:430px){
  .weeklyCardV20{grid-template-columns:52px 1fr auto}.weeklyMiniTrophyV20{width:50px;height:50px}.weeklyCardCopyV20>span{font-size:8px}.weeklyCardCopyV20>b{font-size:16px}.weeklyCardCopyV20>small{font-size:8px}.weeklyCardV20>button{font-size:9px;padding:7px 8px}
  .treasureItemV20{grid-template-columns:54px 1fr}.treasureArtV20{width:50px;height:50px}.treasureToggleV20{grid-column:2;width:100%;min-height:34px}.scoreRulesV20{grid-template-columns:1fr}.weeklyIntroCardV20,.weeklyResultCardV20{padding:20px 15px}.resultDotsV20{gap:3px}.testResultDotV20 b{font-size:14px}
  .quickWishV20 span{display:none}.quickWishV20{width:43px;height:43px;justify-content:center;padding:0;border-radius:50%}.quickWishV20 strong{font-size:28px}
}
