:root{--kl-bg:#130e1b;--kl-panel:#1d1628;--kl-panel2:#271e35;--kl-ink:#f4ede0;--kl-mut:#bcb0c8;--kl-line:#3b2f4c;--kl-acc:#ffb54a;--kl-acc2:#6fe0c6;--kl-hi:#ff7f8f;--kl-wood:#2b1e19;--kl-paper:#efe3c8;--kl-pink:#2b2130;--kl-font:system-ui, -apple-system, 'Segoe UI', 'Noto Sans', Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;--kl-head:'Palatino Linotype', Palatino, 'Book Antiqua', 'Iowan Old Style', 'URW Palladio L', P052, Georgia, serif;--kl-ui:'Trebuchet MS', 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', Verdana, sans-serif;--kl-hand:'Segoe Print', 'Bradley Hand', 'Comic Neue', 'Chalkboard SE', 'Comic Sans MS', cursive;--kl-s1:4px;--kl-s2:8px;--kl-s3:12px;--kl-s4:16px;--kl-s5:24px;--kl-s6:32px;--kl-s7:48px;--kl-s8:72px;--kl-r:12px;--kl-out:cubic-bezier(.2,.8,.2,1)}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--kl-bg);color:var(--kl-ink);font:400 1rem/1.6 var(--kl-font);overflow-x:hidden;
background-image:radial-gradient(1200px 600px at 85% -10%,color-mix(in srgb,var(--kl-acc) 9%,transparent),transparent 70%),
radial-gradient(900px 500px at -10% 30%,color-mix(in srgb,var(--kl-acc2) 6%,transparent),transparent 70%);background-repeat:no-repeat}
img{max-width:100%;height:auto;display:block}
a{color:var(--kl-acc);text-underline-offset:3px}
a:hover{color:var(--kl-ink)}
:focus-visible{outline:3px solid var(--kl-acc2);outline-offset:3px}
h1,h2,h3{font-family:var(--kl-head);font-weight:700;line-height:1.12;margin:0 0 var(--kl-s4);letter-spacing:.005em}
h1{font-size:clamp(1.6rem,2.7vw,2.4rem)}
h1 em{display:block;font-style:italic;font-weight:400;color:var(--kl-acc);font-size:.62em;margin-top:var(--kl-s2);line-height:1.3}
h2{font-size:clamp(1.45rem,2.4vw,2.1rem)}
h3{font-size:1.15rem}
p{margin:0 0 var(--kl-s4);max-width:68ch}
ul,ol{padding-left:1.2em}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--kl-panel2);padding:1px 6px;border-radius:6px}
.kl-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--kl-s5)}
.kl-ico{width:1.15em;height:1.15em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.kl-skip{position:absolute;left:-999px;top:8px;background:var(--kl-acc);color:var(--kl-bg);padding:8px 14px;border-radius:8px;z-index:50}
.kl-skip:focus{left:8px}
.kl-jsonly{display:none!important}
.kl-js .kl-jsonly{display:block!important}
.kl-js .kl-verbs.kl-jsonly{display:grid!important}
.kl-js .kl-acts .kl-jsonly,.kl-js button.kl-jsonly{display:inline-flex!important}
.kl-js .kl-opts.kl-jsonly,.kl-js .kl-pocket.kl-jsonly{display:block!important}
.kl-small{font-size:.9rem;color:var(--kl-mut)}
.kl-btn{display:inline-flex;align-items:center;gap:var(--kl-s2);min-height:44px;padding:10px 18px;border-radius:999px;font:600 .95rem/1.2 var(--kl-ui);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .16s var(--kl-out),background-color .16s var(--kl-out),color .16s var(--kl-out)}
.kl-btn:active{transform:scale(.97)}
.kl-btn-pri{background:var(--kl-acc);color:#1a1208}
.kl-btn-pri:hover{background:var(--kl-ink);color:var(--kl-bg)}
.kl-btn-ghost{background:transparent;color:var(--kl-ink);border-color:var(--kl-line)}
.kl-btn-ghost:hover{border-color:var(--kl-acc2);color:var(--kl-acc2)}
.kl-acts{display:flex;flex-wrap:wrap;gap:var(--kl-s3);margin:var(--kl-s4) 0 0;max-width:none}
.kl-sec{padding:var(--kl-s8) 0}
.kl-band{background:linear-gradient(180deg,color-mix(in srgb,var(--kl-panel) 70%,transparent),var(--kl-panel));border-block:1px solid var(--kl-line)}
.kl-sec-head{max-width:760px;margin-bottom:var(--kl-s6)}
.kl-sec-head p{color:var(--kl-mut)}
.kl-sec-k{display:flex;align-items:center;gap:var(--kl-s2);font:600 .78rem/1.3 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-acc2);margin-bottom:var(--kl-s3)}
.kl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--kl-s7);align-items:start}
.kl-opts{border:0;margin:0 0 var(--kl-s4);padding:0;min-width:0}
.kl-opts legend{font:600 .8rem/1.3 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--kl-mut);margin-bottom:var(--kl-s2);padding:0}
.kl-opts div{display:flex;flex-wrap:wrap;gap:var(--kl-s2)}
.kl-opts label{position:relative;cursor:pointer}
.kl-opts input{position:absolute;opacity:0;width:1px;height:1px}
.kl-opts label span{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--kl-line);background:var(--kl-panel2);font:500 .9rem/1.2 var(--kl-ui);transition:background-color .16s var(--kl-out),border-color .16s var(--kl-out)}
.kl-opts input:checked+span{background:var(--kl-acc);border-color:var(--kl-acc);color:#1a1208}
.kl-opts input:focus-visible+span{outline:3px solid var(--kl-acc2);outline-offset:2px}
.kl-field{display:flex;flex-direction:column;gap:var(--kl-s1);margin-bottom:var(--kl-s4);font:600 .8rem/1.3 var(--kl-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--kl-mut)}
.kl-field select{font:500 1rem/1.3 var(--kl-font);text-transform:none;letter-spacing:0;color:var(--kl-ink);background:var(--kl-panel2);border:1px solid var(--kl-line);border-radius:10px;min-height:44px;padding:8px 12px;max-width:100%}
.kl-table-box{overflow-x:auto;border:1px solid var(--kl-line);border-radius:var(--kl-r);margin-top:var(--kl-s6)}
.kl-table{width:100%;border-collapse:collapse;font-size:.95rem}
.kl-table caption{text-align:left;padding:var(--kl-s3) var(--kl-s4);font:600 .85rem/1.3 var(--kl-ui);color:var(--kl-mut)}
.kl-table th,.kl-table td{text-align:left;padding:var(--kl-s3) var(--kl-s4);border-top:1px solid var(--kl-line);vertical-align:top}
.kl-table thead th{font:600 .78rem/1.3 var(--kl-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--kl-acc2)}

.kl-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--kl-s5);padding:var(--kl-s3) var(--kl-s5);background:color-mix(in srgb,var(--kl-bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--kl-line)}
.kl-brand{display:flex;align-items:center;gap:var(--kl-s3);text-decoration:none;color:var(--kl-ink);font:700 1.3rem/1.1 var(--kl-head);flex:0 0 auto}
.kl-brand small{display:block;font:500 .7rem/1.2 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-mut);margin-top:3px}
.kl-logo{width:44px;height:44px;border-radius:12px;object-fit:cover}
.kl-logo-fallback{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--kl-acc);color:#1a1208;font-style:normal}
.kl-top>nav{display:flex;flex-wrap:wrap;gap:var(--kl-s1);margin-left:auto}
.kl-top>nav a{color:var(--kl-mut);text-decoration:none;font:600 .86rem/1 var(--kl-ui);padding:10px 12px;border-radius:999px;transition:background-color .16s var(--kl-out),color .16s var(--kl-out)}
.kl-top>nav a:hover{color:var(--kl-ink);background:var(--kl-panel2)}
.kl-foot{background:var(--kl-panel);border-top:1px solid var(--kl-line);padding:var(--kl-s7) 0 var(--kl-s6);margin-top:0}
.kl-foot-grid{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr;gap:var(--kl-s6)}
.kl-foot h2{font:600 .8rem/1.3 var(--kl-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-acc2);margin-bottom:var(--kl-s3)}
.kl-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--kl-s2)}
.kl-foot a{color:var(--kl-ink);text-decoration:none}
.kl-foot a:hover{color:var(--kl-acc)}
.kl-foot-brand{font:700 1.5rem/1.1 var(--kl-head);margin-bottom:var(--kl-s3)}
.kl-foot-lead p{color:var(--kl-mut);font-size:.95rem}
.kl-foot-games a{display:flex;gap:var(--kl-s2);align-items:baseline}
.kl-foot-games b{font:700 .72rem/1 var(--kl-head);color:var(--t);min-width:2.4em}
.kl-mail{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-mail a{color:var(--kl-acc)}
.kl-sos{display:flex;gap:var(--kl-s3);align-items:flex-start;max-width:none;margin:var(--kl-s6) 0 var(--kl-s4);padding:var(--kl-s4);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-panel2)}
.kl-sos .kl-ico{color:var(--kl-hi);margin-top:3px}
.kl-sos a{color:var(--kl-acc)}
.kl-oaths{list-style:none;margin:0 0 var(--kl-s4);padding:0;display:flex;flex-wrap:wrap;gap:var(--kl-s2) var(--kl-s5);font-size:.9rem;color:var(--kl-mut)}
.kl-oaths li{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-fine{font-size:.82rem;color:var(--kl-mut);max-width:none;border-top:1px solid var(--kl-line);padding-top:var(--kl-s4)}
.kl-cookies{position:fixed;left:var(--kl-s4);right:var(--kl-s4);bottom:var(--kl-s4);z-index:40;display:none;align-items:center;gap:var(--kl-s4);max-width:720px;margin:0 auto;padding:var(--kl-s4) var(--kl-s5);background:var(--kl-panel2);border:1px solid var(--kl-line);border-radius:var(--kl-r);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.kl-cookies p{margin:0;display:flex;gap:var(--kl-s3);font-size:.9rem}
.kl-cookies button{flex:0 0 auto;min-height:44px;padding:8px 18px;border-radius:999px;border:0;background:var(--kl-acc);color:#1a1208;font:600 .9rem/1 var(--kl-ui);cursor:pointer}

.kl-room{padding:var(--kl-s6) 0 var(--kl-s6)}
.kl-room-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,1fr);gap:var(--kl-s5);align-items:start}
.kl-screen{border:1px solid color-mix(in srgb,var(--kl-acc) 35%,var(--kl-line));border-radius:18px;background:var(--kl-panel);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 0 4px color-mix(in srgb,var(--kl-wood) 80%,transparent)}
.kl-card{display:flex;flex-direction:column;padding:var(--kl-s5) var(--kl-s6) var(--kl-s4);background:linear-gradient(180deg,var(--kl-wood),color-mix(in srgb,var(--kl-wood) 60%,var(--kl-panel)));border-bottom:1px solid color-mix(in srgb,var(--kl-acc) 35%,transparent)}
.kl-card-k{font:600 .74rem/1.3 var(--kl-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--kl-acc);margin:0 0 var(--kl-s2)}
.kl-card h1{margin:0;color:var(--kl-paper)}
.kl-scene{position:relative;aspect-ratio:16/9;background:radial-gradient(ellipse at 80% 30%,color-mix(in srgb,var(--kl-acc) 22%,transparent),transparent 60%),linear-gradient(180deg,var(--kl-panel2),var(--kl-wood));overflow:hidden;isolation:isolate}
.kl-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.kl-scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.45)),radial-gradient(ellipse at 50% 120%,rgba(0,0,0,.35),transparent 60%)}
.kl-wall{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.kl-peg{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:rotate(var(--r))}
.kl-peg::before{content:"";position:absolute;left:50%;top:-14px;width:44%;height:16px;transform:translateX(-50%);border:1.5px solid color-mix(in srgb,var(--kl-paper) 45%,transparent);border-bottom:0;clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.7}
.kl-pic{position:relative;display:block;padding:7%;border-radius:4px;background:linear-gradient(135deg,#7a5524,#e5b866 28%,#8c6326 52%,#d9a752 74%,#6b4a1f);box-shadow:0 14px 26px rgba(0,0,0,.55),inset 0 0 0 2px rgba(0,0,0,.35);transition:transform .2s var(--kl-out);color:inherit;text-decoration:none}
.kl-pic-in{display:block;overflow:hidden;border-radius:2px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.5);background:var(--kl-panel2)}
.kl-pic img{width:100%;aspect-ratio:3/4;object-fit:cover}
.kl-pic:hover,.kl-pic:focus-visible{transform:translateY(-4px) scale(1.03)}
.kl-pic::after{content:"";position:absolute;inset:-6px;border-radius:8px;box-shadow:0 0 0 3px var(--kl-acc2),0 0 26px color-mix(in srgb,var(--kl-acc2) 60%,transparent);opacity:0;transition:opacity .2s var(--kl-out);pointer-events:none}
.kl-pic:hover::after,.kl-lit::after{opacity:1}
.kl-plaque{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;white-space:nowrap;padding:3px 9px;border-radius:4px;background:linear-gradient(180deg,#e8c47a,#a87c34);color:#2a1a08;font:700 .72rem/1.1 var(--kl-ui);box-shadow:0 3px 8px rgba(0,0,0,.5)}
.kl-plaque b{font-family:var(--kl-head)}
.kl-hot-n{position:absolute;left:50%;top:-34px;transform:translate(-50%,4px);white-space:nowrap;padding:4px 10px;border-radius:999px;background:rgba(10,8,14,.85);color:var(--kl-ink);font:600 .78rem/1.2 var(--kl-ui);opacity:0;pointer-events:none;transition:opacity .16s var(--kl-out),transform .16s var(--kl-out);z-index:3}
.kl-hot:hover .kl-hot-n,.kl-hot:focus-visible .kl-hot-n{opacity:1;transform:translate(-50%,0)}
.kl-objs{position:absolute;inset:0;pointer-events:none}
.kl-obj{position:absolute;left:var(--x);top:var(--y);width:var(--w);pointer-events:auto;display:block;color:inherit;transition:transform .2s var(--kl-out)}
.kl-obj svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}
.kl-obj:hover,.kl-obj:focus-visible{transform:translateY(-3px)}
.kl-obj:hover svg,.kl-obj:focus-visible svg{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--kl-acc2) 80%,transparent))}
.kl-obj .w{fill:color-mix(in srgb,var(--kl-wood) 70%,#7a5a3e);stroke:rgba(0,0,0,.4);stroke-width:1.5}
.kl-obj .f{fill:color-mix(in srgb,var(--kl-paper) 88%,var(--kl-wood));stroke:rgba(0,0,0,.25)}
.kl-obj[data-obj="porta"] .f{fill:color-mix(in srgb,var(--kl-wood) 55%,#9b6b3f)}
.kl-obj .l{fill:none;stroke:rgba(0,0,0,.45);stroke-width:3;stroke-linecap:round}
.kl-obj .h{fill:var(--kl-acc);stroke:var(--kl-acc);stroke-width:4;stroke-linecap:round}
.kl-obj .g{fill:color-mix(in srgb,var(--kl-acc) 30%,transparent)}
.kl-obj .p{fill:var(--kl-paper)}
.kl-obj .i{fill:none;stroke:var(--kl-pink);stroke-width:2;opacity:.6}
.kl-obj .b{fill:color-mix(in srgb,var(--kl-hi) 55%,var(--kl-wood));stroke:rgba(0,0,0,.35)}
.kl-obj[data-obj="lanterna"] .h{animation:kl-flame 3.2s ease-in-out infinite;transform-origin:50% 60%}
@keyframes kl-flame{0%,100%{opacity:1}45%{opacity:.78}70%{opacity:.92}}
.kl-sentence{margin:0;max-width:none;display:flex;justify-content:center;gap:.4em;padding:var(--kl-s3) var(--kl-s4);background:#0b0810;color:var(--kl-acc2);font:600 1.02rem/1.3 var(--kl-ui);border-top:1px solid var(--kl-line);border-bottom:1px solid var(--kl-line);min-height:48px;align-items:center}
.kl-sentence b{color:var(--kl-ink)}
.kl-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--kl-s4);padding:var(--kl-s4);background:linear-gradient(180deg,var(--kl-panel2),var(--kl-panel))}
.kl-verbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--kl-s2)}
.kl-verb{display:flex;align-items:center;justify-content:center;gap:var(--kl-s2);min-height:46px;padding:8px 10px;border-radius:10px;border:1px solid var(--kl-line);background:var(--kl-bg);color:var(--kl-mut);font:700 .95rem/1.1 var(--kl-ui);cursor:pointer;transition:transform .14s var(--kl-out),background-color .16s var(--kl-out),color .16s var(--kl-out)}
.kl-verb:hover{color:var(--kl-ink);border-color:var(--kl-acc2)}
.kl-verb:active{transform:scale(.96)}
.kl-verb[aria-pressed="true"]{background:var(--kl-acc);border-color:var(--kl-acc);color:#1a1208}
.kl-pocket{border:1px dashed color-mix(in srgb,var(--kl-acc) 40%,var(--kl-line));border-radius:10px;padding:var(--kl-s3)}
.kl-pocket p{display:flex;align-items:center;gap:var(--kl-s2);margin:0 0 var(--kl-s2);font:600 .76rem/1.2 var(--kl-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-acc)}
.kl-pocket ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--kl-s2)}
.kl-pocket li{display:flex;align-items:center;gap:6px;font-size:.82rem;padding:3px 8px 3px 3px;border-radius:8px;background:var(--kl-bg);border:1px solid var(--t,var(--kl-line))}
.kl-pocket li img{width:22px;height:29px;object-fit:cover;border-radius:3px}
.kl-pocket li.kl-skip{opacity:.55;text-decoration:line-through}
.kl-pocket .kl-pocket-empty{border:0;background:none;color:var(--kl-mut);padding:0}
.kl-lede{margin:0;max-width:none;padding:var(--kl-s4) var(--kl-s5) var(--kl-s5);color:var(--kl-mut);font-size:.98rem}
.kl-lede b{color:var(--kl-ink)}
.kl-narr{position:sticky;top:88px;border:1px solid var(--kl-line);border-top:4px solid var(--t);border-radius:18px;background:var(--kl-panel);padding:var(--kl-s5);box-shadow:0 24px 50px rgba(0,0,0,.4)}
.kl-narr-k{display:flex;align-items:center;gap:var(--kl-s2);font:600 .76rem/1.2 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-mut);max-width:none}
.kl-narr-k b{margin-left:auto;color:var(--t);font-family:var(--kl-head);letter-spacing:.06em}
.kl-narr-id{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--kl-s4);align-items:center;margin-bottom:var(--kl-s4)}
.kl-narr-art{margin:0;padding:5px;border-radius:4px;background:linear-gradient(135deg,#7a5524,#e5b866 35%,#8c6326 70%,#d9a752)}
.kl-narr-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}
.kl-narr h2{font-size:1.45rem;margin:0 0 var(--kl-s1)}
.kl-narr-genre{margin:0;color:var(--t);font:600 .9rem/1.3 var(--kl-ui)}
.kl-narr-by{margin:0;color:var(--kl-mut);font-size:.88rem}
.kl-narr-score{display:flex;align-items:center;gap:6px;margin:var(--kl-s2) 0 0}
.kl-narr-score b{font:700 1.4rem/1 var(--kl-head)}
.kl-narr-score small{color:var(--kl-mut);margin-right:6px}
.kl-keys{display:inline-flex;gap:2px}
.kl-keys svg{width:20px;height:20px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kl-keys svg[data-s="on"]{stroke:var(--kl-acc)}
.kl-keys svg[data-s="half"]{stroke:var(--kl-acc);opacity:.55}
.kl-keys svg[data-s="off"]{stroke:var(--kl-line)}
.kl-say{position:relative;max-width:none;margin:0 0 var(--kl-s4);padding:var(--kl-s4) var(--kl-s4) var(--kl-s4) var(--kl-s5);background:var(--kl-paper);color:var(--kl-pink);border-radius:4px 14px 14px 14px;font:italic 400 1.02rem/1.55 var(--kl-head)}
.kl-say::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--t);border-radius:4px 0 0 4px}
.kl-dlgs{display:grid;gap:var(--kl-s1)}
.kl-dlg{border-radius:10px;background:var(--kl-bg);border:1px solid var(--kl-line)}
.kl-dlg summary{cursor:pointer;list-style:none;display:flex;gap:var(--kl-s2);padding:10px 14px;font:600 .93rem/1.35 var(--kl-ui);color:var(--kl-acc2);min-height:44px;align-items:center}
.kl-dlg summary::-webkit-details-marker{display:none}
.kl-dlg summary b{color:var(--kl-acc)}
.kl-dlg[open] summary{color:var(--kl-ink)}
.kl-dlg p{margin:0;padding:0 14px 12px 34px;font-size:.93rem;color:var(--kl-mut)}
.kl-dlg p b{color:var(--kl-ink)}
.kl-room-note{display:flex;gap:var(--kl-s3);align-items:flex-start;margin:var(--kl-s5) auto 0;color:var(--kl-mut);font-size:.9rem;max-width:1240px}
.kl-room-note .kl-ico{color:var(--kl-acc);margin-top:3px}

