html:has(dialog.glossary-dialog[open]){overflow:hidden!important;scrollbar-gutter:auto!important}
dialog.glossary-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(780px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #888;background:#050505;color:#eee;overflow:auto;overscroll-behavior:contain;font:14px/1.6 'Courier New',monospace;scrollbar-width:thin}
.glossary-dialog *{box-sizing:border-box}
.glossary-dialog::backdrop{background:rgb(0 0 0/.8)}
.glossary-dialog .glossary-bar{display:flex;align-items:center;justify-content:space-between;background:#050505;padding:4px 15px;border-bottom:1px dotted #777;position:sticky;top:0;z-index:2;cursor:grab}
.glossary-bar h1{font:700 15px/1.5 'Courier New',monospace;letter-spacing:.03em;margin:0}
.glossary-bar button{font:24px monospace;min-width:44px;min-height:44px;text-align:center}
.glossary-body{padding:14px 18px 12px;min-width:0}
.glossary-top{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;border-bottom:1px dotted #444;padding-bottom:10px;margin-bottom:14px;font-size:11px}
.glossary-top small{font:11px/1.6 'Courier New',monospace;color:#aaa}
.glossary-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px}
.glossary-specimen{min-width:0}
.glossary-stage{position:relative;margin:0 auto;width:min(100%,240px);height:auto;aspect-ratio:1;border:1px dotted #292929;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.glossary-stage>img{display:block;width:auto;height:auto;max-width:85%;max-height:85%;object-fit:contain;image-rendering:pixelated;filter:grayscale(1);transform:scale(var(--specimen-zoom,1));transition:transform .12s steps(3)}
.glossary-stage .glossary-question{font:bold 110px/1 monospace;color:#555;transform:translateY(-9px)}
.glossary-plinth{position:absolute;bottom:2px;left:20%;width:60%;height:5px;border-top:1px solid #888;border-bottom:1px solid #444;z-index:-1}
.glossary-inspect{display:flex;align-items:center;justify-content:center;gap:3px;margin:5px 0 10px}
.glossary-inspect button{min-width:44px;min-height:44px;font:20px monospace;text-align:center}
.glossary-inspect span{font-size:11px;color:#999;min-width:25px;text-align:center}
.glossary-description{max-height:155px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 4px 0 0}.glossary-description h2{font:700 20px/1.25 'Courier New',monospace;margin:0 0 10px;letter-spacing:-.035em}
.glossary-description p{font:12px/1.65 'Courier New',monospace;margin:0 0 9px;max-width:100%;overflow-wrap:anywhere}
.glossary-description small{font:10px/1.6 'Courier New',monospace;color:#999;display:block;margin-top:11px}
.glossary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-content:start}
.glossary-grid button{position:relative;display:grid;place-items:center;min-width:44px;min-height:44px;aspect-ratio:1;border:1px dotted #555;background:#080808;padding:5px 5px 15px;color:#777;cursor:pointer;overflow:hidden}
.glossary-grid button[aria-pressed="true"]{border:1px solid #eee;background:#141414;color:#eee}
.glossary-grid button:hover{border-color:#bbb}
.glossary-grid button img{max-height:90%;max-width:90%;height:auto;width:auto;object-fit:contain;image-rendering:pixelated;filter:grayscale(1)}
.glossary-grid b{font:bold 32px monospace}
.glossary-grid small{position:absolute;bottom:2px;left:5px;font:9px/1.2 monospace;color:#888}
.glossary-dialog button{color:inherit;font-family:inherit;border-radius:0;background:transparent;cursor:pointer}
.glossary-dialog :focus-visible{outline:2px dotted #eee;outline-offset:3px}
.glossary-dialog [data-retry]{border:1px solid #aaa;min-height:44px;padding:8px 15px}
.store-header [data-glossary-open]{font:inherit;min-height:44px;color:inherit;background:transparent;border:0;padding:8px}
@media(max-width:640px){.glossary-body{padding:10px 12px 8px}.glossary-layout{grid-template-columns:1fr;gap:12px}.glossary-specimen{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:0 12px;align-items:center}.glossary-stage{grid-column:1;grid-row:1;width:min(100%,150px)}.glossary-description{grid-column:2;grid-row:1;max-height:145px}.glossary-description h2{font-size:18px;margin-bottom:7px}.glossary-description p{font-size:11px}.glossary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.glossary-grid button{min-height:44px;aspect-ratio:1}.glossary-top{gap:4px;margin-bottom:10px;font-size:10px}.glossary-top small{font-size:9px}.glossary-inspect{grid-column:1/-1;grid-row:2;margin:3px 0 0}.glossary-description small{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.glossary-stage>img{transition:none}}
.journey-journal{margin-top:0;padding-top:0;border-top:1px dotted #444;min-width:0}
.journey-fold{margin:0;padding:0;border:0}
.journey-fold>summary{font:400 12px/1.6 'Courier New',monospace;min-height:44px;cursor:pointer;list-style-position:inside}
.journey-storage{margin:0 0 20px;color:#aaa;font-size:11px;max-width:65ch}
.journey-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.journey-pages>section{min-width:0;border-top:1px dotted #444;padding-top:12px}
.journey-pages h2{font:700 13px/1.6 'Courier New',monospace;margin:0 0 12px}
.journey-pages h3{font:700 12px/1.5 'Courier New',monospace;margin:0;overflow-wrap:anywhere}
.journey-pages p{font:12px/1.8 'Courier New',monospace;margin:0 0 12px;overflow-wrap:anywhere}
.journey-pages a{color:inherit;text-decoration:none}
.journey-pages a:hover{text-decoration:underline}
.journey-reading{list-style:none;padding:0;margin:0}
.journey-reading li+li{border-top:1px dotted #333}
.journey-reading a{display:grid;gap:5px;padding:8px 0;min-height:44px;overflow-wrap:anywhere}
.journey-reading strong{font-size:12px;font-weight:400;line-height:1.7}
.journey-reading a>span{font-size:11px;color:#aaa}
.journey-empty{color:#aaa}
.journey-artworks{display:grid;gap:15px;max-height:292px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:6px}
.journey-art{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
.journey-art canvas{display:block;width:64px;height:64px;background:#000;image-rendering:pixelated;border:1px dotted #555}
.journey-art small{font-size:10px;color:#999}
.journey-art-actions{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px}
.glossary-dialog .journey-art-actions button{padding:4px 0;border:0;min-height:44px;text-align:left;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.glossary-dialog .journey-art-actions .journey-remove{color:#999}
.glossary-dialog .journey-action{border:1px dotted #777;margin-top:10px;padding:8px 12px;min-height:44px;font-size:12px;text-align:left}
.journey-result-mode{color:#aaa}
.journey-result-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.journey-result-score strong{font-size:20px}
.journey-result-score span{font-size:10px;color:#aaa}
:lang(ja) .journey-journal{line-break:strict;word-break:normal}
:lang(ja) .journey-pages p,:lang(ja) .journey-reading strong{line-height:1.9}
@media(max-width:560px){.journey-pages{grid-template-columns:1fr;gap:20px}.journey-journal{margin-top:0}.journey-artworks{max-height:250px}.journey-storage{font-size:11px}}
