.account-chip{cursor:pointer;border-radius:0}.account-chip small{font:700 7px monospace;color:var(--teal)}.account-chip:hover{border-color:var(--teal);box-shadow:0 5px 18px rgba(12,129,125,.12)}.mypage{position:fixed;z-index:160;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,20,24,.78);backdrop-filter:blur(12px)}.mypage[hidden]{display:none}.mypage-shell{width:min(920px,100%);height:min(720px,calc(100vh - 40px));display:grid;grid-template-columns:210px 1fr;background:#f7faf8;box-shadow:0 35px 110px rgba(0,0,0,.48);overflow:hidden}.mypage-side{position:relative;padding:28px 20px;background:#09262b;color:#fff}.mypage-side h2{margin:0;font:900 21px "Zen Kaku Gothic New";letter-spacing:.08em}.mypage-identity{margin:30px 0 25px}.mypage-avatar{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#69d5c1;color:#09262b;font-size:25px;font-weight:900}.mypage-identity b,.mypage-identity small{display:block}.mypage-identity b{margin-top:12px;font-size:13px}.mypage-identity small{margin-top:4px;color:#719398;font:8px monospace}.mypage-nav{display:grid;gap:5px}.mypage-nav button{border:0;border-left:2px solid transparent;background:transparent;color:#819fa2;padding:11px;text-align:left;font:700 10px "Noto Sans JP";cursor:pointer}.mypage-nav button.active{border-color:#69d5c1;background:rgba(105,213,193,.1);color:#fff}.mypage-logout{position:absolute;left:20px;right:20px;bottom:22px;border:1px solid #315157;background:transparent;color:#9bb2b4;padding:10px;font-size:9px;cursor:pointer}.mypage-main{position:relative;padding:38px;overflow:auto}.mypage-close{position:absolute;right:22px;top:17px;border:0;background:none;color:#718487;font-size:27px;cursor:pointer}.mypage-panel[hidden]{display:none}.mypage-kicker{margin:0;color:var(--teal);font:800 9px monospace;letter-spacing:.17em}.mypage-panel h3{margin:7px 0 25px;font:800 27px "Zen Kaku Gothic New"}.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.profile-metric{padding:16px;border:1px solid var(--line);background:#fff}.profile-metric span,.profile-metric b{display:block}.profile-metric span{color:#819497;font:7px monospace;letter-spacing:.1em}.profile-metric b{margin-top:7px;font:800 22px monospace;color:#163d41}.category-summary{margin-top:25px}.category-summary h4{font-size:11px}.category-score{display:grid;grid-template-columns:105px 1fr 36px;gap:9px;align-items:center;margin:10px 0;font-size:9px}.category-score div{height:7px;background:#dfe9e6}.category-score i{display:block;height:100%;background:linear-gradient(90deg,#0c817d,#69d5c1)}.history-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-toolbar span{font-size:9px;color:var(--muted)}.history-list{display:grid;gap:8px}.history-entry{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:13px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--danger)}.history-entry.ok{border-left-color:var(--teal)}.history-entry>i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fff0ef;color:var(--danger);font-style:normal;font-weight:900}.history-entry.ok>i{background:#e8f5f1;color:var(--teal)}.history-entry b,.history-entry small{display:block}.history-entry b{font-size:10px;line-height:1.5}.history-entry small{margin-top:4px;color:var(--muted);font-size:8px}.history-entry time{font:7px monospace;color:#849699}.history-empty{padding:40px;text-align:center;color:var(--muted);font-size:11px}.account-form{max-width:460px}.account-form label{display:block;margin-top:16px;font-size:10px;font-weight:700}.account-form input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:#fff;font:12px inherit}.account-form button{margin-top:18px}.account-status{min-height:18px;color:var(--teal);font-size:9px}.danger-zone{max-width:460px;margin-top:34px;padding:19px;border:1px solid #edc6c8;background:#fff8f7}.danger-zone h4{margin:0;color:var(--danger)}.danger-zone p{font-size:9px;color:var(--muted);line-height:1.6}.danger-zone button{border:1px solid var(--danger);background:#fff;color:var(--danger);padding:10px 13px;font-weight:700;cursor:pointer}.delete-confirm{margin-top:12px}.delete-confirm[hidden]{display:none}
@media(max-width:700px){.mypage{padding:0}.mypage-shell{height:100vh;grid-template-columns:1fr;grid-template-rows:auto 1fr}.mypage-side{padding:15px 16px}.mypage-side h2{font-size:16px}.mypage-identity{display:flex;align-items:center;gap:9px;margin:11px 0}.mypage-avatar{width:37px;height:37px;font-size:16px}.mypage-identity b{margin:0}.mypage-nav{display:flex;overflow:auto}.mypage-nav button{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.mypage-nav button.active{border-bottom-color:#69d5c1}.mypage-logout{right:15px;left:auto;top:15px;bottom:auto;width:auto}.mypage-main{padding:28px 17px}.mypage-panel h3{font-size:22px;margin-bottom:18px}.profile-metrics{grid-template-columns:1fr 1fr}.category-score{grid-template-columns:88px 1fr 32px}.history-entry{grid-template-columns:34px 1fr}.history-entry time{grid-column:2}.account-chip small{display:none}}
.title-ranking-btn{margin-top:12px;border:1px solid #355158;background:rgba(7,27,32,.75);color:#bfe6df;padding:11px 16px;font:700 10px "Noto Sans JP";letter-spacing:.05em;cursor:pointer}.title-ranking-btn:hover{border-color:#69d5c1;color:#fff}.ranking-rule{margin:-15px 0 18px;color:var(--muted);font-size:9px}.ranking-list{display:grid;gap:7px}.ranking-row{display:grid;grid-template-columns:48px minmax(130px,1.5fr) repeat(4,minmax(48px,.65fr));align-items:center;gap:8px;padding:12px 13px;border:1px solid var(--line);background:#fff}.ranking-row.is-me{border-color:#0c817d;background:#edf9f5;box-shadow:inset 3px 0 #0c817d}.ranking-rank{font:800 15px monospace;color:#163d41}.ranking-name{font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis}.ranking-name small{margin-left:6px;padding:2px 4px;background:#0c817d;color:#fff;font:700 6px monospace}.ranking-row>span:not(.ranking-name) small,.ranking-row>span:not(.ranking-name) b{display:block}.ranking-row>span:not(.ranking-name) small{color:var(--muted);font:7px monospace}.ranking-row>span:not(.ranking-name) b{margin-top:3px;font:800 11px monospace}.ranking-loading,.ranking-notice{padding:35px;text-align:center;background:#fff;border:1px solid var(--line);font-size:11px;color:var(--muted)}.ranking-notice b,.ranking-notice span{display:block}.ranking-notice b{margin-bottom:7px;color:var(--ink)}
@media(max-width:700px){.ranking-row{grid-template-columns:38px minmax(95px,1fr) repeat(2,48px)}.ranking-row>span:nth-last-child(-n+2){display:none}.title-ranking-btn{width:100%}}
.mypage-nav .admin-nav{color:#ffd47b;border-color:rgba(255,212,123,.35)}.admin-tabs{display:flex;gap:7px;margin:-10px 0 18px}.admin-tabs button{border:1px solid var(--line);background:#fff;padding:10px 14px;font:700 9px "Noto Sans JP";cursor:pointer}.admin-tabs button.active{border-color:#0c817d;background:#0c817d;color:#fff}.admin-view[hidden]{display:none}.admin-users{width:100%;border-collapse:collapse;background:#fff;font-size:10px}.admin-users th,.admin-users td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.admin-view h4{margin:22px 0 10px;font-size:11px}.admin-answers{display:grid;gap:7px}.admin-answer{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:11px;border:1px solid var(--line);background:#fff}.admin-answer>i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-style:normal;font-weight:900}.admin-answer.ok>i{background:#e4f6ef;color:#08786f}.admin-answer.ng>i{background:#fff0f0;color:#c83345}.admin-answer b,.admin-answer span,.admin-answer small{display:block}.admin-answer b{font-size:9px}.admin-answer span{margin:3px 0;font-size:10px;line-height:1.5}.admin-answer small{color:var(--muted);font-size:8px}.admin-search{width:100%;margin-bottom:20px;padding:12px;border:1px solid var(--line);background:#fff;font:11px inherit}.admin-questions{display:grid;gap:10px}.admin-question{padding:15px;border:1px solid var(--line);background:#fff}.admin-question header{display:flex;justify-content:space-between;color:var(--teal);font:8px monospace}.admin-question p{font-size:11px;font-weight:700;line-height:1.6}.admin-question ol{padding-left:25px;font-size:9px;line-height:1.8}.admin-question li.answer{color:#08786f;font-weight:800;background:#eaf8f3}.admin-question>small{display:block;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;line-height:1.6}
@media(max-width:700px){.admin-users th,.admin-users td{padding:7px 5px;font-size:8px}.admin-question{padding:11px}.admin-answer span{font-size:9px}}
.ranking-tabs{display:flex;gap:6px;margin:-10px 0 22px;overflow-x:auto}.ranking-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:9px 12px;color:var(--muted);font:700 9px "Noto Sans JP";cursor:pointer}.ranking-tabs button.active{border-color:#0c817d;background:#0c817d;color:#fff}.ranking-row .challenge-score b{font-size:17px;color:#0c817d}
.admin-answer-guide{margin:0 0 22px;padding:14px 16px;border:1px solid #d5a842;background:#fff9e8;box-shadow:inset 3px 0 #d5a842}.admin-answer-guide header{display:flex;align-items:center;justify-content:space-between;color:#72520c;font:800 8px monospace;letter-spacing:.12em}.admin-answer-guide header button{border:1px solid #d5a842;background:#fff;color:#72520c;padding:6px 9px;font:700 8px inherit;cursor:pointer}.admin-answer-guide div{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px}.admin-answer-guide div span{padding:4px 7px;background:#72520c;color:#fff;font:800 8px monospace}.admin-answer-guide p{margin:8px 0 0;color:#6e6250;font-size:9px;line-height:1.6}.admin-answer-guide.hidden-answer{background:#f5f5f2;border-color:var(--line);box-shadow:none}.choice.admin-correct-choice:not(:disabled){border-color:#d5a842;background:#fff9e8;box-shadow:inset 4px 0 #d5a842}.choice.admin-correct-choice:not(:disabled):after{content:"ADMIN 正答";margin-left:auto;color:#72520c;font:800 8px monospace;letter-spacing:.06em}

.ranking-personal{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:16px;border:1px solid var(--line);background:#fff}.ranking-personal>b,.ranking-personal>span{font-size:12px}.ranking-personal>strong{font-size:24px;color:var(--teal)}.ranking-personal>small{flex-basis:100%;font-size:11px;color:var(--muted);line-height:1.6}.ranking-personal button{margin-left:auto}
