:root{--ink:#252421;--muted:#8d867a;--paper:#f8f5ef;--red:#e14832;--line:#e8e1d6}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}header{max-width:860px;padding:24px 30px}header a{font-size:19px;font-weight:850;letter-spacing:-.9px}header .text-button{font-size:12px}main{max-width:600px;padding:12px 24px 40px}button{transition:background .15s;color:inherit}button:active{transform:none}button:disabled{opacity:.4}#landing{max-width:460px}.intro{text-align:left;position:relative;min-height:310px;padding-top:32px}.intro .cover-kicker{font-size:13px;font-weight:600;color:#908676;margin:0 0 16px}.intro h1{font-size:66px;letter-spacing:-3.9px;line-height:1.05;margin:0;position:relative;z-index:2;font-weight:900}.intro h1 em{color:var(--red)}.intro .intro-desc{font-size:16px;color:#8d8374;line-height:1.6;margin:27px 0 30px}.intro .cover-caption{position:absolute;right:28px;top:23px;background:#fff;padding:9px 17px;border:1px solid var(--line);border-radius:20px;font-size:14px;font-weight:700;transform:rotate(8deg);color:#4c443b;margin:0}.intro .cover-caption:after{content:'';position:absolute;bottom:-4px;left:21px;background:white;width:8px;height:8px;transform:rotate(45deg);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}#coverCast{position:absolute;right:-31px;top:36px;width:252px;height:252px;z-index:1}.mascot-wrap{display:block;position:relative;transform-origin:50% 85%;isolation:isolate}.mascot-art{display:block;width:100%;aspect-ratio:1;background-image:url('./assets/witness-vinyl-poses.png');background-size:300% auto;background-position:0 50%;background-repeat:no-repeat;transform-origin:50% 85%}.mascot-art[data-pose="caught"]{background-position:50% 50%}.mascot-art[data-pose="dance"]{background-position:100% 50%}.mascot-shadow{position:absolute;left:22%;right:22%;height:8%;bottom:4%;border-radius:50%;background:#83664c16;filter:blur(3px);z-index:-1}.mascot-pin{display:none}.primary{border-radius:14px;padding:19px 22px;font-size:16px;background:var(--red);box-shadow:0 4px 0 #ad3021;font-weight:750}.primary:hover{background:#d93d28}.sample{font-weight:650;font-size:13px;margin:23px auto;text-decoration:none;color:#756d60}.privacy{color:#aba292;font-size:11px}.upload p{font-size:11px;margin-top:13px;color:#aaa18f}.result-tools{margin:0 0 15px;font-size:12px}.result-tools input{vertical-align:middle}.stage-shell{border:1px solid #e2d9ca;border-radius:24px;background:#f2e9da;overflow:hidden;box-shadow:0 6px 0 #e4dccf;color:var(--ink)}.stage-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 19px 0;font-size:11px;color:#9c8c76}.stage-top>div{display:flex;gap:6px}.stage-top button{background:transparent;border:1px solid #dfd3c1;border-radius:20px;padding:4px 9px;color:#97836a;font-size:10px}.show-stage{height:452px;position:relative;overflow:hidden;isolation:isolate}.stage-copy{text-align:center;position:relative;z-index:4;padding:24px 18px 0;pointer-events:none}.stage-copy>p:first-child{font-size:12px;font-weight:600;color:#9c8770;margin:0 0 7px}.stage-copy h1{font-size:49px;font-weight:900;line-height:1.1;letter-spacing:-2.7px;margin:0;color:#353027}.stage-copy #winnerName{font-size:27px;font-weight:750;letter-spacing:-1px;min-height:36px;margin:11px 0 0;color:var(--red);overflow-wrap:anywhere}#spotlight{position:absolute;top:150px;left:50%;width:220px;height:220px;border-radius:50%;background:#fff7e8;transform:translateX(-50%);opacity:0;z-index:-1}.revealed #spotlight{opacity:1}.stage-floor{position:absolute;left:-20%;right:-20%;bottom:34px;height:126px;border-radius:50%;background:#e8dcc95c;z-index:-1}.cast{position:absolute;left:16px;right:16px;bottom:119px;display:flex;justify-content:center;align-items:flex-end;gap:0;z-index:2}.actor{flex:1;min-width:0;max-width:110px;position:relative;display:block;background:none;border:0;padding:0;transform-origin:50% 90%;outline-offset:4px}.actor .mascot-art{filter:hue-rotate(var(--hue,0deg))}.actor-label{font-size:11px;font-weight:650;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 3px;color:#96836b}.actor .mascot-pin{display:block;position:absolute;bottom:10%;left:50%;transform:translateX(-50%);font-size:9px;font-weight:800;background:#fff7e7;border:1px solid #d5c4ac;color:#9b7962;border-radius:7px;padding:0 5px;line-height:16px}.revealed .actor.chosen{max-width:215px;flex:0 1 215px}.revealed .cast{bottom:112px}.revealed .actor:not(.chosen){display:none}.revealed .actor-label{display:none}.revealed .mascot-pin{display:none}#punchline{position:absolute;bottom:76px;left:24px;right:24px;margin:0;text-align:center;font-size:14px;font-weight:650;color:#806a53;z-index:5;line-height:1.5}#moment{position:absolute;bottom:12px;left:24px;right:24px;background:#fffaf2;border:1px solid #e6d8c3;border-radius:13px;padding:11px 15px;font-size:13px;color:#76624e;text-align:center;z-index:6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#moment:before{content:'“';font-weight:900;color:#c99663;margin-right:3px}#moment:after{content:'”';font-weight:900;color:#c99663;margin-left:3px}.reveal{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);background:var(--red);color:white;border-radius:22px;font-size:13px;font-weight:700;white-space:nowrap;padding:13px 24px;box-shadow:0 3px 0 #ac3927;z-index:6}.show-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 18px 18px}.show-nav>button{background:#fff9ef;border:1px solid #e1d4c0;color:#9b7b59;padding:11px 15px;border-radius:11px;font-size:12px;font-weight:700;min-height:41px}.show-nav>#next{background:var(--red);color:#fff7ec;border-color:var(--red);min-width:112px}#dots{display:flex;gap:0;align-items:center;justify-content:center}#dots button{position:relative;background:none;border:0;width:17px;height:30px;padding:0}#dots button:after{content:'';position:absolute;top:12px;left:6px;width:5px;height:5px;border-radius:50%;background:#cfbda4}#dots button[aria-current=true]:after{background:var(--red);width:7px;height:7px;top:11px;left:5px}#confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}#confetti i{position:absolute;top:46%;left:50%;width:7px;height:10px;border-radius:1px}.show-scope{font-size:11px;color:#aea18c;text-align:center;margin:17px 0 0}.show-scope+#sampleNotice{margin:3px 0 0}#allResults{display:block;margin:13px auto 4px;color:#a59076;font-size:11px}#resultDetail .reactions{display:flex;justify-content:center;gap:8px;margin:15px 0 0}.reactions button{background:transparent;border:1px solid #e1d8c9;border-radius:20px;padding:10px 16px;font-size:12px;font-weight:600;color:#8a765e}.reactions button[aria-pressed=true]{background:#eadecb}.reactions button:last-child{border-color:transparent;color:#ac9a82;padding:10px}.reactions button:hover{background:#eee5d7}#reactionReply{min-height:17px;text-align:center;margin:9px 0 0;font-size:12px;color:#b77551}#evidencePanel{margin:20px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}#evidencePanel>summary{font-size:12px;font-weight:600;display:flex;justify-content:space-between;color:#857562;list-style:none}#metric,.interpretation{font-size:11px;line-height:1.65;color:#a1927f}#evidence blockquote{white-space:pre-wrap;overflow-wrap:anywhere;background:#eee6da;padding:14px 16px;border-radius:10px;margin:12px 0;font-size:13px;color:#72614e}#evidence cite{font-size:10px;color:#a18a71;font-style:normal;display:block;margin-bottom:6px}.ranking{margin:10px 0}.ranking li{padding:10px 3px}.ranking .person,.ranking .value{font-size:12px}.ranking .rank{font-size:12px}.share-row{display:flex;gap:8px;margin:20px 0}.share-row button{margin:0;flex:1;white-space:nowrap;padding:13px 10px;font-size:12px;border-radius:11px;font-weight:650}.save{border:1px solid #dbd1c2;color:#8e785c;background:none}.share{background:#302c26;color:#fff8ed;border:1px solid #302c26}#guide{font-size:12px;margin-top:30px}#guide summary{font-size:12px}footer{max-width:800px;font-size:10px;color:#b4a996}dialog{border:1px solid #e4d8c5;border-radius:22px;padding:28px;max-width:480px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;color:#42372b;background:#fcf9f2;box-shadow:0 20px 100px #31221533}dialog::backdrop{background:#30282166;backdrop-filter:blur(5px)}#closeRecap{position:absolute;right:20px;top:13px;font-size:28px;color:#9e8870;background:none}.recap-kicker{font-size:12px;color:#ae8a65;margin:0}.recap-kicker+h2{font-size:29px;letter-spacing:-1.2px;margin:5px 0 22px}.recap-row{display:flex;justify-content:space-between;gap:15px;text-align:left;width:100%;border:0;border-bottom:1px solid #e9dfd0;background:none;padding:13px 0;font-size:13px;color:#837059}.recap-row strong{font-weight:750;color:#c45338;text-align:right;overflow-wrap:anywhere}.recap-note{color:#b3a18c;font-size:11px;line-height:1.6}body.no-motion *{animation:none!important;transition:none!important}#toast{background:#3b3228;color:#fff3df;max-width:90vw;text-align:center;z-index:20}@media(max-width:520px){header{padding:20px}main{padding:8px 17px 32px}.intro{padding-top:27px;min-height:290px}.intro h1{font-size:57px;letter-spacing:-3.6px}#coverCast{right:-28px;top:55px;width:212px;height:212px}.intro .cover-caption{right:18px;top:30px;font-size:12px}.intro .cover-kicker{font-size:11px}.intro .intro-desc{font-size:14px;margin-top:23px}.show-stage{height:427px}.stage-copy{padding-top:21px}.stage-copy h1{font-size:41px;letter-spacing:-2px}.stage-copy #winnerName{font-size:24px}.stage-top{padding:14px 14px 0;font-size:10px}.stage-top button{padding:4px 7px;font-size:9px}.revealed .actor.chosen{max-width:200px;flex-basis:200px}.cast{left:7px;right:7px;bottom:135px}.revealed .cast{bottom:105px}#spotlight{top:136px;width:190px;height:190px}#moment{left:16px;right:16px;font-size:12px}#punchline{font-size:12px;bottom:74px;left:15px;right:15px}.show-nav{gap:5px;padding:8px 12px 14px}.show-nav>button{padding:10px 13px}.show-nav>#next{min-width:95px}#dots button{width:15px}.reactions button{padding:9px 12px}.share-row button{font-size:11px}.actor-label{font-size:9px}.actor .mascot-pin{font-size:8px;line-height:12px}.result-tools{margin-bottom:12px}.primary{font-size:15px}.stage-shell{border-radius:20px}.intro .cover-caption:after{left:18px}}@media(max-width:360px){.intro h1{font-size:50px}#coverCast{width:187px;right:-21px}.stage-copy h1{font-size:35px}.stage-top button{font-size:8px}#dots button{width:12px}.show-nav>#next{min-width:85px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.stage-copy #winnerName{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.show-stage:focus-visible{outline:2px solid var(--red)}
@media(max-width:520px){#coverCast{right:-8px;width:200px;height:200px}}@media(max-width:360px){#coverCast{right:-5px;width:177px;height:177px}}
.rank-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 0 0}.rank-heading h2{font-size:15px;margin:0;color:#6d5e4c}.rank-heading button{font-size:11px}#resultDetail>.ranking{margin:2px 0 18px}#analytics{margin:20px 0;border-bottom:1px solid var(--line);padding:0 0 18px}#analytics>summary{list-style:none;display:flex;justify-content:space-between;font-size:13px}.stat-tabs{display:flex;gap:6px;margin:18px 0}.stat-tabs button{font-size:11px;padding:7px 12px;border-radius:15px;background:#ebe3d5;color:#8a745a}.stat-tabs button[aria-pressed=true]{background:#44382b;color:#fff7eb}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.stat-grid dt{font-size:10px;color:#a5947f}.stat-grid dd{font-size:13px;font-weight:650;margin:4px 0 0;color:#76634c}.stat-grid>div:first-child{grid-column:1/-1}.stat-note{font-size:11px;line-height:1.65;color:#a39179}.hour-chart{display:flex;height:120px;gap:4px;padding-top:12px;margin:22px 0 30px}.hour-chart button{position:relative;display:flex;align-items:flex-end;flex:1;min-width:0;background:none;padding:0}.hour-chart i{display:block;width:100%;background:#dc9d7c;border-radius:3px 3px 0 0;min-height:2px}.hour-chart button:focus i,.hour-chart button:hover i{background:#df4933}.hour-chart span{position:absolute;top:calc(100% + 4px);left:0;font-size:9px;color:#a3927e}#hourReadout{font-size:12px;color:#927555}.week-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:20px 0}.week-chart div{display:flex;flex-direction:column;text-align:center;gap:7px;font-size:10px;color:#ad9a82}.week-chart strong{font-size:11px;color:#927555}.stat-table-wrap{overflow:auto}.stat-table-wrap table{width:100%;border-collapse:collapse;font-size:11px;text-align:right}.stat-table-wrap td,.stat-table-wrap th{padding:11px 5px;border-bottom:1px solid #e7dfd2;white-space:nowrap}.stat-table-wrap th:first-child{text-align:left;max-width:120px;white-space:normal;overflow-wrap:anywhere}.stat-table-wrap thead{color:#aa9378}.stat-table-wrap tbody{color:#81684d}.stat-table-wrap small{display:block;font-size:9px;color:#b4a089}.word-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.word-list li{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #e8dfd1;font-size:11px;color:#8d7356}.word-list strong{font-weight:500;color:#b4a08a;white-space:nowrap}
/* Photographic cat reactions: short entrances, quiet stage, original photo colors. */
.mascot-art,.actor .mascot-art{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center;background:none;filter:none;border-radius:18px;border:4px solid #fff;box-shadow:0 4px 12px #33261714;transform-origin:50% 70%}
.mascot-wrap{overflow:visible}.mascot-shadow{display:none}.actor .mascot-pin{bottom:3px;background:white}.actor-label{margin-top:7px}.cast{gap:6px;bottom:133px}.revealed .cast{bottom:111px;gap:8px}.revealed .actor.chosen{max-width:205px;flex-basis:205px}.revealed .actor.chosen:only-child{max-width:212px;flex-basis:212px}.revealed .mascot-art{border-width:5px;border-radius:20px}.stage-floor,#spotlight{display:none}.show-stage{background:#f7f0e5}.stage-copy{padding-top:20px}.intro{min-height:330px}#coverCast{width:191px;height:220px;right:0;top:65px;transform:rotate(7deg)}#coverCast .mascot-art{aspect-ratio: .84;object-position:center 40%;border:6px solid white;border-radius:24px}.intro .cover-caption{right:17px;top:25px;z-index:3}.intro .intro-desc{position:relative;z-index:2;max-width:210px;margin-top:36px;font-size:14px}.actor:focus-visible{outline:3px solid var(--red);border-radius:20px}.mascot-art[src$="royal.png"]{object-fit:contain;background:#e7dec7}.mascot-art[src$="summoned.png"]{object-position:50% 25%}.mascot-art[src$="rose.png"],.mascot-art[src$="innocent.png"]{object-fit:contain;background:#faf6ed}.mascot-art[src$="curious.png"]{object-position:50% 30%}
@media(max-width:520px){#coverCast{width:150px;height:180px;right:0;top:75px}.intro{min-height:320px}.intro .cover-caption{right:9px;top:36px}.intro .intro-desc{max-width:175px;font-size:12px;margin-top:34px}.intro h1{font-size:55px}.revealed .actor.chosen:only-child{max-width:188px;flex-basis:188px}.revealed .actor.chosen{max-width:175px}.mascot-art,.actor .mascot-art{border-width:3px;border-radius:12px}.cast{left:12px;right:12px;gap:4px}.revealed .cast{bottom:109px}}
@media(max-width:360px){#coverCast{width:129px;right:0;top:80px}.intro h1{font-size:49px}.intro .intro-desc{font-size:11px}.intro .cover-caption{font-size:12px}}
.show-stage{height:480px}@media(max-width:520px){.show-stage{height:460px}}
/* One category meme appears only after the winner is revealed. */
.mystery-token{width:132px;height:156px;display:grid;place-items:center;border:5px solid white;border-radius:22px;background:#e9dfcd;color:#b4a187;font-size:88px;font-weight:850;box-shadow:0 5px 0 #d9cebb;transform:rotate(-5deg);user-select:none}
.intro-phase .cast{bottom:132px}.stage-copy h1.long-title{font-size:36px;letter-spacing:-1.8px}#dots button[data-overview]{width:auto;height:36px;padding:0 10px;font-size:11px;white-space:nowrap;color:#826f59}#dots button[data-overview]:after{display:none}.show-nav{gap:8px}.recap-row span{min-width:0}.recap-row strong{max-width:45%}
@media(max-width:520px){.stage-copy h1.long-title{font-size:28px;letter-spacing:-1.3px}.mystery-token{width:115px;height:138px;font-size:72px}#dots button[data-overview]{font-size:11px}}
#confetti i{opacity:0;visibility:hidden}
#vocabulary{margin:12px 0;color:#806d56;font-size:11px}#vocabulary summary{cursor:pointer}#vocabularyText{line-height:1.9;max-height:170px;overflow:auto;overflow-wrap:anywhere;padding:10px;background:#f1eadf;border-radius:8px}#evidence mark{background:#f8d9a1;color:inherit;padding:0 2px;border-radius:3px}.matched-words{font-size:10px;color:#9b6c37;margin-top:10px;padding-top:8px;border-top:1px solid #dac9b3;line-height:1.6}.ranking .value small{display:block;color:#9a8a75;font-size:9px;margin-top:3px;font-weight:400}.ranking .value{text-align:right}#evidenceSelection{margin:12px 0}
.gif-credit{position:absolute;bottom:91px;left:50%;transform:translateX(-50%);font-size:9px;color:#9b8c79;text-decoration:none;z-index:7;white-space:nowrap}.gif-credit[hidden]{display:none}.mascot-wrap[data-move="gif"] .mascot-art{object-fit:contain;background:#efe5d5}.media-unavailable{display:grid;place-items:center;min-height:180px;font-size:12px;color:#8d806c}.show-stage:has(.gif-credit:not([hidden])) #punchline{bottom:65px}.show-stage:has(.gif-credit:not([hidden])) #moment{bottom:7px}
