/* ===== vector's toolkit ===== */
#toolkit{padding:56px 0 218px;overflow:hidden;isolation:isolate}
#toolkit>.wrap{position:relative;z-index:2}
#toolkit .kicker,#toolkit h2,#toolkit .sub{text-shadow:0 2px 14px rgba(10,3,14,.9)}
#toolkit .sub{margin-bottom:6px}
.tk-hub{position:relative;width:min(440px,92vw);aspect-ratio:1;margin:18px auto 0;touch-action:manipulation}
.tk-hub::before{content:"";position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,rgba(51,240,138,.16),rgba(166,107,255,.14) 45%,transparent 70%)}
.tk-ring{position:absolute;inset:6%;border-radius:50%;border:1px dashed rgba(166,107,255,.35);box-shadow:inset 0 0 40px rgba(166,107,255,.12)}
.tk-ring.r2{inset:25%;border-style:solid;border-color:rgba(47,243,238,.12)}
.tk-orbit{position:absolute;inset:0;animation:tkspin 46s linear infinite}
.tk-hub.paused .tk-orbit,.tk-hub.paused .tk-orb>span{animation-play-state:paused}
@keyframes tkspin{to{transform:rotate(360deg)}}
@keyframes tkcounter{to{transform:rotate(-360deg)}}
.tk-orb{position:absolute;width:23%;aspect-ratio:1;left:38.5%;top:38.5%;border:0;background:none;padding:0;cursor:pointer;color:var(--ink);-webkit-tap-highlight-color:transparent}
.tk-orb>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tkcounter 46s linear infinite}
.tk-orb[data-tool=rug]{transform:translateY(-155%)}
.tk-orb[data-tool=jeet]{transform:translateX(155%)}
.tk-orb[data-tool=adopt]{transform:translateY(155%)}
.tk-orb[data-tool=diary]{transform:translateX(-155%)}
.tk-ic{width:74%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.18),rgba(29,13,34,.95) 62%);border:1.5px solid var(--c,var(--green));box-shadow:0 0 0 4px rgba(0,0,0,.25),0 0 22px var(--g,rgba(51,240,138,.45)),inset 0 0 14px var(--g,rgba(51,240,138,.35));transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}
.tk-ic svg{width:52%;height:52%}
.tk-orb:hover .tk-ic,.tk-orb:focus-visible .tk-ic{transform:scale(1.1);box-shadow:0 0 0 4px rgba(0,0,0,.25),0 0 36px var(--g),inset 0 0 18px var(--g)}
.tk-orb:active .tk-ic{transform:scale(.94)}
.tk-orb b{margin-top:6px;font-size:13px;font-weight:800;white-space:nowrap;text-shadow:0 2px 10px #000;background:rgba(21,7,23,.75);padding:2px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}
.tk-orb[data-tool=rug]{--c:#33f08a;--g:rgba(51,240,138,.5)}
.tk-orb[data-tool=jeet]{--c:#2ff3ee;--g:rgba(47,243,238,.5)}
.tk-orb[data-tool=adopt]{--c:#ffb86b;--g:rgba(255,184,107,.45)}
.tk-orb[data-tool=diary]{--c:#a66bff;--g:rgba(166,107,255,.55)}
.tk-bot{position:absolute;left:31%;top:30%;width:38%;aspect-ratio:1;transition:transform .45s cubic-bezier(.3,1.25,.45,1);pointer-events:none}
.tk-bot .in{position:absolute;inset:0;animation:bob 4s ease-in-out infinite}
.tk-bot img.b{width:100%;height:100%;filter:drop-shadow(0 14px 22px rgba(0,0,0,.5))}
.tk-bot img.gm{position:absolute;left:38.5%;top:3.5%;width:16.6%;animation:gem 3s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(51,240,138,.85));transition:filter .25s}
/* tap reactions */
.tk-hub.react .tk-bot img.gm{filter:hue-rotate(var(--rh,0deg)) saturate(var(--rs,1.5)) brightness(var(--rb,1.3)) drop-shadow(0 0 10px var(--rc)) drop-shadow(0 0 26px var(--rc))}
.tk-burst{position:absolute;left:46.8%;top:10.4%;width:44%;aspect-ratio:1;margin:-22% 0 0 -22%;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 30%,var(--rc,#33f08a) 46%,transparent 66%)}
.tk-hub.react .tk-burst{animation:tkburst .75s ease-out both}
@keyframes tkburst{0%{opacity:.9;transform:scale(.25)}100%{opacity:0;transform:scale(1.5)}}
.tk-orb.hit .tk-ic{animation:tkhit .45s cubic-bezier(.3,1.6,.5,1);box-shadow:0 0 0 4px rgba(0,0,0,.25),0 0 44px var(--c),inset 0 0 22px var(--g)}
@keyframes tkhit{40%{transform:scale(1.22)}100%{transform:scale(1.08)}}
.tk-card.tk-shake{animation:tkshake .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes tkshake{10%,90%{translate:-1px 1px}20%,80%{translate:3px -2px}30%,50%,70%{translate:-5px 2px}40%,60%{translate:5px -1px}}

/* the world behind the hub */
.tk-world{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:radial-gradient(120% 60% at 50% 100%,rgba(51,240,138,.16),transparent 60%),radial-gradient(90% 50% at 50% 38%,rgba(110,50,190,.28),transparent 70%),linear-gradient(180deg,rgba(21,7,23,0) 0,#1a0830 18%,#22093f 55%,#1a0a2a 100%);
  -webkit-mask-image:linear-gradient(transparent,#000 9%,#000 97%,transparent);mask-image:linear-gradient(transparent,#000 9%,#000 97%,transparent)}
.tk-world::before{content:"";position:absolute;inset:0;opacity:.7;background-image:radial-gradient(1px 1px at 12% 22%,#fff8,transparent),radial-gradient(1px 1px at 28% 12%,#fff6,transparent),radial-gradient(1.5px 1.5px at 46% 26%,#d9c8ff,transparent),radial-gradient(1px 1px at 63% 16%,#fff7,transparent),radial-gradient(1px 1px at 81% 30%,#fff6,transparent),radial-gradient(1.5px 1.5px at 92% 10%,#c9ffe6,transparent),radial-gradient(1px 1px at 6% 46%,#fff5,transparent),radial-gradient(1px 1px at 74% 48%,#fff5,transparent),radial-gradient(1px 1px at 37% 52%,#fff4,transparent)}
.tk-cloud{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(150,80,230,.42),rgba(110,50,190,.18) 60%,transparent);animation:tkdrift 38s ease-in-out infinite alternate;will-change:transform}
.tk-cloud.c1{width:90%;height:26%;left:-30%;top:16%}
.tk-cloud.c2{width:80%;height:22%;right:-28%;top:42%;animation-duration:46s;animation-direction:alternate-reverse;background:radial-gradient(closest-side,rgba(180,90,240,.34),rgba(90,40,170,.16) 60%,transparent)}
.tk-cloud.c3{width:120%;height:24%;left:-10%;bottom:14%;animation-duration:54s;background:radial-gradient(closest-side,rgba(120,60,200,.4),rgba(60,30,120,.2) 60%,transparent)}
@keyframes tkdrift{to{transform:translateX(14%)}}
.tk-dust{position:absolute;inset:0;width:100%;height:100%}
.tk-ground{position:absolute;left:-5%;right:-5%;bottom:0;height:70px;background:linear-gradient(180deg,transparent,rgba(12,4,18,.85) 60%,#0c0412);border-radius:50% 50% 0 0/30px 30px 0 0}
.tk-chart{position:absolute;left:0;right:0;bottom:0;height:230px}
.tk-cdl{position:absolute;left:var(--x);bottom:calc(var(--y) + 12px);width:calc(15px * var(--s));height:var(--h);margin-left:calc(-7.5px * var(--s));border-radius:3px;
  background:linear-gradient(90deg,#0a5a2f,#22d873 35%,#8dffbe 47%,#1db463 62%,#08492a);box-shadow:0 0 14px rgba(51,240,138,.45),inset 0 0 0 1px rgba(170,255,210,.25)}
.tk-cdl::before{content:"";position:absolute;left:50%;width:2px;margin-left:-1px;top:calc(-1 * var(--wt));bottom:calc(-1 * var(--wb));background:#2be07c;border-radius:2px;z-index:-1;box-shadow:0 0 6px rgba(51,240,138,.6)}
.tk-cdl b{position:absolute;left:50%;bottom:calc(100% + var(--wt) - 2px);width:calc(13px * var(--s));height:calc(22px * var(--s));margin-left:calc(-6.5px * var(--s));border-radius:50% 50% 45% 45%/62% 62% 38% 38%;transform-origin:50% 90%;
  background:radial-gradient(ellipse at 50% 72%,#f4ffe0 0,#b6ff8a 22%,#3cf27a 48%,rgba(51,240,138,.25) 72%,transparent 74%);box-shadow:0 0 14px 4px rgba(51,240,138,.5),0 0 36px 10px rgba(51,240,138,.18);animation:tkflick 1.6s ease-in-out infinite;animation-delay:var(--d)}
@keyframes tkflick{0%,100%{transform:scale(1,1) skewX(0)}25%{transform:scale(.92,1.08) skewX(-4deg)}50%{transform:scale(1.04,.94) skewX(3deg)}75%{transform:scale(.96,1.05) skewX(-2deg)}}
.tk-hint{position:relative;text-shadow:0 2px 10px #000}
.tk-hint{text-align:center;font-family:var(--mono);font-size:12px;color:var(--mute);margin-top:4px}
.tk-quick{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}
.tk-quick button{font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:8px 14px;border-radius:999px;cursor:pointer}
.tk-quick button:hover{border-color:var(--green)}

/* sheet */
.tk-sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.tk-sheet[hidden]{display:none}
.tk-back{position:absolute;inset:0;background:rgba(8,2,10,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.tk-sheet.on .tk-back{opacity:1}
.tk-card{position:relative;width:min(560px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#24102b,#150717 60%);border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;padding:18px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 80px rgba(0,0,0,.6);transform:translateY(104%);transition:transform .38s cubic-bezier(.2,.9,.25,1)}
.tk-sheet.on .tk-card{transform:none}
@media(min-width:700px){.tk-sheet{align-items:center}.tk-card{border-radius:26px;border-bottom:1px solid var(--line);transform:translateY(30px) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.2,.9,.25,1),opacity .25s}.tk-sheet.on .tk-card{opacity:1}}
.tk-grab{width:44px;height:5px;border-radius:9px;background:rgba(255,255,255,.18);margin:-6px auto 10px}
.tk-x{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;z-index:2}
.tk-p[hidden]{display:none}
.tk-head{display:flex;align-items:center;gap:12px;margin:2px 44px 12px 0}
.tk-head h3{font-size:22px;line-height:1.1;letter-spacing:-.01em}
.tk-head p{font-size:13px;color:var(--mute)}
.tk-mini{position:relative;flex:0 0 64px;height:64px}
.tk-mini img.b{width:100%;height:100%}
.tk-mini img.gm{position:absolute;left:38.5%;top:3.5%;width:16.6%;filter:drop-shadow(0 0 6px rgba(51,240,138,.9));transition:filter .4s}
.tk-form{display:flex;gap:8px}
.tk-form input{flex:1;min-width:0;background:rgba(10,4,14,.75);border:1px solid rgba(47,243,238,.35);color:var(--ink);border-radius:16px;padding:14px;font-family:var(--mono);font-size:16px;outline:none}
.tk-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(47,243,238,.15)}
.tk-form .btn{padding:12px 18px;border-radius:16px;flex:0 0 auto;max-width:none;width:auto;margin:0}
.tk-paste{font:inherit;font-size:12px;color:var(--mute);background:none;border:0;margin-top:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tk-msg{margin-top:12px;font-size:14px;color:var(--mute);min-height:0}
.tk-msg:empty{display:none}
.tk-stage{margin-top:14px}
.tk-nfa{margin-top:10px;font-size:12.5px;color:var(--mute);text-align:center}
.tk-say{display:flex;gap:10px;align-items:flex-start;margin-top:12px}
.tk-say img{width:34px;height:34px;border-radius:50%;flex:0 0 34px}
.tk-say p{padding:10px 13px;border-radius:16px;border-bottom-left-radius:5px;background:rgba(47,243,238,.1);border:1px solid rgba(47,243,238,.3);font-size:15px}
.tk-row{display:flex;gap:8px;margin-top:12px}
.tk-row .btn{margin:0;flex:1;padding:12px;max-width:none}

/* gem moods */
.gm.v-yellow{filter:hue-rotate(-85deg) saturate(1.6) brightness(1.15) drop-shadow(0 0 8px rgba(254,188,46,.9))!important}
.gm.v-beeping{filter:hue-rotate(-140deg) saturate(2) brightness(1.05) drop-shadow(0 0 9px rgba(255,80,80,.95))!important;animation:tkalarm .5s steps(2) 6!important}
.gm.v-chill{filter:drop-shadow(0 0 10px rgba(51,240,138,1)) brightness(1.2)!important}
@keyframes tkalarm{50%{opacity:.35}}

/* rug check: sniffing */
.tk-sniffer{position:relative;height:150px;display:grid;place-items:center}
.tk-sniffer .tk-mini{width:110px;height:110px;flex:none}
.tk-mag{position:absolute;width:54px;left:calc(50% + 8px);top:62px;transform-origin:20% 20%;filter:drop-shadow(0 0 8px rgba(47,243,238,.7))}
.sniffing .tk-mag{animation:tksniff 1.1s ease-in-out infinite}
.sniffing .tk-mini{animation:tkbob .55s ease-in-out infinite}
@keyframes tksniff{0%,100%{transform:translate(-60px,0) rotate(-12deg)}50%{transform:translate(10px,-8px) rotate(10deg)}}
@keyframes tkbob{50%{transform:translateY(-6px)}}
.tk-sniffer .lbl{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--mono);font-size:13px;color:var(--green)}
.tk-case{position:relative;margin-top:16px;padding:18px 16px 14px;border-radius:6px 18px 18px 18px;background:linear-gradient(170deg,#2a1631,#1a0b1f);border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 40px rgba(0,0,0,.45);animation:tkin .45s cubic-bezier(.2,.9,.25,1)}
.tk-case::before{content:"case file";position:absolute;left:-1px;top:-26px;height:26px;padding:4px 16px 0;border-radius:10px 10px 0 0;background:#2a1631;border:1px solid rgba(255,255,255,.1);border-bottom:0;font-family:var(--mono);font-size:12px;color:var(--green);letter-spacing:.08em;text-transform:uppercase}
.tk-case .id{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.06em}
.tk-case h4{font-size:21px;margin:2px 0 10px;padding-right:110px;word-break:break-word}
.tk-stamp{position:absolute;right:12px;top:14px;transform:rotate(8deg);border:2.5px solid currentColor;border-radius:8px;padding:4px 9px;font-family:var(--mono);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em;line-height:1.15;text-align:center;max-width:112px;animation:tkstamp .5s .25s cubic-bezier(.3,1.6,.5,1) both}
.tk-stamp.chill,.tk-stamp.mostly{color:var(--green)}.tk-stamp.partial{color:#a99bb8}.tk-stamp.yellow{color:#febc2e}.tk-stamp.beeping{color:#ff6b6b}
@keyframes tkstamp{0%{transform:rotate(8deg) scale(2.4);opacity:0}100%{transform:rotate(8deg) scale(1);opacity:1}}
@keyframes tkin{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:none}}
.tk-facts{list-style:none;display:grid;gap:5px;font-size:14px}
.tk-facts li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.035);border-left:3px solid rgba(255,255,255,.12)}
.tk-facts li span:first-child{color:var(--mute);white-space:nowrap}
.tk-facts li span:last-child{text-align:right;font-family:var(--mono);font-size:12.5px}
.tk-facts li.ok{border-left-color:var(--green)}.tk-facts li.ok span:last-child{color:var(--green)}
.tk-facts li.yellow{border-left-color:#febc2e}.tk-facts li.yellow span:last-child{color:#febc2e}
.tk-facts li.red{border-left-color:#ff5f57}.tk-facts li.red span:last-child{color:#ff8a84}
.tk-facts li.na span:last-child{opacity:.6}

/* jeet: scanner */
.tk-scanner{position:relative;height:120px;border-radius:18px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(47,243,238,.05) 0 1px,transparent 1px 22px),rgba(8,3,12,.6);border:1px solid rgba(47,243,238,.25)}
.tk-beam{position:absolute;left:50%;top:0;bottom:0;width:6px;margin-left:-3px;background:var(--cyan);box-shadow:0 0 24px 8px rgba(47,243,238,.6),0 0 60px 20px rgba(47,243,238,.25);border-radius:6px}
.tk-chip{position:absolute;top:50%;left:0;transform:translate(-110%,-50%);padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#3a1f47,#22102a);border:1px solid rgba(255,255,255,.16);font-family:var(--mono);font-size:13px;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.scanning .tk-chip{animation:tkpass 1.6s cubic-bezier(.5,0,.5,1) infinite}
@keyframes tkpass{0%{left:0;transform:translate(-110%,-50%)}100%{left:100%;transform:translate(10%,-50%)}}
.scanning .tk-beam{animation:tkbeam .8s ease-in-out infinite}
@keyframes tkbeam{50%{opacity:.55}}
.tk-scanner .lbl{position:absolute;left:12px;bottom:8px;font-family:var(--mono);font-size:12px;color:var(--cyan)}
.tk-flip{perspective:1200px;margin-top:16px}
.tk-flip .in{position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.3,.4,1);min-height:420px}
.tk-flip.flipped .in{transform:rotateY(180deg)}
.tk-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:24px;padding:20px;overflow:hidden}
.tk-face.back{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(47,243,238,.25),transparent 60%),repeating-linear-gradient(45deg,#2a1534 0 14px,#22102a 14px 28px);border:2px solid rgba(47,243,238,.4)}
.tk-face.back img{width:120px;opacity:.9}
.tk-face.front{transform:rotateY(180deg);text-align:center;background:linear-gradient(165deg,var(--b1,#2b1940),#140616 70%);border:2px solid var(--bc,var(--cyan));box-shadow:0 0 40px var(--bg2c,rgba(47,243,238,.25)),inset 0 0 60px rgba(0,0,0,.35)}
.tk-face.front::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.12) 50%,transparent 60%);transform:translateX(-60%);animation:tkshine 3.5s 1s ease-in-out infinite}
@keyframes tkshine{60%,100%{transform:translateX(60%)}}
.tk-medal{width:120px;height:120px;margin:6px auto 8px;border-radius:50%;display:grid;place-items:center;font-size:54px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),var(--bc,#2ff3ee) 45%,rgba(0,0,0,.4));box-shadow:0 0 0 6px rgba(255,255,255,.08),0 0 30px var(--bc)}
.tk-medal img{width:62px}
.tk-face .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.tk-face h4{font-size:26px;line-height:1.05;margin:4px 0}
.tk-face .tag{color:var(--mute);font-size:14px}
.tk-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 4px;text-align:left}
.tk-stats div{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:7px 10px}
.tk-stats b{display:block;font-family:var(--mono);font-size:15px;color:var(--ink)}
.tk-stats span{font-size:11px;color:var(--mute)}
.tk-face .tk-say{text-align:left}

/* adopt: egg */
.tk-nest{position:relative;height:210px;display:grid;place-items:center}
.tk-egg{width:130px;height:160px;position:relative;transform-origin:50% 90%}
.tk-egg svg{width:100%;height:100%;overflow:visible}
.wobble .tk-egg{animation:tkwob .7s ease-in-out infinite}
@keyframes tkwob{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
.tk-egg .crack{stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset .5s}
.cracked .tk-egg .crack{stroke-dashoffset:0}
.hatch .tk-egg .top{transform:translate(-26px,-70px) rotate(-38deg);opacity:0;transition:transform .6s cubic-bezier(.3,1.2,.5,1),opacity .6s .2s}
.hatch .tk-egg .bot{transform:translateY(40px);opacity:0;transition:transform .6s .1s,opacity .5s .2s}
.tk-nest .lbl{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--mono);font-size:13px;color:#ffb86b}
.tk-spark{position:absolute;inset:0;pointer-events:none}
.tk-spark i{position:absolute;left:50%;top:45%;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);opacity:0}
.hatch .tk-spark i{animation:tkspark .9s ease-out forwards}
@keyframes tkspark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}}
.tk-tcard{margin-top:12px;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);animation:tkpop .6s cubic-bezier(.3,1.4,.5,1)}
.tk-tcard img{width:100%;height:auto}
@keyframes tkpop{0%{opacity:0;transform:scale(.6) rotate(-6deg)}100%{opacity:1;transform:none}}

/* diary: notebook */
.tk-desk{position:relative;padding:18px 0 8px;perspective:1400px}
.tk-desk::after{content:"";position:absolute;left:-18px;right:-18px;bottom:-4px;height:30px;background:linear-gradient(180deg,#3b2230,#24131c);border-radius:6px;z-index:-1;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.tk-book{position:relative;width:100%;max-width:440px;margin:0 auto;min-height:300px;transform-style:preserve-3d}
.tk-page{position:relative;min-height:300px;border-radius:6px 16px 16px 6px;padding:18px 18px 16px 34px;color:#2a1b33;background:repeating-linear-gradient(180deg,transparent 0 27px,rgba(80,120,200,.25) 27px 28px),#fbf6ea;background-position:0 52px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.tk-page::before{content:"";position:absolute;left:22px;top:0;bottom:0;width:2px;background:rgba(230,90,110,.45)}
.tk-page .d{font-family:var(--mono);font-size:12px;color:#8a6f8f;letter-spacing:.05em}
.tk-page h4{font-size:20px;margin:2px 0 8px;color:#3a1f4a}
.tk-page p.t{font-size:17px;line-height:28px;font-family:"Segoe Print","Bradley Hand","Chalkboard SE","Comic Sans MS",ui-rounded,cursive;color:#2a1b33}
.tk-page .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tk-page .chips span{font-family:var(--mono);font-size:11.5px;padding:3px 8px;border-radius:999px;background:#efe4f5;color:#5a2d74;border:1px solid #dccbe6}
.tk-page .sig{margin-top:8px;text-align:right;font-size:13px;color:#8a6f8f}
.tk-cover{position:absolute;inset:0;border-radius:6px 16px 16px 6px;transform-origin:0 50%;background:linear-gradient(135deg,#6b3fb0,#3a1f6b);border:2px solid rgba(255,255,255,.12);box-shadow:inset 8px 0 0 rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.5);display:grid;place-items:center;text-align:center;color:#fff;transition:transform 1s cubic-bezier(.5,.05,.25,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:3}
.tk-cover b{font-size:22px;display:block}.tk-cover span{font-family:var(--mono);font-size:12px;opacity:.75}
.tk-cover img{width:70px;margin:0 auto 8px;filter:drop-shadow(0 0 10px rgba(51,240,138,.8))}
.open .tk-cover{transform:rotateY(-165deg)}
.loading-book .tk-cover{animation:tkwob 1s ease-in-out infinite;transform-origin:50% 100%}
.tk-older{margin-top:14px;display:grid;gap:8px}
.tk-older details{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px}
.tk-older summary{cursor:pointer;font-weight:700;font-size:14px}
.tk-older p{margin-top:6px;font-size:14px;color:var(--mute)}

/* sound toggle */
.sfx{flex:none;width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:var(--mute);cursor:pointer;padding:0;transition:color .2s,border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.sfx svg{width:18px;height:18px}.sfx .on{display:none}.sfx.on{color:var(--green);border-color:rgba(51,240,138,.5);box-shadow:0 0 14px rgba(51,240,138,.3)}.sfx.on .on{display:inline}.sfx.on .off{display:none}
.navlinks{align-items:center}
@media(max-width:380px){.tk-orb b{font-size:11.5px}.tk-head h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.tk-cloud,.tk-cdl b,.tk-burst,.tk-card.tk-shake,.tk-orb.hit .tk-ic,.tk-orbit,.tk-orb>span,.tk-bot .in,.tk-bot img.gm,.tk-face.front::after{animation:none!important}.tk-bot,.tk-card,.tk-flip .in,.tk-cover{transition-duration:.01s!important}.sniffing .tk-mag,.sniffing .tk-mini,.scanning .tk-chip,.wobble .tk-egg,.loading-book .tk-cover{animation:none!important}.scanning .tk-chip{left:50%;transform:translate(-50%,-50%)}}
