.prompt-copy{position:relative;isolation:isolate;overflow:visible}
.prompt-covered .prompt-copy-text{visibility:hidden;user-select:none}
.prompt-paper-cover{--paper-roll-duration:680ms;--paper-roll-ease:cubic-bezier(.3,.12,.18,1);position:absolute;inset:36px -1px -1px;overflow:hidden;pointer-events:none;z-index:3;color:#625c4e;border:1px solid #a6957138;border-radius:1px;box-shadow:0 2px 5px #60584912}
.paper-sheet{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:9px;padding:18px 12px;background-color:#eee8da;background-image:repeating-linear-gradient(7deg,#9885640a 0 1px,transparent 1px 4px),repeating-linear-gradient(96deg,#83755209 0 1px,transparent 1px 7px),radial-gradient(ellipse at 50% 20%,#fffaf175,transparent 75%);box-shadow:inset 0 0 22px #8a755516}
.paper-sheet:before,.paper-sheet:after{content:'';position:absolute;inset:8px;border:1px solid #9d8c691c;pointer-events:none}.paper-sheet:after{inset:11px;border-width:1px 0}
.paper-art-mark{position:relative;width:58px;height:42px;margin-bottom:5px;opacity:.58;background:linear-gradient(126deg,transparent 40%,#8b78556e 41% 42%,transparent 43%) 9px 13px/29px 24px no-repeat,linear-gradient(54deg,transparent 44%,#8b785580 45% 46%,transparent 47%) 17px 5px/31px 31px no-repeat;border-bottom:1px solid #8b78557a;transform:rotate(-3deg)}
.paper-art-mark:before{content:'';position:absolute;left:35px;top:0;width:9px;height:9px;border:1px solid #8b785590;border-radius:50%}.paper-art-mark:after{content:'';position:absolute;left:4px;right:4px;bottom:5px;height:1px;background:#8b785544;transform:rotate(2deg)}
.paper-reveal-title{font:400 clamp(14px,1.2vw,17px)/1.5 var(--serif,serif);letter-spacing:.12em}
.paper-reveal-cue{font-size:10px;line-height:1.6;letter-spacing:.1em;color:#81755e}
.paper-roll-track{position:absolute;inset:0;opacity:0}
.paper-roll{position:absolute;left:-2px;top:-2px;bottom:-2px;width:34px;transform-origin:right center;background:linear-gradient(90deg,#a28f6a 0%,#d6c8a9 15%,#fffaec 43%,#e7dcc5 73%,#8b785c 100%);border-radius:45% 38% 38% 45% / 2% 2% 2% 2%;box-shadow:6px 0 10px #423b3b42,-2px 0 4px #fff7}
.prompt-copy:not([data-full="true"]) .prompt-paper-cover{inset:35px -1px -1px}
.prompt-copy:not([data-full="true"]) .paper-sheet{gap:4px;padding:11px 8px}
.prompt-copy:not([data-full="true"]) .paper-art-mark{display:none}
.prompt-copy:not([data-full="true"]) .paper-reveal-title{font-size:12px;letter-spacing:.08em}
.prompt-copy:not([data-full="true"]) .paper-reveal-cue{font-size:9px}
.prompt-covered:hover .prompt-paper-cover{border-color:#9e8c6480;box-shadow:0 3px 8px #60584924}
.prompt-covered:focus-visible{outline:2px solid #a58a59;outline-offset:4px}
/* The fixed clipping box exposes text from left to right without moving its hit target. */
.paper-tearing{border-color:transparent;box-shadow:none}
.paper-tearing .paper-sheet,.paper-tearing .paper-roll-track{animation:paper-roll-right var(--paper-roll-duration) var(--paper-roll-ease) forwards}
.paper-tearing .paper-roll-track{opacity:1}
.paper-tearing .paper-roll{animation:paper-curl var(--paper-roll-duration) var(--paper-roll-ease) forwards}
@keyframes paper-roll-right{from{transform:translateX(0)}to{transform:translateX(101%)}}
@keyframes paper-curl{0%{transform:scaleX(.14);opacity:0}12%{transform:scaleX(.85);opacity:1}80%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.8);opacity:0}}
#self-test-toggle{font-size:12px;letter-spacing:.03em;padding:8px 5px;white-space:nowrap}
#self-test-toggle[aria-pressed="true"]{color:var(--accent);text-decoration:underline;text-underline-offset:8px}
#open-self-test-rankings{min-width:36px;padding:8px;display:grid;place-items:center}
.rank-icon{width:18px;height:18px}
#self-test-rankings{width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:36px 34px 22px;border:1px solid #b6aa9159;background:var(--paper,#fbfaf8);color:var(--paper-ink,#30332f);box-shadow:0 22px 90px #0005;color-scheme:light}
#self-test-rankings::backdrop{background:#091015a8;backdrop-filter:blur(5px)}
#self-test-rankings h2{margin:0 0 27px;font:400 26px/1.4 var(--serif,serif);letter-spacing:.06em}
.self-test-own-count{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:10px;padding:0 0 20px;border-bottom:1px solid var(--paper-line,#383f3426)}
.self-test-count-label{grid-column:1/-1;font-size:11px;letter-spacing:.12em;color:var(--paper-muted,#666a61);margin-bottom:8px}
.self-test-own-count strong{font:400 clamp(42px,9vw,58px)/1 Georgia,serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.self-test-count-unit{font-size:11px;letter-spacing:.12em;padding-bottom:6px;color:var(--paper-muted,#666a61)}
.self-test-rank-status{font-size:11px;line-height:1.8;color:var(--paper-muted,#666a61);margin:11px 0 27px}
.self-test-rank-heading{font-size:10px;letter-spacing:.15em;margin:0 0 3px;color:var(--paper-muted,#666a61)}
.self-test-rank-rows{list-style:none;padding:0;margin:0;max-height:34dvh;overflow:auto;scrollbar-width:thin}
.self-test-rank-rows li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--paper-line,#383f3426);font-size:12px}
.rank-rank{color:var(--paper-muted,#666a61);font:italic 17px/1 Georgia,serif}.rank-nickname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-score{font-variant-numeric:tabular-nums;color:var(--paper-ink,#30332f);font-size:12px}
.self-test-rank-rows li.self-test-rank-empty{display:block;font:12px/1.9 var(--sans,sans-serif);color:var(--paper-muted,#666a61);padding:17px 0}
.self-test-rank-refresh{margin:14px 14px 0 0;padding:8px 0;min-height:44px;font-size:11px;text-decoration:underline;text-underline-offset:5px}
#self-test-rankings [data-action="close-self-test-rankings"]{padding:8px 0;font-size:11px;min-height:44px;color:var(--paper-muted,#666a61)}
#self-test-rankings :focus-visible{outline:2px solid #766246;outline-offset:5px}
.crimson .paper-sheet{background-color:#eee0d8}.crimson .paper-reveal-title{color:#77594e}
@media(max-width:400px){#self-test-rankings{padding:28px 24px 18px}.self-test-rank-rows li{gap:8px;grid-template-columns:22px minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){.paper-tearing *{animation:none!important}.prompt-paper-cover{transition:none}}
