@font-face{font-family:e-Ukraine;src:url(/fonts/e-Ukraine-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:e-Ukraine;src:url(/fonts/e-Ukraine-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:e-Ukraine;src:url(/fonts/e-Ukraine-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:e-Ukraine Head;src:url(/fonts/e-UkraineHead-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:e-Ukraine Head;src:url(/fonts/e-UkraineHead-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--canvas: #e9e1d2;--canvas-deep: #ddd3bf;--worktop: #cfc4ab;--navy: #223251;--navy-soft: #4a5a7a;--reflector: #ff5a2d;--reflector-soft: #ff8a63;--kept: #3e7a5e;--tag-paper: #f6f1e6;--stitch: 2px dashed rgba(34, 50, 81, .35);--stitch-orange: 2px dashed rgba(255, 90, 45, .75);--seam: 0 1px 0 rgba(34, 50, 81, .08), inset 0 0 0 1px rgba(34, 50, 81, .1);--pad: clamp(16px, 4vw, 28px);--radius: 6px;--display: "e-Ukraine Head", "e-Ukraine", system-ui, sans-serif;--body: "e-Ukraine", system-ui, sans-serif}*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.35),transparent 60%),var(--canvas);color:var(--navy);font-family:var(--body);font-weight:300;line-height:1.55;font-size:clamp(15px,2.1vh,17px);min-height:100dvh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(0deg,rgba(34,50,81,.022) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(34,50,81,.022) 0 1px,transparent 1px 3px);z-index:0}#app{position:relative;z-index:1;max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.scene-wrap{position:sticky;top:0;z-index:2;height:46dvh;min-height:300px;flex:none}canvas#scene{display:block;width:100%;height:100%}.sheet{position:relative;z-index:3;background:linear-gradient(rgba(233,225,210,0),var(--canvas) 24px);padding:20px var(--pad) calc(var(--pad) * 1.5);flex:1}.beat{display:none;animation:beat-in .28s ease-out}.beat.active{display:block}@keyframes beat-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.beat{animation:none}}.kicker{font-size:.72rem;letter-spacing:.04em;color:var(--navy-soft);border-top:var(--stitch);border-bottom:var(--stitch);padding:6px 0;margin-bottom:14px}h1{font-family:var(--display);font-weight:700;font-size:clamp(2rem,8.5vw,2.7rem);line-height:1.08;letter-spacing:-.01em;margin-bottom:14px}h2{font-family:var(--display);font-weight:500;font-size:clamp(1.25rem,5.4vw,1.6rem);line-height:1.15;margin-bottom:10px}p{margin-bottom:.8em;max-width:34em}p strong{font-weight:500}.accent{color:var(--reflector)}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}.cta{display:inline-block;font-family:var(--display);font-weight:500;font-size:1rem;background:var(--navy);color:var(--tag-paper);padding:14px 26px;border-radius:var(--radius);margin-top:10px;position:relative;transition:transform .15s ease-out}.cta:after{content:"";position:absolute;inset:4px;border:2px dashed rgba(246,241,230,.45);border-radius:3px;pointer-events:none}.cta:active{transform:scale(.97)}.q{font-weight:400;margin:18px 0 8px}.q-hint{font-size:.8rem;color:var(--navy-soft);margin-top:-4px;margin-bottom:8px}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--tag-paper);border-radius:var(--radius);box-shadow:var(--seam);padding:10px 14px;font-size:.95rem;font-weight:400;position:relative;transition:transform .15s ease-out,background .15s ease-out;min-height:44px;min-width:44px}.tag:after,.door:after{content:"";position:absolute;inset:3px;border:1.5px dashed rgba(34,50,81,.18);border-radius:4px;pointer-events:none}.tag[aria-pressed=true]:after,.door[aria-pressed=true]:after{border-color:#f6f1e659}.tag:active{transform:scale(.96)}.tag[aria-pressed=true]{background:var(--navy);color:var(--tag-paper)}.tag[aria-pressed=true] .tag-hint{color:#f6f1e6b3}.tag-hint{display:block;font-size:.72rem;color:var(--navy-soft);font-weight:300}.stepper{display:flex;align-items:center;gap:14px;margin:6px 0 4px}.stepper button{width:48px;height:48px;border-radius:50%;background:var(--tag-paper);box-shadow:var(--seam);font-family:var(--display);font-size:1.4rem;font-weight:500;line-height:1;transition:transform .15s ease-out}.stepper button:active{transform:scale(.94)}.stepper output{font-family:var(--display);font-weight:700;font-size:1.7rem;min-width:4.2ch;text-align:center}.stepper output small{display:block;font-family:var(--body);font-weight:300;font-size:.68rem;color:var(--navy-soft)}.door-row{display:flex;gap:8px;margin:14px 0}.door{flex:1;background:var(--tag-paper);border-radius:var(--radius) var(--radius) 10px 10px;box-shadow:var(--seam);padding:12px 8px 10px;font-size:.85rem;font-weight:400;text-align:center;position:relative;transition:transform .15s ease-out,background .15s ease-out}.door:before{content:"";position:absolute;top:-7px;left:50%;width:22px;height:12px;transform:translate(-50%);border:2px solid rgba(34,50,81,.3);border-bottom:none;border-radius:10px 10px 0 0}.door:active{transform:scale(.96)}.door[aria-pressed=true]{background:var(--navy);color:var(--tag-paper)}.door[aria-pressed=true]:before{border-color:var(--reflector)}.door-verdict{font-family:var(--display);font-weight:500;font-size:1.15rem;line-height:1.25;margin:12px 0 4px}.door-verdict.freed{color:var(--reflector)}.door-detail{background:var(--tag-paper);border-radius:var(--radius);box-shadow:var(--seam);padding:16px;margin-top:10px}.door-detail h3{font-family:var(--body);font-weight:500;font-size:.78rem;letter-spacing:.03em;margin:12px 0 4px;color:var(--navy-soft)}.door-detail h3:first-child{margin-top:0}.door-detail h3.kept{color:var(--kept)}.door-detail ul{padding-left:1.1em;font-size:.92rem}.door-detail li{margin-bottom:4px}.door-detail li::marker{color:var(--navy-soft)}.blessing{border-left:3px solid var(--kept);padding:8px 0 8px 12px;font-size:.9rem;margin:12px 0}.subjects{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.subjects span{font-size:.78rem;background:#3e7a5e1f;color:var(--kept);border-radius:4px;padding:3px 8px}.next-step{border-top:var(--stitch);margin-top:14px;padding-top:10px;font-size:.92rem}.src-links{margin-top:10px;font-size:.76rem;color:var(--navy-soft)}.src-links a{color:var(--navy-soft)}.note-card{background:var(--tag-paper);border-radius:var(--radius);box-shadow:var(--seam),0 10px 24px #2232511f;padding:22px 20px;margin:14px 0;position:relative}.note-card:before{content:"";position:absolute;top:12px;right:14px;width:12px;height:12px;border-radius:50%;background:var(--canvas);box-shadow:inset 0 0 0 2px #22325140}.note-card h2{padding-right:30px}.note-line{border-top:var(--stitch);padding:10px 0;font-size:.95rem}.note-line:first-of-type{border-top:none}.note-line strong{font-weight:500}.note-freed{display:block;margin-top:6px;font-family:var(--display);color:var(--reflector);font-weight:700;font-size:1.3rem;line-height:1.2}.note-sig{font-size:.78rem;color:var(--navy-soft);margin-top:8px}.honesty{margin-top:26px;border-top:var(--stitch-orange);padding-top:14px}.honesty h2{font-size:1rem}.honesty ul{padding-left:1.1em;font-size:.82rem;color:var(--navy-soft)}.honesty li{margin-bottom:5px}.sources{margin-top:12px;font-size:.76rem}.sources summary{cursor:pointer;font-weight:400;color:var(--navy-soft);list-style:none}.sources summary::-webkit-details-marker{display:none}.sources summary:before{content:"▸ ";color:var(--reflector)}.sources[open] summary:before{content:"▾ "}.sources li{margin:6px 0}.sources a{color:var(--navy);word-break:break-all}.colophon{margin-top:18px;font-size:.72rem;color:var(--navy-soft)}.colophon a{color:inherit}.ghost-btn{font-size:.85rem;color:var(--navy-soft);text-decoration:underline;text-underline-offset:3px;margin-top:14px}.noscript-box{padding:24px;max-width:34em;margin:0 auto}@media(max-height:900px){.scene-wrap{height:40dvh;min-height:240px}h1,.kicker{margin-bottom:10px}p{margin-bottom:.6em}}@media(max-height:700px){.scene-wrap{height:36dvh;min-height:220px}}
