:root{--blue:#105090;--blue-light:#4070b0;--gold:#d0b000;--red:#a8322a;--red-light:#c2453c;--ink:#1a2333;--paper:#fdfcf8;--line:#d8d5cc;color:var(--ink);background:var(--paper);font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{margin:0;font-size:19px;line-height:1.55}button,input{font:inherit}.app{flex-direction:column;max-width:760px;min-height:100dvh;margin:0 auto;padding:28px 28px 20px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{50%{transform:scale(1.02)}}@keyframes flow{to{stroke-dashoffset:-16px}}@keyframes pulse-node{0%,to{opacity:.3}50%{opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(100%)}to{transform:none}}.screen{animation:.28s ease-out rise}.question{animation:.22s ease-out rise}header{border-bottom:3px solid var(--blue);justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;display:flex}.logo{height:44px;display:block}.header-title{color:var(--blue);font-size:1.2rem;font-style:italic;animation:.25s ease-out fade-in}.home{text-align:center;flex-direction:column;align-items:center;gap:18px;margin:auto 0;padding-bottom:8vh;display:flex}.glyph .links line{stroke:var(--blue-light);stroke-width:1px;stroke-dasharray:3 5;opacity:.55;animation:2.4s linear infinite flow}.glyph .node{fill:var(--blue);animation:2.6s ease-in-out infinite pulse-node}.glyph .out{fill:var(--gold)}.glyph .d1{animation-delay:.25s}.glyph .d2{animation-delay:.5s}.glyph .d3{animation-delay:.75s}.glyph .d4{animation-delay:1s}.glyph .d5{animation-delay:1.25s}h1{color:var(--blue);margin:0;font-size:2.6rem}.home-text{max-width:26em;color:var(--blue-light);margin:0;font-size:1.25rem}.levels{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.progress{color:var(--blue-light);align-items:baseline;gap:18px;margin-bottom:30px;font-size:1.05rem;display:flex}.progress span{white-space:nowrap;font-variant-numeric:tabular-nums}.progress-bar{background:var(--line);flex:1;height:8px}.progress-fill{background:var(--gold);height:100%;transition:width .25s}h2{margin:0 0 28px;font-size:1.6rem;line-height:1.4}.options{gap:14px;margin:0;padding:0;list-style:none;display:grid}.option,.image-option{text-align:left;border:2px solid var(--line);cursor:pointer;width:100%;color:inherit;-webkit-tap-highlight-color:transparent;background:#fff;padding:20px 22px;font-size:1.15rem;transition:border-color .15s}.option.selected,.image-option.selected{border-color:var(--blue);background:#10509012;animation:.3s pop}.image-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.image-option{padding:8px}.image-option img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.image-caption{text-align:center;color:var(--blue-light);padding-top:8px;font-size:1rem;display:block}.nav{justify-content:space-between;margin-top:36px;display:flex}button.primary{background:var(--blue);color:#fff;border:2px solid var(--blue);cursor:pointer;padding:14px 28px;font-size:1.1rem}button.primary.big{margin-top:10px;padding:20px 44px;font-size:1.35rem;animation:1.8s ease-in-out infinite breathe}button.primary.big.danger{animation-delay:.9s}button.primary.danger{background:var(--red);border-color:var(--red)}button.primary.danger:active{background:var(--red-light);border-color:var(--red-light)}button.primary:active{background:var(--blue-light);border-color:var(--blue-light)}button.ghost{color:var(--blue-light);cursor:pointer;text-underline-offset:3px;-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid #0000;padding:14px 18px;font-size:1.05rem;text-decoration:underline}button.ghost:disabled{opacity:.35;cursor:not-allowed}button.small{padding:8px 14px;font-size:.95rem}.restart{position:relative}.popover-backdrop{z-index:5;position:fixed;inset:0}.popover{z-index:6;border:2px solid var(--blue);background:#fff;min-width:240px;padding:14px 16px;animation:.18s ease-out rise;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 6px 20px #1050902e}.popover p{margin:0 0 10px}.popover-actions{justify-content:flex-end;gap:8px;display:flex}.results{text-align:center}.score{color:var(--blue);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:5rem}.score-total{color:var(--blue-light);font-size:2.2rem}.verdict{margin:8px 0 32px;font-size:1.3rem;font-style:italic}.backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a233340;animation:.25s ease-out fade-in;position:fixed;inset:0}.drawer{z-index:11;background:var(--paper);border-left:3px solid var(--blue);text-align:left;width:min(420px,88vw);padding:20px 24px;animation:.28s ease-out slide-in;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.drawer-head h3{color:var(--blue);margin:0;font-size:1.3rem}.drawer-close{color:var(--blue-light);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:2rem;line-height:1}.recap{margin:0;padding-left:20px}.recap li{border-left:4px solid;margin:16px 0;padding-left:12px}.recap li.good{border-color:var(--gold)}.recap li.bad{border-color:#b04030}.recap-question{margin:0;font-weight:700}.recap-explanation{color:#555;margin:2px 0 0;font-size:.95rem}.contact{grid-template-columns:1fr 1fr;gap:12px;max-width:560px;margin:0 auto 28px;display:grid}.contact p,.contact button,.contact .thanks{grid-column:1/-1}.contact p{margin:0 0 6px;font-size:1.1rem}.contact input{border:2px solid var(--line);background:#fff;padding:16px 14px;font-size:1.1rem}.contact input:focus{border-color:var(--blue);outline:none}.contact.locked input{color:#8b8b8b;cursor:not-allowed;background:#f1efe9}.thanks{color:var(--blue);margin-bottom:28px;font-size:1.15rem;font-style:italic}
