.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.history-grid .map-thumbnail{aspect-ratio:1;object-fit:contain}.history-cover{text-decoration:none;display:block}.history-grid blockquote{background:#edf1e7;border-radius:8px;margin:12px 0;padding:12px}.review-page{overflow:hidden}.review-page>header,.review-page>[data-port-page]>header{display:none}.review-page #app{max-width:none;margin:0;padding:0;position:fixed;inset:0}.review-shell{background:#e9ece4;height:100dvh;position:relative;overflow:hidden}.review-scene{position:absolute;inset:64px 320px 0 300px}.review-scene canvas{touch-action:none;display:block}.review-top{z-index:2;background:#fffef9ef;border-bottom:1px solid #d5ddce;align-items:center;gap:20px;min-height:64px;padding:10px 20px;display:flex;position:absolute;inset:0 0 auto}.review-top span{color:#596956;margin-left:auto;font-size:13px}.review-tools,.review-dialogue{background:#fffef9ed;border:1px solid #ccd8c3;border-radius:16px;position:absolute;top:84px;bottom:24px;box-shadow:0 8px 24px #3043360d}.review-tools{width:280px;padding:20px;left:20px;overflow:auto}.review-tools h1{margin:0;font-size:25px}.review-tools details{margin:20px 0}.review-tools article+article{border-top:1px solid #d5ddce;padding-top:12px}.review-dialogue{flex-direction:column;width:390px;display:flex;right:20px;overflow:hidden}.review-selection{border-bottom:1px solid #d5ddce;padding:14px 18px}.review-selection label{margin:0;font-size:13px}.review-selection select{margin:4px 0}.review-selection button{margin-top:6px}#review-status{padding:6px 18px;font-size:13px}#review-status:empty{padding:0}#review-retry{margin:4px 18px}#review-messages{overscroll-behavior:contain;flex:1;min-height:60px;padding:4px 18px 14px;overflow:auto}.review-message{border-bottom:1px solid #d5ddce;padding:12px 0}.review-message small{color:#596956}.review-message .actions{gap:6px;margin:8px 0}.review-message button{padding:6px 10px;font-size:13px}.review-bubble{white-space:pre-wrap;background:#edf1e7;border-radius:12px;margin:6px 0;padding:12px}.review-message.user .review-bubble{background:#dae7cf}.review-message.focused{outline-offset:-3px;border-radius:12px;outline:3px solid #ad823f;padding:12px}.review-correction{background:#fff1d6;border-radius:8px;padding:10px;font-size:13px}.review-correction p{margin:4px 0}.sentence-attempt{border-left:3px solid #a4bd93;margin:12px 0;padding-left:12px}.review-annotation{margin:10px 0}.review-compare{border:1px solid #d5ddce;border-radius:10px;padding:10px}summary{cursor:pointer;min-height:32px}#review-form{background:#fffef9;border-top:1px solid #d5ddce;padding:10px 18px 14px}#review-form label{margin:0 0 6px;font-size:13px}#review-source{max-height:60px;margin:0 0 6px;font-size:13px;overflow:auto}#review-form .actions{gap:6px;margin-top:8px}#review-form button{padding:7px 10px;font-size:13px}#review-input{resize:none;max-height:120px}.review-mobile{display:none}.review-tools blockquote{overflow-wrap:anywhere;border-left:3px solid #a4bd93;margin:12px 0;padding-left:10px}@media (max-width:900px){.review-tools{width:240px;left:12px}.review-dialogue{width:350px;right:12px}.review-scene{left:240px;right:260px}.review-top{gap:12px}.review-top span{display:none}}@media (max-width:700px){.review-top{height:68px;padding:8px 12px}.review-top strong{font-size:14px;line-height:1.3}.review-top .button{white-space:nowrap;font-size:13px}.review-mobile{z-index:2;gap:8px;display:flex;position:absolute;top:76px;left:12px;right:12px}.review-mobile button{flex:1;padding:7px;font-size:13px}.review-mobile [aria-pressed=true]{color:#fff;background:#476b54}.review-scene{inset:126px 0 0}.review-tools,.review-dialogue{width:auto;display:none;inset:132px 12px 12px}#app[data-review-panel=tools] .review-tools{display:block}#app[data-review-panel=dialogue] .review-dialogue{display:flex}.review-selection{padding:8px 12px}.review-selection select{padding:6px}#review-messages{padding:4px 12px 12px}#review-form{padding:8px 12px}#review-form .actions{gap:4px}#review-form button{min-height:40px;padding:6px 8px}.review-grid{grid-template-columns:1fr}}#history-search input{flex:1;width:auto;min-width:0}#history-search button,#history-search .button{white-space:nowrap;flex-shrink:0}.vocabulary-group{padding:18px}.vocabulary-group h2{margin:0}.vocabulary-case .card-copy{padding:12px 0}.vocabulary-other{border-top:1px solid #d5ddce;padding-top:12px}.review-tools,.review-dialogue{background:var(--ui-paper);border-color:var(--ui-line);border-radius:10px}.review-message .actions button{color:var(--ui-accent);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}#appearance-state:empty,#review-source:empty{display:none}.review-bubble{border-radius:8px}.review-top .button{border-color:var(--ui-line);background:0 0}.review-top .reading-toggle{margin-left:auto}.review-suggestion{align-items:flex-start;gap:6px;margin:8px 0;display:flex}.review-suggestion .sentence{flex:1}@media (min-width:701px) and (max-width:1100px){.review-scene{left:220px;right:300px}.review-tools{width:220px;padding:14px}.review-dialogue{width:340px}}@media (max-width:700px){.review-top .button,.review-mobile button,.review-message button,#review-form button{min-height:44px}.review-top .button{padding:8px}.review-top{gap:8px}.review-top strong{overflow-wrap:anywhere;min-width:0}.review-tools{padding:16px}}
