.brand-mark{object-fit:cover;padding:0}.intro h1{font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.55;letter-spacing:.02em;white-space:nowrap}.intro h1 span{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.1rem);letter-spacing:-.05em}.intro .lead{max-width:34rem;font-size:.95rem;margin-top:1rem}.app-shell{padding-bottom:5.4rem}.bottom-tabs{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(700px,100%);display:grid;grid-template-columns:repeat(5,1fr);gap:.1rem;padding:.55rem .4rem max(.55rem,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -4px 18px #28423812}.app-tab{border:0;background:transparent;color:#8ba097;font-size:.66rem;padding:.22rem .05rem;cursor:pointer;display:grid;justify-items:center;gap:.16rem}.app-tab span{font-size:1.15rem;line-height:1}.app-tab.active{color:var(--forest);font-weight:800}.app-view{max-width:760px;margin:1rem auto 3rem;padding:1.5rem 2rem;background:var(--white);border:1px solid var(--line);border-radius:1.2rem}.app-view h2{font-family:Georgia,"Yu Mincho",serif;font-size:2rem;letter-spacing:-.05em;margin:.2rem 0 1rem}.app-view>p{color:var(--muted);line-height:1.7}.rank-avatar{width:1.8rem;height:1.8rem;border-radius:50%;display:inline-grid;place-items:center;background:#e8f0da;color:var(--forest);font-style:normal;font-size:.72rem;margin-right:.5rem}.profile-editor{display:flex;align-items:center;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--line);margin-bottom:1.2rem}.profile-avatar{width:5.2rem;height:5.2rem;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#f3f5e7}.profile-editor p{font-size:.82rem;color:var(--muted);line-height:1.5}.upload-button{display:inline-block;width:auto;padding:.5rem .8rem;font-size:.78rem;margin-top:.3rem;cursor:pointer}.name-label{display:grid;gap:.4rem;font-size:.82rem;font-weight:700;margin:1rem 0}.name-label input{border:1px solid var(--line);border-radius:.55rem;padding:.72rem;font:inherit;background:#fff}@media(max-width:850px){.workspace{display:none}.workspace.is-visible{display:grid}.workspace .filters{display:none}.workspace.training .filters{display:none}.filters.mobile-open{display:block}.filters{max-height:45vh;overflow:auto}.profile-card{display:none}.intro{margin-top:1.5rem}.mode-grid{padding-bottom:.8rem}.app-view{margin:1rem;padding:1.25rem}.intro h1{font-size:1.08rem}.intro h1 span{font-size:2.55rem}}@media(min-width:851px){.workspace.training .filters{display:block}.workspace:not(.training) .filters{display:none}.workspace:not(.training){grid-template-columns:minmax(0,1fr) 210px}.workspace:not(.training) .quiz-panel{grid-column:1}.workspace:not(.training) .profile-card{display:none}}

[hidden]{display:none!important}.ranking-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.8rem;margin-top:1.2rem}.own-rank{margin:1rem 0;padding:1rem;background:#f0f3e3;border:1px solid var(--line);border-radius:.8rem;font-weight:700}.empty-row{color:var(--muted);font-size:.85rem}.ranking-person{display:flex;align-items:center;min-width:0}.ranking-person img{width:2rem;height:2rem;border-radius:50%;object-fit:cover;margin-right:.55rem;background:#f3f5e7}.ranking-person-copy{display:grid;min-width:0}.ranking-person-copy b{overflow:hidden;text-overflow:ellipsis}.ranking-socials{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name-label,.name-label input{min-width:0}.name-label input{width:100%}@media(max-width:850px){.app-view{margin:.7rem 1rem 1rem;padding:1.1rem}.workspace.is-visible{padding-bottom:1rem}.quiz-panel{min-height:0;padding:1rem}.progress-track{margin:.55rem 0 1rem}.question{font-size:1.3rem;margin:.75rem 0 1rem}.answers{gap:.45rem}.answer{padding:.72rem .8rem;font-size:.92rem}.explanation{margin-top:.65rem;padding:.7rem .8rem;line-height:1.48;font-size:.86rem}.next-row{margin-top:.55rem}.level-picker{margin-bottom:.6rem}.site-header{padding-block:.65rem}.brand-mark{width:2.35rem;height:2.35rem}.header-status{font-size:.68rem}.profile-editor{align-items:flex-start}.ranking-list li{gap:.45rem}}

.progress-card{background:#f4f5e8;color:var(--forest);border:2px solid var(--forest);padding:1.1rem 1.25rem;border-radius:1.2rem;min-width:17rem}.progress-card>p{font-size:.8rem;font-weight:800;margin:0 0 .8rem}.level-progress{display:grid;gap:.7rem}.level-progress-row{display:grid;grid-template-columns:2.5rem minmax(5rem,1fr) 7.25rem;align-items:center;gap:.55rem;font-size:.78rem}.level-progress-row b{font-size:.78rem}.level-progress-row em{font-style:normal;font-weight:800;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.level-progress-track{width:100%;height:.45rem;background:#dce4d6;border-radius:1rem;overflow:hidden}.level-progress-track i{display:block;height:100%;background:var(--forest);border-radius:1rem;transition:width .35s}.ranking-caption{margin:.45rem 0 0!important;font-size:.78rem}.ranking-list li{height:4.2rem;overflow:hidden}.ranking-person{cursor:pointer;border:0;background:transparent;color:inherit;text-align:left;padding:0;flex:1;overflow:hidden}.ranking-person-copy{height:2.75rem;align-content:center}.ranking-person-copy b{white-space:nowrap}.ranking-socials{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.2;overflow:hidden;overflow-wrap:anywhere}.own-rank{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-summary .primary-button{width:100%}.profile-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem}.ranking-publish-panel{border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem}.ranking-publish-panel h3{margin:.2rem 0;font-size:1rem}.compact-socials{margin:.65rem 0}.result-dialog:has(.ranking-publish-panel:not([hidden])){max-height:calc(100vh - 2rem);overflow:auto}.person-dialog{text-align:center}.person-dialog .profile-avatar{width:6rem;height:6rem}.person-social-list{display:grid;gap:.5rem;margin-top:1rem;text-align:left}.person-social-list p{margin:0;padding:.65rem;background:#f4f6ef;border-radius:.5rem;overflow-wrap:anywhere}.workspace:not(.training) .filter-toggle{display:none!important}@media(max-width:850px){.progress-card{width:100%;min-width:0}.ranking-list li{height:4.35rem}.own-rank{font-size:clamp(.65rem,3vw,.82rem);padding:.8rem .55rem}.ranking-meta{font-size:.72rem}.ranking-person img{flex:0 0 auto}.profile-editor{gap:.8rem}.result-dialog{padding:1.25rem}.compact-socials{grid-template-columns:1fr 1fr}.compact-socials p{display:none}}

@media(min-width:851px){.workspace:not(.training){grid-template-columns:1fr!important}}

/* Keep the next action reachable while the complete explanation remains visible. */
#quizContent:has(.next-row){padding-bottom:5.75rem}
.next-row{position:fixed;z-index:24;right:max(1rem,calc((100vw - 700px)/2 + 1rem));bottom:calc(4.65rem + env(safe-area-inset-bottom));margin:0;padding:.42rem;border:1px solid #d6decf;background:rgba(255,255,255,.94);border-radius:.85rem;box-shadow:0 9px 28px rgba(16,45,36,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.next-row .primary-button{min-width:8.8rem;box-shadow:0 3px 0 #ccf36a}
@media(min-width:851px){.next-row{bottom:5rem}}

.intro h1 span{font-size:clamp(1.85rem,5vw,4.1rem)}@media(max-width:500px){.intro h1 span{font-size:clamp(1.75rem,8.5vw,2.25rem)}}

.training-chooser{max-width:760px;margin:auto;padding:.5rem 0}.training-chooser h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.55rem,3vw,2.2rem);margin:.25rem 0 .7rem}.training-chooser>p:not(.eyebrow){color:var(--muted);line-height:1.7}.training-selection{display:flex;align-items:baseline;gap:.8rem;margin:1.25rem 0;padding:1rem;background:#f4f6ef;border-radius:.8rem}.training-selection strong{font-family:Georgia,serif;font-size:1.8rem;color:var(--forest)}.training-selection span{color:var(--muted);font-size:.85rem}.training-start{width:100%;margin-top:.7rem;padding:1rem}.training-start:disabled{opacity:.45;cursor:not-allowed}.ranking-section-title{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem;border-top:1px solid var(--line);padding-top:1.4rem}.ranking-section-title h3{margin:0}.ranking-section-title span{font-size:.8rem;color:var(--muted)}.period-picker{display:flex;gap:.45rem;margin:1rem 0}.period-button{border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--forest);padding:.5rem 1rem;font-weight:700;cursor:pointer}.period-button.active{background:var(--forest);color:#fff}.test-start{width:100%;margin-top:.5rem;padding:1rem}.next-actions{display:flex;gap:.7rem;margin-top:1.2rem}.next-actions .outline-button{width:auto}.result-actions{flex-wrap:wrap}@media(min-width:851px){.workspace.training:not(.choosing){grid-template-columns:1fr!important}.workspace.training:not(.choosing) .quiz-panel{grid-column:1}}@media(max-width:500px){.level-picker{display:grid!important;grid-template-columns:repeat(3,1fr)}.level-button{padding:.52rem .25rem}.training-selection{align-items:center}.training-selection strong{font-size:1.5rem}.period-picker{display:grid;grid-template-columns:repeat(3,1fr)}.period-button{padding:.5rem .2rem}.next-actions{flex-direction:column}.next-actions .outline-button{width:100%}}
.unanswered-start{width:100%;margin-top:.7rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;color:var(--forest);display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer}.unanswered-start:hover{border-color:var(--forest);background:#f4f6ef}.unanswered-start span,.unanswered-start b,.unanswered-start small{display:block}.unanswered-start small{margin-top:.2rem;color:var(--muted);font-size:.75rem;font-weight:500}.unanswered-start>strong{white-space:nowrap}.unanswered-start:disabled{opacity:.5;cursor:not-allowed}
.site-header .brand-mark{object-fit:contain;border-radius:22%}.resume-dialog .outline-button{margin-top:.7rem}.resume-dialog>.text-button{display:block;margin:.85rem auto 0}

.workspace{grid-template-columns:minmax(0,1fr) 210px}.level-button,.level-progress-row,.level-guide span,.level-tag{--level:#52796b;--level-bg:#edf3e7}.level-button[data-level="入門"],.level-progress-row[data-level="入門"],.level-guide span[data-level="入門"],.level-tag[data-level="入門"]{--level:#5f9f62;--level-bg:#edf8e9}.level-button[data-level="基礎"],.level-progress-row[data-level="基礎"],.level-guide span[data-level="基礎"],.level-tag[data-level="基礎"]{--level:#2f8c73;--level-bg:#e6f6ef}.level-button[data-level="標準"],.level-progress-row[data-level="標準"],.level-guide span[data-level="標準"],.level-tag[data-level="標準"]{--level:#327c9b;--level-bg:#e8f3f8}.level-button[data-level="発展"],.level-progress-row[data-level="発展"],.level-guide span[data-level="発展"],.level-tag[data-level="発展"]{--level:#c47a24;--level-bg:#fff3df}.level-button[data-level="専門"],.level-progress-row[data-level="専門"],.level-guide span[data-level="専門"],.level-tag[data-level="専門"]{--level:#744c8f;--level-bg:#f3ebf8}.level-button:not([data-level="すべて"]){border-color:var(--level);background:var(--level-bg)}.level-button:not([data-level="すべて"])::before{content:"";display:inline-block;width:.48rem;height:.48rem;margin-right:.34rem;border-radius:50%;background:var(--level)}.level-button.active{background:var(--level,var(--forest));border-color:var(--level,var(--forest));color:#fff}.level-button.active::before{background:#fff}.level-progress-row .level-progress-track i{background:var(--level)}.level-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin:.55rem 0 1rem}.level-guide span{display:grid;gap:.08rem;padding:.55rem .45rem;border-top:3px solid var(--level);border-radius:.4rem;background:var(--level-bg);font-size:.66rem;color:var(--muted);text-align:center}.level-guide b{font-size:.78rem;color:var(--level)}.level-tag{background:var(--level-bg)!important;color:var(--level)!important;border:1px solid var(--level)}@media(max-width:850px){.workspace{grid-template-columns:1fr}.profile-card{display:none}.level-guide{grid-template-columns:repeat(2,1fr)}.level-guide span:last-child{grid-column:1/-1}.level-button{min-width:0}}