.kl-nb-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:var(--kl-s6);align-items:start}
.kl-nb-ctl{padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-panel)}
.kl-picks{list-style:none;margin:0 0 var(--kl-s3);padding:0;display:grid;gap:var(--kl-s2)}
.kl-pick{width:100%;display:grid;grid-template-columns:2.6em minmax(0,1fr) auto;gap:var(--kl-s2);align-items:center;text-align:left;min-height:48px;padding:8px 12px;border-radius:10px;border:1px solid var(--kl-line);background:var(--kl-bg);color:var(--kl-ink);font:500 .95rem/1.25 var(--kl-font);cursor:pointer;transition:border-color .16s var(--kl-out),transform .14s var(--kl-out)}
.kl-pick:active{transform:scale(.98)}
.kl-pick b{font:700 .9rem/1 var(--kl-head);color:var(--t)}
.kl-pick small{display:block;color:var(--kl-mut);font-size:.8rem}
.kl-pick em{opacity:0;color:var(--kl-acc);transition:opacity .16s var(--kl-out)}
.kl-pick[aria-pressed="true"]{border-color:var(--kl-acc)}
.kl-pick[aria-pressed="true"] em{opacity:1}
.kl-pick.kl-out{opacity:.5}
.kl-pick.kl-skip span{text-decoration:line-through}
.kl-nb-page{position:relative;padding:var(--kl-s6) var(--kl-s6) var(--kl-s5) calc(var(--kl-s6) + 24px);border-radius:6px 16px 16px 6px;background-color:var(--kl-paper);color:var(--kl-pink);
background-image:linear-gradient(90deg,transparent 46px,color-mix(in srgb,var(--kl-hi) 55%,transparent) 46px 48px,transparent 48px),repeating-linear-gradient(180deg,transparent 0 31px,color-mix(in srgb,var(--kl-pink) 12%,transparent) 31px 32px);box-shadow:0 26px 50px rgba(0,0,0,.45),inset 8px 0 14px rgba(0,0,0,.08)}
.kl-readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--kl-s3);margin:0 0 var(--kl-s5)}
.kl-readout div{padding:var(--kl-s2) var(--kl-s3);border:2px dashed color-mix(in srgb,var(--kl-pink) 30%,transparent);border-radius:8px;transform:rotate(-1deg)}
.kl-readout div:nth-child(even){transform:rotate(1deg)}
.kl-readout dt{font:600 .7rem/1.2 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.kl-readout dd{margin:0;font:700 1.25rem/1.2 var(--kl-hand)}
.kl-route{list-style:none;margin:0 0 var(--kl-s5);padding:0;display:flex;min-height:46px;border-radius:999px;overflow:hidden;border:2px solid color-mix(in srgb,var(--kl-pink) 40%,transparent)}
.kl-leg{width:var(--w);min-width:0;display:flex;align-items:center;padding:0 8px;font:600 .74rem/1.15 var(--kl-ui);overflow:hidden}
.kl-leg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kl-leg-ch{background:color-mix(in srgb,var(--t) 42%,var(--kl-paper));border-right:2px solid var(--kl-paper)}
.kl-leg-walk{background:repeating-linear-gradient(90deg,transparent 0 6px,color-mix(in srgb,var(--kl-pink) 30%,transparent) 6px 10px);background-size:10px 3px;background-repeat:repeat-x;background-position:0 50%}
.kl-leg-walk span{font-size:0}
.kl-leg-free{background:color-mix(in srgb,var(--kl-pink) 6%,transparent);font-style:italic;opacity:.75}
.kl-nb-t{display:flex;align-items:center;gap:var(--kl-s2);font-family:var(--kl-hand);font-size:1.35rem;margin-bottom:var(--kl-s3)}
.kl-nb-list{list-style:none;margin:0;padding:0}
.kl-nb-list li{display:grid;grid-template-columns:7.4em minmax(0,1fr);column-gap:var(--kl-s3);padding:4px 0;line-height:1.6}
.kl-nb-list time{font:600 .9rem/1.8 var(--kl-ui);opacity:.75;grid-row:span 2}
.kl-nb-list b{font-family:var(--kl-hand);font-size:1.1rem}
.kl-nb-list span{font-size:.93rem;line-height:1.55}

.kl-filters{display:flex;flex-wrap:wrap;gap:var(--kl-s5);margin-bottom:var(--kl-s5)}
.kl-filters p{flex-basis:100%;margin:0}
.kl-cases{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kl-s5)}
.kl-case{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--kl-s5);padding:var(--kl-s5);border:1px solid var(--kl-line);border-left:4px solid var(--t);border-radius:var(--kl-r);background:var(--kl-panel)}
.kl-case[hidden]{display:none}
.kl-case-art{display:block;padding:6px;border-radius:4px;background:linear-gradient(135deg,#7a5524,#e5b866 35%,#8c6326 70%,#d9a752);align-self:start}
.kl-case-art img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}
.kl-case-no{font:600 .76rem/1.3 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--t);margin-bottom:var(--kl-s1)}
.kl-case h3{font-size:1.35rem;margin-bottom:var(--kl-s1)}
.kl-case h3 a{color:var(--kl-ink);text-decoration:none}
.kl-case h3 a:hover{color:var(--t)}
.kl-case-by{color:var(--kl-mut);font-size:.86rem;margin-bottom:var(--kl-s2)}
.kl-case-score{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-case-score b{font:700 1.2rem/1 var(--kl-head)}
.kl-case>div>p:not([class]){font-size:.95rem;color:var(--kl-mut)}
.kl-case-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--kl-s2);margin:0;font-size:.85rem}
.kl-case-facts div{padding:6px 10px;border-radius:8px;background:var(--kl-bg)}
.kl-case-facts dt{font:600 .68rem/1.2 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--kl-mut)}
.kl-case-facts dd{margin:0}
.kl-calc{padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-bg)}
.kl-calc-out{list-style:none;margin:var(--kl-s4) 0 0;padding:var(--kl-s4);border-radius:10px;background:var(--kl-paper);color:var(--kl-pink);display:grid;gap:var(--kl-s2)}
.kl-calc-out li:first-child{font:700 1.5rem/1.2 var(--kl-hand)}
.kl-ladder-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--kl-s6);align-items:start}
.kl-ladder{list-style:none;margin:0;padding:0 0 0 var(--kl-s6);position:relative;display:grid;gap:var(--kl-s3)}
.kl-ladder::before,.kl-ladder::after{content:"";position:absolute;top:0;bottom:0;width:4px;border-radius:4px;background:var(--kl-wood)}
.kl-ladder::before{left:6px}
.kl-ladder::after{left:24px}
.kl-ladder li{position:relative;padding:var(--kl-s3) var(--kl-s4);border:1px solid var(--kl-line);border-radius:10px;background:var(--kl-panel);transition:border-color .2s var(--kl-out),transform .2s var(--kl-out)}
.kl-ladder li::before{content:"";position:absolute;left:-34px;top:50%;width:26px;height:4px;border-radius:3px;background:color-mix(in srgb,var(--kl-wood) 60%,#8a6a46)}
.kl-ladder li b{font:600 .76rem/1.2 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--kl-acc2)}
.kl-ladder li h3{margin:2px 0 4px;font-size:1.08rem}
.kl-ladder li p{margin:0;font-size:.92rem;color:var(--kl-mut)}
.kl-ladder li.kl-on{border-color:var(--kl-acc);transform:translateX(6px)}
.kl-ladder li.kl-on h3{color:var(--kl-acc)}
.kl-glass-box{padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-panel)}
.kl-glass-box h3{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-glass-box>p{color:var(--kl-mut);font-size:.95rem}
.kl-glass-read{font:700 1.6rem/1.2 var(--kl-head);color:var(--kl-acc);margin:var(--kl-s2) 0}
.kl-sand .kl-glass-read{color:var(--kl-acc2)}
.kl-own{margin-top:var(--kl-s6);padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r)}
.kl-own h3{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-own ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kl-s3) var(--kl-s5)}
.kl-own li b{display:block}
.kl-own li span{color:var(--kl-mut);font-size:.92rem}
.kl-pause{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--kl-s5);background:rgba(8,6,12,.86);backdrop-filter:blur(6px)}
.kl-pause[hidden]{display:none}
.kl-pause-in{max-width:520px;padding:var(--kl-s6);border-radius:18px;background:var(--kl-panel);border:1px solid var(--kl-acc);text-align:center;animation:kl-in .22s var(--kl-out)}
.kl-pause-in p{margin-left:auto;margin-right:auto}
.kl-pause-k{display:flex;justify-content:center;align-items:center;gap:var(--kl-s2);font:600 .78rem/1.2 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-acc)}
.kl-pause-time{font:700 3rem/1 var(--kl-head);color:var(--kl-acc2)}
.kl-pause .kl-acts{justify-content:center}
@keyframes kl-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
.kl-pulls,.kl-tips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--kl-s5)}
.kl-pulls li,.kl-tips li{padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-bg)}
.kl-pulls .kl-ico,.kl-tips .kl-ico{width:30px;height:30px;color:var(--kl-acc);margin-bottom:var(--kl-s3)}
.kl-pulls p,.kl-tips p{font-size:.94rem;color:var(--kl-mut)}
.kl-move{margin:0;padding:var(--kl-s3);border-radius:8px;background:var(--kl-paper);color:var(--kl-pink)!important}
.kl-move b{display:block;font:600 .72rem/1.2 var(--kl-ui);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.kl-tips li{background:var(--kl-panel)}
.kl-fam-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--kl-s6);margin-top:var(--kl-s6);align-items:start}
.kl-fam-grid h3{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-fam-grid p{color:var(--kl-mut)}
.kl-pact{padding:var(--kl-s5) var(--kl-s6);background:var(--kl-paper);color:var(--kl-pink);border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.4);transform:rotate(-.6deg)}
.kl-pact h3{font-family:var(--kl-hand)}
.kl-pact ol{margin:0 0 var(--kl-s4);display:grid;gap:var(--kl-s2)}
.kl-pact-sign{display:flex;gap:var(--kl-s3);align-items:flex-end;font-family:var(--kl-hand)}
.kl-pact-sign i{flex:1;border-bottom:1.5px solid var(--kl-pink);height:24px}
.kl-pact .kl-btn-ghost{color:var(--kl-pink);border-color:color-mix(in srgb,var(--kl-pink) 35%,transparent)}
.kl-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--kl-s4) var(--kl-s5)}
.kl-legend li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px var(--kl-s3)}
.kl-legend .kl-ico{width:28px;height:28px;color:var(--kl-acc2);grid-row:span 2}
.kl-legend span{color:var(--kl-mut);font-size:.93rem}
.kl-faqs{display:grid;gap:var(--kl-s2)}
.kl-faq{border:1px solid var(--kl-line);border-radius:10px;background:var(--kl-bg)}
.kl-faq summary{cursor:pointer;padding:var(--kl-s4);font:600 1rem/1.4 var(--kl-ui);min-height:44px}
.kl-faq p{margin:0;padding:0 var(--kl-s4) var(--kl-s4);color:var(--kl-mut)}
.kl-credits{padding:var(--kl-s8) 0;text-align:center;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--kl-acc) 12%,transparent),transparent 60%),#07050a}
.kl-credits .kl-sec-k{justify-content:center}
.kl-credits h2{max-width:24ch;margin:0 auto var(--kl-s5)}
.kl-credits p{margin-left:auto;margin-right:auto;color:var(--kl-mut)}
.kl-roll{list-style:none;margin:0 auto var(--kl-s6);padding:0;display:grid;gap:var(--kl-s3);max-width:560px}
.kl-roll li{display:grid;grid-template-columns:1fr 1fr;gap:var(--kl-s4);text-align:right}
.kl-roll span{font:600 .74rem/1.6 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-mut)}
.kl-roll b{text-align:left;font-family:var(--kl-head);font-weight:400;font-size:1.1rem}
.kl-credits .kl-acts{justify-content:center}

