:root{font-family:system-ui,'Microsoft YaHei',sans-serif;color:#31516a;background:#dff5ff;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 15% 12%,#ffffff85,transparent 44%),linear-gradient(#c9efff,#eefbff 72%,#bde7c6)}a,button,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:#47758a;text-decoration:none}button,a{touch-action:manipulation}.member-page{max-width:900px;margin:auto;padding:22px 24px 30px}.page-nav{display:flex;justify-content:space-between;gap:16px;font-size:14px;font-weight:700}.page-heading{text-align:center;padding:25px 0 24px}.heading-balloon{display:block;font-size:48px;filter:drop-shadow(0 5px 3px #46748a22)}h1{font-size:clamp(30px,5vw,42px);color:#28627b;text-shadow:0 3px #fff;margin:6px 0;font-weight:900}.page-heading p{color:#5c8292;font-size:14px;margin:8px 0}.member-panel{max-width:660px;margin:auto;padding:30px;border-radius:26px;background:#ffffffbd;border:1px solid #ffffff;box-shadow:0 7px 0 #badce5,0 18px 40px #46748a14}.account-heading{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid #cbe4eb}.account-icon{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:18px;background:#d4eff8;font-size:34px;color:#48849c}h2{font-size:18px;color:#28627b;margin:0 0 6px}.account-heading p{margin:0;color:#648693;font-size:14px;overflow-wrap:anywhere}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 14px}.section-heading h2{margin:0}.section-heading>span{color:#7895a0;font-size:12px}.current-level-card{display:flex;align-items:center;gap:18px;padding:24px 20px;border-radius:20px;background:linear-gradient(120deg,#fff8d9,#fff0bf);border:2px solid #efd28e;box-shadow:0 5px #d8b873;color:#765220;transition:transform .15s,box-shadow .15s}.current-level-card:hover{transform:translateY(-2px);box-shadow:0 7px #d8b873}.level-art{font-size:40px;flex-shrink:0}.level-copy{flex:1;min-width:0}.level-copy strong{display:block;font-size:clamp(18px,3vw,24px);line-height:1.5;overflow-wrap:anywhere}.level-copy small{display:block;font-size:13px;color:#997841;margin-top:6px}.level-arrow{font-size:25px;flex-shrink:0}.account-actions{margin-top:25px;text-align:right}.logout-button{border:1px solid #b7d7e1;color:#648693;border-radius:10px;background:#ffffff80;padding:8px 14px;font-size:13px}#auth{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}form{display:grid;align-content:start;gap:14px}form label{display:grid;gap:6px;font-size:13px;color:#587f90}input{width:100%;min-width:0;padding:12px;border:1px solid #b8d9e5;background:#fff;border-radius:10px;color:#31516a}form button{padding:12px;border:0;border-radius:12px;background:#f4bf59;box-shadow:0 4px #d69e38;color:#68481d;font-weight:800}.soft-button{background:#d7edf5;box-shadow:0 4px #a6cbd9;color:#356c80}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #438aa7;outline-offset:4px}#msg{color:#aa523f;line-height:1.6;font-size:14px;margin:16px 0 0}#msg:empty{display:none}.empty-state{color:#648693;line-height:1.7}footer{text-align:center;color:#6e9298;font-size:12px;margin-top:28px}@media(max-width:600px){.member-page{padding:16px}.page-nav{font-size:12px}.page-heading{padding:23px 0 20px}.heading-balloon{font-size:40px}.member-panel{padding:22px 18px;border-radius:22px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.current-level-card{padding:20px 14px;gap:12px}.level-art{font-size:32px}.level-arrow{font-size:21px}.level-copy small{font-size:12px}#auth{grid-template-columns:1fr;gap:30px}#register{padding-top:24px;border-top:1px solid #cbe4eb}}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:24px 0 20px;border-radius:13px;background:#dff2f8}.auth-tab{border:0;border-radius:9px;padding:10px;background:transparent;color:#5d8795;font-weight:800;cursor:pointer}.auth-tab.active{background:#fff;box-shadow:0 3px 0 #b8d8e2;color:#28627b}.auth-tab:focus-visible{outline:3px solid #438aa7;outline-offset:2px}#auth{display:block;margin-top:24px}#auth form{max-width:430px;margin:0 auto}#auth form[hidden]{display:none!important}
@media(max-width:600px){.auth-tabs{margin-top:20px}.auth-tab{padding:11px 8px;font-size:14px}}

.member-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-game-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:22px 12px 18px;border:2px solid #b9dfeb;border-radius:20px;background:linear-gradient(145deg,#e5f7ff,#d5eff7);box-shadow:0 5px #a9cfdc;color:#356c80;text-align:center;transition:transform .15s,box-shadow .15s}.member-game-card:hover{transform:translateY(-3px);box-shadow:0 8px #a9cfdc}.member-game-icon{font-size:40px;line-height:1.3}.member-game-card strong{font-size:19px;line-height:1.4}.member-game-card small{font-size:12px;color:#648693}.member-game-go{margin-top:7px;padding:6px 13px;border-radius:999px;background:#ffffffa6;font-size:12px;font-weight:800}.match-entry{background:linear-gradient(145deg,#fff8dc,#ffedbf);border-color:#eed59a;box-shadow:0 5px #d8be81;color:#826029}.match-entry:hover{box-shadow:0 8px #d8be81}.match-entry small{color:#997841}@media(max-width:600px){.member-game-grid{gap:12px}.member-game-card{padding:18px 8px 15px;border-radius:17px}.member-game-card strong{font-size:16px}.member-game-card small{font-size:11px}.member-game-icon{font-size:34px}}@media(prefers-reduced-motion:reduce){.member-game-card{transition:none}}

.password-dialog{position:fixed;width:min(420px,calc(100% - 32px));max-height:85svh;overflow:auto;border:2px solid #fff;border-radius:24px;padding:28px 24px;background:linear-gradient(150deg,#f8fdff,#e4f4fc);box-shadow:0 6px #a9cfdc,0 24px 65px #31516a44;color:#31516a}.password-dialog::backdrop{background:#244f657a;backdrop-filter:blur(6px)}.password-dialog>p{font-size:13px;color:#648693;margin-bottom:22px}.password-close{position:absolute;right:12px;top:10px;border:0;border-radius:50%;background:#fff9;color:#648693;width:32px;height:32px;font-size:24px;cursor:pointer}#passwordMessage{color:#aa523f;font-size:13px;margin:0;line-height:1.6}#passwordMessage:empty{display:none}body:has(.password-dialog[open]){overflow:hidden}.account-actions{display:flex;justify-content:flex-end;gap:10px}

.member-game-icon{display:grid;place-items:center;width:88px;height:88px;border-radius:26px;background:#ffffff75;border:1px solid #ffffffb3;box-shadow:0 3px 0 #a9cfdc45;margin-bottom:4px}.member-game-icon svg{display:block;width:72px;height:72px}.game-art-match{background:#fffaf0a6;box-shadow:0 3px 0 #d8be8145}@media(max-width:600px){.member-game-icon{width:74px;height:74px;border-radius:22px}.member-game-icon svg{width:60px;height:60px}}

.membership-link{color:inherit;cursor:pointer}.membership-link:hover{background:#effaff80;border-radius:14px}.upgrade-arrow{margin-left:auto;color:#7da7b6;font-size:32px}.upgrade-page .member-panel{margin-bottom:22px}.upgrade-account .account-icon svg{width:38px;height:38px}.upgrade-account .purple-crown{background:#eee3fb;color:#7850ae}.upgrade-expiry{margin:18px 0 0;color:#648693;font-size:13px}.upgrade-plans>h2{margin-bottom:20px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-card{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:22px 8px;border:2px solid #d0dfec;border-radius:17px;background:#f8fcff;color:#58748b;cursor:pointer}.plan-card>span{font-weight:800;font-size:16px}.plan-card strong{font-size:34px;color:#7850ae;line-height:1.2}.plan-card strong small{font-size:16px;margin-right:3px}.plan-card>small{font-size:11px;color:#8791a6}.plan-card.selected{border-color:#ae87d7;background:linear-gradient(145deg,#f7f0ff,#eee1fb);box-shadow:0 4px #c9afe4}.plan-note{text-align:center;font-size:13px;color:#7895a0;margin:23px 0 18px}.upgrade-open{width:100%;padding:14px;border:1px solid #a580ce;border-radius:14px;background:linear-gradient(#bda0df,#a280ca);box-shadow:0 4px #8760b1;color:white;font:800 16px system-ui;cursor:pointer}.upgrade-open:disabled{opacity:.5;cursor:default}.upgrade-contact{text-align:center}.upgrade-contact>p{line-height:1.7}.qr-frame{display:grid;place-items:center;min-height:240px;border:1px solid #d7e4ed;border-radius:18px;background:white;padding:18px}.qr-frame img{display:block;width:100%;max-width:260px;height:260px;object-fit:contain}.qr-frame p{color:#7895a0;font-size:14px;line-height:1.8}.contact-hint{font-size:13px;color:#648693}@media(max-width:600px){.plan-grid{gap:8px}.plan-card{padding:20px 5px;gap:10px;border-radius:14px}.plan-card>span{font-size:14px}.plan-card strong{font-size:29px}.plan-card>small{font-size:10px}.qr-frame img{height:auto;aspect-ratio:1}}

/* Upgrade package selection: three compact rectangular cards in one row. */
.upgrade-plans .plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.upgrade-plans .plan-card{position:relative;justify-content:center;min-height:166px;padding:22px 8px 28px;gap:14px;border:2px solid #d5e3ef;border-radius:16px;background:linear-gradient(155deg,#ffffff,#f0f8fc);box-shadow:0 3px 0 #c5dce64d;transition:border-color .18s,background .18s,box-shadow .18s;color:#58768a;overflow:hidden}
.upgrade-plans .plan-card>span{font-size:16px;line-height:1.4}.upgrade-plans .plan-card strong{color:#718499;font-size:36px;letter-spacing:-1px}.upgrade-plans .plan-card>small{color:#8799a6;font-size:12px}
.upgrade-plans .plan-card:hover{border-color:#b9a0d7;background:#fbf8ff}
.upgrade-plans .plan-card.selected{border-color:#a884d0;background:linear-gradient(150deg,#faf5ff,#eadcf9);box-shadow:0 4px 0 #c4a8df,0 7px 18px #9675bd16;color:#7950a7}
.upgrade-plans .plan-card.selected strong{color:#7950a7}.upgrade-plans .plan-card.selected>small{color:#9678b3}
.upgrade-plans .plan-card.selected::after{content:'✓';position:absolute;right:0;bottom:0;width:28px;height:26px;display:grid;place-items:center;border-radius:12px 0 12px 0;background:#a582cf;color:#fff;font:800 17px/1 system-ui}
.upgrade-plans .upgrade-open{display:block;width:100%;min-height:52px;padding:14px 24px;border:1px solid #a17cc7;border-radius:999px;background:linear-gradient(110deg,#b99bdc,#9d79c7);box-shadow:0 4px 0 #8862b2,0 8px 18px #9878bd20;color:#fff;font:800 16px/1.5 system-ui,'Microsoft YaHei',sans-serif;letter-spacing:1px;transition:filter .18s,box-shadow .18s}
.upgrade-open:hover:not(:disabled){filter:brightness(1.04)}.upgrade-open:active:not(:disabled){box-shadow:0 2px 0 #8862b2}.plan-card:focus-visible,.upgrade-open:focus-visible{outline:3px solid #7950a7;outline-offset:4px}
@media(max-width:600px){.upgrade-plans .plan-grid{gap:8px}.upgrade-plans .plan-card{min-height:146px;padding:18px 4px 26px;gap:12px;border-radius:13px}.upgrade-plans .plan-card>span{font-size:14px}.upgrade-plans .plan-card strong{font-size:30px}.upgrade-plans .plan-card>small{font-size:10px}.upgrade-plans .plan-card.selected::after{width:25px;height:24px;font-size:15px;border-bottom-right-radius:10px}.upgrade-plans .upgrade-open{min-height:50px}}
@media(prefers-reduced-motion:reduce){.upgrade-plans .plan-card,.upgrade-plans .upgrade-open{transition:none}}

.forest-entry{background:linear-gradient(145deg,#f0f8df,#deedca);border-color:#bfd5a8;box-shadow:0 5px #a8c18e;color:#5b7647}.forest-entry:hover{box-shadow:0 8px #a8c18e}.forest-entry small{color:#81946e}

.memory-entry{background:linear-gradient(145deg,#f5efff,#e7ddf4);border-color:#c9b9dd;box-shadow:0 5px #b8a3cf;color:#80659e}.memory-entry:hover{box-shadow:0 8px #b8a3cf}.memory-entry small{color:#9985ae}

.member-game-card{position:relative;padding-top:42px}.game-difficulty{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:1;white-space:nowrap}.difficulty-label{color:#7895a0;font-weight:500}.difficulty-stars{display:inline-flex;gap:2px;font-size:12px}.star-lit{color:#d8a13b;text-shadow:0 1px #fff8}.star-dim{color:#b8c4cb;opacity:.65}.match-entry .difficulty-label{color:#99865f}.forest-entry .difficulty-label{color:#83966f}.memory-entry .difficulty-label{color:#9985ae}@media(max-width:600px){.member-game-card{padding-top:39px}.game-difficulty{top:11px;right:8px;font-size:9px;gap:2px}.difficulty-stars{font-size:11px;gap:1px}}

.current-level-card .level-art{display:grid;place-items:center;flex-shrink:0;width:88px;height:88px;border-radius:26px;background:linear-gradient(145deg,#e5f7ff,#d5eff7);border:1px solid #b9dfeb;box-shadow:0 5px #a9cfdc}.current-level-card .level-art svg{display:block;width:72px;height:72px}.current-level-card .level-art-match{background:linear-gradient(145deg,#fff8dc,#ffedbf);box-shadow:0 3px #d8be81;border:1px solid #eed59a}.current-level-card .level-art-gaoxiao{background:linear-gradient(145deg,#f0f8df,#deedca);box-shadow:0 3px #a8c18e;border:1px solid #bfd5a8}.current-level-card .level-art-yifan{background:linear-gradient(145deg,#f5efff,#e7ddf4);box-shadow:0 3px #b8a3cf;border:1px solid #c9b9dd}

/* Compact current-level card content. */
.current-level-card{gap:12px;padding:15px 16px}.current-level-card .level-art{width:60px;height:60px;border-radius:18px;box-shadow:0 4px #a9cfdc}.current-level-card .level-art svg{width:49px;height:49px}.current-level-card .level-copy strong{font-size:17px;line-height:1.35}.current-level-card .level-copy small{font-size:11px;margin-top:3px}.current-level-card .level-arrow{font-size:21px}@media(max-width:600px){.current-level-card{gap:9px;padding:12px}.current-level-card .level-art{width:50px;height:50px;border-radius:15px}.current-level-card .level-art svg{width:40px;height:40px}.current-level-card .level-copy strong{font-size:15px}.current-level-card .level-copy small{font-size:10px}.current-level-card .level-arrow{font-size:19px}}

/* Current-level card follows the selected game's full card palette. */
.current-level-card.current-level-balloon{background:linear-gradient(145deg,#e5f7ff,#d5eff7);border-color:#b9dfeb;box-shadow:0 5px #a9cfdc;color:#356c80}.current-level-card.current-level-balloon:hover{box-shadow:0 7px #a9cfdc}.current-level-card.current-level-match{background:linear-gradient(145deg,#fff8dc,#ffedbf);border-color:#eed59a;box-shadow:0 5px #d8be81;color:#826029}.current-level-card.current-level-match:hover{box-shadow:0 7px #d8be81}.current-level-card.current-level-gaoxiao{background:linear-gradient(145deg,#f0f8df,#deedca);border-color:#bfd5a8;box-shadow:0 5px #a8c18e;color:#5b7647}.current-level-card.current-level-gaoxiao:hover{box-shadow:0 7px #a8c18e}.current-level-card.current-level-yifan{background:linear-gradient(145deg,#f5efff,#e7ddf4);border-color:#c9b9dd;box-shadow:0 5px #b8a3cf;color:#80659e}.current-level-card.current-level-yifan:hover{box-shadow:0 7px #b8a3cf}.current-level-card .level-art{background:#ffffff55!important;border-color:#ffffff80!important;box-shadow:0 3px #ffffff36!important}.current-level-card .level-copy small{color:inherit;opacity:.72}

/* Separate progress for each game. */
#currentLevel{display:grid;gap:13px}#currentLevel .level-copy small{line-height:1.65;overflow-wrap:anywhere}

.pair-entry,.current-level-card.current-level-peidui{background:linear-gradient(145deg,#e0f4fb,#dbeee2);border-color:#b5d6d7;color:#467784}

.member-game-card.split-entry{background:linear-gradient(145deg,#edf6fc,#eee5f7);border-color:#c2d6e4;color:#627c99}.split-entry .member-game-icon{background:linear-gradient(145deg,#e0eff8,#e8ddf2);border-color:#c4d5e5;box-shadow:0 4px #b9c9db}

.member-game-card.pair-entry,.current-level-card.current-level-peidui{background:linear-gradient(135deg,#edf8ff 0%,#d6eaff 52%,#c5def6 100%);border-color:#a8cce7;color:#416f98;box-shadow:0 5px #9abedb,0 10px 20px #5986b015}.member-game-card.pair-entry .member-game-icon{background:linear-gradient(145deg,#f6fcff,#cce5fb);border-color:#b3d2eb;box-shadow:0 4px #a2c2de}.pair-entry .member-game-go{color:#497da7}.current-level-card.current-level-peidui:hover{box-shadow:0 7px #9abedb}

.member-game-card.pair-entry,.current-level-card.current-level-peidui{background:linear-gradient(135deg,#fff0e7,#ffd8c5 52%,#f7c3b6);border-color:#e9b09e;color:#985e4b;box-shadow:0 5px #d59b87,0 10px 20px #ab725215}.member-game-card.pair-entry .member-game-icon{background:linear-gradient(145deg,#fff8ef,#fbd2be);border-color:#eac2aa;box-shadow:0 4px #d9ac96}.pair-entry .member-game-go{color:#a2674e}.current-level-card.current-level-peidui:hover{box-shadow:0 7px #d59b87}

.favorites-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;padding:20px;border:1px solid #dde7dc;border-radius:18px;background:#f5f8ee;color:#45623e;text-decoration:none;font-size:16px;font-weight:600}.favorites-entry span:last-child{font-size:12px;font-weight:400;color:#839275}

.mistakes-entry{background:#fff2e8;border-color:#edd8c8;color:#a36b4d}

/* Pairing entry follows the clear sky game theme. */
.member-game-card.pair-entry,.current-level-card.current-level-peidui{background:linear-gradient(135deg,#f8fbff,#d9e8f7 55%,#c3d8ee);border-color:#97b4d4;color:#243f62;box-shadow:0 5px #8da9ca,0 10px 20px #335b8015}
.member-game-card.pair-entry .member-game-icon{background:#fff;border-color:#b7cce2;box-shadow:0 4px #afc5dd}
.member-game-card.pair-entry strong,.current-level-card.current-level-peidui .level-copy strong{color:#243f62}
.member-game-card.pair-entry small,.current-level-card.current-level-peidui .level-copy small{color:#587493}
.pair-entry .member-game-go{color:#315f95}
.current-level-card.current-level-peidui:hover{box-shadow:0 7px #8da9ca}

.member-study-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.member-study-shortcuts .favorites-entry{margin:0;min-width:0;min-height:104px;padding:17px 14px;align-items:flex-start;justify-content:center;flex-direction:column;gap:9px;border-radius:16px;font-size:15px}.member-study-shortcuts .favorites-entry>span{overflow-wrap:anywhere}.member-study-shortcuts .favorites-entry>span:last-child{font-size:11px;line-height:1.6}.member-study-shortcuts .sequential-entry{background:#edf5fb;border-color:#cbdfe9;color:#46738d}.member-study-shortcuts .sequential-entry>span:last-child{color:#7c98a6}@media(max-width:380px){.member-study-shortcuts{gap:9px}.member-study-shortcuts .favorites-entry{padding:14px 10px;font-size:13px}.member-study-shortcuts .favorites-entry>span:last-child{font-size:10px}}

.member-study-shortcuts[hidden]{display:none!important}

#memberAccountHeading[hidden]{display:none!important}

/* Compact authentication tabs aligned with the form. */
#auth{margin-top:0}
#auth .auth-tabs{max-width:430px;margin:0 auto 22px;padding:4px;gap:4px;border:1px solid #c5e0ea;border-radius:12px;background:#e7f3f8}
#auth .auth-tab{min-height:42px;padding:9px 14px;border-radius:8px;background:transparent;box-shadow:none;color:#6b8b9b;font-size:15px;font-weight:700;line-height:1.5;transition:background .15s,color .15s}
#auth .auth-tab.active{background:#477f98;color:#fff;box-shadow:0 2px 5px #315e7618}
#auth .auth-tab:hover:not(.active){background:#d8eaf2;color:#356c80}
#auth #register{padding-top:0;border-top:0}
@media(max-width:600px){#auth .auth-tabs{margin:0 auto 20px}#auth .auth-tab{min-height:40px;font-size:14px}}
