@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&display=swap";:root{--ink: #1a1008;--paper: #faf6ee;--paper-warm: #f3ead8;--rule-line: #ddd5c2;--red: #e63322;--yellow: #f5c800;--blue: #1a55d4;--green: #1a9448;--muted: #7a6e60;--font-comic: "Comic Sans MS", "Chalkboard SE", "Comic Sans", cursive;--font-body: Georgia, "Times New Roman", serif;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent,transparent 31px,var(--rule-line) 31px,var(--rule-line) 32px);background-attachment:fixed;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overscroll-behavior:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}#root{min-height:100vh}.loading-text{text-align:center;padding:4rem 1rem;opacity:.6}.app-shell{width:min(100%,640px);margin:0 auto;padding:28px 18px 60px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px;padding-bottom:14px;border-bottom:3px solid var(--ink)}.hero-left{flex:1 1 auto}.eyebrow{margin:0 0 4px;font-family:var(--font-comic);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero h1{margin:0;font-family:var(--font-comic);font-size:clamp(2.4rem,7vw,3.6rem);line-height:1;color:var(--ink);text-shadow:3px 3px 0 var(--yellow)}.hero-copy{margin:6px 0 0;font-size:1rem;color:#4a423a;font-style:italic}.hero-stamp{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 14px;border:3px solid var(--ink);border-radius:4px;background:var(--yellow);box-shadow:4px 4px 0 var(--ink);font-family:var(--font-comic);line-height:1.2;transform:rotate(2deg);min-width:80px}.hero-stamp .stamp-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);opacity:.7}.hero-stamp .stamp-number{font-size:1.5rem;font-weight:700;color:var(--ink)}.hero-stamp .stamp-date{font-size:.62rem;color:var(--ink);opacity:.65}.meta-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 10px;border-bottom:2px dashed var(--rule-line);margin-bottom:0}.meta-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border:2px solid var(--ink);border-radius:999px;font-family:var(--font-comic);font-size:.85rem;background:var(--paper-warm);box-shadow:2px 2px 0 var(--ink);transition:background .2s ease}.meta-pill .pill-icon{font-size:1rem;line-height:1}.meta-pill.is-revealed{background:var(--green);color:#fff;border-color:#0f6633;box-shadow:2px 2px #0f6633}.meta-pill.is-fail{background:var(--red);color:#fff;border-color:#991b10;box-shadow:2px 2px #991b10}.meta-pill.is-hidden{background:var(--paper-warm);color:var(--muted)}.meta-pill .pill-redact{letter-spacing:.15em;color:var(--muted)}.genre-pill{font-size:.78rem}.meta-pill.year-bracket{gap:6px;padding:4px 12px;border-radius:999px}.bracket-bound{font-family:var(--font-comic);font-weight:700;font-size:.88rem;color:var(--ink);min-width:2ch;text-align:center}.bracket-arrow{font-size:.75rem;color:var(--muted);font-weight:700;line-height:1}.title-reveal{display:flex;flex-direction:column;gap:2px;padding:14px 0 16px;border-bottom:2px dashed var(--rule-line);animation:clue-pop .28s cubic-bezier(.3,.8,.4,1.1) both}.title-reveal-label{font-family:var(--font-comic);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.title-reveal-value{font-family:var(--font-comic);font-size:clamp(2rem,6.5vw,3.2rem);font-weight:700;line-height:1;color:var(--ink);text-shadow:3px 3px 0 var(--yellow)}.synopsis-section{margin-top:18px;margin-bottom:18px}.clue-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;margin-bottom:8px}.clue-nav-label{font-family:var(--font-comic);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);min-width:70px;text-align:center}.clue-nav-label strong{color:var(--ink)}.clue-nav-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--paper-warm);border:2px solid var(--ink);border-radius:2px;box-shadow:2px 2px 0 var(--ink);font-family:var(--font-comic);font-size:1.3rem;line-height:1;color:var(--ink);transition:transform 70ms ease,box-shadow 70ms ease}.clue-nav-arrow:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.clue-nav-arrow:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.clue-nav-arrow:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}.clue-dots{position:relative;z-index:10;display:flex;justify-content:center;gap:6px;margin-bottom:12px}.clue-dot{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:2px;font-family:var(--font-comic);font-size:.82rem;font-weight:700;transition:transform 70ms ease,box-shadow 70ms ease,background .12s ease}.clue-dot.is-locked{background:var(--paper-warm);color:var(--rule-line);border-color:var(--rule-line);box-shadow:none;cursor:not-allowed}.clue-dot.is-revealed{background:var(--paper-warm);color:var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer}.clue-dot.is-revealed:hover:not(.is-active){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.clue-dot.is-active{background:var(--ink);color:var(--yellow);box-shadow:2px 2px 0 var(--muted);cursor:default}.clue-card{position:relative;z-index:1;padding:16px 18px 14px;min-height:calc(3.2rem + 30px);display:flex;align-items:center;background:var(--yellow);border:3px solid var(--ink);border-radius:2px;box-shadow:5px 5px 0 var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;transform-origin:center center}.clue-card.flip-from-top,.clue-card.flip-from-bottom{animation:slide-from-bottom .55s cubic-bezier(.22,1.4,.36,1) both}@keyframes slide-from-top{0%{transform:translateY(-60px) scaleY(.7);opacity:0}50%{opacity:1}to{transform:translateY(0) scaleY(1);opacity:1}}@keyframes slide-from-bottom{0%{transform:translateY(60px) scaleY(.7) rotate(0);opacity:0}40%{opacity:1}75%{transform:translateY(-2px) scaleY(1.01) rotate(.4deg)}90%{transform:translateY(1px) scaleY(.99) rotate(-.4deg)}to{transform:translateY(0) scaleY(1) rotate(0);opacity:1}}@keyframes clue-pop{0%{transform:translateY(6px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.section-divider{border:none;border-top:2px dashed var(--rule-line);margin:16px 0}.composer-section{margin-bottom:6px}.composer-label{display:block;font-family:var(--font-comic);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.composer-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.composer-input-shell{position:relative}.guess-input{width:100%;min-height:50px;padding:0 14px;background:#fff;border:3px solid var(--ink);border-radius:2px;box-shadow:3px 3px 0 var(--ink);outline:none;transition:box-shadow .12s ease}.guess-input:focus{box-shadow:3px 3px 0 var(--blue);border-color:var(--blue)}.guess-input::placeholder{color:#b0a898;font-style:italic}.guess-input:disabled{background:var(--paper-warm);opacity:.7;cursor:not-allowed}.dropdown-list{position:absolute;inset:calc(100% + 6px) 0 auto;margin:0;padding:6px;list-style:none;background:#fff;border:3px solid var(--ink);border-radius:2px;box-shadow:4px 4px 0 var(--ink);z-index:10;max-height:220px;overflow-y:auto;overscroll-behavior:none}.dropdown-option{width:100%;text-align:left;padding:9px 12px;background:transparent;border:0;border-radius:2px;font-family:var(--font-body)}.dropdown-option.is-selected,.dropdown-option:hover{background:var(--yellow)}.submit-button{min-height:50px;padding:0 20px;background:var(--red);color:#fff;font-family:var(--font-comic);font-weight:700;font-size:1rem;border:3px solid var(--ink);border-radius:2px;box-shadow:4px 4px 0 var(--ink);white-space:nowrap;transition:transform 80ms ease,box-shadow 80ms ease;letter-spacing:.04em}.submit-button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.submit-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.submit-button:disabled{opacity:.45;cursor:not-allowed}.composer-message{margin:8px 2px 0;min-height:1.4rem;font-size:.86rem;color:var(--muted);font-style:italic}.composer-message.is-visible{color:var(--red);font-style:normal;font-family:var(--font-comic)}.history-section{margin-bottom:4px}.history-label{font-family:var(--font-comic);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.history-row{display:grid;grid-template-columns:24px 26px minmax(0,1fr) 42px;align-items:center;gap:8px;padding:6px 10px;border-radius:2px;font-size:.9rem}.history-row.is-filled{background:var(--paper-warm);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.history-row.is-empty{border:2px dashed var(--rule-line);color:var(--muted);opacity:.6}.history-attempt{font-family:var(--font-comic);font-size:.78rem;color:var(--muted);text-align:center}.history-icon,.history-hints{text-align:center}.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.history-row.is-empty .history-title{font-style:normal}.popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#1e1c188c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:backdrop-in .3s ease both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.popup-card{position:relative;width:min(100%,480px);max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:none;animation:popup-pop .4s cubic-bezier(.22,1.4,.36,1) both}@keyframes popup-pop{0%{transform:translateY(40px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.end-section{margin-top:20px;padding:28px 24px 24px;background:var(--paper);border:3px solid var(--ink);border-radius:4px}.end-section.popup-card{margin-top:0}.end-section.is-win{background:var(--yellow);box-shadow:6px 6px 0 var(--ink)}.popup-close{position:absolute;top:10px;right:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--paper-warm);border:2px solid var(--ink);border-radius:2px;box-shadow:2px 2px 0 var(--ink);font-size:1rem;line-height:1;color:var(--ink);cursor:pointer;transition:transform 70ms ease,box-shadow 70ms ease}.popup-close:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.popup-close:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.end-heading{margin:0 0 6px;font-family:var(--font-comic);font-size:1.8rem;line-height:1.1}.end-film-title{margin:0 0 10px;font-family:var(--font-comic);font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700;line-height:1.15;color:var(--ink);text-shadow:2px 2px 0 rgba(0,0,0,.15)}.end-subheading{margin:0 0 14px;font-size:.95rem;color:var(--muted);font-style:italic}.share-text{width:100%;min-height:130px;padding:10px 14px;resize:vertical;background:#ffffff8c;border:2px solid var(--ink);border-radius:2px;font-family:var(--font-body);line-height:1.7}.end-actions{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.copy-status{font-size:.84rem;color:var(--muted);font-style:italic}.app-footer{margin-top:32px;padding-top:14px;border-top:2px solid var(--rule-line);text-align:center}.footer-link{background:none;border:none;padding:0;font-size:.82rem;color:var(--muted);text-decoration:underline;cursor:pointer}.footer-link:hover{color:var(--ink)}.footer-sep{color:var(--rule-line);margin:0 6px}.privacy-body{font-size:.95rem;line-height:1.6;color:var(--ink)}.privacy-body p{margin:0 0 14px}.privacy-link{display:inline-block;font-family:var(--font-comic);font-size:1rem;font-weight:700;color:var(--ink);text-decoration:underline}.privacy-link:hover{opacity:.7}.stats-section{margin-top:24px;padding-top:16px;border-top:3px solid var(--ink)}.stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stats-header h2{margin:0;font-family:var(--font-comic);font-size:1.1rem}.ghost-button{padding:5px 12px;background:transparent;border:2px solid var(--ink);border-radius:2px;font-family:var(--font-comic);font-size:.78rem;box-shadow:2px 2px 0 var(--ink);transition:transform 80ms ease,box-shadow 80ms ease}.reset-button{padding:5px 12px;background:var(--red);color:#fff;border:2px solid var(--ink);border-radius:2px;font-family:var(--font-comic);font-size:.78rem;box-shadow:2px 2px 0 var(--ink);transition:transform 80ms ease,box-shadow 80ms ease}.reset-button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.reset-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.ghost-button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.ghost-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.stat-card{padding:10px 8px;background:var(--paper-warm);border:2px solid var(--ink);border-radius:2px;box-shadow:2px 2px 0 var(--ink);text-align:center}.stat-value{display:block;font-family:var(--font-comic);font-size:1.5rem;font-weight:700;line-height:1.1}.stat-label{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}.distribution h3{margin:0 0 10px;font-family:var(--font-comic);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.distribution-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.distribution-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:center}.distribution-label{font-family:var(--font-comic);font-size:.85rem;text-align:center}.distribution-bar-shell{height:24px;background:var(--paper-warm);border:2px solid var(--ink);border-radius:2px;overflow:hidden}.distribution-bar{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;background:var(--blue);color:#fff;font-family:var(--font-comic);font-size:.8rem;font-weight:700;transition:width .22s ease}@media (max-width: 520px){.app-shell{padding:18px 12px 48px}.composer-controls{grid-template-columns:1fr}.submit-button{width:100%;position:sticky;bottom:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:2.2rem}}