.kl-opener{padding:var(--kl-s7) 0 var(--kl-s6);background:linear-gradient(180deg,var(--kl-wood),var(--kl-bg));border-bottom:1px solid var(--kl-line)}
.kl-opener-in{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--kl-s6);align-items:end}
.kl-numeral{margin:0;font:400 clamp(4rem,9vw,7.5rem)/.9 var(--kl-head);color:var(--kl-acc);text-align:center}
.kl-numeral small{display:block;font:600 .74rem/1.2 var(--kl-ui);letter-spacing:.24em;text-transform:uppercase;color:var(--kl-mut);margin-bottom:var(--kl-s2)}
.kl-crumbs{font-size:.86rem;color:var(--kl-mut);display:flex;flex-wrap:wrap;gap:6px}
.kl-crumbs a{color:var(--kl-mut)}
.kl-opener h1{font-size:clamp(1.9rem,3.4vw,3rem);margin-bottom:var(--kl-s3)}
.kl-opener-lede{color:var(--kl-mut);font-size:1.08rem}
.kl-opener-meta{display:flex;flex-wrap:wrap;gap:var(--kl-s2);margin:0}
.kl-opener-meta span{font:600 .74rem/1 var(--kl-ui);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid var(--kl-line);color:var(--kl-mut)}
.kl-ribbon{position:absolute;right:var(--kl-s6);top:calc(-1 * var(--kl-s7));width:26px;height:110px;background:var(--kl-hi);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.kl-margin{margin:0;max-width:none;padding:var(--kl-s3) 0;background:var(--kl-panel);border-bottom:1px solid var(--kl-line);color:var(--kl-acc2);font-style:italic}
.kl-margin .kl-wrap{display:flex;align-items:center;gap:var(--kl-s2)}
.kl-book-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--kl-s7);padding-top:var(--kl-s6);padding-bottom:var(--kl-s8)}
.kl-book-rail{position:sticky;top:96px;align-self:start;display:grid;gap:var(--kl-s5)}
.kl-toc p,.kl-chap p{font:600 .74rem/1.2 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--kl-mut);margin-bottom:var(--kl-s2)}
.kl-toc ol,.kl-chap ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.kl-toc a,.kl-chap a{display:flex;gap:var(--kl-s2);align-items:baseline;padding:6px 8px;border-radius:8px;color:var(--kl-ink);text-decoration:none;font-size:.92rem}
.kl-toc a:hover,.kl-chap a:hover{background:var(--kl-panel2)}
.kl-toc span{color:var(--kl-acc);font-family:var(--kl-head);min-width:2.4em}
.kl-chap a{align-items:center}
.kl-chap small{display:block;font:600 .66rem/1.2 var(--kl-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--kl-mut)}
.kl-chap a[aria-current="page"]{background:var(--kl-panel2);box-shadow:inset 3px 0 0 var(--kl-acc)}
.kl-chap-home{display:inline-flex!important;margin-top:var(--kl-s2)}
.kl-para{padding-bottom:var(--kl-s5);margin-bottom:var(--kl-s5);border-bottom:1px solid var(--kl-line)}
.kl-para h2{display:flex;gap:var(--kl-s3);align-items:baseline;font-size:1.5rem}
.kl-para h2 span{font-size:.85rem;color:var(--kl-acc);font-weight:400}
.kl-para>p:first-of-type::first-letter{float:left;font:700 3.1em/.85 var(--kl-head);color:var(--kl-acc);margin:.08em .12em 0 0}
.kl-para ul,.kl-para ol{max-width:68ch;color:var(--kl-ink)}
.kl-para li{margin-bottom:var(--kl-s2)}
.kl-steps-list li{padding-left:4px}
.kl-helps{list-style:none;padding:0!important;display:grid;gap:var(--kl-s3)}
.kl-helps li{padding:var(--kl-s4);border:1px solid var(--kl-line);border-radius:10px;background:var(--kl-panel)}
.kl-helps h3{margin:0 0 var(--kl-s1);font-size:1.05rem}
.kl-helps p{margin:0;color:var(--kl-mut)}
.kl-check{display:grid;gap:var(--kl-s3);margin-bottom:var(--kl-s4)}
.kl-sc{border:1px solid var(--kl-line);border-radius:10px;padding:var(--kl-s3) var(--kl-s4);margin:0;background:var(--kl-panel)}
.kl-sc legend{display:flex;gap:var(--kl-s2);padding:0 4px;font-weight:600}
.kl-sc legend span{color:var(--kl-acc);font-family:var(--kl-head)}
.kl-sc div{display:flex;flex-wrap:wrap;gap:var(--kl-s2);margin-top:var(--kl-s2)}
.kl-sc label{position:relative;cursor:pointer}
.kl-sc input{position:absolute;opacity:0;width:1px;height:1px}
.kl-sc label span{display:inline-flex;gap:6px;align-items:center;min-height:40px;padding:6px 12px;border-radius:999px;border:1px solid var(--kl-line);font:500 .88rem/1.2 var(--kl-ui)}
.kl-sc input:checked+span{background:var(--kl-acc2);border-color:var(--kl-acc2);color:#08110e}
.kl-sc input:focus-visible+span{outline:3px solid var(--kl-acc);outline-offset:2px}
.kl-check-out{padding:var(--kl-s4);border-radius:10px;background:var(--kl-paper);color:var(--kl-pink)}
.kl-check-bar{height:10px;border-radius:999px;background:color-mix(in srgb,var(--kl-pink) 15%,transparent);overflow:hidden;max-width:none}
.kl-check-bar i{display:block;height:100%;background:var(--kl-hi);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--kl-out)}
.kl-check-out ul{color:var(--kl-pink)!important}
.kl-lost{padding:var(--kl-s8) 0;text-align:center}
.kl-lost-code{font:400 clamp(5rem,14vw,10rem)/1 var(--kl-head);color:var(--kl-acc);margin:0 auto}
.kl-lost .kl-sec-k{justify-content:center}
.kl-lost p{margin-left:auto;margin-right:auto}
.kl-lost .kl-acts{justify-content:center}

