/* CHAT 搶答學生登入頁。只改外觀，登入 API、CSRF 與轉址沿用原版。 */
body.student-game-login{margin:0;color:#24452c;background:#fff8e9;font-family:"Microsoft JhengHei","PingFang TC",sans-serif}
.student-game-login *{box-sizing:border-box}
.student-game-login .login-page{height:auto!important;min-height:100svh!important;background:radial-gradient(ellipse at 5% 5%,#ffe6ac88,transparent 55%),linear-gradient(#fffaf0,#f5f6dd)!important;overflow:visible!important}
.student-game-login .login-page .container-fluid>.row{margin:0!important;display:flex!important;justify-content:center!important}
.student-game-login .login-page .container-fluid>.row>div:first-child{display:none!important}
.student-game-login .login-page .container-fluid>.row>div:last-child{width:100%!important;max-width:100%!important;flex:0 0 100%!important;padding:0!important}
.student-game-login .login-page .left-page{height:auto!important;min-height:100svh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px 16px!important;background:transparent!important}
.student-game-login .login-page .left-page .login-content{position:relative;flex:0 1 560px!important;max-width:560px!important;width:100%!important;padding:20px 24px!important;margin:0 auto!important;border:2px solid #e9c15e!important;border-radius:32px!important;background:linear-gradient(140deg,#fffef9,#fff8e9)!important;box-shadow:inset 0 0 0 3px #fff,0 12px 30px #87622120!important}
.student-game-login .game-login-hero{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;margin:-6px -10px 18px;min-height:190px;border-bottom:5px solid #a6cc7d;border-radius:0 0 45% 20%;background:radial-gradient(ellipse at bottom,#ddedbd 0,transparent 65%)}
.student-game-login .game-login-art{flex:0 0 43%;min-width:0;display:flex;justify-content:center;align-self:end}
.student-game-login .game-login-art>img{display:block;width:100%;max-width:170px;height:190px;object-fit:contain;filter:drop-shadow(0 6px 3px #6f67302a);transform-origin:50% 90%;animation:login-game-idle 2.8s ease-in-out infinite}
.student-game-login .game-login-brand{flex:1;min-width:0;padding-bottom:16px}
.student-game-login .game-login-brand h1{font-size:46px;line-height:1.15;font-weight:900;color:#d49a1e;letter-spacing:2px;text-shadow:0 2px #fff,0 4px #c6a05b33;margin:0 0 8px}
.student-game-login .game-login-brand h1>span{display:block;font-size:36px;color:#167b48;letter-spacing:1px}
.student-game-login .game-login-brand p{font-size:17px;line-height:1.6!important;color:#4d653c;font-weight:700;margin:0!important}
.student-game-login .game-login-original-logo{display:block;width:40px;height:40px;object-fit:contain;margin:0 0 4px}
.student-game-login .game-login-welcome{text-align:center;margin-bottom:14px}
.student-game-login .login-page .login-content .game-login-welcome h2{font-size:28px!important;line-height:1.4!important;color:#244c2b;font-weight:900;margin:0 0 5px!important}
.student-game-login .game-login-welcome p{font-size:17px;color:#78835c;margin:0}
.student-game-login .game-login-tabs{display:flex;background:#eee7d5;border:1px solid #dbcba7;border-radius:28px;padding:3px;margin:0 0 18px;box-shadow:inset 0 2px 3px #78653218}
.student-game-login .game-login-tabs>*{flex:1;text-align:center;padding:9px 5px;border-radius:24px;font-size:20px;font-weight:800;line-height:1.4;color:#6e654b;text-decoration:none}
.student-game-login .game-login-tabs>[aria-current]{background:linear-gradient(#61bf72,#13834f);border:2px solid #efc65b;color:#fff;box-shadow:0 3px 5px #795b2925;padding:7px 5px}
.student-game-login .login-page .login-content .form-group{margin-bottom:14px!important}
.student-game-login .login-page .login-content label{color:#325432;font-size:18px!important;font-weight:700;margin:0 0 6px!important;display:block}
.student-game-login .login-page .login-content .form-control{font:16px/1.5 "Microsoft JhengHei",sans-serif!important;min-height:52px!important;height:52px!important;border:1px solid #cfc1a3!important;background:#fffef8!important;color:#2e422e!important;border-radius:15px!important;padding:12px 14px!important;box-shadow:inset 0 2px 3px #66542b0d;display:block;width:100%}
.student-game-login .login-page .login-content #submitBtn{width:100%;min-height:54px!important;border:2px solid #efc55d!important;border-radius:26px!important;background:linear-gradient(#4fba68,#087b48)!important;color:white!important;box-shadow:0 4px 6px #8d682a30!important;font-size:21px!important;font-weight:800!important;padding:11px!important;white-space:normal}
.student-game-login #submitBtn:disabled{opacity:.6;cursor:wait}
.student-game-login #notice{font-size:16px!important;line-height:1.5!important;margin:6px 0!important;color:#b42318}
.student-game-login #notice.ok{color:#087443}
.student-game-login .login-content .home-install[data-login-role="student"]{display:flex!important;flex-wrap:wrap;gap:10px;margin-top:16px}
.student-game-login .login-content .home-install[data-login-role="student"]>#home-install-button,.student-game-login .login-content .home-install[data-login-role="student"]>#student-signup-button{border:1px solid #b3c69a!important;background:#f4f8e7!important;color:#277244!important;border-radius:22px!important;font-size:16px!important;min-height:44px!important}
.student-game-login #student-signup-button>span{animation:none!important;transform:none!important;color:#277244!important;-webkit-text-fill-color:#277244!important}
.student-game-login #home-install-status{flex:0 0 100%;margin:0!important;text-align:center;color:#747a60}
.student-game-login .login-content .invite-share{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:14px!important}
.student-game-login .login-content .invite-share>a,.student-game-login .login-content .invite-share>button{flex:1 1 40%!important;width:auto!important;border:1px solid #d5c59e!important;color:#58704b!important;background:#fffdf6!important;font-size:15px!important;border-radius:20px!important;min-height:42px!important}
.student-game-login .login-content .invite-share>#teacher-login-switch{flex:1 1 100%!important;border:0!important;background:transparent!important;font-weight:700;font-size:17px!important}
.student-game-login #invite-status{font-size:15px!important;overflow-wrap:anywhere}
.student-game-login #invite-url:not([hidden]){width:100%;font-size:16px}
.student-game-login .game-login-features{display:flex;gap:6px;justify-content:space-around;border-top:1px solid #e6d9b9;padding-top:14px;margin-top:8px}
.student-game-login .game-login-features>div{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:5px;font-size:16px;font-weight:700;color:#45623a}
.student-game-login .game-login-features img{width:42px;height:42px;object-fit:contain}
.student-game-login a:focus-visible,.student-game-login button:focus-visible,.student-game-login input:focus-visible{outline:3px solid #188457!important;outline-offset:3px}
@keyframes login-game-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:575px){.student-game-login .login-page .left-page{padding:14px 10px!important;align-items:flex-start!important}.student-game-login .login-page .left-page .login-content{padding:16px!important;border-radius:26px!important}.student-game-login .game-login-hero{gap:8px;min-height:165px;margin-bottom:14px}.student-game-login .game-login-art>img{height:165px}.student-game-login .game-login-brand h1{font-size:39px}.student-game-login .game-login-brand h1>span{font-size:30px}.student-game-login .game-login-brand p{font-size:15px}.student-game-login .login-page .login-content .game-login-welcome h2{font-size:25px!important}}
@media(max-width:350px){.student-game-login .game-login-brand h1{font-size:32px}.student-game-login .game-login-brand h1>span{font-size:26px}.student-game-login .game-login-brand p{font-size:14px}.student-game-login .game-login-art>img{height:140px}.student-game-login .game-login-hero{min-height:145px}}
@media(prefers-reduced-motion:reduce){.student-game-login .game-login-art>img{animation:none}}

/* 移除桌面名稱整列，不保留空白高度。 */
.student-game-login .login-content .home-install[data-login-role="student"]>#home-install-status{display:none!important;margin:0!important;padding:0!important;min-height:0!important}

/* 緊湊頁首：角色與品牌並排，標誌及標語不再逐行堆疊。 */
.student-game-login .login-page .left-page{padding-top:14px!important;padding-bottom:14px!important}
.student-game-login .login-page .left-page .login-content{padding-top:14px!important;padding-bottom:14px!important}
.student-game-login .game-login-hero{min-height:0!important;height:auto!important;gap:12px!important;margin:0 0 10px!important;padding:0 4px 5px!important;border-bottom-width:3px!important;align-items:center!important}
.student-game-login .game-login-art{flex:0 0 108px!important;align-self:center!important}
.student-game-login .game-login-art>img{width:108px!important;height:122px!important;max-width:108px!important}
.student-game-login .game-login-brand{display:grid!important;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:5px 8px;padding:0 0 6px!important}
.student-game-login .game-login-original-logo{grid-column:1;grid-row:1;width:32px!important;height:36px!important;margin:0!important}
.student-game-login .game-login-brand h1{grid-column:2;grid-row:1;display:flex!important;align-items:baseline;gap:5px;font-size:34px!important;line-height:1.2!important;margin:0!important;letter-spacing:0!important;white-space:nowrap}
.student-game-login .game-login-brand h1>span{display:inline!important;font-size:29px!important;letter-spacing:0!important}
.student-game-login .game-login-brand p{grid-column:1/-1;grid-row:2;font-size:16px!important;line-height:1.5!important;margin:0!important;text-align:center;overflow-wrap:anywhere}
.student-game-login .game-login-brand p br{display:none}
.student-game-login .game-login-welcome{margin-bottom:8px!important}
.student-game-login .login-page .login-content .game-login-welcome h2{font-size:24px!important;line-height:1.3!important;margin-bottom:3px!important}
.student-game-login .game-login-welcome p{font-size:16px!important;line-height:1.4!important;margin:0!important}
.student-game-login .game-login-tabs{margin-bottom:12px!important}
.student-game-login .game-login-tabs>*{font-size:18px!important;padding-top:7px!important;padding-bottom:7px!important}
.student-game-login .game-login-tabs>[aria-current]{padding-top:5px!important;padding-bottom:5px!important}
.student-game-login .login-page .login-content .form-group{margin-bottom:10px!important}
.student-game-login .login-content .home-install[data-login-role="student"]{margin-top:12px!important}
.student-game-login .login-content .invite-share{margin-top:10px!important}
.student-game-login .game-login-features{margin-top:4px!important;padding-top:10px!important}
@media(max-width:575px){
.student-game-login .login-page .left-page{padding-top:10px!important;padding-bottom:10px!important}
.student-game-login .game-login-hero{gap:7px!important;padding-left:0!important;padding-right:0!important}
.student-game-login .game-login-art{flex-basis:88px!important}
.student-game-login .game-login-art>img{width:88px!important;height:108px!important;max-width:88px!important}
.student-game-login .game-login-brand{grid-template-columns:26px minmax(0,1fr);column-gap:5px}
.student-game-login .game-login-original-logo{width:26px!important;height:30px!important}
.student-game-login .game-login-brand h1{font-size:28px!important;gap:4px}
.student-game-login .game-login-brand h1>span{font-size:25px!important}
.student-game-login .game-login-brand p{font-size:15px!important;text-align:left}
.student-game-login .login-page .login-content .game-login-welcome h2{font-size:23px!important}
}
@media(max-width:350px){
.student-game-login .game-login-art{flex-basis:70px!important}
.student-game-login .game-login-art>img{width:70px!important;height:95px!important;max-width:70px!important}
.student-game-login .game-login-brand h1{font-size:25px!important}
.student-game-login .game-login-brand h1>span{font-size:22px!important}
.student-game-login .game-login-brand{grid-template-columns:22px minmax(0,1fr)}
.student-game-login .game-login-original-logo{width:22px!important}
}

/* 頁首留白及弧線遮字修正：裝飾限制於自身區塊內。 */
.student-game-login .login-page .left-page .login-content{padding-top:8px!important}
.student-game-login .login-page .left-page .login-content .game-login-hero{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important;min-height:0!important;height:auto!important;margin:0 0 8px!important;padding:0 4px 6px!important;border:0!important;border-radius:0!important;overflow:hidden!important;isolation:isolate;box-shadow:none!important;background:radial-gradient(ellipse at bottom,#e3efc9,transparent 68%)!important}
.student-game-login .game-login-hero::before{content:none!important}
.student-game-login .game-login-hero::after{content:"";position:absolute;inset:auto 12px 0;height:2px;background:#b0cf8d;border-radius:2px;pointer-events:none}
.student-game-login .login-page .login-content .game-login-art{align-self:center!important;margin:0!important;padding:0!important;flex-basis:94px!important}
.student-game-login .login-page .login-content .game-login-art>img{display:block!important;width:94px!important;max-width:94px!important;height:104px!important;margin:0!important;animation:none!important;transform:none!important}
.student-game-login .login-page .login-content .game-login-brand{align-self:center!important;padding:0!important;margin:0!important;transform:none!important}
.student-game-login .login-page .login-content .game-login-welcome{display:block!important;position:relative!important;inset:auto!important;transform:none!important;clear:both!important;margin:0 0 8px!important;padding:3px 0 0!important;z-index:1;isolation:isolate}
.student-game-login .login-page .login-content .game-login-welcome h2{position:static!important;transform:none!important;margin:0 0 4px!important;padding:0!important;line-height:1.4!important;height:auto!important;color:#244c2b!important}
.student-game-login .login-page .login-content .game-login-welcome p{position:static!important;transform:none!important;margin:0!important;line-height:1.4!important}
@media(max-width:575px){.student-game-login .login-page .login-content .game-login-art{flex-basis:80px!important}.student-game-login .login-page .login-content .game-login-art>img{width:80px!important;max-width:80px!important;height:94px!important}.student-game-login .login-page .left-page{padding-top:8px!important}}
@media(max-width:350px){.student-game-login .login-page .login-content .game-login-art{flex-basis:68px!important}.student-game-login .login-page .login-content .game-login-art>img{width:68px!important;max-width:68px!important;height:84px!important}}

/* 品牌 LOGO 放大 25%，同步加寬欄位避免擠到標題。 */
.student-game-login .login-page .login-content .game-login-brand{grid-template-columns:40px minmax(0,1fr)!important}
.student-game-login .login-page .login-content .game-login-original-logo{width:40px!important;height:45px!important;max-width:none!important;object-fit:contain!important}
@media(max-width:575px){
.student-game-login .login-page .login-content .game-login-brand{grid-template-columns:32.5px minmax(0,1fr)!important}
.student-game-login .login-page .login-content .game-login-original-logo{width:32.5px!important;height:37.5px!important}
}
@media(max-width:350px){
.student-game-login .login-page .login-content .game-login-brand{grid-template-columns:27.5px minmax(0,1fr)!important}
.student-game-login .login-page .login-content .game-login-original-logo{width:27.5px!important;height:37.5px!important}
}
