/* Kekri Night — immersive but restrained: ink, moss, candlelight. Progressive & responsive. */
.kekri-root .kn{--kn-ink:#091b1b;--kn-forest:#15332d;--kn-warm:#e6bb75;--kn-paper:#eee9dd;--kn-muted:#afc3bc;isolation:isolate;position:relative;width:100%;color:var(--kn-paper);font-family:var(--kk-sans),system-ui,sans-serif}
.kekri-root .kn *, .kekri-root .kn *:before,.kekri-root .kn *:after{box-sizing:border-box}
.kekri-root .kn button,.kekri-root .kn a{-webkit-tap-highlight-color:transparent}
.kekri-root .kn button{cursor:pointer}
.kekri-root .kn button:disabled{cursor:default}
.kekri-root .kn :focus-visible{outline:2px solid #f0c47f;outline-offset:4px}
.kekri-root .kn-shell{position:relative;overflow:hidden;min-height:790px;border:1px solid #54706755;border-radius:24px;background:radial-gradient(ellipse 65% 70% at 72% 6%,#315750 0%,transparent 65%),linear-gradient(165deg,#172f32 0%,#091a20 70%,#0a1b1e 100%);box-shadow:0 35px 80px #0005}
.kekri-root .kn-stars{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:0}.kekri-root .kn-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff7d8;box-shadow:0 0 7px #f9e1a9}
.kekri-root .kn-moon{position:absolute;right:9%;top:130px;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle at 44% 42%,#f6eed5,#ccb88f 75%,#8d8372);box-shadow:0 0 30px #e9d4b440,0 0 130px 30px #eeddb01c;opacity:.72;z-index:0}
.kekri-root .kn-hills{position:absolute;pointer-events:none;inset:0;opacity:.58}.kekri-root .kn-hills__far,.kekri-root .kn-hills__near{position:absolute;left:-15%;right:-15%;bottom:0;height:22%;background:#0e2628;clip-path:polygon(0 63%,7% 47%,15% 62%,21% 35%,33% 56%,41% 40%,50% 60%,64% 33%,73% 57%,84% 32%,90% 65%,100% 49%,100% 100%,0 100%)}.kekri-root .kn-hills__near{height:13%;background:#07171b;clip-path:polygon(0 53%,10% 40%,15% 68%,24% 52%,34% 60%,44% 31%,58% 50%,70% 36%,85% 66%,100% 37%,100% 100%,0 100%)}
.kekri-root .kn-layout{position:relative;z-index:1;padding:clamp(22px,3vw,48px)}
.kekri-root .kn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:27px;border-bottom:1px solid #b7c7ba30}
.kekri-root .kn-eyebrow,.kekri-root .kn-tag,.kekri-root .kn-scene__eyebrow{font:500 11px/1.3 var(--kk-mono),monospace;letter-spacing:.15em;color:var(--kn-warm)}
.kekri-root .kn-head h2{font:400 clamp(28px,4vw,50px)/1.03 var(--kk-serif),Georgia,serif;letter-spacing:-.025em;margin:13px 0 11px;max-width:18ch}
.kekri-root .kn-intro{font:400 clamp(14px,1.5vw,16px)/1.7 var(--kk-sans);color:var(--kn-muted);max-width:60ch}
.kekri-root .kn-sound{flex:none;display:flex;align-items:center;gap:10px;font-size:15px;border:1px solid #8fb2a057;border-radius:30px;min-height:42px;padding:6px 16px;color:#e0e5d9;background:#09202074}
.kekri-root .kn-sound span{font:400 12px var(--kk-sans)}.kekri-root .kn-sound:hover{background:#366053}
.kekri-root .kn-progress{margin-top:32px}.kekri-root .kn-progress__label{display:flex;justify-content:space-between;gap:8px;font:500 11px var(--kk-mono);letter-spacing:.12em;color:#a9bfb6}.kekri-root .kn-progress__label strong{font:500 14px var(--kk-mono);color:var(--kn-warm)}
.kekri-root .kn-progress__line{height:3px;background:#d7e3d126;margin-top:12px;overflow:hidden;border-radius:6px}.kekri-root .kn-progress__line>span{height:100%;display:block;background:var(--kn-warm);transition:width .45s}
.kekri-root .kn-journal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 28px}
.kekri-root .kn-journal__stop{display:flex;align-items:center;gap:12px;min-height:70px;background:#ffffff08;padding:13px;border:1px solid #c8dec024;border-radius:10px;text-align:left;color:#a2b6ae;transition:background .2s,transform .2s,border-color .2s;font:500 11px/1.4 var(--kk-sans);letter-spacing:.05em}
.kekri-root .kn-journal__stop:not(:disabled):hover{transform:translateY(-2px);border-color:#e7c1848c}.kekri-root .kn-journal__stop:disabled{opacity:.47}
.kekri-root .kn-journal__stop.is-current{background:#f0dbab15;border-color:#d0b07788;color:#fff1d5}
.kekri-root .kn-journal__stop.is-done{color:#e9c790}.kekri-root .kn-journal__no{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid #b4d4b255;font:500 12px var(--kk-mono);color:#dfc08d}
.kekri-root .kn-main{border:1px solid #b7cebd2c;border-radius:18px;background:#07181aaa;overflow:hidden;backdrop-filter:blur(3px)}
.kekri-root .kn-cover{min-height:490px;display:grid;grid-template-columns:1fr 1fr;gap:28px;overflow:hidden}.kekri-root .kn-cover__copy{padding:clamp(26px,5vw,76px);z-index:2;align-self:center}.kekri-root .kn-cover h3,.kekri-root .kn-end h3{font:400 clamp(42px,5.5vw,79px)/1.04 var(--kk-serif),Georgia,serif;letter-spacing:-.035em;max-width:11ch;margin:18px 0 24px;color:#f5efe1}
.kekri-root .kn-cover__copy>p:not(.kn-tag){font:400 17px/1.8 var(--kk-sans);color:#b9cec3;max-width:44ch;margin-bottom:33px}
.kekri-root .kn-primary{min-height:52px;padding:15px 28px;display:inline-flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;border:1px solid #ebc17c;background:#e4b66c;color:#163227;font:600 14px/1.3 var(--kk-sans);border-radius:50px;transition:transform .23s,box-shadow .23s,background .23s}
.kekri-root .kn-primary:hover{transform:translateY(-3px);background:#f5cb84;box-shadow:0 12px 45px #deb45a46}.kekri-root .kn-primary span{font-size:22px}
.kekri-root .kn-cover__art{position:relative;min-height:450px;background:radial-gradient(ellipse at 65% 70%,#d1ab6540,transparent 43%)}
.kekri-root .kn-cover__tree{position:absolute;z-index:2;color:#08191b;text-shadow:12px 6px #08191b;font-size:340px;line-height:.7;opacity:.84}.kekri-root .kn-cover__tree--a{left:-10%;top:17%;transform:scaleX(.65)}.kekri-root .kn-cover__tree--b{right:-10%;top:12%;transform:scaleX(.8) scale(.85)}
.kekri-root .kn-cabin{position:absolute;left:28%;bottom:70px;width:175px;height:145px;background:#172c2a;box-shadow:35px 20px 80px #030c0d;z-index:3}.kekri-root .kn-cabin__roof{position:absolute;left:-20px;right:-20px;top:-67px;border-bottom:69px solid #122724;border-left:107px solid transparent;border-right:107px solid transparent}.kekri-root .kn-cabin__window{position:absolute;left:26px;top:45px;width:42px;height:46px;background:#edc882;box-shadow:0 0 22px 8px #d5ab5460}.kekri-root .kn-cabin__window:before{content:'';position:absolute;left:48%;top:0;bottom:0;width:3px;background:#304138}.kekri-root .kn-cabin__door{position:absolute;right:24px;bottom:0;width:47px;height:86px;background:#081819}.kekri-root .kn-lantern{position:absolute;z-index:4;bottom:81px;left:19%;font-size:38px;color:#f4c875;filter:drop-shadow(0 0 13px #f6b968);animation:kn-glow 2.4s ease-in-out infinite alternate}
@keyframes kn-glow{to{filter:drop-shadow(0 0 30px #f6b968);opacity:.77}}
.kekri-root .kn-scene{padding:clamp(24px,3.5vw,54px)}.kekri-root .kn-scene__title{max-width:840px}.kekri-root .kn-scene__title h3{font:400 clamp(34px,4vw,60px)/1.05 var(--kk-serif);margin:17px 0;color:#f1e9d8}.kekri-root .kn-scene__title>p:last-child{font:400 clamp(15px,1.5vw,19px)/1.72 var(--kk-sans);max-width:62ch;color:#bcd1c5}.kekri-root .kn-scene__mission{margin:32px 0 26px;padding:17px 23px;background:#d3af7840;border-left:2px solid #ecc37d;max-width:870px}.kekri-root .kn-scene__mission p{margin:8px 0 0;font:400 15px/1.65 var(--kk-sans);color:#f3e5c9}.kekri-root .kn-scene__mission.is-finished{background:#77b58e24;border-color:#7abd8d}
.kekri-root .kn-feedback{min-height:35px;margin-top:20px;font:500 14px/1.5 var(--kk-sans);color:#d5c59c}.kekri-root .kn-feedback.is-good{color:#aed6af}.kekri-root .kn-feedback.is-wrong{color:#efb4a9}
.kekri-root .kn-fact{margin-top:24px;padding:26px;background:#e9e7d9;color:#1f3b2e;border-radius:12px;animation:kn-reveal .3s ease-out}.kekri-root .kn-fact[hidden],.kekri-root .kn-next[hidden]{display:none}.kekri-root .kn-fact__kicker{font:600 11px/1.4 var(--kk-mono);letter-spacing:.16em;color:#527057;text-transform:uppercase}.kekri-root .kn-fact>p:not(.kn-fact__kicker){font:400 16px/1.7 var(--kk-sans);margin:12px 0}.kekri-root .kn-fact>a{color:#245b43;font:600 13px var(--kk-sans);text-underline-offset:4px}.kekri-root .kn-next{text-align:right;margin-top:24px}
@keyframes kn-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.kekri-root .kn-basket{margin:28px auto 40px;width:260px;height:110px;position:relative;border-bottom:60px solid #9f7445;border-left:30px solid transparent;border-right:30px solid transparent;filter:drop-shadow(0 14px 12px #0005)}.kekri-root .kn-basket__rim{position:absolute;z-index:3;left:-32px;right:-32px;top:46px;height:18px;border-radius:50%;border:6px solid #c19358;background:#aa824a44}.kekri-root .kn-basket__items{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:space-around;font-size:40px;z-index:2}.kekri-root .kn-basket__items span{filter:drop-shadow(0 4px 2px #31221955)}
.kekri-root .kn-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:850px;margin:0 auto}.kekri-root .kn-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:135px;padding:15px 10px;background:#1b36334d;border:1px solid #69887969;border-radius:11px;color:#e7e6d9;font:500 13px/1.3 var(--kk-sans);transition:background .2s,transform .2s,border-color .2s}.kekri-root .kn-choice:hover:not(:disabled){transform:translateY(-3px);background:#34645477}.kekri-root .kn-choice__icon{font-size:38px;filter:saturate(.85)}.kekri-root .kn-choice__check{font-size:18px;color:#c2bdac}.kekri-root .kn-choice.is-correct{background:#3e65443b;border-color:#d0bc83}.kekri-root .kn-choice.is-correct .kn-choice__check{color:#e9c681}.kekri-root .kn-choice.is-correct .kn-choice__check:after{content:' ✓'}.kekri-root .kn-choice.is-wrong{animation:kn-shake .35s ease}
@keyframes kn-shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.kekri-root .kn-costume{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px}.kekri-root .kn-costume__preview{position:relative;min-height:360px;border-radius:13px;background:radial-gradient(circle at center 52%,#b99b5b35,transparent 58%),linear-gradient(135deg,#102c2b,#092120);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:22px}.kekri-root .kn-costume__body{width:125px;height:150px;background:#2d483b;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);border-bottom:8px solid #1e3328;transition:background .5s}.kekri-root .kn-costume__body.has-fur{background:repeating-linear-gradient(75deg,#c1a27f 0px,#927357 10px,#bf9e75 16px);filter:drop-shadow(0 4px 10px #c2a37066)}.kekri-root .kn-costume__head{position:absolute;bottom:158px;left:calc(50% - 47px);width:94px;height:98px;border-radius:45% 45% 24% 24%;background:#536e5e;z-index:2;transition:background .4s}.kekri-root .kn-costume__head.has-mask{background:repeating-linear-gradient(115deg,#d1b98d 0,#d1b98d 15px,#b49c74 16px,#b49c74 20px)}.kekri-root .kn-costume__horns{position:absolute;top:-42px;font-size:37px;color:#8da09b;opacity:.23;transition:opacity .3s}.kekri-root .kn-costume__horns.has-horns{opacity:1;color:#e9cf9c}.kekri-root .kn-costume__eyes{position:absolute;top:41px;left:22px;font-size:15px;color:#12241b}.kekri-root .kn-costume__caption{margin-top:15px;font:500 11px var(--kk-mono);letter-spacing:.14em;color:#cbb284}.kekri-root .kn-costume__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kekri-root .kn-costume__piece{display:flex;align-items:center;gap:11px;padding:16px;background:#1e3d3455;border:1px solid #6f938077;border-radius:10px;color:#e8e6d6;text-align:left;min-width:0;font:500 13px/1.4 var(--kk-sans)}.kekri-root .kn-costume__piece>b{font:500 13px/1.4 var(--kk-sans);flex:1}.kekri-root .kn-costume__piece>span:first-child{font-size:27px}.kekri-root .kn-costume__piece:hover:not(:disabled){border-color:#e4bf80;background:#3a5c4a}.kekri-root .kn-costume__piece.is-correct{border-color:#d4ba86;background:#6274475e}.kekri-root .kn-costume__piece.is-wrong{animation:kn-shake .35s}.kekri-root .kn-costume__mark{color:#e5c385}
.kekri-root .kn-woods{position:relative;overflow:hidden;min-height:440px;border:1px solid #60837455;border-radius:14px;background:radial-gradient(ellipse at 80% 17%,#486a5d60,transparent 40%),linear-gradient(160deg,#1a3839,#051517);--lx:50%;--ly:50%}.kekri-root .kn-woods__mist{pointer-events:none;position:absolute;inset:0;z-index:4;background:radial-gradient(circle 105px at var(--lx) var(--ly),transparent 5%,#07191cb5 70%,#07191ce0 100%);transition:background .05s}.kekri-root .kn-woods__trees{position:absolute;inset:5% -10% 0;text-align:center;font-size:clamp(90px,12vw,180px);color:#0b2927;word-spacing:.1em;line-height:1.8;opacity:.75}.kekri-root .kn-woods__sauna{position:absolute;right:6%;bottom:8%;font-size:90px;color:#cda97099}.kekri-root .kn-woods__light{position:absolute;z-index:5;width:46px;height:46px;border-radius:50%;border:1px solid #c1b57f;display:grid;place-items:center;transform:translate(-50%,-50%);background:#be9f6633;color:#ffdc92;font-size:24px;box-shadow:0 0 18px #ffd99a66,0 0 43px #f9ce8d2d;animation:kn-beacon 3s ease-in-out infinite alternate}.kekri-root .kn-woods__light:hover,.kekri-root .kn-woods__light:focus-visible{background:#e3af68;color:#16352b}.kekri-root .kn-woods__light.is-found{opacity:.25;box-shadow:none;animation:none}.kekri-root .kn-woods__counter{position:absolute;z-index:6;left:25px;bottom:22px;color:#f0ca89;background:#0a2424cf;padding:10px 14px;border-radius:40px;font:500 16px var(--kk-mono)}.kekri-root .kn-woods__hint{font:400 13px/1.6 var(--kk-sans);color:#a5c2b5;margin:12px 0}.kekri-root .kn-woods__lantern{pointer-events:none;position:absolute;z-index:7;left:var(--lx);top:var(--ly);width:10px;height:10px;border-radius:50%;background:#fff0b9;box-shadow:0 0 25px 10px #fae6a262;transform:translate(-50%,-50%)}
@keyframes kn-beacon{to{box-shadow:0 0 25px #ffd99aab,0 0 55px #f9ce8d55}}
.kekri-root .kn-archive__order{border-top:1px solid #aec3b144;padding:19px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:10px}.kekri-root .kn-archive__order>span{font:500 11px var(--kk-mono);letter-spacing:.13em;color:#e8c895}.kekri-root .kn-archive__slots{display:flex;gap:10px}.kekri-root .kn-archive__slot{min-width:65px;padding:11px;border:1px dashed #94a895;color:#d4c49a;text-align:center;border-radius:5px;font:500 14px var(--kk-mono)}.kekri-root .kn-archive__photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kekri-root .kn-archive__photo{overflow:hidden;border:1px solid #5c816fa8;text-align:left;border-radius:10px;background:#213c33;color:#e9ede5;transition:transform .2s,border .2s}.kekri-root .kn-archive__photo:hover:not(:disabled){transform:translateY(-4px);border-color:#e3bf86}.kekri-root .kn-archive__photo img{width:100%;height:clamp(160px,20vw,275px);object-fit:cover;filter:grayscale(.25)}.kekri-root .kn-archive__photo>span{display:flex;flex-direction:column;gap:6px;padding:15px;font:400 13px/1.35 var(--kk-sans)}.kekri-root .kn-archive__photo b{color:#f0c683;font:500 22px var(--kk-sans)}.kekri-root .kn-archive__photo.is-solved{border-color:#c9b477;background:#3e6046}.kekri-root .kn-archive__photo.is-wrong{animation:kn-shake .35s}.kekri-root .kn-archive__credit{margin-top:18px;font:400 12px/1.5 var(--kk-sans);color:#abbeb2}.kekri-root .kn-archive__sources{margin-top:14px;display:grid;gap:7px}.kekri-root .kn-archive__sources p{font:400 13px/1.5 var(--kk-sans);color:#d3dccf}.kekri-root .kn-archive__sources a{color:#eac18c;text-underline-offset:3px}
.kekri-root .kn-end{text-align:center;padding:clamp(34px,5vw,80px) clamp(20px,3vw,45px);background:radial-gradient(ellipse at center,#42625488,#091e1d33 80%)}.kekri-root .kn-end__seal{margin:0 auto 26px;display:grid;place-items:center;font-size:80px;color:#f0c985;width:160px;height:160px;border:2px double #d2ba82;border-radius:50%;box-shadow:0 0 70px #e3c58c25;animation:kn-glow 2s alternate infinite}.kekri-root .kn-end h3{max-width:19ch;margin:25px auto}.kekri-root .kn-end>p:not(.kn-tag){max-width:59ch;margin:0 auto;font:400 17px/1.75 var(--kk-sans);color:#c4d0c5}.kekri-root .kn-end__collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-width:800px;margin:45px auto}.kekri-root .kn-end__collection span{display:grid;gap:12px;font:500 11px/1.4 var(--kk-sans);color:#d9cda9;border:1px solid #ebcf945e;border-radius:8px;padding:18px 7px}.kekri-root .kn-end__collection strong{font-size:30px}.kekri-root .kn-end__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px}.kekri-root .kn-secondary{display:inline-flex;align-items:center;min-height:52px;border:1px solid #aec3b777;border-radius:40px;padding:0 26px;color:#e4e4d5;font:500 14px var(--kk-sans)}
.kekri-root .kn-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;font:400 11px/1.5 var(--kk-mono);color:#b7c5b3a8}
@media(max-width:980px){.kekri-root .kn-journal{grid-template-columns:repeat(2,minmax(0,1fr))}.kekri-root .kn-costume{grid-template-columns:1fr}.kekri-root .kn-costume__preview{min-height:330px}}
@media(max-width:640px){.kekri-root .kn-shell{border-radius:12px;min-height:600px}.kekri-root .kn-layout{padding:17px}.kekri-root .kn-head{display:block}.kekri-root .kn-sound{margin-top:20px}.kekri-root .kn-journal{gap:7px}.kekri-root .kn-journal__stop{gap:8px;padding:10px 6px;font-size:10px;min-height:57px}.kekri-root .kn-journal__no{width:25px;height:25px;font-size:10px}.kekri-root .kn-cover{grid-template-columns:1fr}.kekri-root .kn-cover__copy{padding:36px 25px}.kekri-root .kn-cover__art{min-height:220px}.kekri-root .kn-cabin{bottom:50px;left:38%;transform:scale(.8);transform-origin:bottom left}.kekri-root .kn-cover__tree{font-size:240px}.kekri-root .kn-scene{padding:20px}.kekri-root .kn-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.kekri-root .kn-choice{min-height:110px}.kekri-root .kn-costume__items{gap:8px}.kekri-root .kn-costume__piece{padding:10px;gap:6px}.kekri-root .kn-costume__piece>b{font-size:11px}.kekri-root .kn-costume__piece>span:first-child{font-size:19px}.kekri-root .kn-archive__photos{grid-template-columns:1fr}.kekri-root .kn-archive__photo{display:flex}.kekri-root .kn-archive__photo img{width:40%;height:155px}.kekri-root .kn-archive__photo>span{justify-content:center}.kekri-root .kn-archive__order{display:block}.kekri-root .kn-archive__slots{margin-top:12px}.kekri-root .kn-woods{min-height:330px}.kekri-root .kn-end__collection{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.kekri-root .kn *,.kekri-root .kn *:before,.kekri-root .kn *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.kekri-root .kn-already{font:400 22px var(--kk-serif);color:#e4c187;padding:40px;border:1px solid #e0c38f6b;border-radius:12px;text-align:center}