.kl-rv-head{padding:var(--kl-s6) 0;background:linear-gradient(180deg,color-mix(in srgb,var(--t) 14%,var(--kl-wood)),var(--kl-bg))}
.kl-rv-in{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:var(--kl-s7);align-items:center}
.kl-rv-art{position:relative;margin:0 0 var(--kl-s5);padding:7%;border-radius:4px;background:linear-gradient(135deg,#7a5524,#e5b866 28%,#8c6326 52%,#d9a752 74%,#6b4a1f);box-shadow:0 24px 50px rgba(0,0,0,.55);transform:rotate(-1deg)}
.kl-rv-art img{width:100%;aspect-ratio:3/4;object-fit:cover}
.kl-rv-art figcaption{position:absolute;left:0;right:0;bottom:-44px;text-align:center;font-size:.82rem;color:var(--kl-mut)}
.kl-rv-art .kl-plaque{font-size:.82rem}
.kl-rv-h1{font-size:.5em;font-weight:400;color:var(--kl-mut)}
.kl-rv-by{color:var(--kl-mut)}
.kl-rv-score{display:flex;align-items:center;gap:6px}
.kl-rv-score b{font:700 2rem/1 var(--kl-head)}
.kl-rv-score small{color:var(--kl-mut);margin-right:var(--kl-s2)}
.kl-rv-sum{font-size:1.08rem}
.kl-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--kl-s2)}
.kl-chips li{padding:5px 12px;border-radius:999px;border:1px solid var(--kl-line);font:500 .84rem/1.2 var(--kl-ui);color:var(--kl-mut)}
.kl-tags{list-style:none;margin:var(--kl-s5) 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--kl-s3)}
.kl-tags li{position:relative;padding:var(--kl-s3) var(--kl-s4) var(--kl-s3) 38px;border-radius:4px 12px 12px 4px;background:var(--kl-paper);color:var(--kl-pink);clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}
.kl-tags li::before{content:"";position:absolute;left:16px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--kl-bg)}
.kl-tags .kl-ico{position:absolute;right:12px;top:12px;opacity:.5}
.kl-tags span{display:block;font:600 .7rem/1.2 var(--kl-ui);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.kl-tags div{font-size:.93rem;font-weight:600}
.kl-tags small{display:block;font-weight:400}
.kl-rv-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:var(--kl-s7);padding-bottom:var(--kl-s7)}
.kl-verdict{max-width:none;padding:var(--kl-s5);border-left:4px solid var(--t);background:var(--kl-panel);border-radius:0 12px 12px 0;font:italic 400 1.15rem/1.5 var(--kl-head)}
.kl-verdict b{display:block;font:600 .74rem/1.2 var(--kl-ui);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--t);margin-bottom:var(--kl-s2)}
.kl-rv-sec{margin-top:var(--kl-s6)}
.kl-rv-sec h2{display:flex;align-items:center;gap:var(--kl-s2);font-size:1.4rem}
.kl-rv-sec h2 .kl-ico{color:var(--t)}
.kl-scenes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--kl-s3);counter-reset:sc}
.kl-scenes li{display:grid;gap:var(--kl-s1);padding:var(--kl-s4);border:1px solid var(--kl-line);border-radius:10px;background:var(--kl-panel);font-size:.9rem}
.kl-scenes li .kl-ico{color:var(--kl-acc);width:24px;height:24px}
.kl-scenes span{color:var(--kl-mut)}
.kl-works{display:grid;grid-template-columns:1fr 1fr;gap:var(--kl-s5)}
.kl-works h2{grid-column:1/-1;margin-bottom:0}
.kl-pro,.kl-con{list-style:none;margin:0;padding:0;display:grid;gap:var(--kl-s2)}
.kl-pro li,.kl-con li{display:flex;gap:var(--kl-s2)}
.kl-pro b{color:var(--kl-acc2)}
.kl-con b{color:var(--kl-hi)}
.kl-qa{margin:0;display:grid;gap:var(--kl-s2)}
.kl-qa div{padding:var(--kl-s3) var(--kl-s4);border-radius:10px;background:var(--kl-panel)}
.kl-qa dt{font-weight:600;color:var(--kl-acc2)}
.kl-qa dd{margin:0;color:var(--kl-mut)}
.kl-qa dd b{color:var(--kl-ink)}
.kl-rv-side{display:grid;gap:var(--kl-s4);align-content:start}
.kl-box{padding:var(--kl-s5);border:1px solid var(--kl-line);border-radius:var(--kl-r);background:var(--kl-panel)}
.kl-box h2{font-size:1.1rem}
.kl-box-stop{border-top:4px solid var(--t)}
.kl-box-line{display:flex;gap:var(--kl-s3);margin-bottom:var(--kl-s3);font-size:.93rem}
.kl-box-line .kl-ico{color:var(--t);margin-top:3px}
.kl-box-line b{display:block}
.kl-stats{list-style:none;margin:0;padding:0;display:grid;gap:var(--kl-s2)}
.kl-stats li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--kl-s2);align-items:center;font-size:.9rem}
.kl-stats b{display:flex;gap:3px}
.kl-stats b i{width:9px;height:14px;border-radius:5px 5px 2px 2px;background:var(--kl-line)}
.kl-stats b i.kl-on{background:var(--kl-acc)}
.kl-stats em{font-style:normal;color:var(--kl-mut);font-size:.82rem}
.kl-spec{margin:0;display:grid;gap:var(--kl-s2)}
.kl-spec div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:var(--kl-s2);font-size:.9rem;border-bottom:1px dashed var(--kl-line);padding-bottom:6px}
.kl-spec dt{color:var(--kl-mut)}
.kl-spec dd{margin:0}
.kl-near{padding-bottom:var(--kl-s6)}
.kl-near p{color:var(--kl-mut)}
.kl-near ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--kl-s4)}
.kl-near a{display:grid;grid-template-columns:80px minmax(0,1fr);gap:var(--kl-s3);padding:var(--kl-s3);border:1px solid var(--kl-line);border-radius:12px;background:var(--kl-panel);color:var(--kl-ink);text-decoration:none;transition:border-color .16s var(--kl-out)}
.kl-near a:hover{border-color:var(--t)}
.kl-near img{width:80px;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
.kl-near small{display:block;color:var(--kl-mut);font-size:.76rem}
.kl-near em{display:block;font-style:normal;color:var(--kl-mut);font-size:.85rem;margin-top:4px}
.kl-pager{display:flex;justify-content:space-between;gap:var(--kl-s4);padding-bottom:var(--kl-s7)}
.kl-pager a{display:flex;align-items:center;gap:var(--kl-s3);padding:var(--kl-s3) var(--kl-s4);border:1px solid var(--kl-line);border-radius:12px;color:var(--kl-ink);text-decoration:none;min-width:0}
.kl-pager small{display:block;color:var(--kl-mut);font-size:.76rem}

@media (max-width:1180px){.kl-foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:980px){
.kl-room-grid,.kl-split,.kl-nb-grid,.kl-ladder-grid,.kl-fam-grid,.kl-rv-grid,.kl-book-grid{grid-template-columns:minmax(0,1fr)}
.kl-narr,.kl-book-rail{position:static}
.kl-cases,.kl-own ul{grid-template-columns:minmax(0,1fr)}
.kl-pulls,.kl-tips,.kl-legend,.kl-near ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.kl-scenes{grid-template-columns:repeat(2,minmax(0,1fr))}
.kl-rv-in{grid-template-columns:minmax(0,1fr);justify-items:start}
.kl-rv-art{max-width:300px}
}
@media (max-width:760px){
.kl-wrap{padding:0 var(--kl-s4)}
.kl-top{padding:var(--kl-s2) var(--kl-s4)}
.kl-sec{padding:var(--kl-s7) 0}
.kl-card{padding:var(--kl-s4)}
.kl-scene{aspect-ratio:auto;padding:var(--kl-s5) var(--kl-s3) var(--kl-s4)}
.kl-wall{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kl-s6) var(--kl-s4);padding:var(--kl-s3) var(--kl-s2) var(--kl-s5)}
.kl-peg{position:relative;left:auto;top:auto;width:auto}
.kl-objs{position:static;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--kl-s2);align-items:end;pointer-events:auto;padding:var(--kl-s4) var(--kl-s2) 0;border-top:1px solid rgba(255,255,255,.1)}
.kl-obj{position:relative;left:auto;top:auto;width:auto;max-height:110px;display:flex;justify-content:center}
.kl-obj svg{max-height:96px;width:auto;max-width:100%}
.kl-hot-n{top:auto;bottom:-26px}
.kl-obj .kl-hot-n{opacity:1;position:static;transform:none;display:none}
.kl-panel{grid-template-columns:minmax(0,1fr)}
.kl-verb{font-size:.88rem;padding:8px 6px}
.kl-verb .kl-ico{display:none}
.kl-readout{grid-template-columns:repeat(2,minmax(0,1fr))}
.kl-nb-page{padding:var(--kl-s5) var(--kl-s4) var(--kl-s4) 60px}
.kl-nb-list li{grid-template-columns:minmax(0,1fr)}
.kl-nb-list time{grid-row:auto}
.kl-case{grid-template-columns:96px minmax(0,1fr);gap:var(--kl-s4);padding:var(--kl-s4)}
.kl-pulls,.kl-tips,.kl-legend,.kl-near ul,.kl-scenes,.kl-works{grid-template-columns:minmax(0,1fr)}
.kl-foot-grid{grid-template-columns:minmax(0,1fr)}
.kl-opener-in{grid-template-columns:minmax(0,1fr)}
.kl-numeral{text-align:left}
.kl-ribbon{right:var(--kl-s4)}
.kl-pager{flex-direction:column}
.kl-roll li{grid-template-columns:minmax(0,1fr);text-align:center;gap:0}
.kl-roll b{text-align:center}
.kl-cookies{flex-direction:column;align-items:stretch}
.kl-table th,.kl-table td{padding:var(--kl-s2) var(--kl-s3)}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
.kl-top,.kl-foot,.kl-cookies,.kl-room,.kl-pause{display:none!important}
.kl-print-pact main>*:not(#kl-famiglie){display:none!important}
.kl-print-pact #kl-famiglie .kl-sec-head,.kl-print-pact #kl-famiglie .kl-table-box,.kl-print-pact #kl-famiglie .kl-fam-grid>div:first-child{display:none!important}
.kl-pact{box-shadow:none;transform:none}
}

