.unlock-entry,.unlock-dialog button { font:12px 'Syne Mono','Courier New',monospace;color:#eee;background:transparent;border:1px solid #ffffff50;padding:12px 16px;cursor:pointer;transition:background 180ms,color 180ms; }
.unlock-entry { margin:0 0 24px; }
.unlock-entry:hover,.unlock-dialog button:hover { background:#fff;color:#000; }
.unlock-entry:focus-visible,.unlock-dialog button:focus-visible { outline:2px solid #fff;outline-offset:4px; }
.track-lock { display:block;position:relative;width:14px;height:13px;border:1px solid #999;border-radius:2px;margin:7px; }
.track-lock:before { content:'';position:absolute;width:8px;height:8px;left:2px;top:-9px;border:1px solid #999;border-bottom:0;border-radius:6px 6px 0 0; }
.is-track-locked .track-name { color:#aaa; }.is-track-locked:hover .track-name { color:#fff; }
.unlock-dialog { width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:36px;background:#090909;color:#fff;border:1px solid #ffffff40;box-shadow:0 30px 100px #000a;overflow:auto; }
.unlock-dialog::backdrop { background:#000c;backdrop-filter:blur(10px); }
.unlock-dialog .unlock-close { position:absolute;right:10px;top:8px;border:0;padding:4px 10px;font:28px Arial; }
.unlock-label { font:9px/1.6 'Syne Mono',monospace;letter-spacing:.1em;color:#aaa;padding-right:16px; }
.unlock-dialog h2 { font:normal 52px/.95 'Times New Roman',serif;margin:20px 0 12px;letter-spacing:-.04em; }
.unlock-intro { font:14px/1.5 'Syne Mono',monospace;color:#ccc; }
.unlock-rings { width:min(100%,300px);aspect-ratio:1;position:relative;margin:28px auto;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px #ffffff40; }
.unlock-ring { position:absolute;inset:0;background:url('assets/cover-inicial.webp') center/cover;transition:transform 450ms cubic-bezier(.22,1,.36,1); }
.ring-0 { mask-image:radial-gradient(circle,transparent 0 32%,#000 32.5%); }
.ring-1 { mask-image:radial-gradient(circle,transparent 0 16%,#000 16.5% 32%,transparent 32.5%); }
.ring-2 { mask-image:radial-gradient(circle,#000 0 16%,transparent 16.5%); }
.unlock-controls { display:flex;gap:8px; }.unlock-controls button { flex:1;padding:12px 6px; }.unlock-controls span { display:block;font:24px Arial;margin-top:5px; }
.unlock-status,.unlock-tip,.unlock-save { font:11px/1.7 'Syne Mono',monospace;color:#aaa; }.unlock-status { min-height:18px; }
.unlock-dialog .unlock-hint { border:0;padding:4px 0;text-decoration:underline; }
.unlock-dialog .unlock-listen { width:100%;margin-top:12px;background:#fff;color:#000; }
@media(max-width:480px) { .unlock-dialog { padding:28px 20px; }.unlock-dialog h2 { font-size:44px; }.unlock-rings { width:240px;max-width:100%;margin:20px auto; } }
@media(prefers-reduced-motion:reduce) { .unlock-ring { transition:none; } }

.unlock-entry { display:inline-block;text-decoration:none; }

html.has-unlock-notice { overflow:hidden; }
.unlock-notice { padding:42px 36px 32px; }
.unlock-notice[open] { animation:unlock-notice-in 240ms cubic-bezier(.16,1,.3,1); }
.unlock-notice[open]::backdrop { animation:unlock-backdrop-in 240ms ease; }
.unlock-notice .unlock-label { margin:0;padding-right:22px; }
.unlock-notice h2 { margin-top:24px;overflow-wrap:anywhere; }
.unlock-notice .unlock-intro { margin:18px 0 28px;line-height:1.7; }
.unlock-notice .unlock-close { display:grid;place-items:center;width:40px;height:40px;padding:10px;top:8px;right:8px; }
.unlock-close svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5; }
.unlock-notice-actions { display:flex;gap:12px;flex-wrap:wrap; }
.unlock-notice-actions > * { flex:1;min-width:150px;min-height:44px;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px; }
.unlock-play { font:12px 'Syne Mono','Courier New',monospace;background:#fff;color:#000;border:1px solid #fff;padding:12px 16px;text-decoration:none;transition:background 180ms,color 180ms; }
.unlock-play:hover { background:#d9d9d9; }
.unlock-play:focus-visible { outline:2px solid white;outline-offset:4px; }
@keyframes unlock-notice-in { from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)} }
@keyframes unlock-backdrop-in { from{opacity:0}to{opacity:1} }
@media(max-width:480px) { .unlock-notice { padding:40px 22px 24px; }.unlock-notice-actions { flex-direction:column; }.unlock-notice-actions > * { flex:auto;width:100%; } }
@media(prefers-reduced-motion:reduce) { .unlock-notice[open],.unlock-notice[open]::backdrop { animation:none; } }

/* Share the adventure's title treatment with its entrance on the website. */
.unlock-entry { display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:84px;margin:0 0 28px;padding:16px 24px;background:#eeeae4;color:#151310;border:1px solid #eeeae4;transition:background 200ms,border-color 200ms,box-shadow 200ms; }
.unlock-entry:hover { background:#fff;color:#151310;border-color:#fff;box-shadow:0 0 24px #ffffff18; }
.unlock-entry-brand { display:flex;flex-direction:column;align-items:center;gap:6px; }
.unlock-entry-title { display:flex;align-items:baseline;gap:3px;font:bold italic 38px/.85 Georgia,'Times New Roman',serif;letter-spacing:-3px; }
.unlock-entry-percent { font-size:27px;letter-spacing:-1px; }
.unlock-entry-subtitle { font:9px/1 Arial,sans-serif;font-weight:bold;letter-spacing:1px;white-space:nowrap; }
.unlock-entry-action { display:flex;align-items:center;gap:12px;font:12px/1 'Syne Mono','Courier New',monospace; }
.unlock-entry-action svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform 200ms; }
.unlock-entry:hover .unlock-entry-action svg { transform:translate(2px,-2px); }
@media(max-width:480px) { .unlock-entry { padding:14px;min-height:76px;gap:10px; }.unlock-entry-title { font-size:32px; }.unlock-entry-percent { font-size:23px; }.unlock-entry-subtitle { font-size:6.5px;letter-spacing:.6px; }.unlock-entry-action { font-size:11px;gap:7px; }.unlock-entry-action svg { width:16px;height:16px; } }
@media(prefers-reduced-motion:reduce) { .unlock-entry,.unlock-entry-action svg { transition:none; } }

.adventure-intro { margin:0 0 24px; }
.adventure-intro h3 { font:normal clamp(27px,3vw,40px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:#eee9e3;margin:0 0 16px; }
.adventure-intro p { margin:0;font:12px/1.8 'Syne Mono','Courier New',monospace;color:#b4ada7;max-width:440px; }
.adventure-intro + .unlock-entry { margin-bottom:16px; }
.adventure-progress { display:flex;align-items:center;gap:9px;margin:0 0 12px;font:11px/1.6 'Syne Mono','Courier New',monospace;color:#eee9e3; }
.adventure-progress::before { content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex:none; }
.unlock-entry-action-label { max-width:105px;text-align:right;line-height:1.4; }
.unlock-entry-action svg { flex:none; }
@media(max-width:480px) { .adventure-intro h3 { font-size:27px; }.adventure-intro p { font-size:10px;line-height:1.75; }.adventure-progress { font-size:9px; }.unlock-entry-action-label { max-width:75px; } }

.web-game-curtain { position:fixed;inset:0;z-index:2147483647;background:#0b0a09;animation:web-game-fade 280ms ease both; }
@keyframes web-game-fade { from{opacity:0}to{opacity:1} }
