.review{border-top:1px dashed var(--panel-edge);min-width:0;margin-bottom:1.1rem;padding-top:1rem}@media (width>=900px){.review{border-top:none;border-left:1px dashed var(--panel-edge);padding:.1rem 0 0 1.6rem}}.review__kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 .35rem;font-size:.64rem;font-weight:500;line-height:1.5}.review__count{color:var(--ink);margin:0 0 .6rem;font-size:1rem;line-height:1.4}.review__count b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.review__flags{align-items:center;gap:.35rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.review__flag{flex:0 30px;min-width:18px}.review__flag img{aspect-ratio:3/2;object-fit:contain;background:var(--ocean);filter:saturate(.7)brightness(.9);border-radius:2px;width:100%;height:auto;display:block;box-shadow:0 0 0 1px #0006}.review__more{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;margin-left:.2rem;font-size:.68rem}.review__away,.review__why{color:var(--ink-dim);margin:0 0 .7rem;font-size:.82rem;line-height:1.5}.review__away{color:var(--ink)}.review__away b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.review__why b{color:var(--ink);font-weight:700}.review__link{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-dim);text-decoration:underline;-webkit-text-decoration-color:var(--panel-edge);text-decoration-color:var(--panel-edge);text-underline-offset:3px;white-space:nowrap;font-size:.72rem;transition:color .13s}.review__link:hover{color:var(--brass)}.review__actions{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;display:flex}.review__go{flex:none;padding:.55rem 1.1rem;font-size:.72rem;font-weight:700}.review__time{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:.62rem}.passport{max-width:1180px;margin:0 auto;padding:2rem 1.5rem 4rem}html:not([data-prerendered]) .passport{animation:.36s both rise}.passport__head{margin-bottom:1.8rem;padding:1.4rem 1.6rem}@media (width>=900px){.passport__head{grid-template-columns:minmax(0,1fr) minmax(0,23rem);align-items:start;column-gap:2.5rem;display:grid}.passport__intro{grid-area:1/1}.passport__reviewslot{grid-area:1/2}.passport__tools{grid-area:2/1/auto/-1}}html[data-progress] .passport__reviewslot:empty{min-height:182px}@media (width>=900px){html[data-progress] .passport__reviewslot:empty{min-height:210px}}.passport__back{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:1.4rem;font-size:.7rem;text-decoration:none;transition:color .13s;display:inline-block}.passport__back:hover{color:var(--brass)}.passport__learn{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-dim);margin-top:.75rem;font-size:.72rem;text-decoration:none;transition:color .13s;display:inline-block}.passport__learn:hover{color:var(--brass)}.passport__titlerow{align-items:center;gap:.8rem;display:flex}.passport__icon{width:44px;height:44px;color:var(--brass);background:color-mix(in srgb, var(--brass) 12%, transparent);border:1px solid color-mix(in srgb, var(--brass) 28%, transparent);border-radius:9px;flex:none;place-items:center;display:grid}.passport__icon svg{width:26px;height:26px}.passport__heading{min-width:0}.passport__kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-soft);margin:0 0 .2rem;font-size:.68rem}.passport__title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;line-height:1.05}.passport__sub{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);margin:.2rem 0 .7rem;font-size:.8rem}.passport__sub b{color:var(--brass)}.passport__progress{max-width:460px;margin-bottom:1.1rem}.passport__bar{background:var(--ocean);border-radius:4px;height:7px;display:flex;overflow:hidden}.passport__seg{height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1)}.passport__seg--mastered{background:var(--brass)}.passport__seg--learning{background:#3d9a70}.passport__legend{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.15rem .9rem;margin-top:.55rem;font-size:.62rem;display:flex}.passport__key{align-items:center;gap:.32rem;display:inline-flex}.passport__key:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.passport__key--mastered{color:var(--brass)}.passport__key--learning{color:#3d9a70}.passport__key--unseen{color:var(--ink-dim)}.passport__key--unseen:before{border:1px solid var(--ink-dim);background:0 0}.passport__tools{flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;display:flex}.passport__search{background:var(--ocean);border:1px solid var(--field-edge);border-radius:var(--radius);min-width:0;color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;flex:240px;padding:.7rem .9rem;font-size:.9rem;transition:border-color .13s,box-shadow .13s}.passport__search::placeholder{color:var(--ink-dim)}.passport__search:focus{border-color:var(--brass-soft);box-shadow:0 0 0 1px var(--brass-soft)}.passport__sort{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.passport__sort-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-right:.1rem;font-size:.62rem}.passport__sortbtn{background:var(--ocean);border:1px solid var(--panel-edge);color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:.4rem .75rem;font-size:.66rem;transition:border-color .12s,color .12s,background .12s}.passport__sortbtn:hover{border-color:var(--brass-soft);color:var(--ink)}.passport__sortbtn.is-active{border-color:var(--brass);color:var(--brass);background:color-mix(in srgb, var(--brass) 10%, transparent)}@media (pointer:coarse){.passport__sort{row-gap:.5rem}.passport__sortbtn{min-height:2.25rem;position:relative}.passport__sortbtn:after{content:"";inset:var(--hit-inset);position:absolute}}.passport__group{cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);align-items:center;gap:.45rem;font-size:.66rem;transition:color .12s;display:inline-flex}.passport__group:hover{color:var(--ink)}.passport__group input{width:.95rem;height:.95rem;accent-color:var(--brass);cursor:pointer}.passport__region{margin-bottom:2.4rem}.passport__region .sechead{margin-bottom:1.4rem}.passport__count{color:var(--ink-dim);letter-spacing:.06em;margin-left:.6rem;font-size:.62rem}.passport__empty{text-align:center;color:var(--ink-dim);font-family:var(--font-mono);padding:2rem}.passport__grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.7rem;display:grid}.flagcell{content-visibility:auto;contain-intrinsic-size:auto 142px;border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 72%, transparent);border:1px solid var(--panel-edge);flex-direction:column;gap:.45rem;padding:.55rem;text-decoration:none;transition:border-color .13s,transform .13s;display:flex}.flagcell:hover{border-color:var(--brass-soft);transform:translateY(-2px)}.flagcell img{aspect-ratio:3/2;object-fit:contain;border-radius:2px;width:100%;display:block}.flagcell__foot{flex-direction:column;gap:.3rem;display:flex}.flagcell__name{color:var(--ink);letter-spacing:.01em;font-size:.74rem;line-height:1.25}.flagcell--unseen img{filter:grayscale()brightness(.55);opacity:.55}.flagcell--unseen .flagcell__name{color:var(--ink-dim)}.flagcell--unseen:hover img{filter:grayscale(.35)brightness(.85);opacity:.9}.flagcell--mastered{border-width:2px;border-color:var(--brass);background:color-mix(in srgb, var(--brass) 12%, var(--panel) 68%);position:relative;overflow:hidden}.flagcell--mastered:after{content:"";pointer-events:none;opacity:0;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 34%,#ffe7a029 47%,#fffdf457 50.5%,#ffe7a029 54%,#0000 66%) 150% 0/250% 100%;animation:9s ease-in-out infinite flagcell-sheen;position:absolute;inset:0}@keyframes flagcell-sheen{0%{opacity:0;background-position:150% 0}10%{opacity:1}28%{opacity:1}38%{opacity:0;background-position:-50% 0}to{opacity:0;background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.flagcell--mastered:after{animation:none}}.passport__hublink{color:var(--brass);margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.76rem;font-weight:400;text-decoration:none}.passport__hublink:hover{color:var(--ink)}