/* --- mobile nav toggle --- */
.kl-burger{display:none;width:44px;height:44px;padding:0;border:1px solid var(--kl-line,currentColor);border-radius:8px;background:transparent;color:inherit;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:0 0 auto}
.kl-burger span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s cubic-bezier(.2,.7,.2,1),opacity .18s cubic-bezier(.2,.7,.2,1)}
.kl-nav-open .kl-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.kl-nav-open .kl-burger span:nth-child(2){opacity:0}
.kl-nav-open .kl-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1120px){
.kl-js .kl-burger{display:inline-flex;margin-left:auto;order:5}
.kl-js .kl-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px}.kl-js .kl-nav-open .kl-top{height:auto}
.kl-js .kl-top>nav{display:none}
.kl-js .kl-nav-open .kl-top>nav{display:flex;flex-direction:column;align-items:stretch;flex-basis:100%;order:9;gap:0;margin:0;padding:8px 0 4px;border-top:1px solid var(--kl-line,currentColor)}
.kl-js .kl-nav-open .kl-top>nav a{display:flex;align-items:center;min-height:48px;padding:0 4px;margin:0;border:0;border-bottom:1px solid var(--kl-line,currentColor);font-size:1rem;letter-spacing:.04em}
.kl-js .kl-nav-open .kl-top>nav a:last-child{border-bottom:none}
.kl-js .kl-top .kl-brand{flex:1;min-width:0}.kl-js .kl-nav-open .kl-top{background:var(--kl-bg)}.kl-js .kl-nav-open .kl-top>nav{margin-left:0}.kl-js .kl-nav-open .kl-top>nav a{color:var(--kl-ink);border-radius:0;background:none}
}
