*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f3f4f5;--cream-dark:#e8eaed;--ink:#202226;--ink-light:#62666e;--ink-faint:#62666e;--blue:#383d45;--yellow:#e8c85a;--yellow-light:#e8c85a2e;--red:#e8c85a;--night-bg:#08090c;--night-surface:#1b1d20;--night-border:#34373c;--night-text:#ecedef;--night-muted:#a3a7af;--term-bg:var(--night-bg);--launch-bg:#e7e5df;--launch-ink:#252a30;--launch-muted:#65707a;--launch-screen:var(--term-bg);--launch-border:#8adddc38;--launch-prompt:#d79a5b;--launch-status:#77c8c2;--term-accent:#8adddc;--term-purple:#b7a7ff;--term-text:#edf5f6;--term-muted:#b4c3ca;--term-border:#8adddc33;--blue-deep:#202226;--term-green:#e8c85a;--ease-out:cubic-bezier(.16, 1, .3, 1)}html{overflow:hidden}html.scroll-unlocked{overflow:hidden auto}body{-webkit-font-smoothing:antialiased;background:var(--cream);color:var(--ink);font-family:Noto Sans SC,sans-serif}.semantic-summary{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tab-page{display:none}.tab-page.active{display:block}#page-home{background:var(--night-bg)}.pill-nav{z-index:1000;background:var(--night-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--night-border);transition:opacity .4s ease, transform .4s var(--ease-out);border-radius:999px;gap:4px;padding:5px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #211e1a1f}.pill-nav.hidden-during-intro{opacity:0;pointer-events:none;transform:translate(-50%)translateY(16px)}.pill-nav a{color:var(--night-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:9px 18px;font-family:Noto Sans SC,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:all .25s}.pill-nav a:hover{color:var(--night-text)}.pill-nav a.active{color:var(--yellow);background:#303338}.pill-nav a:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.pill-nav .pill-num{opacity:.75;margin-right:5px;font-family:Fira Code,monospace;font-size:10px}.macbook-wrapper{will-change:transform, opacity;flex-direction:column;align-items:center;display:flex}.macbook-wrapper.zoom-transition{transition:transform 1.5s cubic-bezier(.4,0,.2,1),opacity .3s}.macbook-screen-bezel{cursor:pointer;background:#30353b;border-radius:14px 14px 0 0;width:708px;padding:0 14px 14px;position:relative;box-shadow:inset 0 1px #50585f,0 0 0 1px #363d44,0 24px 70px #0006}.macbook-notch{z-index:2;background:#292d32;border-radius:0 0 10px 10px;width:130px;height:14px;margin:0 auto;position:relative}.macbook-screen{background:var(--term-bg);border-radius:4px;width:680px;height:440px;position:relative;overflow:hidden}.macbook-screen:after,.exit-screen:after{content:"";border:1px solid var(--term-border);border-radius:inherit;pointer-events:none;z-index:20;position:absolute;inset:0;box-shadow:inset 0 1px #b8dce92e,inset 0 0 22px #77c8c20d}.macbook-hinge{background:linear-gradient(#8a8a8e 0%,#6e6e72 100%);border-radius:0 0 2px 2px;width:720px;height:3px}.macbook-base{background:linear-gradient(#c8c8cc 0%,#a8a8ac 30%,#b8b8bc 70%,#9a9a9e 100%);border-radius:0 0 10px 10px;width:760px;height:14px}.macbook-shadow{background:radial-gradient(#00000040 0%,#0000 70%);width:700px;height:40px;margin-top:4px}.terminal{height:100%;padding:16px 20px;font-family:Fira Code,monospace;font-size:13px;line-height:1.7;position:relative;overflow:hidden}.terminal.scale-through{opacity:0;filter:blur(2px);transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1),filter .8s cubic-bezier(.4,0,.2,1);transform:scale(1.15)}.terminal-titlebar{border-bottom:1px solid #b8dce933;align-items:center;gap:7px;margin-bottom:14px;padding-bottom:12px;display:flex}.terminal-dot{border-radius:50%;width:10px;height:10px}.terminal-dot.red{background:#78818a}.terminal-dot.yellow{background:var(--launch-prompt)}.terminal-dot.green{background:var(--launch-status)}.terminal-title{color:#aab8c1;margin:0 auto;font-family:sans-serif;font-size:11px}.term-line{opacity:0;white-space:pre-wrap;word-break:break-all;transform:translateY(6px)}.term-line.visible{animation:.35s forwards lineReveal}@keyframes lineReveal{to{opacity:1;transform:translateY(0)}}.term-prompt{color:var(--launch-prompt);font-weight:700}.term-cmd{color:var(--term-text);font-weight:500}.term-output{color:var(--term-muted)}.term-gold{color:var(--launch-prompt);font-size:14px;font-weight:700}.term-progress{color:var(--launch-status);align-items:center;gap:9px;font-size:12px;font-weight:600;display:inline-flex}.term-progress-track{background:#77c8c21a;border:1px solid #77c8c266;border-radius:999px;width:128px;height:5px;overflow:hidden}.term-progress-fill{border-radius:inherit;background:var(--launch-status);width:0;height:100%;transition:width .1s linear;display:block;box-shadow:0 0 10px #77c8c28c}.cursor{background:var(--term-accent);vertical-align:middle;width:9px;height:17px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block;box-shadow:0 0 8px #8adddc47}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-section{background:var(--launch-bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.intro-skip{z-index:12;min-height:44px;color:var(--launch-muted);cursor:pointer;background:0 0;border:0;padding:8px 4px;font:13px Noto Sans SC,sans-serif;position:absolute;top:24px;right:28px}.intro-skip:hover{color:var(--term-accent)}.hero-cta{text-align:center;opacity:0;cursor:pointer;margin-top:36px;transition:opacity .6s}.hero-cta.visible{opacity:1}.hero-cta.hidden{opacity:0;pointer-events:none}.hero-cta .cta-text{color:var(--launch-muted);letter-spacing:0;font-family:Fira Code,monospace;font-size:13px}.hero-cta .cta-arrow{color:var(--launch-muted);margin-top:8px;font-size:18px;animation:1.6s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.transition-overlay{background:var(--night-bg);z-index:2000;opacity:0;pointer-events:none;transition:opacity .5s;position:fixed;inset:0}.transition-overlay.active{opacity:1;pointer-events:auto}.desktop{background:var(--night-bg);position:relative}.desktop-surface{background:var(--night-bg);height:max(760px,100svh - 30px);position:relative;overflow:hidden}.desktop-intro{z-index:3;color:var(--night-text);position:absolute;top:6%;left:7%}.desktop-eyebrow{color:var(--term-accent);margin-bottom:16px;font:10px Fira Code,monospace}.desktop-name{letter-spacing:0;font:600 76px/1.12 Noto Sans SC,sans-serif}.desktop-name>span:first-child{margin-left:18px;font-size:42px;font-weight:400}.desktop-intro .identity-dot{color:var(--yellow)}.desktop-tagline{color:#bcc3cd;margin-top:16px;font-size:19px}.desktop-works-link{min-height:44px;color:var(--night-text);align-items:center;gap:22px;margin-top:8px;font-size:13px;text-decoration:none;display:inline-flex}.desktop-works-link:hover{color:var(--term-accent)}.desktop-intro a:focus-visible,.intro-skip:focus-visible{outline:2px solid var(--term-accent);outline-offset:-3px}.desktop.entered .desktop-intro{animation:desktopReveal .65s var(--ease-out) both}@keyframes desktopReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.desktop-character{--character-baseline:max(7vh, 4.5rem);bottom:calc(var(--character-baseline) - var(--character-height) * var(--foot-inset));height:var(--character-height);z-index:5;-webkit-user-select:none;user-select:none;touch-action:none;will-change:left, top, transform, opacity;transition:filter .2s,opacity .18s;position:absolute;transform:translate(-50%)}.desktop-character img{pointer-events:none;transform-origin:bottom;filter:drop-shadow(0 6px 8px #00000059);width:auto;height:100%;transition:transform .12s ease-out;display:block}.desktop-character-person{--character-height:clamp(17rem, 35vh, 28rem);--foot-inset:.012;left:16%}.desktop-character-corgi{--character-height:clamp(9rem, 18vh, 15rem);--foot-inset:.045;z-index:6;left:87%}.desktop-character-corgi.is-settled img{transform:scale(.82)}.character-greeting-trigger{z-index:8;color:#f2e2a0;letter-spacing:.02em;white-space:nowrap;cursor:pointer;width:max-content;min-height:2.75rem;transition:color .22s ease, background .22s ease, border-color .22s ease, transform .22s var(--ease-out), box-shadow .22s ease;background:#1b1d20d6;border:1px solid #e8c85ab8;border-radius:999px;align-items:center;gap:.55rem;padding:.5rem .8rem .5rem .95rem;font:500 .75rem/1 Noto Sans SC,sans-serif;display:inline-flex;position:absolute;top:48%;left:68%;box-shadow:0 0 0 1px #e8c85a14,0 0 1.25rem #e8c85a1a}.character-greeting-trigger:before{content:"";background:var(--yellow);border-radius:50%;width:.34rem;height:.34rem;animation:2s ease-in-out infinite triggerGlow;box-shadow:0 0 .5rem #e8c85abf}.character-greeting-trigger:hover,.character-greeting-trigger:focus-visible{border-color:var(--yellow);background:#303338f5;outline:none;transform:translateY(-.2rem);box-shadow:0 0 0 3px #e8c85a1f,0 0 1.7rem #e8c85a2e}.character-greeting-arrow{color:var(--yellow);transition:transform .22s var(--ease-out);font-size:1rem}.character-greeting-trigger:hover .character-greeting-arrow,.character-greeting-trigger:focus-visible .character-greeting-arrow{transform:translate(.12rem,-.12rem)}.character-greeting-hint{width:max-content;color:var(--night-muted);opacity:0;pointer-events:none;background:#08090ceb;border:1px solid #a3a7af3d;border-radius:.45rem;padding:.42rem .58rem;font-size:.66rem;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + .55rem);left:.55rem;transform:translateY(.2rem)}.character-greeting-hint:after{content:"";border:.28rem solid #0000;border-top-color:#a3a7af3d;position:absolute;top:100%;left:1rem}.character-greeting-trigger:hover .character-greeting-hint,.character-greeting-trigger:focus-visible .character-greeting-hint{opacity:1;transform:translateY(0)}.character-greeting-trigger.is-playing{pointer-events:none;color:var(--term-accent);border-color:#8adddcb3}.character-greeting-trigger.is-playing:before{background:var(--term-accent);box-shadow:0 0 .5rem #8adddcbf}.character-greeting-trigger.is-complete{color:var(--night-text);border-color:#e8c85a73}.character-greeting-trigger.is-complete:before{animation:none}@keyframes triggerGlow{0%,to{opacity:.5;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.desktop-character.is-idle img{animation:4s ease-in-out infinite characterBreathe}.desktop-character-person.is-calling img{animation:.34s ease-in-out infinite alternate personCall}.desktop-character-corgi.is-alert img{animation:.48s ease-in-out infinite alternate corgiListen}.desktop-character-corgi.is-running img{animation:.15s linear infinite alternate corgiStride}.desktop-character-corgi.is-returning img{animation:.15s linear infinite alternate corgiReturnStride}.desktop-character.is-reuniting img{animation:reunionSettle .55s var(--ease-out) both}@keyframes characterBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes personCall{to{transform:translateY(-4px)rotate(-1deg)}}@keyframes corgiListen{to{transform:translateY(-5px)rotate(-2deg)scale(.85)}}@keyframes corgiStride{to{transform:translateY(-7px)rotate(-1.5deg)}}@keyframes corgiReturnStride{0%{transform:scaleX(-1)}to{transform:translateY(-7px)rotate(1.5deg)scaleX(-1)}}@keyframes reunionSettle{0%{opacity:.5;transform:translateY(7px)scale(.95)}70%{opacity:1;transform:translateY(-3px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}.character-story-effects{z-index:4;pointer-events:none;color:var(--yellow);position:absolute;inset:0}.story-call-ring,.story-call-ray,.story-paw,.story-spark,.story-heart{opacity:0;position:absolute}.story-call-ring{border:1px solid #e8c85abf;border-radius:50%;width:clamp(3.5rem,6vw,6rem);height:clamp(3.5rem,6vw,6rem);bottom:28%;left:20%;transform:scale(.4)}.story-call-ray{transform-origin:0;background:currentColor;width:1.8rem;height:1px;bottom:32%;left:24%}.story-call-ray.ray-one{transform:rotate(-28deg)}.story-call-ray.ray-two{transform:rotate(24deg)}.story-paw{color:#e8c85acc;font-size:.65rem;bottom:12%}.story-paw:before,.story-paw:after{content:"";background:currentColor;border-radius:50%;width:.2rem;height:.2rem;position:absolute;top:-.26rem}.story-paw:before{left:-.19rem}.story-paw:after{right:-.19rem}.paw-one{left:67%}.paw-two{left:53%}.paw-three{left:39%}.story-spark{font-size:.85rem}.spark-one{bottom:28%;left:29%}.spark-two{font-size:.55rem;bottom:20%;left:34%}.story-heart{color:#f39a83;font-size:1.1rem;bottom:30%;left:28%;transform:scale(.4)}.desktop-surface[data-character-story=calling] .story-call-ring{animation:.9s ease-out infinite callRing}.desktop-surface[data-character-story=calling] .story-call-ray{opacity:.9;animation:.7s ease-in-out infinite alternate callRay}.desktop-surface[data-character-story=alert] .story-call-ring{opacity:.25;transition:opacity .35s,transform .35s;transform:scale(.9)}.desktop-surface[data-character-story=running] .story-paw{animation:.7s ease-out both pawAppear}.desktop-surface[data-character-story=running] .paw-two{animation-delay:.35s}.desktop-surface[data-character-story=running] .paw-three{animation-delay:.7s}.desktop-surface[data-character-story=reunion] .story-heart{animation:heartLift 1.4s var(--ease-out) both}.desktop-surface[data-character-story=reunion] .story-spark{animation:.9s ease-in-out infinite alternate sparkTwinkle}@keyframes callRing{0%{opacity:.85;transform:scale(.35)}to{opacity:0;transform:scale(1.2)}}@keyframes callRay{to{transform:translate(.35rem)scaleX(1.15)}}@keyframes pawAppear{0%{opacity:0;transform:translateY(.4rem)scale(.3)}35%,to{opacity:.82;transform:translateY(0)scale(1)}}@keyframes heartLift{0%{opacity:0;transform:translateY(.7rem)scale(.35)}35%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-2rem)scale(.8)}}@keyframes sparkTwinkle{to{opacity:1;transform:scale(1.35)rotate(25deg)}}@media (hover:hover){.desktop-character{cursor:grab}.desktop-character:hover{filter:drop-shadow(0 4px 12px #0000004d)}}.desktop-character.is-dragging{cursor:grabbing}.wp-star{min-width:6px;min-height:6px;color:var(--night-text);font-size:calc(var(--size,14px) * .6);opacity:var(--op,.7);--push:translate(0, 0) scale(1);animation:wp-twinkle calc(var(--dur,3s) * 2) ease-in-out infinite;animation-delay:var(--delay,0s);transform:var(--push);pointer-events:none;z-index:0;place-items:center;transition:transform .3s ease-out;display:inline-grid;position:absolute}.wp-star-1,.wp-star-6{font-size:max(5px, calc(var(--size,14px) * .52));color:#a3a7af}.wp-star-2,.wp-star-7{font-size:calc(var(--size,14px) * .65);color:#c4c7cd}.wp-star-3{font-size:calc(var(--size,14px) * .6);color:#a3a7af}.wp-star-4{font-size:calc(var(--size,14px) * .65);color:var(--yellow)}.wp-star.disturbed{transform:var(--push);transition:transform .1s ease-out;animation-play-state:paused;opacity:1!important}@keyframes wp-twinkle{0%,to{opacity:var(--op,.7)}50%{opacity:calc(var(--op,.7) * .25)}}.click-star{pointer-events:none;color:var(--yellow);z-index:9999;animation:.7s ease-out forwards starPop;position:fixed}@keyframes starPop{0%{opacity:.9;transform:scale(0)rotate(0)}30%{opacity:.85;transform:scale(1.2)rotate(10deg)}60%{opacity:.7;transform:scale(1)rotate(-3deg)}to{opacity:0;transform:scale(.8)rotate(0)}}.desktop-icons{z-index:2;position:absolute;inset:0}.dicon{width:82px;color:inherit;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease, border-color .2s ease, transform .2s var(--ease-out), box-shadow .2s ease;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px 3px 8px;display:flex;position:absolute}.dicon:hover,.dicon:focus-visible{background:#ffffff13;border-color:#ffffff29;outline:none;transform:translateY(-2px)}.dicon:focus-visible{box-shadow:0 0 0 3px #e8c85a52}.dicon:active{background:#ffffff26;transform:translateY(-1px)scale(.98)}.dicon.is-featured{box-shadow:none;background:0 0;border-color:#0000}.dicon.is-featured:hover{background:#e8c85a13;border-color:#e8c85a2e}.dicon-featured-mark{z-index:2;background:var(--yellow);color:var(--blue-deep);letter-spacing:.03em;border-radius:999px;padding:2px 4px;font-family:Fira Code,monospace;font-size:7px;font-weight:700;position:absolute;top:4px;left:8px;box-shadow:0 2px 5px #211e1a29}.dicon img{pointer-events:none}.dicon-label{letter-spacing:.01em;color:#ffffffe6;text-align:center;word-break:break-word;-webkit-line-clamp:2;text-shadow:0 1px 3px #0000004d;-webkit-box-orient:vertical;max-width:86px;font-family:Noto Sans SC,sans-serif;font-size:11px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.dicon-art{isolation:isolate;width:50px;height:50px;transition:transform .2s var(--ease-out), box-shadow .2s ease;border-radius:10px;position:relative;overflow:hidden}.dicon:hover .dicon-art{transform:translateY(-1px)scale(1.04)}.dicon-art.folder{background:#e5c95a;border-radius:8px 8px 10px 10px;width:52px;height:43px;margin-top:4px;box-shadow:0 4px 8px #0003,inset 0 1px #ffffff47}.dicon-art.folder:before{content:"";background:#fff6;border-radius:3px 3px 0 0;width:18px;height:8px;position:absolute;top:0;left:4px}.dicon-art.file{background:#e7e9eb;border:1px solid #aeb3b9;box-shadow:0 4px 8px #0003}.dicon-art.file:before{content:none;pointer-events:none;z-index:0;border:1px dashed #2b7fd829;border-radius:6px;position:absolute;inset:6px}.dicon-art.file.ext-card:before{border-style:dotted;border-color:#b27c2b47;inset:7px 8px}.dicon-art.file.ext-social:before{border-style:solid;border-color:#4e82c533;inset:8px}.dicon-art.file.ext-nature:before{border-color:#4d9a7047}.dicon-art.file.ext-read:before{border:1px solid #a56f5057;border-width:1px 0;border-radius:0;inset:9px 7px}.dicon-art.file.ext-universe:before{border-color:#7560c747}.dicon-art.file img{object-fit:cover;border-radius:9px;width:100%;height:100%;position:absolute;inset:0}.dicon-art.file:after{content:"";background:var(--blue-deep);color:var(--cream);z-index:1;letter-spacing:.02em;border-radius:4px;padding:2px 5px;font-family:Fira Code,monospace;font-size:7px;font-weight:700;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.dicon-art.file.ext-card:after{background:#b9852f}.dicon-art.file.ext-social:after{background:#4e82c5}.dicon-art.file.ext-nature:after{background:#4d9a70}.dicon-art.file.ext-read:after{background:#9d6b50}.dicon-art.file.ext-universe:after{background:#725fc4}.dicon-glyph{width:32px;height:32px;color:var(--blue);z-index:1;position:absolute;inset:9px}.dicon-art.folder .dicon-glyph{color:var(--ink)}.dicon-art.archive-index,.dicon-art.build-log{border:1px solid #e1e5ec99;justify-content:center;align-items:center;display:flex;box-shadow:0 5px 10px #0000003d,inset 0 1px #ffffffb3}.dicon-art.archive-index{background:#dfe5e9;border-radius:12px 12px 10px 10px}.dicon-art.archive-index:before,.dicon-art.archive-index:after{content:"";background:#f8f7f1eb;border:1.5px solid #2436486b;border-radius:4px;width:34px;height:25px;position:absolute;transform:rotate(-8deg)}.dicon-art.archive-index:before{top:15px;left:7px}.dicon-art.archive-index:after{top:11px;left:10px;transform:rotate(5deg)}.dicon-art.archive-index .dicon-glyph{color:#243648;z-index:2}.dicon-art.archive-index:after{box-shadow:inset 0 4px #f4d758e0}.dicon-art.build-log{background:#ebe8df;border-color:#c8bda8;border-radius:8px 12px 10px 10px;box-shadow:0 5px 10px #00000038,inset 0 1px #ffffffbf}.dicon-art.build-log:before{content:"";background:#cf9c3d;border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px;left:11px;box-shadow:0 7px #6e91aa,0 14px #cf9c3d,0 21px #6e91aa}.dicon-art.build-log:after{content:"03";color:#8f6c2d;letter-spacing:.04em;font:700 7px/1 Fira Code,monospace;position:absolute;top:5px;right:6px}.dicon-art.build-log .dicon-glyph{color:#344b5d;width:27px;inset:9px 7px 8px 15px}.dicon-art.file.ext-nature .dicon-glyph{color:#4d9a70}.dicon-art.file.ext-read .dicon-glyph{color:#a56f50}.dicon-art.file.ext-universe .dicon-glyph{color:#7560c7}.dicon-art.file.ext-social .dicon-glyph{color:#4f7fc1}.dicon-art.file.ext-card .dicon-glyph{color:#b27c2b}.dicon-art.app-universe{background:#e7e9eb;border:1px solid #aeb3b9;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 8px #0003}.dicon-art.app-universe img{object-fit:contain;width:88%;height:88%;display:block}.dicon-art.app-nature,.dicon-art.app-readcover,.dicon-art.platform,.dicon-art.profile-card{border:1px solid #fff3;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 8px #0003}.dicon-art.app-nature{background:#e9f2e9}.dicon-art.app-readcover{background:#f5f0e9}.dicon-art.app-nature img,.dicon-art.app-readcover img{object-fit:contain;width:88%;height:88%;display:block}.dicon-art.profile-card{background:#f1ece4;border-color:#c9b99e}.dicon-art.profile-card .dicon-glyph{color:#a66e26}.dicon-art.platform{background:#eef2f6}.dicon-art.platform-zhihu{background:#edf5ff;border-color:#b8d5f3}.dicon-art.platform-zhihu .dicon-glyph{color:#1677ff}.dicon-art.platform-bilibili{background:#fff0f5;border-color:#f1bfd0}.dicon-art.platform-bilibili .dicon-glyph{color:#fb7299}.dicon-art.platform-juejin{background:#eef5ff;border-color:#bdd7fa}.dicon-art.platform-juejin .dicon-glyph{color:#1e80ff}.dicon-art.skill-library{background:#f8f2e5;border-color:#d4b978}.dicon-art.skill-library .dicon-glyph{color:#8c631c}.os-link-dossier{width:min(480px,90vw)}.link-dossier-body{background:radial-gradient(circle at 88% 8%, #f4d75842, transparent 34%), var(--cream);min-height:280px;padding:64px 34px 34px}.link-dossier-kicker{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;font:700 10px/1.4 Fira Code,monospace}.link-dossier-body h2{color:var(--blue-deep);margin:0;font:800 1.7rem/1.25 Noto Serif SC,serif}.link-dossier-summary{max-width:34ch;color:var(--ink-light);margin:16px 0 22px;font-size:14px;line-height:1.75}.link-dossier-action{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.link-dossier-notice{color:var(--ink-faint);margin:15px 0 0;font-size:11px;line-height:1.5}.dicon-art.birthday-icon{background:var(--cream);border:1.5px solid #2b7fd857;box-shadow:0 2px 6px #1e5ba82e}.birthday-icon:before{content:"";background:var(--blue);border-radius:3px 7px 7px 3px;width:28px;height:30px;position:absolute;top:10px;left:10px;transform:rotate(-5deg);box-shadow:inset 5px 0 #ffffff2e}.birthday-icon:after{content:"✦";color:var(--yellow);text-shadow:0 1px 2px #1a1a2e38;font-size:19px;line-height:1;position:absolute;top:1px;right:5px}.birthday-icon-mark{z-index:1;color:var(--cream);font-family:Fraunces,serif;font-size:18px;font-weight:900;line-height:1;position:absolute;top:18px;left:17px}.os-window{background:var(--cream);width:min(520px,88vw);animation:winPop .25s var(--ease-out);z-index:100;border:1px solid #0000001f;border-radius:10px;position:absolute;overflow:hidden;box-shadow:0 18px 50px #0000002e,0 0 0 .5px #0000000f}@keyframes winPop{0%{opacity:0;transform:scale(.92)translateY(8px)}}.os-dragbar{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:10;height:36px;position:absolute;top:0;left:0;right:0}.os-dragbar:active{cursor:grabbing}.os-traffic{z-index:11;gap:7px;display:flex;position:absolute;top:12px;left:12px}.os-traffic span,.os-traffic button{border:0;border-radius:50%;width:12px;height:12px;padding:0;display:block}.os-traffic .tl-close{background:var(--ink-light);cursor:pointer;transition:transform .15s}.os-traffic .tl-close:hover{transform:scale(1.2)}.os-traffic .tl-min{background:var(--yellow)}.os-traffic .tl-max{background:var(--blue)}.os-external{cursor:pointer;z-index:11;opacity:.4;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:12px}.os-external:hover{opacity:.8}.os-external svg{width:14px;height:14px}.os-body{max-height:min(56vh,480px);padding:36px 26px 24px;overflow:auto}.os-body.os-body-iframe{overscroll-behavior:contain;height:calc(100% - 36px);max-height:none;padding:36px 0 0;overflow:hidden}.os-resize{cursor:nwse-resize;z-index:10;touch-action:none;width:16px;height:16px;position:absolute;bottom:0;right:0}.os-resize:after{content:"";border-bottom:2px solid #00000026;border-right:2px solid #00000026;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.os-body.imgview{background:var(--blue);justify-content:center;align-items:center;padding:0;display:flex}.os-body.imgview img{width:100%;height:auto;display:block}@media (width<=768px){.os-window.os-link-dossier{flex-direction:column;height:calc(100svh - 1.5rem);display:flex;position:fixed;width:calc(100vw - 1.5rem)!important;top:.75rem!important;left:.75rem!important}.os-link-dossier .link-dossier-body{flex:1;min-height:0;padding:4rem 1.5rem 1.5rem}.os-link-dossier .os-resize{display:none}}.os-body.win-sayhi{background:var(--cream);padding:32px 28px;position:relative}.os-body.win-sayhi:before{content:"";background:repeating-linear-gradient(90deg, var(--yellow) 0px, var(--yellow) 4px, #f4d75859 4px, #f4d75859 8px);border-radius:1px;width:50px;height:14px;position:absolute;top:-4px;right:30px;transform:rotate(2deg)}.win-sayhi .sayhi-heading{color:var(--ink);font-family:Caveat,cursive;font-size:32px;font-weight:700;line-height:1.1}.win-sayhi .sayhi-sub{color:var(--ink-faint);margin:4px 0 22px;font-family:Fira Code,monospace;font-size:10px}.win-sayhi .services-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px;display:grid}.win-sayhi .service-card{border:1px dashed #2b7fd84d;border-radius:2px;padding:16px 14px;position:relative}.win-sayhi .service-card:first-child{transform:rotate(-.3deg)}.win-sayhi .service-card:last-child{transform:rotate(.4deg)}.win-sayhi .service-icon{margin-bottom:6px;font-size:22px}.win-sayhi .service-title{color:var(--blue-deep);margin-bottom:4px;font-family:Caveat,cursive;font-size:17px}.win-sayhi .service-desc{color:#666;font-size:11px;line-height:1.6}.win-sayhi .sayhi-links{color:var(--ink-faint);gap:16px;font-size:12px;display:flex}.win-sayhi .sayhi-links a{color:var(--blue);text-decoration:none}.win-sayhi .sayhi-links a:hover{text-decoration:underline}.win-sayhi .sayhi-quote{color:var(--ink-faint);margin-top:24px;font-size:11px;font-style:italic;line-height:1.7}.os-body.win-folder{background:var(--cream);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px 10px;padding:20px;display:grid}.folder-index-heading{border-bottom:1px solid #211e1a1a;grid-column:1/-1;justify-content:space-between;align-items:end;gap:16px;padding:4px 4px 8px;display:flex}.folder-index-heading div{gap:4px;display:grid}.folder-index-heading span{color:var(--ink-faint);letter-spacing:.08em;font:10px Fira Code,monospace}.folder-index-heading strong{color:var(--ink);font:700 15px Noto Sans SC,sans-serif}.folder-index-heading a{color:var(--blue);white-space:nowrap;font:11px Noto Sans SC,sans-serif;text-decoration:none}.folder-index-heading a:hover{text-decoration:underline}.design-skills-window{background:var(--cream);max-height:min(60vh,500px);padding:22px 24px 20px}.design-skills-heading{max-width:37rem}.design-skills-index{color:var(--ink-faint);justify-content:space-between;align-items:baseline;margin-bottom:9px;display:flex}.design-skills-index span,.design-skill-meta{letter-spacing:.12em;text-transform:uppercase;font:700 9px/1.4 Fira Code,monospace}.design-skills-index strong{color:#a27f22;font:700 22px/.8 Noto Serif SC,serif}.design-skills-heading h2{max-width:27ch;color:var(--blue-deep);margin:0;font:700 clamp(1.35rem,3vw,1.75rem)/1.34 Noto Serif SC,serif}.design-skill-list{gap:10px;margin-top:18px;display:grid}.design-skill-row{min-height:128px;transition:transform .18s var(--ease-out), box-shadow .18s ease;background:oklch(97.2% .004 90);border:1px solid #211e1a1f;border-radius:8px;grid-template-columns:120px minmax(0,1fr) auto;align-items:start;gap:16px;padding:12px;display:grid}.design-skill-row:hover{transform:translateY(-2px);box-shadow:0 9px 20px #231e1614}.design-skill-poster{border-radius:5px;min-height:102px;position:relative;overflow:hidden}.design-skill-poster span{z-index:1;color:var(--ink);letter-spacing:.06em;font:700 9px/1 Fira Code,monospace;position:absolute;top:7px;left:8px}.design-skill-poster img{object-fit:contain;transform-origin:50%;width:100%;height:100%;display:block;position:absolute;inset:0}.xiaocang-poster{background-color:#f8f8f5;border:1px solid #c4c6c0}.xiaocang-poster img{transform:scale(1.28)translate(-5px,-4px)}.erqi-poster{background-color:#fff9ec;border:1px solid #d5b451}.erqi-poster img{transform:scale(1.06)translate(-2px,1px)}.design-skill-meta{color:var(--ink-faint)}.design-skill-copy h3{color:var(--ink);margin:5px 0 6px;font:700 16px/1.35 Noto Sans SC,sans-serif}.design-skill-copy p{max-width:35ch;color:var(--ink-light);margin:0;font-size:12px;line-height:1.68}.design-skill-row>a{min-height:44px;color:var(--blue-deep);white-space:nowrap;background:#ffffff8c;border:1px solid #2b7fd842;border-radius:999px;align-self:center;align-items:center;gap:4px;padding:0 10px;font:600 11px Noto Sans SC,sans-serif;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.design-skill-row>a:hover,.design-skill-row>a:focus-visible{color:var(--cream);background:var(--blue);outline:none}.design-skills-foot{color:var(--ink-faint);margin:13px 0 0;font-size:10px;line-height:1.6}.product-index-item{min-width:0;min-height:76px;color:inherit;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 24px 8px 8px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex;position:relative}.product-index-item:hover,.product-index-item:focus-visible{background:#2b7fd812;border-color:#2b7fd82e;outline:none;transform:translateY(-1px)}.product-index-item:focus-visible{box-shadow:0 0 0 2px #2b7fd838}.product-index-thumb{background:var(--cream-dark);width:72px;height:48px;color:var(--blue);border:1px solid #211e1a1f;border-radius:5px;flex:0 0 72px;place-items:center;font:700 9px Fira Code,monospace;display:grid;overflow:hidden}.product-index-thumb img{object-fit:cover;width:100%;height:100%;display:block}.product-index-copy{align-content:center;gap:2px;min-width:0;line-height:1.25;display:grid}.product-index-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font:700 12px/1.3 Noto Sans SC,sans-serif;overflow:hidden}.product-index-copy span,.product-index-copy small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.product-index-copy small{color:var(--blue)}.product-index-arrow{color:var(--blue);opacity:0;font-size:13px;transition:opacity .15s,transform .15s;position:absolute;top:10px;right:9px;transform:translate(-2px,2px)}.product-index-item:hover .product-index-arrow,.product-index-item:focus-visible .product-index-arrow{opacity:.9;transform:translate(0)}.folder-icon{cursor:default;color:inherit;font:inherit;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:center;padding:8px 4px;text-decoration:none;transition:background .15s;display:flex}.folder-icon:hover,.folder-icon:focus-visible{cursor:pointer;background:#2b7fd814;outline:none}.folder-icon:focus-visible{box-shadow:0 0 0 2px #2b7fd84d}.folder-icon-art{border-radius:8px;width:40px;height:40px;margin-bottom:6px}.folder-icon-art.file{background:var(--cream);border:1.5px solid #211e1a29;justify-content:center;align-items:center;display:flex;position:relative}.folder-icon-art.file:after{content:attr(data-ext);color:var(--blue);font-family:Fira Code,monospace;font-size:9px;font-weight:600}.folder-icon-art.ext-git{background:#24292e;border-color:#24292e}.folder-icon-art.ext-git:after{content:"git";color:#fff}.folder-icon-label{color:var(--ink);text-align:center;word-break:break-word;max-width:90px;font-size:10px;line-height:1.3}.win-md h1{color:var(--blue-deep);margin-bottom:18px;font-family:Noto Serif SC,serif;font-size:1.25rem;font-weight:900}.win-md h1:before{content:"# ";color:var(--blue);font-family:Fira Code,monospace;font-weight:400}.folder-list{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.folder-row{background:var(--cream);border-radius:10px;align-items:baseline;gap:10px;padding:13px 16px;font-size:14px;font-weight:500;display:flex;box-shadow:0 1px 4px #0000000a}.folder-row .fr-sub{color:var(--ink-faint);font-size:12px;font-weight:400}.folder-row:before{content:"📁";font-size:13px}.win-link{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 20px;font-family:Fira Code,monospace;font-size:12px;transition:opacity .2s}.win-link:hover{opacity:.85}.os-body.tlu-dossier,.os-body.tlu-log{background:var(--cream);padding:28px}.tlu-dossier-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tlu-core-badge,.tlu-runtime,.tlu-log-kicker{letter-spacing:.07em;font-family:Fira Code,monospace;font-size:10px}.tlu-core-badge{color:var(--blue-deep);background:var(--yellow);border-radius:3px;padding:5px 8px;font-weight:700}.tlu-runtime,.tlu-log-kicker{color:var(--ink-faint)}.tlu-dossier h2,.tlu-log h2{color:var(--blue-deep);margin:16px 0 7px;font-family:Noto Serif SC,serif;font-size:1.55rem}.tlu-lead,.tlu-log>p{color:var(--ink-light);font-size:13px;line-height:1.75}.tlu-principles{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.tlu-principles div{border:1px dashed #2b7fd84d;min-height:105px;padding:12px 10px}.tlu-principles b{color:var(--blue);margin-bottom:4px;font-family:Caveat,cursive;font-size:21px;display:block}.tlu-principles span{color:var(--ink-light);font-size:11px;line-height:1.55}.tlu-dossier-foot{align-items:center;gap:14px;display:flex}.tlu-log-link{min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0;font-family:Noto Sans SC,sans-serif;font-size:12px}.tlu-log-list{flex-direction:column;gap:7px;margin:18px 0;display:flex}.tlu-log-list div{border-left:2px solid var(--yellow);background:#2b7fd80f;grid-template-columns:28px 1fr;align-items:baseline;column-gap:8px;padding:9px 10px;display:grid}.tlu-log-list b{color:var(--blue);grid-row:span 2;font-family:Fira Code,monospace;font-size:11px}.tlu-log-list span{color:var(--ink);font-size:12px;font-weight:700}.tlu-log-list small{color:var(--ink-faint);font-size:11px;line-height:1.5}.desktop-surface .scroll-on-hint{color:#ffffff80;z-index:5;pointer-events:none;padding:0;position:absolute;bottom:6px;left:0;right:0}.desktop-menubar{z-index:900;background:var(--night-surface);border-bottom:1px solid var(--night-border);-webkit-backdrop-filter:blur(12px);color:#ffffffeb;align-items:center;gap:18px;height:30px;padding:0 16px;font-family:Noto Sans SC,sans-serif;font-size:12px;display:flex;position:sticky;top:0}.desktop-menubar .mb-logo{color:var(--yellow);font-family:Caveat,cursive;font-size:16px;font-weight:700}.desktop-menubar .mb-item{color:var(--night-muted)}.desktop-menubar .mb-clock{color:var(--night-muted);margin-left:auto;font-family:Fira Code,monospace;font-size:11px}.home-content{max-width:760px;margin:0 auto;padding:0 24px 60px}.home-section{padding:clamp(60px,10vh,110px) 0 0}.section-label{color:var(--blue);letter-spacing:2px;margin-bottom:8px;font-family:Fira Code,monospace;font-size:12px}.section-label:before{content:"$ ";color:var(--red)}.section-heading{margin-bottom:28px;font-family:Noto Serif SC,serif;font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:900;line-height:1.3}.value-list{flex-direction:column;gap:16px;display:flex}.value-item{border-left:6px solid var(--blue);border-radius:0 8px 8px 0;padding:18px 18px 18px 26px;position:relative}.value-item:before{content:"“";color:var(--blue);opacity:.12;font-family:Fraunces,serif;font-size:64px;line-height:1;position:absolute;top:-8px;left:6px}.value-item p{color:var(--ink);font-family:Noto Serif SC,serif;font-size:15px;font-weight:700;line-height:1.7;position:relative}.value-item:nth-child(2){border-left-color:var(--yellow)}.value-item:nth-child(2):before{color:var(--yellow)}.value-item:nth-child(3){border-left-color:var(--red)}.value-item:nth-child(3):before{color:var(--red)}.turning-points{flex-direction:column;display:flex}.tp-item{border-left:2px solid #2b7fd840;padding:0 0 36px 32px;position:relative}.tp-item:last-child{border-left-color:#0000;padding-bottom:0}.tp-item:before{content:"";background:var(--blue);border:3px solid var(--cream);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.tp-title{margin-bottom:6px;font-size:16px;font-weight:700}.tp-desc{color:var(--ink-light);font-size:14px;line-height:1.8}.now-list{flex-direction:column;gap:12px;display:flex}.now-item{background:#fff;border-radius:14px;padding:20px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000a}.now-item .now-num{pointer-events:none;font-family:Fraunces,serif;font-size:4.2rem;font-weight:900;line-height:1;position:absolute;top:-10px;right:-2px}.now-item:first-child .now-num{color:#2b7fd814}.now-item:nth-child(2) .now-num{color:#f4d75826}.now-item:nth-child(3) .now-num{color:#e84a5f14}.now-item .now-text{margin-bottom:3px;font-family:Noto Serif SC,serif;font-size:15px;font-weight:700;position:relative}.now-item .now-sub{color:var(--ink-faint);font-size:12px;position:relative}.todo-note{color:var(--ink-faint);background:var(--cream-dark);border:1px dashed #1a1a2e26;border-radius:8px;margin-top:16px;padding:12px 16px;font-family:Fira Code,monospace;font-size:12px}.todo-note:before{content:"// TODO: ";color:var(--red)}.scroll-on-hint{text-align:center;color:#ffffff80;letter-spacing:2px;padding:80px 0 40px;font-family:Fira Code,monospace;font-size:12px}.scroll-on-hint .down{margin-top:6px;font-size:16px;animation:1.6s infinite bounce;display:block}.exit-section{background:var(--launch-bg);z-index:5;height:400vh;position:relative}.exit-sticky{background:var(--launch-bg);justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.exit-canvas-content{will-change:transform, opacity;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.workflow-screen{text-align:center;width:100%;max-width:1000px;padding:40px 60px}.workflow-headline{color:var(--blue-deep);margin-bottom:16px;font-family:Caveat,cursive;font-size:clamp(48px,7vw,76px);font-weight:700;line-height:1.1}.workflow-subtitle{color:#999;letter-spacing:2px;margin-bottom:56px;font-family:sans-serif;font-size:14px}.workflow-columns{text-align:left;grid-template-columns:1fr 1fr 1fr;gap:48px;display:grid}.workflow-col-title{letter-spacing:3px;color:var(--blue);margin-bottom:12px;font-family:sans-serif;font-size:12px;font-weight:700}.workflow-col-line{background:var(--yellow);border-radius:2px;width:40px;height:3px;margin-bottom:28px}.workflow-item{margin-bottom:24px}.workflow-item-label{color:var(--blue-deep);margin-bottom:4px;font-size:15px;font-weight:600;display:block}.workflow-item-desc{color:#888;font-family:Noto Sans SC,sans-serif;font-size:13px;line-height:1.6;display:block}.exit-macbook-wrapper{will-change:transform, opacity;flex-direction:column;align-items:center;display:flex;position:absolute}.exit-bezel{background:#292d32;border-radius:14px 14px 0 0;width:708px;padding:0 14px 14px;position:relative;box-shadow:inset 0 1px #50585f,0 0 0 1px #363d44,0 24px 70px #0006}.exit-notch{z-index:2;background:#292d32;border-radius:0 0 10px 10px;width:130px;height:14px;margin:0 auto;position:relative}.exit-screen{background:var(--term-bg);border-radius:4px;width:680px;height:440px;position:relative;overflow:hidden}.exit-hinge{background:linear-gradient(#8a8a8e 0%,#6e6e72 100%);border-radius:0 0 2px 2px;width:720px;height:3px}.exit-base{background:linear-gradient(#c8c8cc 0%,#a8a8ac 30%,#b8b8bc 70%,#9a9a9e 100%);border-radius:0 0 10px 10px;width:760px;height:14px}.exit-shadow{background:radial-gradient(#00000040 0%,#0000 70%);width:700px;height:40px;margin-top:4px}.goodbye-screen{opacity:0;flex-direction:column;transition:opacity .3s;display:flex;position:absolute;inset:0;overflow:hidden}.goodbye-screen.visible{opacity:1}.goodbye-titlebar{border-bottom:1px solid var(--term-border);align-items:center;gap:7px;padding:12px 20px 10px;display:flex}.goodbye-title-text{color:var(--term-muted);margin:0 auto;font-family:Fira Code,monospace;font-size:11px}.goodbye-body{flex-direction:column;flex:1;justify-content:center;padding:24px 28px;display:flex}.goodbye-terminal{text-align:left;padding:0 8px;font-family:Fira Code,monospace;font-size:13px;line-height:2}.goodbye-terminal .gt-line{white-space:pre-wrap}.goodbye-terminal .gt-prompt{color:var(--launch-prompt);font-weight:700}.goodbye-terminal .gt-cmd{color:var(--term-text);font-weight:500}.goodbye-terminal .gt-output{color:var(--term-muted);padding-left:16px}.goodbye-terminal .gt-output:before{content:"> ";color:var(--term-muted)}.goodbye-terminal .gt-dim{color:var(--term-muted);padding-left:16px;font-size:12px;font-style:italic}.goodbye-terminal .gt-gold{color:var(--launch-prompt);border-radius:3px;padding:1px 6px;font-size:12px;font-weight:700}.goodbye-terminal a{color:var(--term-accent);text-decoration:none}.goodbye-terminal a:hover{text-decoration:underline}.goodbye-footer{color:var(--term-muted);text-align:center;border-top:1px solid var(--term-border);padding:10px;font-family:Fira Code,monospace;font-size:10px}.goodbye-footer a{color:inherit;text-underline-offset:2px;text-decoration:underline}.goodbye-footer a:hover{color:var(--term-accent)}.back-to-top{text-align:center;padding:32px 0 60px}.back-to-top a{color:var(--launch-muted);letter-spacing:2px;font-family:Fira Code,monospace;font-size:12px;text-decoration:none;transition:color .3s;display:inline-block}.back-to-top a:hover{color:var(--launch-ink)}.back-to-top .back-arrow{margin-bottom:6px;font-size:18px;animation:2s ease-in-out infinite pulseUp;display:block}@keyframes pulseUp{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.works-page{max-width:1100px;margin:0 auto;padding:clamp(70px,12vh,120px) 24px 140px}.works-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:36px;display:grid}.work-dim{background:#fff;border-radius:14px;min-height:220px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.work-dim:hover{box-shadow:0 14px 34px #1a23361a}.work-dim-content{padding:24px 28px 28px}.product-card-cover{text-align:left;cursor:pointer;background:#e8e5de;border:0;border-bottom:1px solid #1a1a2e12;width:100%;min-height:188px;padding:0;display:block;position:relative;overflow:hidden}.product-card-cover .product-cover{height:100%}.product-card-cover>span{color:#fff;letter-spacing:.04em;opacity:0;background:#161b2594;border:1px solid #ffffff61;border-radius:999px;padding:7px 9px;font:10px Fira Code,monospace;transition:opacity .18s,transform .18s;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.product-card-cover:hover>span,.product-card-cover:focus-visible>span{opacity:1;transform:translateY(0)}.product-card-cover:focus-visible{outline-offset:-3px;outline:3px solid #2b7fd880}.product-cover{background:#e8e5de;margin:0;display:block;position:relative;overflow:hidden}.product-cover img{aspect-ratio:3/2;object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.product-card-cover:hover .product-cover img{transform:scale(1.035)}.product-cover figcaption{color:#fffffff0;letter-spacing:.05em;background:linear-gradient(#0000,#0e131ea3);padding:25px 14px 11px;font:600 10px Fira Code,monospace;position:absolute;bottom:0;left:0;right:0}.product-visual{color:#1a1a2e;background:#eaf4ff;border-bottom:1px solid #1a1a2e12;height:176px;position:relative;overflow:hidden}.visual-topbar{color:#73829a;background:#ffffffbd;align-items:center;gap:4px;height:26px;padding:0 10px;font:9px Fira Code,monospace;display:flex}.visual-topbar span{background:#ffb8a8;border-radius:50%;width:5px;height:5px}.visual-topbar span:nth-child(2){background:#f3d06b}.visual-topbar span:nth-child(3){background:#9ddeb4}.visual-topbar i{margin-left:5px;font-style:normal}.visual-art{height:122px;position:relative;overflow:hidden}.visual-caption{color:#ffffffeb;letter-spacing:.04em;font:600 10px Fira Code,monospace;position:absolute;bottom:9px;left:12px}.product-visual-nature{color:#fff;background:linear-gradient(135deg,#1f7669,#78be84 65%,#e5cf83)}.nature-orb{color:#f9db67;background:radial-gradient(circle at 35% 35%,#bfd787,#4f9a68 42%,#1a625a 76%);border-radius:50%;place-items:center;width:102px;height:102px;font-size:43px;display:grid;position:absolute;top:13px;right:26px;box-shadow:inset -12px -12px 18px #0000002e}.nature-leaf{color:#cfe891;font-size:70px;line-height:.6;position:absolute;transform:rotate(-34deg)}.leaf-one{top:18px;left:17px}.leaf-two{bottom:7px;right:5px;transform:rotate(36deg)}.nature-copy{text-shadow:0 1px 8px #00000026;font:700 17px/1.45 Noto Serif SC,serif;position:absolute;top:27px;left:20px}.product-visual-readframe{color:#f8e7c3;background:#242633}.frame-video{background:linear-gradient(130deg,#9b684b,#343c56);border-radius:5px;place-items:center;width:111px;height:71px;font-size:22px;display:grid;position:absolute;top:16px;left:22px}.frame-video span{font:8px Fira Code,monospace;position:absolute;bottom:5px;right:6px}.frame-lines{position:absolute;top:20px;left:150px;right:20px}.frame-lines b{color:#f0bb63;font:10px Fira Code,monospace}.frame-lines i{background:#575d72;border-radius:4px;height:6px;margin-top:8px;display:block}.frame-lines i:nth-child(3){width:74%}.frame-lines i:nth-child(4){width:85%}.product-visual-comments{background:linear-gradient(145deg,#f6f9ff,#d7e5fb)}.comment-filter{color:#7790b5;background:#fff;border:1px solid #b9cced;border-radius:6px;margin:14px 16px 11px;padding:8px 10px;font:10px Fira Code,monospace}.comment-filter b{float:right;color:#367ed8}.comment-row{color:#59657a;align-items:center;gap:7px;margin:7px 18px;font:10px Noto Sans SC,sans-serif;display:flex}.comment-row i{background:#81aadf;border-radius:50%;width:16px;height:16px}.comment-row:nth-child(3) i{background:#e9af86}.product-visual-linkbox{background:linear-gradient(135deg,#f5dcc8,#dba176)}.phone-shell{background:#fff9f2;border:4px solid #292938;border-radius:19px 19px 0 0;width:108px;height:139px;padding:20px 10px 0;font:700 12px Noto Serif SC,serif;position:absolute;top:3px;left:50%;transform:translate(-50%)}.phone-notch{background:#292938;border-radius:8px;width:32px;height:5px;position:absolute;top:5px;left:35px}.saved-link{color:#977259;background:#ffead6;border-radius:7px;margin-top:12px;padding:8px;font:8px Noto Sans SC,sans-serif}.saved-link strong{color:#4f3c32;font-size:10px}.phone-tabs{color:#c2906f;font:8px Noto Sans SC,sans-serif;position:absolute;bottom:10px;left:9px}.product-visual-readcover{background:linear-gradient(135deg,#e4edf5,#b6c8d8)}.cover-doc{color:#65727d;background:#fff;width:154px;height:112px;padding:13px 19px;font:10px Noto Serif SC,serif;position:absolute;top:10px;left:70px;box-shadow:0 8px 20px #3346582e}.doc-ruler{background:repeating-linear-gradient(90deg,#d0d9df 0 1px,#0000 1px 10px);height:4px;margin:-13px -19px 10px}.cover-doc i{background:#d9e0e5;height:4px;margin-top:9px;display:block}.cover-doc i:nth-child(3){width:74%}.cover-doc i:nth-child(4){width:86%}.cover-caret{background:#407bce;width:1px;height:15px;position:absolute;bottom:13px;left:60px}.cover-switch{color:#fff;background:#577a9e;border-radius:10px;padding:5px 7px;font:8px Noto Sans SC,sans-serif;position:absolute;bottom:10px;right:12px}.cover-switch span{color:#cbeb93}.work-dim h3{margin-bottom:4px;font-family:Noto Serif SC,serif;font-size:1.1rem;font-weight:700}.work-dim .dim-num{color:var(--blue);font-family:Fira Code,monospace;font-size:11px}.work-dim .dim-empty{color:var(--ink-faint);text-align:center;border:1px dashed #1a1a2e26;border-radius:8px;margin-top:20px;padding:24px 16px;font-size:13px}.dim-desc{color:var(--ink-light);margin-top:12px;font-size:13px;line-height:1.7}.product-highlights{flex-wrap:wrap;gap:6px;margin:15px 0 0;padding:0;list-style:none;display:flex}.product-highlights li{color:#756f67;background:#f6f1e7;border-radius:999px;padding:4px 7px;font:10px Noto Sans SC,sans-serif}.dim-works-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.dim-work-item{background:var(--cream);color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;text-decoration:none;transition:background .15s;display:flex}.dim-work-item:hover{background:#2b7fd814}.dim-work-icon{font-size:16px}.product-category{color:var(--blue);margin-top:8px;font-family:Fira Code,monospace;font-size:11px}.product-footer{justify-content:space-between;align-items:flex-start;gap:10px;margin-top:18px;display:flex}.product-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.product-seo-link{min-height:38px;color:var(--blue);background:0 0;border:1px solid #2b7fd833;border-radius:7px;align-items:center;padding:7px 10px;font:600 12px Noto Sans SC,sans-serif;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.product-seo-link:hover,.product-seo-link:focus-visible{background:#2b7fd81c;border-color:#2b7fd866;transform:translateY(-1px)}.product-seo-link span{font-family:Fira Code,monospace}.product-detail-trigger{min-height:38px;color:var(--blue);cursor:pointer;background:#f6faff;border:1px solid #2b7fd833;border-radius:7px;padding:7px 10px;font:600 12px Noto Sans SC,sans-serif;transition:background .15s,border-color .15s,transform .15s}.product-detail-trigger:hover{background:#2b7fd81c;border-color:#2b7fd866;transform:translateY(-1px)}.product-detail-trigger span{font-family:Fira Code,monospace}.product-status{color:var(--ink-light);background:var(--cream);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px}.product-access{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.product-link{color:var(--blue);white-space:nowrap;cursor:pointer;background:#2b7fd80d;border:1px solid #2b7fd829;border-radius:7px;margin:0;padding:7px 9px;font-family:inherit;font-size:12px;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.product-link:hover{background:#2b7fd81f;border-color:#2b7fd857;transform:translateY(-1px)}.product-link.muted{color:var(--ink-faint);cursor:default;background:0 0;border:0;padding:0;font-size:12px}.product-link.muted:hover{background:0 0;border:0;transform:none}.product-qr-pending{color:var(--ink-faint);white-space:nowrap;align-self:center;font-size:12px}.product-qr-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1a1a2e6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.product-qr-dialog{text-align:center;background:#fffdf8;border-radius:18px;width:min(100%,330px);padding:28px;position:relative;box-shadow:0 24px 80px #1a1a2e4d}.product-qr-title{color:var(--ink);margin-bottom:16px;font-family:Noto Serif SC,serif;font-size:1.05rem;font-weight:700}.product-qr-dialog img{aspect-ratio:1;object-fit:contain;width:min(100%,250px);margin:0 auto;display:block}.product-qr-dialog p{color:var(--ink-light);margin:14px 0 0;font-size:13px}.product-qr-close{width:36px;height:36px;color:var(--ink-light);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:24px;line-height:1;position:absolute;top:8px;right:10px}.product-qr-close:hover{background:var(--cream);color:var(--ink)}.product-dossier-overlay{z-index:1001;overscroll-behavior:contain;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1b202d85;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.product-dossier{background:#fffdf7;border:1px solid #1a1a2e1a;border-radius:18px;width:min(100%,1080px);max-height:min(860px,100svh - 48px);overflow:hidden;box-shadow:0 32px 110px #10192c5c}.product-dossier-topbar{color:#71809a;letter-spacing:.04em;background:#f5f0e6;border-bottom:1px solid #1a1a2e14;justify-content:space-between;align-items:center;height:44px;padding:0 12px 0 18px;font:11px Fira Code,monospace;display:flex}.product-dossier-close{color:#596172;cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;font:28px/1 sans-serif}.product-dossier-close:hover{color:var(--ink);background:#1a1a2e12}.product-dossier-close:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.product-dossier-scroll{max-height:calc(min(860px,100svh - 48px) - 44px);overflow:auto}.product-dossier-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:390px;display:grid}.product-dossier-main{background:radial-gradient(circle at 13% 10%,#f4d75833,#0000 30%),#fffdf7;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,5vw,58px);display:flex}.product-dossier-index{color:var(--blue);letter-spacing:.08em;margin:0 0 14px;font:11px Fira Code,monospace}.product-dossier h2{color:var(--ink);margin:0;font:700 clamp(1.8rem,3.4vw,3rem)/1.18 Noto Serif SC,serif}.product-dossier-category{color:var(--blue);margin:13px 0 0;font:12px Fira Code,monospace}.product-dossier-description{max-width:37ch;color:var(--ink-light);margin:28px 0;font-size:14px;line-height:1.9}.product-dossier-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.product-dossier-actions .product-access{justify-content:flex-start}.product-inline-qr{background:#f6faff;border:1px solid #2b7fd82b;border-radius:.75rem;align-items:center;gap:.75rem;width:min(100%,19rem);margin:1rem 0 0;padding:.625rem;display:flex}.product-inline-qr img{object-fit:contain;background:#fff;border-radius:.35rem;flex:none;width:5.25rem;height:5.25rem;display:block}.product-inline-qr div{gap:.2rem;min-width:0;display:grid}.product-inline-qr span{color:#71809a;letter-spacing:.06em;font:9px Fira Code,monospace}.product-inline-qr strong{color:var(--ink);font:600 .875rem Noto Sans SC,sans-serif}.product-inline-qr small{color:var(--ink-light);font-size:.75rem;line-height:1.45}.product-dossier-artwork{border-left:1px solid #1a1a2e14;min-height:390px}.product-dossier-artwork img{aspect-ratio:auto;min-height:390px}.product-dossier-artwork figcaption{padding:40px 20px 16px;font-size:11px}.product-dossier-notes{background:#f9f6ef;border-top:1px solid #1a1a2e14;grid-template-columns:.9fr 1.45fr .8fr;display:grid}.product-dossier-notes>div{border-right:1px solid #1a1a2e14;min-height:116px;padding:22px 25px}.product-dossier-notes>div:last-child{border-right:0}.product-dossier-notes span{color:#78839a;letter-spacing:.06em;font:10px Fira Code,monospace}.product-dossier-notes p{color:var(--ink);margin:12px 0 0;font-size:13px;line-height:1.65}.product-dossier-notes ul{flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.product-dossier-notes li{color:#655f58;background:#eee8dd;border-radius:999px;padding:4px 7px;font-size:11px}.product-dossier-proof{background:#f4f1e9;border-top:1px solid #1a1a2e14;padding:30px 36px 38px}.product-dossier-proof-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.product-dossier-proof-heading span{color:#78839a;letter-spacing:.08em;font:10px Fira Code,monospace}.product-dossier-proof-heading p{color:var(--ink-light);margin:0;font-size:12px}.product-dossier-proof-media{background:#202637;border:1px solid #1a1a2e1a;border-radius:10px;max-height:390px;position:relative;overflow:hidden}.product-dossier-proof-media img{object-fit:cover;object-position:top center;width:100%;display:block}.product-dossier-proof-media span{color:#ffffffd9;letter-spacing:.08em;background:#121924a3;border-radius:5px;padding:6px 8px;font:9px Fira Code,monospace;position:absolute;bottom:12px;right:12px}.canvas-page{background:var(--cream);position:fixed;inset:0}.canvas-page iframe{border:none;width:100%;height:100%;display:block}.canvas-hint{color:var(--ink-faint);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;pointer-events:none;background:#fffc;border:1px solid #1a1a2e0f;border-radius:999px;padding:6px 14px;font-family:Fira Code,monospace;font-size:11px;position:fixed;top:60px;left:50%;transform:translate(-50%)}@media (width<=768px){.macbook-screen-bezel,.exit-bezel{border-radius:10px 10px 0 0;width:min(368px,100vw - 32px);padding:0 10px 10px}.macbook-notch,.exit-notch{width:80px;height:10px}.macbook-screen,.exit-screen{border-radius:3px;width:100%;height:260px}.macbook-hinge,.exit-hinge{width:min(378px,100vw - 24px)}.macbook-base,.exit-base{border-radius:0 0 8px 8px;width:min(400px,100vw - 12px);height:10px}.macbook-shadow,.exit-shadow{width:min(360px,100vw - 32px)}.terminal{padding:10px 12px;font-size:10px}.terminal-titlebar{gap:5px;margin-bottom:10px;padding-bottom:8px}.terminal-dot{width:7px;height:7px}.terminal-title{font-size:9px}.term-gold{font-size:11px}.pill-nav{bottom:16px}.pill-nav a{padding:8px 13px;font-size:12px}.pill-nav .pill-num,.canvas-hint{display:none}.goodbye-body{padding:12px}.goodbye-terminal{font-size:10px;line-height:1.6}.goodbye-terminal .gt-dim,.goodbye-terminal .gt-gold{font-size:10px}.goodbye-title-text{font-size:9px}.workflow-screen{padding:30px 20px}.workflow-headline{font-size:36px}.workflow-subtitle{margin-bottom:36px;font-size:11px}.workflow-columns{grid-template-columns:1fr;gap:32px}.works-page{padding-inline:16px}.works-grid{grid-template-columns:1fr;margin-top:24px}.work-dim{min-height:0}.work-dim-content{padding:22px 20px 24px}.product-footer{flex-direction:column;align-items:flex-start}.product-footer-actions,.product-access{justify-content:flex-start}.product-link{box-sizing:border-box;min-height:44px}.product-link.muted{min-height:0}.product-detail-trigger{min-height:44px}.product-dossier-overlay{align-items:start;padding:12px}.product-dossier{border-radius:14px;margin:8px 0}.product-dossier-scroll{max-height:calc(100svh - 84px)}.product-dossier-hero{grid-template-columns:1fr;min-height:0}.product-dossier-main{min-height:0;padding:34px 24px}.product-dossier-description{margin:20px 0 24px}.product-inline-qr{width:100%}.product-dossier-artwork,.product-dossier-artwork img{min-height:245px}.product-dossier-artwork{border-top:1px solid #1a1a2e14;border-left:0}.product-dossier-notes{grid-template-columns:1fr}.product-dossier-notes>div{border-bottom:1px solid #1a1a2e14;border-right:0;min-height:0;padding:18px 24px}.product-dossier-notes>div:last-child{border-bottom:0}.product-dossier-proof{padding:24px 18px 28px}.product-dossier-proof-heading{flex-direction:column;align-items:flex-start;gap:4px}.desktop-character{--character-baseline:max(7vh, calc(4.5rem + env(safe-area-inset-bottom)));transform:none}.desktop-character-person{--character-height:clamp(12rem, 32vh, 15rem);left:.75rem;right:auto}.desktop-character-corgi{--character-height:clamp(7rem, 20vh, 9rem);left:auto;right:.75rem}.character-greeting-trigger{font-size:.68rem;top:46%;left:72%}.dicon{width:76px;min-height:88px}.dicon-art{width:46px;height:46px}.dicon-art.folder{width:48px;height:39px}.dicon-glyph{width:30px;height:30px;inset:8px}.dicon-label{font-size:10px}.os-body.win-folder{grid-template-columns:1fr;gap:6px}.folder-index-heading{flex-direction:column;align-items:flex-start;gap:8px}.design-skills-window{max-height:min(72svh,520px);padding:20px 16px 18px}.design-skills-heading h2{font-size:1.28rem}.design-skill-row{grid-template-columns:86px minmax(0,1fr);gap:11px;min-height:0;padding:10px}.design-skill-poster{min-height:102px}.design-skill-row>a{grid-column:2;justify-self:start}.os-body.tlu-dossier,.os-body.tlu-log{padding:20px}.tlu-principles{grid-template-columns:1fr;gap:6px;margin:14px 0}.tlu-principles div{min-height:0}.tlu-dossier-foot{flex-direction:column;align-items:stretch;gap:4px}.tlu-dossier-foot .win-link,.tlu-log-link{text-align:center;width:100%}.win-sayhi .services-grid{grid-template-columns:1fr}.os-body.win-sayhi{padding:28px 20px}}@media (width<=1100px){.desktop-surface{height:auto;min-height:calc(100svh - 30px);padding:36px 24px 290px}.desktop-intro{position:relative;top:auto;left:auto}.desktop-name{font-size:54px}.desktop-name>span:first-child{margin-left:12px;font-size:32px}.desktop-tagline{font-size:17px}.desktop-icons{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:16px 10px;max-width:440px;display:grid;position:relative;inset:auto}.desktop-icons .dicon{width:100%;min-width:0;min-height:88px;padding:6px 2px;position:relative;inset:auto!important}.desktop-character{--character-baseline:70px}.desktop-character-person{--character-height:190px;left:8%;transform:none}.desktop-character-corgi{--character-height:110px;left:auto;right:10%;transform:none}.character-greeting-trigger{top:46%;left:72%}}@media (width<=768px){.character-greeting-trigger{top:46%;left:72%}}@media (width<=480px){.desktop-menubar{gap:10px;height:44px;padding:0 14px}.desktop-menubar .mb-logo{font-size:20px}.desktop-menubar .mb-item{display:none}.desktop-menubar .mb-clock{font-size:12px}.desktop-surface{min-height:calc(100svh - 44px);padding:22px 16px 174px}.desktop-name{font-size:clamp(2.4rem,12vw,2.8rem)}.desktop-name>span:first-child{margin-left:8px;font-size:.62em}.desktop-eyebrow{margin-bottom:10px;font-size:9px}.desktop-tagline{margin-top:10px;font-size:16px}.desktop-works-link{gap:12px;min-height:44px;margin-top:4px;font-size:14px}.desktop-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px;width:100%;max-width:none}.desktop-icons .dicon{min-height:84px;padding:6px 2px}.dicon-art{width:44px;height:44px}.dicon-art.folder{width:46px;height:38px}.dicon-label{max-width:82px;font-size:11px;line-height:1.3}.desktop-character{--character-baseline:max(4.75rem, calc(3.75rem + env(safe-area-inset-bottom)))}.desktop-character-person{--character-height:8.25rem;left:10%}.desktop-character-corgi{--character-height:5.5rem;right:9%}.character-greeting-trigger{min-height:44px;padding:.5rem .7rem .5rem .8rem;font-size:.72rem;top:28%;left:72%}.character-greeting-label{text-overflow:ellipsis;max-width:7.5rem;overflow:hidden}.pill-nav{bottom:max(12px, env(safe-area-inset-bottom));padding:4px}.pill-nav a{min-height:44px;padding:0 14px;font-size:13px}}@media (prefers-reduced-motion:reduce){.desktop.entered .desktop-intro,.term-line.visible,.cursor,.hero-cta .cta-arrow,.back-to-top .back-arrow{animation:none}.term-line.visible{opacity:1;transform:none}.wp-star,.click-star,.desktop-character img,.story-call-ring,.story-call-ray,.story-paw,.story-spark,.story-heart,.character-greeting-trigger:before{animation:none!important}.os-window{animation:none}}
