@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f2ea;--ink:#292b24;--purple:#6950d8;--lime:#dfea9c;--line:#deddd3;--muted:#74766b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}header{max-width:1320px;height:108px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:28px}.logo{font-size:34px;letter-spacing:-2px;font-weight:800;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px}.logo i{background:var(--purple);color:white;width:30px;height:30px;display:grid;place-items:center;font-size:13px;letter-spacing:0;border-radius:9px;font-style:normal}.logo span{color:var(--purple);margin-left:-8px}.tagline{border-left:1px solid var(--line);padding-left:28px;font-size:10px;letter-spacing:1.7px}header small{margin-left:auto;color:var(--muted);font-size:11px}main{max-width:1220px;padding:10px 32px 45px;margin:auto;min-height:680px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:55px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;margin-bottom:26px;display:flex;gap:10px;align-items:center}.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--purple)}h1{font-size:clamp(45px,5.2vw,70px);line-height:1.08;letter-spacing:-3.5px;margin:0 0 24px;font-weight:800}h1 em{font-style:normal;color:var(--purple);text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:7px;text-decoration-thickness:4px}.intro{font-size:16px;line-height:1.8;max-width:430px;color:#6c6e64}.primary{border:0;background:var(--purple);color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:19px 25px;border-radius:14px;font-size:14px;font-weight:700;transition:transform .2s}.primary:hover{background:#5940c5;transform:translateY(-2px)}.primary span{font-size:22px}.hero .primary{margin:15px 0}.fine{font-size:11px;color:var(--muted);line-height:1.7}.portrait-wrap{position:relative;padding:20px 4px 0 15px}.portrait{height:520px;background:#cdbcaa;border-radius:140px 140px 22px 22px;overflow:hidden;position:relative}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.caption{position:absolute;bottom:19px;left:19px;right:19px;background:#fffdf2ed;backdrop-filter:blur(8px);padding:17px 20px;border-radius:14px;font-size:11px;display:flex;align-items:center;justify-content:space-between}.caption strong{display:block;font-size:16px;margin-bottom:5px}.caption b{font-size:24px}.speech{position:absolute;top:65px;left:-20px;padding:15px 20px;border:1px solid var(--ink);background:var(--lime);border-radius:15px 15px 0 15px;box-shadow:4px 4px 0 var(--ink);font-size:21px;font-weight:800;transform:rotate(-7deg);z-index:1}.sticker{position:absolute;right:-12px;top:0;width:88px;height:88px;border-radius:50%;background:var(--purple);color:white;display:grid;place-items:center;text-align:center;transform:rotate(12deg);font-size:10px;font-weight:700;line-height:1.6}.hero-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:26px;margin-top:45px}.detail{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.detail b{display:block;font-size:13px;color:var(--ink);margin-bottom:5px}.detail i{font-style:normal;background:#e9e6dc;border-radius:12px;padding:12px;font-size:19px}.quiz{max-width:830px;margin:10px auto;animation:enter .3s}.quiz-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:12px 0}.text-btn{border:0;background:transparent;font-size:12px;color:var(--muted);padding:9px 0}.progress{height:5px;background:#e1dfd5;border-radius:4px;margin-bottom:30px;overflow:hidden}.progress i{display:block;background:var(--purple);height:100%;transition:width .3s}.scene-card{border-radius:22px;background:#e7e3f3;padding:30px 35px}.scene-tag{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:var(--purple);font-weight:800}.context{font-size:14px;line-height:1.75;color:#625e6c;margin:24px 0 17px}.dialogue{font-size:clamp(23px,3.5vw,33px);line-height:1.5;font-weight:700;letter-spacing:-.6px;margin:0}.dialogue mark{background:var(--lime);color:var(--ink);padding:0 4px}.question{font-size:20px;letter-spacing:-.5px;margin:25px 0 16px}.answers{display:grid;gap:10px}.answer{border:1px solid var(--line);background:#fffdf7;border-radius:13px;padding:16px 20px;display:flex;align-items:center;gap:16px;text-align:left;font-size:14px;color:var(--ink)}.answer:hover:not(:disabled){border-color:var(--purple);background:#eee9ff}.letter{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;font-size:11px;flex-shrink:0}.answer:disabled{opacity:.6;cursor:default}.answer.correct{background:#e7efce;border-color:#91a34d;opacity:1}.answer.wrong{background:#f5dfd8;border-color:#cc9782;opacity:1}.feedback{display:grid;grid-template-columns:100px 1fr;gap:18px;background:#fffdf7;border-radius:16px;padding:13px;margin-top:20px}.feedback img{width:100px;height:115px;object-fit:cover;object-position:center 22%;border-radius:11px}.feedback h3{font-size:17px;margin:8px 0}.feedback p{font-size:13px;line-height:1.75;color:#66685e;margin:0}.next{display:flex;justify-content:flex-end;margin-top:19px}.result{animation:enter .3s}.result-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:45px}.result h1{font-size:49px;letter-spacing:-2.5px}.score{font-size:75px;letter-spacing:-5px;color:var(--purple);font-weight:800}.score small{font-size:25px;letter-spacing:-1px;color:#9a9c90}.result p{font-size:14px;line-height:1.8;color:#6c6e63}.result-photo{width:100%;height:400px;object-fit:cover;object-position:center 23%;border-radius:120px 120px 20px 20px}.secondary{border:1px solid var(--line);background:transparent;border-radius:12px;padding:14px 19px;font-size:12px;color:var(--ink)}.result-actions{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.phrases{border-top:1px solid var(--line);margin-top:26px;padding-top:15px}.phrase-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;padding:14px 0;border-bottom:1px solid var(--line)}.phrase-row span{color:var(--muted)}.booking{padding:24px;background:var(--lime);border-radius:18px;margin-top:20px}.booking h3{font-size:20px;margin:0 0 8px;letter-spacing:-.5px}.booking p{font-size:13px}.booking .primary{width:100%;font-size:12px;padding:16px;gap:10px}.request-text{background:#ffffff99;padding:14px;border-radius:10px;font-size:12px;line-height:1.8;user-select:all}.review{margin-top:25px}.review summary{cursor:pointer;font-size:14px;font-weight:700}.review-item{font-size:13px;line-height:1.8;padding:17px 0;border-bottom:1px solid var(--line)}.review-item b{color:var(--purple)}footer{max-width:1220px;margin:auto;border-top:1px solid var(--line);padding:25px 32px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 22px;border-radius:12px;color:white;background:var(--ink);max-width:90vw;font-size:12px;z-index:5}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){header{height:78px;padding:0 22px;gap:15px}.logo{font-size:28px}.tagline{font-size:8px;letter-spacing:1px;padding-left:15px}header small{display:none}main{padding:8px 22px 30px;min-height:0}.hero{grid-template-columns:1fr;gap:25px}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:48px;letter-spacing:-2.5px;max-width:470px}.intro{font-size:14px}.hero .primary{width:100%}.portrait-wrap{margin:0 9px;padding:12px 5px 0}.portrait{height:390px;border-radius:110px 110px 18px 18px}.speech{font-size:17px;left:-14px;top:40px}.sticker{width:76px;height:76px;font-size:9px}.caption{padding:14px}.caption strong{font-size:14px}.hero-bottom{grid-template-columns:1fr;margin-top:30px;gap:16px;padding-top:23px}.detail i{padding:9px}.detail b{font-size:12px}.quiz{margin:0 auto}.progress{margin-bottom:22px}.scene-card{padding:24px 22px}.context{font-size:13px;margin-top:20px}.scene-tag{font-size:8px}.question{font-size:18px}.answer{font-size:13px;padding:14px}.feedback{grid-template-columns:76px 1fr;gap:12px}.feedback img{width:76px;height:106px}.feedback h3{font-size:15px}.feedback p{font-size:12px}.next .primary{width:100%}.result-layout{grid-template-columns:1fr;gap:25px}.result h1{font-size:40px}.result-photo{height:330px}.score{font-size:65px}.phrase-row{font-size:12px}.result-actions .secondary{flex:1}footer{padding:23px;line-height:1.7}footer span{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.reaction-overlay{position:fixed;inset:0;z-index:20;border:0;width:100%;height:100%;height:100dvh;margin:0;background:rgba(39,34,55,.28);backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 25px;animation:reaction-veil 5s both;color:var(--ink);cursor:pointer}
.reaction-portrait{display:block;position:relative;width:min(340px,68vw);max-height:70vh;aspect-ratio:1165/1350;animation:reaction-pop 5s both;filter:drop-shadow(0 22px 35px #1c163847)}
.reaction-portrait img{display:block;width:100%;height:100%;object-fit:cover;border:6px solid #fffdf7;border-radius:38px;transform:rotate(-5deg)}
.reaction-bubble{position:absolute;left:50%;bottom:0;transform:translate(-50%,20%) rotate(-7deg);white-space:nowrap;padding:16px 23px;border:2px solid var(--ink);border-radius:17px 17px 17px 0;background:var(--lime);box-shadow:4px 5px 0 var(--ink);font-size:clamp(18px,5vw,26px);font-weight:800}
.reaction-spark{position:absolute;color:var(--lime);text-shadow:2px 2px 0 var(--ink);font-size:62px;animation:reaction-spark .65s both}.spark-one{top:-33px;right:-28px;transform:rotate(16deg)}.spark-two{left:-35px;bottom:55px;font-size:48px;animation-delay:.1s}.reaction-dismiss{font-size:11px;color:white;background:#292b2499;border-radius:20px;padding:9px 15px;animation:enter .4s both}
@keyframes reaction-veil{0%{opacity:0}5%,92%{opacity:1}100%{opacity:0}}
@keyframes reaction-pop{0%{opacity:0;transform:translateY(160px) scale(.35) rotate(17deg)}8%{opacity:1;transform:translateY(-12px) scale(1.06) rotate(-3deg)}13%,92%{opacity:1;transform:translateY(0) scale(1) rotate(0)}100%{opacity:0;transform:translateY(75px) scale(.85) rotate(6deg)}}
@keyframes reaction-spark{from{opacity:0;scale:.1;rotate:-50deg}to{opacity:1;scale:1;rotate:0deg}}
@media(max-width:480px){.reaction-portrait{width:min(300px,70vw)}.reaction-portrait img{border-width:5px;border-radius:27px}.reaction-bubble{padding:13px 17px}.reaction-spark{font-size:48px}.spark-one{right:-23px;top:-28px}}
@media(prefers-reduced-motion:reduce){.reaction-overlay,.reaction-portrait,.reaction-spark,.reaction-dismiss{animation:none!important}.reaction-overlay{backdrop-filter:none}}

.series-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px;max-width:450px}.series-chips span{font-size:8px;letter-spacing:.8px;font-weight:800;border:1px solid #d7d3e3;border-radius:6px;padding:7px 9px;color:#72648e}.show-credit{display:flex;align-items:center;gap:13px;margin-top:24px;border-bottom:1px solid #cfc9e1;padding-bottom:19px}.show-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--purple);color:white;font-size:16px;flex-shrink:0}.show-credit strong{font-size:23px;display:block;letter-spacing:-.7px;line-height:1.3}.show-credit div>span{display:block;margin-top:5px;font-size:10px;color:#777086}.character-credit{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:19px;font-size:13px;font-weight:800}.character-credit>span{font-size:8px;font-weight:500;letter-spacing:1px;color:#8a809e}.context{margin-top:12px}.source-link{display:inline-block;font-size:10px;color:var(--purple);text-decoration:none;margin-top:9px;line-height:1.6}.source-link:hover{text-decoration:underline}.review-credit{font-size:11px;color:var(--muted);margin:5px 0}@media(max-width:760px){.show-credit strong{font-size:21px}.show-credit{margin-top:20px;padding-bottom:17px}.series-chips{margin-top:19px}.character-credit{gap:8px}.character-credit>span{font-size:7px}.source-link{font-size:9px}}

.reaction-auto{animation:none;padding:24px;cursor:default;overflow-y:auto;overscroll-behavior:contain;gap:0}.reaction-panel{background:var(--paper);border:1px solid #fff;border-radius:28px;padding:24px;display:grid;grid-template-columns:230px 1fr;gap:28px;max-width:770px;width:100%;max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 80px #251e4155;animation:reaction-panel-in .45s cubic-bezier(.2,1.2,.3,1) both;text-align:left}.reaction-auto-photo{position:relative;align-self:center;padding-bottom:18px}.reaction-auto-photo img{display:block;width:100%;aspect-ratio:1165/1350;object-fit:cover;border:5px solid white;border-radius:21px;transform:rotate(-4deg);box-shadow:0 8px 22px #29233b22}.reaction-auto-badge{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-5deg);white-space:nowrap;background:var(--lime);border:1px solid var(--ink);border-radius:10px;padding:10px 17px;font-size:19px;font-weight:800;box-shadow:3px 3px 0 var(--ink)}.reaction-copy{align-self:center;min-width:0}.reaction-status{font-size:10px;font-weight:800;letter-spacing:1px;color:var(--purple);margin-bottom:14px}.is-incorrect{color:#95624a}.reaction-copy h2{font-size:27px;line-height:1.2;letter-spacing:-.8px;margin:0 0 9px;overflow-wrap:anywhere}.reaction-meaning{font-size:17px;line-height:1.5;color:var(--purple);display:block}.reaction-copy p{font-size:13px;line-height:1.8;color:#64645c;margin:13px 0}.reaction-auto-credit{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:20px}.auto-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}.auto-controls button{border:1px solid var(--line);border-radius:8px;background:white;padding:8px 10px;color:var(--ink);font-size:11px;white-space:nowrap}.auto-track{height:4px;background:#e2dded;border-radius:5px;overflow:hidden;margin-top:12px}.auto-track i{display:block;width:100%;height:100%;background:var(--purple);transition:width 1s linear}@keyframes reaction-panel-in{from{opacity:0;transform:translateY(70px) scale(.8) rotate(3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@media(max-width:650px){.reaction-auto{padding:16px}.reaction-panel{max-width:410px;max-height:calc(100dvh - 32px);grid-template-columns:1fr;gap:20px;padding:22px;border-radius:23px}.reaction-auto-photo{width:160px;justify-self:center;padding-bottom:10px}.reaction-auto-photo img{height:160px;aspect-ratio:auto;object-position:center 24%;border-width:4px;border-radius:17px}.reaction-auto-badge{font-size:15px;padding:7px 13px}.reaction-copy h2{font-size:24px}.reaction-status{margin-bottom:10px;font-size:9px}.reaction-meaning{font-size:16px}.reaction-copy p{font-size:13px;margin:10px 0;line-height:1.7}.reaction-auto-credit{margin-bottom:13px}.auto-controls{font-size:9px}}@media(max-height:650px) and (max-width:650px){.reaction-panel{gap:15px;padding:17px}.reaction-auto-photo{width:120px}.reaction-auto-photo img{height:112px}.reaction-copy h2{font-size:21px}.reaction-copy p{font-size:12px}.reaction-auto-credit{margin-bottom:9px}}@media(prefers-reduced-motion:reduce){.reaction-panel{animation:none}.auto-track i{transition:none}}

.kamilla-logo{gap:12px;letter-spacing:-1px;flex-shrink:0}.kamilla-logo>i{width:37px;height:37px;border-radius:12px;font-size:15px}.kamilla-logo .brand-name{display:flex;flex-direction:column;gap:0;margin:0;color:var(--ink)}.kamilla-logo .brand-name small{margin:0;color:var(--muted);font-size:11px;letter-spacing:1.7px;font-weight:600;line-height:1.5;display:block}.kamilla-logo .brand-name strong{font-size:29px;font-weight:800;line-height:1.15;letter-spacing:-1.3px}.kamilla-logo .brand-name strong>span{margin:0;color:var(--purple)}@media(max-width:760px){.kamilla-logo .brand-name strong{font-size:25px}.kamilla-logo .brand-name small{display:block;font-size:9px;letter-spacing:1.5px}.kamilla-logo>i{width:32px;height:32px;font-size:13px;border-radius:10px}}@media(max-width:480px){header:has(.kamilla-logo){justify-content:space-between}.kamilla-logo+.tagline{border:0;padding:0;max-width:115px;text-align:right;font-size:8px;line-height:1.7}}
.show-picker{max-width:1050px;margin:15px auto;animation:enter .3s}.show-picker h1{font-size:55px;margin-bottom:18px}.picker-intro{color:var(--muted);font-size:14px;line-height:1.8;max-width:560px;margin-bottom:28px}.show-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.show-tile{position:relative;isolation:isolate;border:3px solid transparent;border-radius:18px;overflow:hidden;background:#2d2938;padding:0;min-height:235px;text-align:left;color:white;transition:transform .2s,border-color .2s}.show-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;z-index:-2;transition:transform .3s;opacity:.8}.tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,#15142100 10%,#15142177 45%,#151421f5 100%);z-index:-1}.show-tile:hover{transform:translateY(-3px)}.show-tile:hover img{transform:scale(1.05)}.show-tile.selected{border-color:var(--purple);box-shadow:0 0 0 2px #6650d833}.tile-check{position:absolute;top:11px;right:11px;width:28px;height:28px;border:1px solid #ffffff99;background:#2229;border-radius:50%;display:grid;place-items:center;font-size:18px}.selected .tile-check{background:var(--lime);border-color:var(--lime);color:var(--ink)}.tile-copy{position:absolute;bottom:17px;left:16px;right:16px;display:flex;flex-direction:column;gap:5px}.tile-copy strong{font-size:20px;line-height:1.2;letter-spacing:-.6px}.tile-copy>span{font-size:10px;color:#ffffffb3}.tile-copy small{font-size:10px;line-height:1.5;color:#d9e4ac;margin-top:5px}.picker-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 12px}.picker-actions .primary:disabled{opacity:.45;cursor:default;transform:none}.cinema-mode{background:#171620}.cinema-mode:before{content:'';position:fixed;inset:-25px;background-image:linear-gradient(#15131fd9,#15131fe8),var(--scene-bg);background-size:cover;background-position:center;filter:blur(14px);z-index:-1;pointer-events:none}.cinema-mode header .logo,.cinema-mode .kamilla-logo .brand-name{color:#fff}.cinema-mode header small,.cinema-mode .tagline,.cinema-mode footer,.cinema-mode .quiz-top,.cinema-mode .text-btn{color:#d1cadf}.cinema-mode .question{color:#fff}.cinema-mode footer{border-color:#ffffff24}.cinema-mode .progress{background:#ffffff20}.cinematic-card{position:relative;isolation:isolate;overflow:hidden;min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;background:#2b2935}.scene-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}.scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f101644,#10101a9c 32%,#10101aee 100%)}.cinematic-card .scene-tag{color:#dfea9c;margin-bottom:auto;gap:15px}.cinematic-card .show-credit{border-color:#ffffff38;margin-top:25px;padding-bottom:14px}.cinematic-card .show-credit strong{color:#fff}.cinematic-card .show-credit div>span,.cinematic-card .character-credit>span{color:#d7d3e1}.cinematic-card .character-credit{color:#fff}.cinematic-card .context{color:#ddd9e5;max-width:600px}.cinematic-card .dialogue{color:#fff}.cinematic-card .dialogue mark{background:#dfed9de8;color:#292b24;box-decoration-break:clone;-webkit-box-decoration-break:clone}.frame-source{color:#d3cfde;font-size:8px;line-height:1.6;margin-top:18px;text-decoration:none;align-self:flex-start}.frame-source:hover{text-decoration:underline}.language-note{display:block;margin-top:7px;color:#dfea9c;font-size:9px}.cinema-mode .reaction-copy h2{color:var(--ink)}@media(max-width:850px){.show-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.show-picker{margin-top:5px}.show-picker h1{font-size:43px}.show-grid{grid-template-columns:repeat(2,1fr);gap:11px}.show-tile{min-height:228px;border-radius:15px}.tile-copy{left:12px;right:12px;bottom:14px}.tile-copy strong{font-size:19px}.tile-copy small{font-size:9px}.picker-intro{font-size:13px;margin-bottom:22px}.picker-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.picker-actions .primary{width:100%}.picker-actions .secondary{width:100%}.cinematic-card{min-height:440px;padding:24px 21px}.cinematic-card .show-credit{margin-top:32px}.cinematic-card .dialogue{font-size:25px}.cinematic-card .context{font-size:12px}.frame-source{font-size:8px}.cinema-mode .kamilla-logo+.tagline{color:#d1cadf}}@media(max-width:360px){.show-tile{min-height:210px}.tile-copy strong{font-size:17px}}

.cinema-mode{isolation:isolate}
button.reaction-auto-photo{border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;text-align:center;padding:0 0 39px;margin:0;transition:transform .15s}button.reaction-auto-photo:hover{transform:scale(1.025)}button.reaction-auto-photo:active{transform:scale(.98)}button.reaction-auto-photo .reaction-auto-badge{bottom:25px}.photo-tap-hint{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:var(--purple);font-weight:700}
@media(max-width:650px){
body{--mobile-header:52px;--screen:100svh}header{height:calc(var(--mobile-header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;gap:12px}.kamilla-logo>i{width:27px;height:27px;font-size:11px;border-radius:8px}.kamilla-logo{gap:8px}.kamilla-logo .brand-name strong{font-size:21px}.kamilla-logo .brand-name small{font-size:8px;letter-spacing:1.2px}.tagline{max-width:110px;font-size:7px!important;line-height:1.5}footer{display:none}main{height:calc(var(--screen) - var(--mobile-header) - env(safe-area-inset-top));min-height:0;margin:0;padding:8px 15px max(10px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}main>.quiz,main>.show-picker{height:100%;margin:0;min-height:0}
body[data-view="quiz"] .quiz{display:flex;flex-direction:column}.quiz-top{flex-shrink:0;margin:0 0 6px;font-size:10px;min-height:24px}.quiz-top .text-btn{font-size:10px;padding:4px 0}.progress{flex-shrink:0;height:4px;margin:0 0 10px}.cinematic-card{flex:1;min-height:220px;padding:15px;border-radius:16px;justify-content:flex-end}.cinematic-card .scene-tag{font-size:7px;letter-spacing:1px;line-height:1.4;margin-bottom:auto}.cinematic-card .show-credit{margin-top:12px;padding-bottom:8px;gap:9px}.show-icon{width:28px;height:28px;border-radius:8px;font-size:11px}.cinematic-card .show-credit strong{font-size:clamp(16px,2.8svh,21px);line-height:1.1;letter-spacing:-.4px}.cinematic-card .show-credit div>span{font-size:8px;line-height:1.4;margin-top:4px}.cinematic-card .character-credit{font-size:10px;gap:6px;margin-top:8px}.cinematic-card .character-credit>span{font-size:6px;letter-spacing:.5px}.cinematic-card .context{font-size:11px;line-height:1.45;margin:8px 0 10px}.cinematic-card .dialogue{font-size:clamp(19px,3.5svh,27px);line-height:1.32;letter-spacing:-.4px}.frame-source{font-size:7px;line-height:1.4;margin-top:9px}.language-note{font-size:8px;line-height:1.4;margin-top:5px}.question{flex-shrink:0;font-size:15px;line-height:1.3;margin:11px 0 9px;letter-spacing:-.2px}.answers{flex-shrink:0;gap:7px}.answer{min-height:43px;padding:9px 11px;font-size:12px;line-height:1.35;gap:10px;border-radius:11px}.letter{width:24px;height:24px;font-size:10px;border-radius:7px}
.show-picker{display:flex;flex-direction:column}.show-picker .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:9px;flex-shrink:0}.show-picker h1{font-size:clamp(25px,4.6svh,35px);letter-spacing:-1.3px;line-height:1.12;margin:0 0 10px;flex-shrink:0}.picker-intro{font-size:11px;line-height:1.5;margin:0 0 12px;flex-shrink:0}.show-grid{flex:1;min-height:280px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.show-tile{min-height:0;border-width:2px;border-radius:11px}.tile-copy{bottom:9px;left:10px;right:31px;gap:3px}.tile-copy strong{font-size:clamp(12px,2.3svh,17px);line-height:1.1;letter-spacing:-.3px}.tile-copy>span{font-size:8px;line-height:1.2}.tile-copy small{display:none}.tile-check{width:21px;height:21px;right:7px;top:7px;font-size:14px}.tile-shade{background:linear-gradient(180deg,#15142122,#151421d9)}.picker-actions{flex-shrink:0;flex-direction:row;align-items:stretch;justify-content:stretch;margin:12px 0 6px;gap:8px}.picker-actions .primary{flex:1.3;width:auto;min-height:42px;font-size:11px;padding:11px 12px;gap:6px;white-space:normal}.picker-actions .primary span{font-size:17px}.picker-actions .secondary{flex:1;width:auto;font-size:10px;padding:10px 8px}.show-picker>.fine{flex-shrink:0;font-size:8px;line-height:1.4;margin:0}
body[data-view="home"] main{display:flex;flex-direction:column}.hero{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;align-items:stretch}.hero-copy{flex-shrink:0}.hero-copy .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:11px}.hero-copy h1{font-size:clamp(30px,5.6svh,43px);line-height:1.02;letter-spacing:-1.7px;margin:0 0 12px}.hero-copy .intro{font-size:12px;line-height:1.55;margin:0 0 8px;max-width:100%}.hero .primary{padding:12px 17px;margin:5px 0 6px;font-size:12px;min-height:42px}.hero-copy .fine{font-size:9px;margin:0}.series-chips{gap:5px;margin-top:10px;max-width:none}.series-chips span{font-size:6px;padding:5px 6px;letter-spacing:.5px}.portrait-wrap{flex:1;min-height:110px;max-height:190px;padding:0 6px;margin:0 6px}.portrait{height:100%;min-height:110px;border-radius:24px;position:relative}.portrait img{object-position:center 28%}.caption{left:10px;right:10px;bottom:10px;padding:10px 12px;font-size:8px}.caption strong{font-size:12px;margin-bottom:2px}.caption b{font-size:20px}.speech{font-size:12px;padding:8px 11px;top:10px;left:-8px;border-radius:9px 9px 0 9px;box-shadow:2px 2px 0 var(--ink)}.sticker{width:54px;height:54px;font-size:6px;right:-3px;top:-6px}.hero-bottom{display:none}
.reaction-auto{padding:12px}.reaction-panel{max-height:calc(100svh - 24px - env(safe-area-inset-bottom));padding:18px;gap:17px;border-radius:21px}.reaction-auto-photo{width:128px!important}.reaction-auto-photo img{height:120px;object-position:center 24%}.reaction-auto-badge{font-size:13px;padding:7px 11px}.photo-tap-hint{font-size:9px}.reaction-copy h2{font-size:22px;line-height:1.18;margin-bottom:7px}.reaction-status{font-size:8px;margin-bottom:8px}.reaction-meaning{font-size:15px;line-height:1.4}.reaction-copy p{font-size:12px;line-height:1.6;margin:10px 0}.reaction-auto-credit{font-size:9px;margin-bottom:11px}.auto-controls{font-size:9px}.auto-track{margin-top:9px}
.result{height:100%;display:flex;flex-direction:column}.result>.eyebrow{font-size:8px;margin-bottom:12px}.result-layout{display:flex;flex-direction:column;gap:8px}.result-layout>div{min-width:0}.result h1{font-size:clamp(28px,4.8svh,38px);line-height:1.06;letter-spacing:-1.5px;margin-bottom:8px}.score{font-size:48px;line-height:1.1;letter-spacing:-3px}.score small{font-size:19px}.result p{font-size:11px;line-height:1.55;margin:8px 0}.result p.fine{font-size:9px;line-height:1.45}.result-actions{margin:10px 0 0;gap:8px}.result-actions .secondary{padding:10px 8px;font-size:9px}.result .phrases,.result .result-photo{display:none}.booking{padding:14px;margin-top:4px;border-radius:13px}.booking h3{font-size:18px}.booking p{font-size:11px}.booking .primary{padding:12px;font-size:11px}.review{margin-top:13px}.review summary{font-size:11px}.review[open]{padding-bottom:16px}.request-text{font-size:10px}
}
@media(max-width:650px) and (max-height:620px){.cinematic-card{min-height:190px;padding:12px}.cinematic-card .show-credit{margin-top:9px;padding-bottom:6px}.cinematic-card .context{font-size:10px;margin:6px 0}.cinematic-card .dialogue{font-size:19px}.cinematic-card .character-credit{margin-top:6px}.question{font-size:14px;margin:8px 0}.answer{min-height:40px;font-size:11px;padding:7px 10px}.answers{gap:6px}.show-grid{min-height:244px;gap:6px}.show-picker .eyebrow{margin-bottom:6px}.show-picker h1{font-size:25px;margin-bottom:7px}.picker-intro{font-size:10px;margin-bottom:8px}.picker-actions{margin-top:8px}.tile-copy strong{font-size:12px}.hero-copy .eyebrow{margin-bottom:8px}.hero-copy h1{font-size:30px;margin-bottom:8px}.hero-copy .intro{font-size:11px;line-height:1.4}.hero{gap:10px}.series-chips{margin-top:7px}.portrait-wrap{min-height:90px;max-height:130px}.portrait{min-height:90px}.reaction-panel{padding:15px;gap:12px}.reaction-auto-photo{width:105px!important}.reaction-auto-photo img{height:98px}.reaction-copy h2{font-size:20px}.reaction-copy p{font-size:11px}.result>.eyebrow{margin-bottom:8px}.result h1{font-size:28px}.score{font-size:40px}.result p{font-size:10px}.result p.fine{font-size:8px}.booking{padding:11px}.booking h3{font-size:16px}.booking p{font-size:10px}.booking .primary{padding:10px}.review{margin-top:9px}}

.mobile-context{display:none}@media(max-width:650px){.desktop-context{display:none}.mobile-context{display:block}.cinematic-card .show-credit div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 112px)}}@media(max-width:650px) and (max-height:620px){.cinematic-card .scene-tag{display:none}.cinematic-card .show-credit{margin-top:0;gap:7px}.cinematic-card .show-credit strong{font-size:16px}.cinematic-card .character-credit>span{display:none}.cinematic-card .context{font-size:10px;line-height:1.4;margin:5px 0 7px}.cinematic-card .dialogue{font-size:18px;line-height:1.25}.frame-source{margin-top:6px}.cinematic-card{min-height:170px}}

.reaction-auto{cursor:pointer}

.result-actions{align-items:center}.result-actions .replay-button{order:-1;width:100%;padding:16px 21px;font-size:14px}.replay-note{width:100%;font-size:11px!important;margin:0!important;color:var(--muted)}@media(max-width:650px){.result-actions{gap:6px}.result-actions .replay-button{font-size:11px;min-height:40px;padding:10px 13px;flex:auto}.replay-note{font-size:8px!important;line-height:1.4!important}.result-actions .secondary{flex:initial;width:auto}.result .booking p{margin:6px 0}.result>.eyebrow{margin-bottom:8px}}@media(max-width:650px) and (max-height:620px){.result-actions .replay-button{min-height:35px;padding:8px 11px}.result h1{font-size:25px}.result .score{font-size:35px}.result-actions{margin-top:7px}}

a.primary{text-decoration:none}.direct-help{font-size:10px!important;line-height:1.5!important;margin:8px 0 0!important}.result-actions .replay-button{order:0}.result-actions .replay-note{order:1}.result-actions .secondary{order:2}@media(max-width:650px){.direct-help{font-size:8px!important;line-height:1.4!important}}
@media(max-width:650px){.result-layout>div:first-child>p:not(.fine){display:none}.result .booking .primary{white-space:normal;text-align:left}.result .result-actions .replay-button{justify-content:space-between}}@media(max-width:650px) and (max-height:620px){.result .booking>p:not(.direct-help){display:none}.result .result-actions .secondary{padding:8px;font-size:8px}.result .replay-note{font-size:7px!important}}

.share-status{font-size:12px;line-height:1.5;color:#7854b3;margin:8px 0;max-width:360px}.share-status:empty{display:none}.share-manual{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:12px;border:1px solid #c8b6dd;border-radius:12px;background:#fffdf7;color:#332a40;font:13px/1.5 Arial,sans-serif;resize:vertical;user-select:text}.result-actions button:disabled{opacity:.6;cursor:wait}

/* Fit the primary desktop screens to the viewport. Expanded detail panels may scroll. */
.quiz-choices{min-width:0;flex-shrink:0}.phrases summary{cursor:pointer;font-size:13px;font-weight:700}.phrases:not([open]){padding-bottom:4px}
@media(min-width:761px){
 body{height:100dvh;min-height:100dvh;display:flex;flex-direction:column}
 header{width:100%;height:clamp(58px,8dvh,82px);flex:0 0 auto;padding:0 36px}
 main{width:100%;flex:1;min-height:0;margin:0 auto;padding:8px 32px 12px}
 footer{width:100%;flex:0 0 auto;padding:10px 32px;min-height:34px;line-height:1.4}
 body[data-view="home"] main{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(10px,2dvh,20px)}
 .hero{height:100%;min-height:0;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,55px)}
 .hero-copy{min-width:0}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:clamp(10px,2dvh,20px)}
 .hero-copy h1{font-size:clamp(33px,5.5dvh,61px);line-height:1.02;letter-spacing:-2.3px;margin:0 0 clamp(10px,1.7dvh,18px)}
 .hero-copy .intro{font-size:clamp(12px,1.65dvh,15px);line-height:1.6;max-width:490px;margin:0 0 8px}
 .hero .primary{min-height:44px;padding:12px 20px;font-size:13px;margin:8px 0}
 .hero-copy .fine{font-size:10px;margin:2px 0}
 .series-chips{margin-top:clamp(8px,1.6dvh,16px);gap:5px}.series-chips span{font-size:7px;padding:6px 7px}
 .portrait-wrap{height:100%;min-height:0;max-height:580px;align-self:center;padding:8px 6px 0 12px}
 .portrait{height:100%;min-height:0;border-radius:100px 100px 20px 20px}.portrait img{object-position:center 26%}
 .caption{padding:12px 15px;left:14px;right:14px;bottom:14px;font-size:10px}.caption strong{font-size:14px}
 .speech{top:45px;left:-10px;font-size:17px;padding:11px 15px}.sticker{width:72px;height:72px;font-size:8px;right:-6px;top:0}
 .hero-bottom{margin:0;padding-top:12px;gap:20px}.detail{font-size:10px;gap:9px}.detail b{font-size:11px;margin-bottom:3px}.detail i{font-size:15px;padding:9px}
 .quiz{max-width:1156px;height:100%;min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);grid-template-rows:auto 4px minmax(0,1fr);gap:12px 28px}
 .quiz-top{grid-column:1/-1;margin:0;min-height:26px;font-size:11px}.quiz-top .text-btn{padding:5px 0;font-size:11px}
 .progress{grid-column:1/-1;height:4px;margin:0}
 .cinematic-card{grid-column:1;grid-row:3;height:100%;min-height:0;padding:clamp(16px,3dvh,28px);border-radius:20px}
 .cinematic-card .scene-tag{font-size:9px;line-height:1.4;letter-spacing:1px}
 .cinematic-card .show-credit{margin-top:14px;padding-bottom:10px;gap:10px}
 .show-icon{width:32px;height:32px;font-size:13px;border-radius:9px}
 .cinematic-card .show-credit strong{font-size:clamp(21px,3.5dvh,28px);line-height:1.15}
 .cinematic-card .show-credit div>span{font-size:9px;line-height:1.45}
 .cinematic-card .character-credit{margin-top:11px;font-size:12px;gap:8px}.cinematic-card .character-credit>span{font-size:7px;letter-spacing:.6px}
 .cinematic-card .context{font-size:clamp(11px,1.65dvh,13px);line-height:1.55;margin:10px 0 12px}
 .cinematic-card .dialogue{font-size:clamp(22px,3.5dvh,34px);line-height:1.35}
 .frame-source{font-size:8px;margin-top:12px}.language-note{font-size:8px}
 .quiz-choices{grid-column:2;grid-row:3;align-self:center}.question{font-size:clamp(18px,2.8dvh,24px);line-height:1.4;margin:0 0 20px;color:#fff}
 .answers{gap:12px}.answer{min-height:64px;padding:16px;font-size:13px;line-height:1.5;gap:12px}.letter{width:28px;height:28px;flex-shrink:0}
 .result{height:100%;min-height:0;display:flex;flex-direction:column}
 .result>.eyebrow{font-size:9px;margin-bottom:clamp(10px,1.8dvh,18px)}
 .result-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:start}
 .result-layout>div{min-width:0}.result h1{font-size:clamp(30px,4.6dvh,46px);line-height:1.06;letter-spacing:-1.8px;margin-bottom:10px}
 .score{font-size:clamp(46px,7dvh,68px);line-height:1.1;letter-spacing:-3px}.score small{font-size:22px}
 .result p{font-size:clamp(11px,1.6dvh,13px);line-height:1.6;margin:10px 0}.result p.fine{font-size:10px;line-height:1.5}
 .result-actions{margin:14px 0 0;gap:8px;align-items:stretch}
 .result-actions .secondary,.result-actions .replay-button{order:0;flex:1 1 190px;width:auto;min-height:44px;font-size:11px;padding:11px 14px;line-height:1.4;gap:10px}
 .result-actions .replay-note{order:1;font-size:10px!important;line-height:1.5!important}.result-actions .share-status{order:2;width:100%;font-size:10px;margin:0}
 .phrases{margin-top:14px;padding-top:12px}.phrases summary{font-size:12px}.phrase-row{font-size:12px;padding:10px 0}
 .result-photo{height:clamp(150px,27dvh,290px);border-radius:75px 75px 16px 16px;object-position:center 26%}
 .booking{padding:clamp(14px,2dvh,20px);margin-top:12px;border-radius:15px}.booking h3{font-size:20px;margin-bottom:6px}.booking p{font-size:12px;line-height:1.55;margin:8px 0}.booking .primary{font-size:11px;padding:12px 14px;min-height:44px}.direct-help{font-size:9px!important}
 .review{flex-shrink:0;margin-top:14px}.review summary{font-size:12px}
 body:has(.review[open],.phrases[open],.share-manual,#request:not(:empty)){height:auto;min-height:100dvh}
 body:has(.review[open],.phrases[open],.share-manual,#request:not(:empty)) .result{height:auto;min-height:0}
 body:has(.review[open],.phrases[open],.share-manual,#request:not(:empty)) .result-layout{flex:none}
}
@media(min-width:761px) and (max-height:700px){
 header{height:56px}.kamilla-logo .brand-name strong{font-size:25px}.kamilla-logo .brand-name small{font-size:9px}.kamilla-logo>i{width:32px;height:32px}
 main{padding-top:4px;padding-bottom:8px}footer{min-height:28px;padding-top:7px;padding-bottom:7px;font-size:9px}
 .hero-copy .eyebrow{margin-bottom:9px}.hero-copy h1{font-size:clamp(29px,5.5dvh,38px);margin-bottom:10px}.hero-copy .intro{font-size:12px;line-height:1.5}.hero .primary{margin:6px 0;padding:10px 17px}.series-chips{margin-top:7px}.hero-bottom{padding-top:9px}.detail i{padding:7px}
 .quiz{gap:9px 24px}.cinematic-card .show-credit{margin-top:10px}.cinematic-card .context{margin:8px 0;font-size:11px}.cinematic-card .dialogue{font-size:22px}.cinematic-card .character-credit{margin-top:8px}.frame-source{margin-top:8px}.question{margin-bottom:14px}.answer{min-height:55px;padding:12px;font-size:12px}
 .result>.eyebrow{margin-bottom:9px}.result h1{font-size:30px;margin-bottom:7px}.score{font-size:44px}.result p{font-size:11px;line-height:1.5;margin:8px 0}.result p.fine{font-size:9px}.result-actions{margin-top:10px}.result-actions .replay-button,.result-actions .secondary{font-size:10px;padding:9px 11px;min-height:40px}.result-photo{height:160px}.booking{padding:13px;margin-top:9px}.booking h3{font-size:18px}.booking p{font-size:11px}.booking .primary{padding:10px;font-size:10px}.phrases{margin-top:10px;padding-top:9px}.review{margin-top:10px}
}
