.course-invite{max-width:1040px;margin:16px auto 7px;padding:17px 22px;display:flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(110deg,#fff6dded,#f3e5f8eb);border:1px solid #ffe9aa;border-radius:19px;box-shadow:0 5px 20px #35445026;text-align:left}.course-star{font-size:30px;color:#cb9c4e}.course-invite p{font-size:12px;line-height:1.8;margin:0 0 4px;color:#927397}.course-invite a{color:#83569b;font-size:16px;line-height:1.8;text-decoration:none;font-weight:600}.course-invite a:hover{text-decoration:underline;text-underline-offset:4px}.course-invite a:focus-visible{outline-color:#a682c6}.catch-card{background:linear-gradient(140deg,#fff0d6f2,#ffdbb7ee)}.catch-card h2{color:#ab7955}.catch-card .en,.catch-card p{color:#a38464}.catch-art>img{width:95px;height:87px;object-fit:contain;position:absolute;bottom:9px;left:43px}.catch-art .catch-gift{width:32px;height:32px;left:125px;top:0;transform:rotate(12deg)}.mini-basket,.basket-weave{position:absolute;border:3px solid #a86c61;border-top:7px solid #d69e79;border-radius:6px 6px 20px 20px;background:repeating-linear-gradient(90deg,transparent 0,transparent 8px,#bd855f 8px,#bd855f 10px),repeating-linear-gradient(0deg,#ecc393 0,#ecc393 7px,#d4a373 7px,#d4a373 9px);box-shadow:0 3px 0 #c1856c55}.mini-basket{width:61px;height:34px;bottom:0;left:62px}.catch-layout{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:22px;padding:0 25px 17px}.catch-board{position:relative;width:100%;aspect-ratio:4/3;border:4px solid #e6c68e;border-radius:23px;overflow:hidden;background:linear-gradient(#c4e4f7,#f6e3f6 60%,#e5edb7 61%,#b6d58d);box-shadow:inset 0 0 0 3px #fff2c5,0 4px 0 #c7a981;touch-action:pan-y}.catch-board:before{content:'✦　　✧　　　✦';position:absolute;inset:23px 15px auto;text-align:center;color:#fff8c8;font-size:23px}.catch-cloud{position:absolute;color:#fff7e7;font-size:82px;opacity:.8;line-height:1;pointer-events:none}.cloud-one{left:5%;top:15%}.cloud-two{right:5%;top:33%;font-size:62px}.catch-grass{position:absolute;bottom:0;left:0;right:0;height:6%;background:repeating-linear-gradient(80deg,#a8cb80 0,#a8cb80 6px,#98bd74 6px,#98bd74 9px);z-index:1;border-radius:40% 40% 0 0}.falling-card{position:absolute;transform:translateX(-50%);width:18%;height:19%;display:flex;align-items:center;justify-content:center;z-index:3}.falling-card img{width:95%;height:95%;object-fit:contain;background:#fffdf0dd;border-radius:13px;padding:5px;box-shadow:0 4px 0 #bc92b34d;border:2px solid #ffefb2;user-select:none;-webkit-user-drag:none}.falling-card .word{display:flex;align-items:center;justify-content:center;background:#fff7d9;border:2px solid #f0d199;border-bottom:4px solid #d8aa8e;border-radius:12px;width:100%;height:75%;color:#95618f;font-size:27px}.catch-basket{position:absolute;bottom:4%;width:19%;height:26%;transform:translateX(-50%);z-index:4;pointer-events:none}.catch-basket img{position:absolute;bottom:17%;width:100%;height:88%;object-fit:contain;filter:drop-shadow(0 4px 3px #96725522)}.basket-weave{width:66%;height:33%;left:17%;bottom:0;border-width:2px;border-top-width:5px}.catch-sidebar{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}.catch-teacher{width:150px;height:130px;object-fit:contain}.catch-sidebar p{font-size:12px;line-height:1.9;text-align:center;margin:0;color:#96749d}.catch-controls{display:flex;gap:11px}.catch-controls button{width:52px;height:46px;border:2px solid #fff0b7;border-bottom:4px solid #a68ac6;border-radius:13px;background:linear-gradient(#dfcdf4,#bba0db);color:#84639c;font-size:25px;font-family:Arial,sans-serif}.catch-controls button:disabled{opacity:.4}.catch-sidebar .primary{min-height:42px;padding:9px 17px;font-size:13px}.catch-sidebar .hint-btn{font-size:11px}.memory-game .play-title h1{font-size:32px}.memory-game .play-title p{font-size:18px;line-height:1.8}.memory-game .mode-label{font-size:17px;padding:9px 13px;white-space:normal}.memory-game .memory-intro{padding:5px 25px 17px;text-align:center}.memory-game .memory-intro p{font-size:18px;line-height:1.9;margin:0;color:#846092}.memory-game .feedback{font-size:18px}.memory-game .round-foot{font-size:14px;line-height:1.8}.memory-game .back-btn,.memory-game .game-stamp{font-size:14px}.memory-game .secondary,.memory-game .primary{font-size:17px}.memory-game .match-card{height:133px}.memory-game .match-card img{height:105px}.memory-game .match-card .word{font-size:35px}.memory-game .memory-grid.large-deck .match-card{height:112px}.memory-game .memory-grid.large-deck .match-card img{height:85px}.memory-result h1{font-size:30px}.memory-result .result-intro{font-size:18px}.memory-result .eyebrow,.memory-result .stat span{font-size:16px}.memory-result .round-collection h2{font-size:18px}.memory-result .round-collection h2 small,.memory-result .collection-note,.memory-result .hint-note{font-size:15px}.memory-result .secondary,.memory-result .primary{font-size:17px}.memory-active .header .glass-btn{font-size:15px}.memory-active footer{font-size:14px}.memory-active .course-invite p{font-size:15px}
.claw-game .play-body,.train-game .play-body{grid-template-columns:minmax(0,1fr) 240px}.claw-game #reaction,.train-game #reaction{width:230px;height:210px}.catch-basket.caught{animation:happy-catch .6s ease-out}.memory-game .match-card.matched{opacity:1}.memory-active dialog p{font-size:16px}.memory-active .collection-group h3 small{font-size:14px}@keyframes happy-catch{0%,100%{transform:translateX(-50%) translateY(0)}45%{transform:translateX(-50%) translateY(-25px) rotate(-5deg)}70%{transform:translateX(-50%) translateY(-10px) rotate(3deg)}}
@media(max-width:1100px){.course-invite{margin-left:22px;margin-right:22px}.catch-layout{grid-template-columns:minmax(0,1fr) 150px;gap:16px;padding-left:18px;padding-right:18px}.catch-teacher{width:130px;height:110px}}
@media(max-width:720px){.course-invite{margin:13px 15px 6px;padding:14px 15px;gap:11px;border-radius:16px}.course-star{font-size:24px}.course-invite p{font-size:11px;line-height:1.8}.course-invite a{font-size:14px;line-height:1.9}.catch-layout{display:flex;flex-direction:column;padding:0 11px 12px;gap:12px}.catch-sidebar{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;gap:8px}.catch-teacher{width:84px;height:80px;grid-column:1;grid-row:1/3;justify-self:center}.catch-sidebar p{font-size:10px;grid-column:3;grid-row:1}.catch-controls{grid-column:2;grid-row:1/3;gap:7px}.catch-controls button{width:45px;height:47px}.catch-sidebar .primary{grid-column:3;grid-row:2;justify-self:center;padding:8px 13px;font-size:12px;min-height:39px}.catch-sidebar .hint-btn{grid-column:1;grid-row:3;font-size:10px}.catch-sidebar .hint-picture{grid-column:3;grid-row:3;width:55px!important;height:55px!important;justify-self:center}.catch-board{border-width:3px;border-radius:18px;aspect-ratio:1.1}.catch-cloud{font-size:62px}.falling-card{width:20%;height:18%}.falling-card img{padding:3px;border-radius:10px}.falling-card .word{font-size:20px;border-radius:9px}.catch-basket{width:24%;height:24%;bottom:3%}.memory-game .play-title{align-items:flex-start}.memory-game .play-title h1{font-size:28px}.memory-game .play-title p{font-size:16px;line-height:1.8}.memory-game .mode-label{font-size:15px;padding:7px 10px;max-width:95px;line-height:1.6}.memory-game .memory-intro{padding:6px 15px 17px}.memory-game .memory-intro p{font-size:16px}.memory-game .feedback{font-size:16px;padding:13px 16px}.memory-game .round-foot{font-size:13px;display:block;line-height:1.9}.memory-game .round-foot span{display:block}.memory-game .back-btn,.memory-game .game-stamp{font-size:13px}.memory-game .game-nav{flex-wrap:wrap}.memory-game .game-progress{min-width:120px}.memory-game .match-card{height:112px}.memory-game .match-card img{height:87px}.memory-game .match-card .word{font-size:29px}.memory-game .memory-grid.large-deck .match-card{height:86px}.memory-game .memory-grid.large-deck .match-card img{height:66px}.memory-game .memory-grid.large-deck .match-card .word{font-size:23px}.memory-game .secondary,.memory-game .primary{font-size:16px}.memory-result h1{font-size:27px}.memory-result .result-intro{font-size:16px}.memory-result .stat span{font-size:14px}.memory-result .eyebrow{font-size:14px}.memory-result .round-collection h2{font-size:17px}.memory-result .round-collection h2 small,.memory-result .collection-note,.memory-result .hint-note{font-size:14px;line-height:1.8}.memory-result .secondary,.memory-result .primary{font-size:16px}.memory-active .header .glass-btn{font-size:13px}.memory-active footer{font-size:13px}.memory-active .course-invite p{font-size:13px}}

@media(max-width:720px){.claw-game #reaction,.train-game #reaction{width:130px;height:120px}.catch-sidebar{grid-template-columns:auto minmax(0,1fr)}.catch-sidebar .catch-controls{grid-column:1;grid-row:1/3}.catch-sidebar p{grid-column:2;grid-row:1}.catch-sidebar .primary{grid-column:2;grid-row:2}.catch-sidebar .hint-btn{grid-column:1;grid-row:3}.catch-sidebar .hint-picture{grid-column:2;grid-row:3}}

.header{align-items:flex-start}.header-actions{margin-left:auto;align-items:flex-start}.header .course-invite{margin:0;padding:8px 13px;max-width:none;border-radius:13px;box-shadow:0 3px 12px #35445018}.header .course-invite a{font-size:14px;line-height:1.8}.header #collection-btn{flex-shrink:0;margin-top:3px}.header .help-btn{margin-top:7px}.memory-game #memory-reset{background:linear-gradient(#fff0a7,#ffd267);color:#77418c;border:3px solid #fff5c8;border-bottom:5px solid #b78ac4;box-shadow:0 0 0 3px #ca9cdb55,0 5px 13px #ab75bd33;font-weight:800;animation:retry-nudge .55s ease-in-out 3}.memory-game #memory-reset:focus-visible{outline:3px solid #a16bc0;outline-offset:6px}@keyframes retry-nudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:720px){.header{padding:15px 13px;gap:10px}.header-actions{gap:7px;min-width:0}.header .course-invite{padding:7px 9px;margin:0}.header .course-invite a{font-size:12px;line-height:1.7}.header .course-name{display:block}.header #collection-btn{padding:8px 9px;gap:5px;min-width:99px}.header #collection-btn .icon{width:16px;height:16px}.header .help-btn{width:27px;height:27px;flex-shrink:0}.memory-game #memory-reset{font-size:17px}}
