/* A few things pinned to the notebook. */
.fun-sticker{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:110px;padding:0;border:0;background:transparent;cursor:pointer;flex-shrink:0;isolation:isolate;-webkit-tap-highlight-color:transparent}
.fun-sticker img{display:block;width:100%;height:auto;max-height:150px;object-fit:contain;filter:drop-shadow(0 3px 2px #0001);transition:transform .25s}
.fun-sticker:hover img{transform:rotate(-7deg) translateY(-4px)}
.fun-sticker:focus-visible,.kirby-button:focus-visible{outline:2px dashed var(--ink);outline-offset:5px;border-radius:15px}
.sticker-caption{font-size:16px;color:var(--muted);line-height:1.1;opacity:0;transition:opacity .2s}
.fun-sticker:hover .sticker-caption,.fun-sticker:focus-visible .sticker-caption{opacity:1}
.desk-coke{position:absolute;left:29%;top:5px;width:104px;transform:rotate(-12deg);z-index:2}
.desk-coke img{max-height:170px}
.section-sticker-note{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-60px 0 20px;min-height:105px}
.section-sticker-note .fun-sticker{width:90px;transform:rotate(7deg)}
.section-sticker-note>span{font-size:19px;max-width:135px;transform:rotate(-4deg)}
.tool-cat{width:170px;margin:-30px -15px -30px 0}
.tool-cat img{max-height:190px}
.memory-sticker-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.memory-sticker-note .fun-sticker{width:94px;margin-bottom:-17px;transform:rotate(7deg)}
.memory-sticker-note .memory-note{margin:0;max-width:220px}
.contact-sticker-row{display:flex;justify-content:center;align-items:center;gap:34px;margin:16px auto 4px}
.contact-sticker-row .fun-sticker:first-child{width:105px;transform:rotate(-10deg)}
.contact-sticker-row .fun-sticker:last-child{width:78px;transform:rotate(12deg)}
.kirby-corner{display:flex;gap:13px;align-items:center;max-width:360px;margin:35px 0 0}
.kirby-button{width:118px;flex:0 0 118px;background:none;border:0;padding:0;color:var(--ink);cursor:pointer}
.kirby-button svg{display:block;width:100%;overflow:visible}
.kirby-corner>div{display:flex;flex-direction:column;gap:6px}
#kirby-says{font-size:20px;line-height:1.2;min-height:48px;max-width:200px}
.kirby-corner small,.kirby-credit{font-size:10px;color:var(--muted);letter-spacing:.025em}
.kirby-credit{width:fit-content;border-bottom:1px solid var(--line)}
.kirby-body{transform-origin:0 115px;animation:kirby-breathe 5s ease-in-out infinite}
.kirby-face{transform:translate(var(--look-x,0px),var(--look-y,0px));transition:transform .15s}
.kirby-eye{transform-box:fill-box;transform-origin:center;animation:kirby-blink 7s infinite;transition:height .25s,y .25s}
.kirby-button[data-mood=wink] .kirby-eye.right,.kirby-button[data-mood=happy] .kirby-eye{height:12px;y:-12px;animation:none}
.kirby-button[data-mood=sleepy] .kirby-eye{height:6px;y:-10px;animation:none}
.kirby-button[data-mood=happy] .kirby-arm.right{transform:translateY(-14px) rotate(-12deg)}
@keyframes kirby-breathe{50%{transform:translateY(-4px) scale(1.015,.985)}}
@keyframes kirby-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
.shelf-intro-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-15px 0 3px}
.shelf-intro-row .fun-sticker{width:105px;margin:-12px 0}
.spine-library .shelf-scene{grid-template-columns:minmax(0,1fr);gap:0;padding:25px 25px 20px}
.spine-library .shelf-stack{max-width:none;width:100%;margin:0;overflow:hidden}
.shelf-count{margin-bottom:5px}
.shelf-scroll{overflow-x:auto;overflow-y:hidden;padding:15px 8px 20px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;position:relative;overscroll-behavior-x:contain}
.spine-library .bookshelf{width:max-content;min-width:100%;justify-content:center;height:270px;min-height:270px;padding:0 10px;gap:5px}
.spine-library .shelf-book{flex:0 0 31px;width:31px}
.spine-library .shelf-book[aria-pressed=true]{flex-basis:140px;width:140px}
.spine-library .book-detail{min-height:150px;padding:17px 8px 0;border-top:1px solid var(--line)}
.spine-library .book-detail h3{font-size:24px;margin:7px 0}
.spine-library .book-detail>.hand{font-size:23px;margin-top:12px}
.spine-library .shelf-actions{grid-column:1;margin:12px 8px 0}
.listening-corner{margin:55px 0 5px;border-top:1px solid var(--line);padding-top:32px}
.discourse-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.discourse-card{min-width:0;padding:21px;background:var(--soft);border:1px solid var(--line);border-radius:12px}
.listening-label{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted);margin-bottom:19px}
.listening-label>i{width:6px;height:6px;background:#728263;border-radius:50%}
.tape{position:relative;border:1px solid #51412f50;border-radius:8px;background:#e4b686;box-shadow:0 5px 0 #aa805c33;padding:16px 14px 13px;color:#46372e;transform:rotate(-3deg);transition:transform .3s}
.tape-sage{background:#c0c6ab;transform:rotate(3deg)}
.discourse-card:hover .tape{transform:rotate(0deg) translateY(-3px)}
.tape>span{display:block;border-bottom:1px solid #51412f40;padding-bottom:8px;font:600 10px/1.3 monospace;letter-spacing:.04em}
.tape-window{display:flex;align-items:center;justify-content:space-between;background:#49463e;border:6px solid #eee4d0;border-radius:20px;padding:5px 7px;margin:14px 4px 8px;height:46px}
.tape-window>i{width:23px;height:23px;flex:0 0 23px;border:5px dashed #ddd7c8;background:#625746;border-radius:50%}
.tape-window>b{width:40%;height:17px;background:repeating-linear-gradient(90deg,#d6cbb9 0 2px,#b6a68d 2px 3px);border-radius:2px}
.tape small{font:8px/1.2 monospace;letter-spacing:.04em;display:block;text-align:center;margin-top:10px}
.discourse-card h3{font-size:19px;margin:23px 0 6px}
.discourse-card>p{font-size:12px;margin:0;color:var(--muted)}
.discourse-card>p span{white-space:nowrap}
.listening-foot{font-size:21px;text-align:center;color:var(--muted);margin-top:25px}
@media(max-width:700px){.desk-coke{left:4%;top:87px;width:80px}.section-sticker-note{margin:10px 0 15px;justify-content:flex-start;min-height:80px}.section-sticker-note .fun-sticker{width:75px}.tool-cat{width:125px;margin:0 -15px 0 0}.kirby-corner{margin:25px 0 10px}.kirby-button{width:100px;flex-basis:100px}.memory-sticker-note .fun-sticker{width:78px}.spine-library .shelf-scene{padding:20px 10px}.spine-library .bookshelf{min-width:100%;justify-content:flex-start}.spine-library .book-detail{min-height:180px}.shelf-intro-row .shelf-intro{max-width:220px}.shelf-intro-row .fun-sticker{width:85px}.discourse-grid{gap:12px}.discourse-card{padding:13px}.tape{padding:12px 7px}.tape-window{margin:10px 0;border-width:4px;padding:4px;height:36px}.tape-window>i{width:17px;height:17px;flex-basis:17px;border-width:3px}.tape>span{font-size:8px}.tape small{font-size:6px}.discourse-card h3{font-size:16px}.listening-corner .bucket-heading{gap:8px;align-items:flex-start;flex-direction:column}}
@media(max-width:370px){.discourse-grid{grid-template-columns:1fr}.tape{max-width:210px;margin:auto}.desk-coke{width:65px}.contact-sticker-row{gap:22px}}
@media(prefers-reduced-motion:reduce){.fun-sticker img,.kirby-eye,.kirby-face,.tape{transition:none}.kirby-body,.kirby-eye{animation:none}.fun-sticker:hover img,.discourse-card:hover .tape{transform:none}}
