.detective-identity{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2rem;border:1px solid var(--line,#d8dfd7);border-radius:12px;background:#fffdf7;margin-bottom:3rem}
.detective-person{display:flex;align-items:center;gap:1.5rem;min-width:0}.detective-person h2{overflow-wrap:anywhere;margin:.4rem 0}.detective-person p{margin:.35rem 0 1rem}.detective-avatar{display:grid;place-items:center;width:100px;min-width:100px;height:100px;border:1px solid #bccdc8;border-radius:50%;color:#183c40;background:#e9efe6;font-family:Georgia,serif;font-size:4rem}
.detective-identity fieldset{border:0;padding:0;margin:0 0 1rem}.detective-identity legend{font-weight:700}.detective-avatar-options{display:flex;gap:.65rem;flex-wrap:wrap}.detective-avatar-choice{position:relative;cursor:pointer}.detective-avatar-choice input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.detective-avatar-choice>span[aria-hidden]{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c7d4ce;border-radius:10px;background:#f4f3e9;color:#183c40;font-family:Georgia,serif;font-size:2rem}.detective-avatar-choice input:checked+span{border:2px solid #183c40;background:#e3ecdf;box-shadow:0 0 0 2px #fffdf7,0 0 0 3px #183c40}.detective-avatar-choice input:focus-visible+span{outline:3px solid #e87747;outline-offset:4px}.detective-avatar-choice input:disabled+span{opacity:.6;cursor:wait}
.detective-statistics{margin-bottom:3rem}.detective-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.detective-stats>div{padding:1.2rem 1.3rem;background:#eeeee3;border-radius:9px}.detective-stats strong{display:block;font-family:Georgia,serif;font-size:2.25rem;color:#183c40}.detective-stats span{display:block;margin-top:.4rem;font-size:.9rem;line-height:1.5;color:#506565}.detective-achievement-panel{margin-bottom:4rem}.detective-counter{border:1px solid #c7d4ce;border-radius:30px;padding:.45rem .9rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.detective-achievements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.detective-achievement{display:flex;align-items:flex-start;gap:1.1rem;padding:1.5rem;border:1px solid #d4dad1;border-radius:10px;background:#f5f3e9}.detective-achievement.is-earned{background:#edf2e8;border-color:#b6c8b6}.detective-medal{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:50%;border:1px solid #c2cdbf;color:#627366;font:1.5rem Georgia,serif;background:#f9f8ee}.is-earned .detective-medal{color:#183c40;background:#dce8d3;border-color:#a5bc9e}.detective-achievement-state{text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:#526455}.detective-achievement h3{font-size:1.12rem;margin:.45rem 0}.detective-achievement p{font-size:.88rem;line-height:1.55;margin:0 0 .8rem;color:#506565}.detective-achievement progress{display:inline-block;width:calc(100% - 60px);height:7px;accent-color:#406449;border:0;border-radius:8px;vertical-align:middle;background:#d8ded1}.detective-achievement progress::-webkit-progress-bar{background:#d8ded1;border-radius:8px}.detective-achievement progress::-webkit-progress-value{background:#406449;border-radius:8px}.detective-progress-text{display:inline-block;min-width:52px;text-align:right;font-size:.75rem;font-variant-numeric:tabular-nums;color:#506565}
.archive-explorer{margin:2.7rem 0 4rem}.archive-filter-form{display:grid;grid-template-columns:2fr 1.4fr 1fr 1.2fr;gap:1rem;align-items:end;margin:1.5rem 0}.archive-filter-form label{display:block;font-size:.8rem;font-weight:700;margin:0 0 .5rem}.archive-filter-form input,.archive-filter-form select{width:100%;min-height:44px;border:1px solid #c7d4ce;border-radius:6px;padding:.7rem .75rem;background:#fffdf7;font:inherit;font-size:.87rem;color:#183c40}.archive-filter-form .text-button{justify-self:start}.archive-results-count{color:#506565;font-size:.85rem}.archive-explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1rem 0 1.5rem}.archive-explorer-card{display:flex;flex-direction:column;min-width:0}.archive-explorer-card .case-card{height:100%;border-radius:10px 10px 0 0;margin:0}.archive-explorer-card h3{font:1.45rem/1.2 Georgia,serif;margin:1rem 0}.archive-explorer-card .card-foot{font-size:.7rem;gap:.8rem}.archive-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.75rem 1rem;border:1px solid #c7d4ce;border-top:0;border-radius:0 0 10px 10px;background:#fffdf7}.archive-personal-state{font-size:.73rem;color:#687875}.state-solved{color:#416647}.archive-card-actions .detective-favorite{font-size:.73rem;text-align:left;line-height:1.45;margin-left:auto}.detective-favorite{display:inline-flex;align-items:center;gap:.4rem}.detective-favorite.is-saved{color:#47684c}.detective-favorite [aria-hidden]{font-size:1.2em}.case-subtitle+.detective-favorite{margin-top:1rem}.archive-no-results{grid-column:1/-1;padding:1.5rem;border:1px dashed #c7d4ce;border-radius:10px;color:#506565}
@media(max-width:960px){.archive-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detective-identity{gap:2rem;padding:1.5rem}.detective-person{gap:1rem}.detective-avatar{width:76px;min-width:76px;height:76px;font-size:3rem}}
@media(max-width:620px){.detective-identity{grid-template-columns:1fr;gap:2rem}.detective-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.detective-stats>div{padding:1rem}.detective-stats strong{font-size:1.9rem}.detective-achievements,.archive-explorer-grid{grid-template-columns:1fr}.detective-achievement{padding:1.1rem;gap:.8rem}.detective-medal{flex-basis:46px;height:46px}.archive-search{grid-column:1/-1}.archive-filter-form{gap:.8rem}.archive-filter-form select{font-size:.8rem}.archive-filter-form input{font-size:1rem}.detective-identity{padding:1.2rem}.detective-person h2{font-size:1.55rem}}
