/* Lulu: sunny yellow, tangerine orange, and readable cocoa text. */
:root{--ink:#51351e;--muted:#8c7258;--blue:#a65d16;--line:#eee1ca;--soft:#fff1d6;--paper:#fffefb;--bg:#fffbf2}
body{background:#fffbf2}.site-header{background:#fffdf6ed}.brand-mark{background:#f5b72e;color:#51351e}.brand-mark span{color:#fff9e8}.intro h1>span,.footer-brand span{color:#e79822}.identity-card{background:#fff0cc;border-color:#f2d99e}.author-letter{color:#a76217}.author-letter>span{color:#eea92a}.post-cover{background-color:#70431e;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px)}.cover-top,.cover-bottom{color:#f6dbad}.cover-index{color:#eabf76}.category-tabs button.active{background:#f4ba3b;color:#51351e}.post-tag,.experience-status,.career-intent li{background:#fff0cf;color:#865314}.career-intent li{border-color:#f0dcae}.project-folder{background:#fff5dc;border-color:#eddbb4}.project-folder:hover{background:#ffedbf}.experience-marker{background:#e7a526;box-shadow:0 0 0 4px #fff0cc}.retry-button{background:#a3641e;color:#fff}.article-body pre{background:#3f2d20;color:#fff0d4}.article-body a{color:#9b5714;text-decoration-color:#daba89}.article-body strong{color:#674018}.article-body :not(pre)>code{background:#fff0d9;border-color:#f0ddbc;color:#865217}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#c8891f}.search-box:focus-within{border-color:#cd9b48;box-shadow:0 0 0 2px #fff0cc}
.lulu-widget{position:fixed;right:22px;bottom:17px;width:132px;z-index:30;display:flex;align-items:center;flex-direction:column;isolation:isolate}.lulu-pet{border:0;padding:0;width:128px;height:139px;background:none;cursor:pointer;border-radius:30px;filter:drop-shadow(0 7px 7px #80500e22);touch-action:manipulation}.lulu-pet canvas{display:block;width:128px;height:139px}.lulu-controls{display:flex;gap:6px;justify-content:center;margin-bottom:2px}.lulu-control{border:1px solid #eddbb4;background:#fffaf0eb;color:#805927;font-size:12px;border-radius:20px;min-height:30px;padding:3px 10px;cursor:pointer}.lulu-control:hover{background:#ffe9ae}.lulu-caption{font-size:11px;color:#8e662e;border:1px solid #efdcb6;background:#fffbf1e8;padding:2px 11px;border-radius:16px;margin-top:0;white-space:nowrap}.lulu-bubble{position:absolute;bottom:195px;right:0;width:185px;border:1px solid #eccf97;border-radius:13px 13px 3px 13px;background:#fffaf0;color:#765121;padding:12px 14px;font-size:13px;line-height:1.65;box-shadow:0 8px 24px #8a591419;pointer-events:none}.lulu-summon{position:fixed;right:22px;bottom:20px;z-index:30;border:1px solid #eac675;background:#fff0c4;color:#77501e;box-shadow:0 3px 12px #82521012;padding:9px 14px;font-size:12px;border-radius:24px;cursor:pointer}.site-footer{padding-bottom:70px}.lulu-widget[hidden],.lulu-summon[hidden],.lulu-bubble[hidden]{display:none!important}
@media(max-width:760px){.lulu-widget{right:10px;bottom:12px;width:100px}.lulu-pet,.lulu-pet canvas{width:96px;height:104px}.lulu-control{font-size:11px;padding:3px 8px;min-height:29px}.lulu-caption{font-size:10px;padding:2px 8px}.lulu-bubble{bottom:156px;width:175px}.lulu-summon{right:12px;bottom:14px}.site-footer{padding-bottom:165px}}

.lulu-chat{position:absolute;right:0;bottom:195px;width:330px;max-width:calc(100vw - 28px);box-sizing:border-box;background:#fffaf0;border:1px solid #eccf97;border-radius:18px;box-shadow:0 12px 36px #80500e24;padding:16px;color:#51351e;text-align:left}.lulu-chat[hidden]{display:none!important}.lulu-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lulu-chat-header strong{font-size:16px}.lulu-chat-hint{font-size:12px;color:#8c7258;margin:8px 0 12px}.lulu-chat-log{max-height:min(240px,35vh);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:9px}.lulu-chat-line{font-size:13px;line-height:1.7;margin:0;padding:9px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:90%;box-sizing:border-box}.lulu-chat-line.pet{background:#fff0cc;align-self:flex-start}.lulu-chat-line.visitor{background:#f2e6d5;align-self:flex-end}.lulu-chat-form{display:flex;gap:8px;margin-top:13px}.lulu-chat-form input{min-width:0;flex:1;border:1px solid #e5cda5;border-radius:10px;padding:10px;background:#fffefb;color:#51351e;font-size:14px}.lulu-chat-form button{border:0;border-radius:10px;background:#f4ba3b;color:#51351e;padding:10px 13px;cursor:pointer;white-space:nowrap}.lulu-chat-form button:disabled{opacity:.55;cursor:wait}@media(max-width:760px){.lulu-chat{bottom:155px;width:310px;padding:13px}.lulu-chat-form input{font-size:16px}}@media(max-height:540px){.lulu-chat{bottom:30px;right:135px;width:300px;max-width:calc(100vw - 160px)}.lulu-chat-log{max-height:120px}}

.lulu-walking .lulu-pet canvas{animation:lulu-stroll-bob .45s ease-in-out infinite alternate}@keyframes lulu-stroll-bob{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.lulu-walking .lulu-pet canvas{animation:none}}

/* Depth comes from directional art, projected paths and a separate contact shadow. */
.lulu-pet{position:relative;transform-origin:center bottom;transition:filter .2s;filter:none}
.lulu-pet::before{content:"";position:absolute;left:19%;right:19%;bottom:3%;height:9%;border-radius:50%;background:#674018;opacity:var(--ground-opacity,.19);filter:blur(4px);z-index:-1;pointer-events:none}
.lulu-pet canvas{filter:drop-shadow(0 3px 2px #80500e16)}
.lulu-walking .lulu-pet canvas{animation:none}
.lulu-walking .lulu-controls{opacity:0;pointer-events:none}
.lulu-controls{transition:opacity .18s}
.lulu-chat{max-height:calc(100dvh - 24px);overflow:auto;z-index:3}
@media(prefers-reduced-motion:reduce){.lulu-controls,.lulu-pet{transition:none}}

/* Gentle pointer feedback and a draggable companion. */
@media(hover:hover) and (pointer:fine){
.post-card,.project-folder{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.post-card:hover,.project-folder:hover{transform:translateY(-4px);box-shadow:0 9px 24px #d58a1918;border-color:#edc36d}
}
.lulu-pet{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.lulu-dragging .lulu-pet{cursor:grabbing;filter:drop-shadow(0 12px 9px #80500e35)}
.lulu-controls{flex-wrap:wrap}
.lulu-click-ripple{position:fixed;width:12px;height:12px;border:2px solid #eda83b;border-radius:50%;pointer-events:none;z-index:1000;transform:translate(-50%,-50%);animation:lulu-click-ring .5s ease-out forwards}
@keyframes lulu-click-ring{from{opacity:.65;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(3)}}
@media(prefers-reduced-motion:reduce){.post-card,.project-folder{transition:none!important}.post-card:hover,.project-folder:hover{transform:none!important}.lulu-click-ripple{display:none}}

/* Project notebooks, learning sticky note, and chapter trail. */
.notebook-card{position:relative;overflow:hidden;border-radius:6px 18px 18px 6px;padding:30px 28px 26px 48px!important;background:linear-gradient(105deg,#ffd28a,#fff0cb)!important;box-shadow:3px 4px 0 #fff9e9,5px 6px 0 #e8d5b1,0 8px 20px #83511c0b!important;border:1px solid #e6bc76;gap:20px}
.notebook-card::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:11px;background:#cf7f24;box-shadow:inset -3px 0 5px #93541d24}
.notebook-card[data-notebook="lulu-work"]{background:linear-gradient(105deg,#ffeaa0,#fff9df)!important}
.notebook-card[data-notebook="lulu-work"]::before{background:#e6b743}
.notebook-card .folder-icon{width:42px;height:53px;margin-top:8px;background:#fffaf0;border:1px solid #d4a25d;border-radius:3px 7px 7px 3px;box-shadow:3px 2px 0 #eacb91;transform-origin:left center;transition:transform .25s}
.notebook-card .folder-icon::before{width:4px;height:100%;left:4px;top:0;border:0;background:#f1c978;border-radius:0}
.notebook-card .folder-icon::after{content:'xwd';position:absolute;top:17px;left:12px;color:#946226;font-size:10px;font-weight:700}
.notebook-card .folder-copy h3{color:#694219}.notebook-card .folder-copy p{color:#896b43}.notebook-updated{display:block;font-size:11px;color:#907247;margin-bottom:16px}.notebook-card .folder-meta{border-color:#dcb77370;color:#805622}
@media(hover:hover){.notebook-card:hover .folder-icon{transform:perspective(220px) rotateY(-18deg)} }
.learning-note{position:relative;max-width:470px;margin:30px 0 0;padding:24px 25px 19px;background:#fff1b9;border:1px solid #ecd692;box-shadow:2px 5px 12px #9b742018;transform:rotate(-1deg);color:#755121}
.learning-note::before{content:'';position:absolute;top:-9px;left:38%;width:74px;height:19px;background:#efcc8190;transform:rotate(3deg)}
.learning-note-label{display:block;font-size:11px;letter-spacing:2px;margin-bottom:10px;color:#a36c1c}.learning-note a{font-size:17px;font-weight:600;line-height:1.65;color:#6f471b}.learning-note a:hover{text-decoration:underline;text-underline-offset:4px}.learning-note p{font-size:12px!important;line-height:1.7!important;margin:9px 0!important;color:#8a713f!important}.learning-note small{font-size:10px;color:#987d4a}
.chapter-track{border-left:0;padding-left:5px}.chapter-track a{position:relative;margin:0;padding:9px 0 9px 23px;border-left:2px solid #eee2c9;color:#9d896c;font-size:12px;line-height:1.6}.chapter-track a::before{content:'';position:absolute;left:-5px;top:15px;width:8px;height:8px;border-radius:50%;background:#e8ddc7;border:1px solid #fffaf0}.chapter-track a.chapter-read{border-color:#edc16d;color:#886b3f}.chapter-track a.chapter-read::before{background:#edc16d}.chapter-track a.chapter-current{color:#a15c10;font-weight:650;background:linear-gradient(90deg,#fff0c7,transparent);border-color:#e6a333}.chapter-track a.chapter-current::before{background:#e6a333;box-shadow:0 0 0 3px #f9e8bf}
@media(max-width:760px){.learning-note{margin-top:25px;max-width:100%;transform:none}.notebook-card{padding:25px 20px 22px 36px!important;gap:14px}.notebook-card::before{left:8px;width:8px}.notebook-card .folder-copy h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.notebook-card .folder-icon{transition:none}.notebook-card:hover .folder-icon{transform:none}}
