@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root{--ink:#352a49;--cream:#fff0d5;--peach:#f9ba91;--pink:#e5a2b7;--plum:#524264;--paper:#faf1e3;--border:#483650;font-family:'DM Sans','Noto Sans SC',sans-serif;color:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#4f3d67;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff0ac;outline-offset:6px}button{color:inherit}a{color:inherit}svg{display:block}button svg{pointer-events:none}::selection{background:#efb58e;color:var(--ink)}.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.wallpaper{position:fixed;inset:0;overflow:hidden;z-index:-1;background:linear-gradient(180deg,#332b51 0%,#695077 33%,#b6718d 54%,#eaa18e 64%,#986e93 76%,#4e4968 100%)}.landscape{width:100%;height:100%;position:absolute;inset:0;image-rendering:pixelated}.sun{position:absolute;width:300px;aspect-ratio:1;left:64%;top:39%;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(#ffdeb0,#f7ae88 60%,#eea18b);box-shadow:0 0 80px 30px #fdbd8d18;animation:sun-breathe 9s ease-in-out infinite}.sun:after{content:'';position:absolute;inset:55% -3px 0;background:repeating-linear-gradient(transparent 0 12px,#b5748e 12px 16px);border-radius:0 0 50% 50%}.grain{position:absolute;inset:0;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");pointer-events:none}.menu-bar{height:56px;border-bottom:1px solid #f8d5be27;background:#27213940;display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand svg{width:20px;height:20px;color:var(--peach)}.brand strong{font-size:17px;font-weight:700;letter-spacing:-.6px}.brand-note{opacity:.65;margin-left:9px;font-size:11px;letter-spacing:1px}.menu-right{display:flex;align-items:center;gap:28px;color:#f8dfc7}.weather{display:flex;align-items:center;gap:8px;font-size:11px}.weather>span{font-size:20px}#clock{font-variant-numeric:tabular-nums;font-size:12px;min-width:42px}
.desktop{position:relative;width:100%;max-width:1700px;margin:auto;min-height:calc(100svh - 56px);padding:1px 0 130px}.desktop-shortcuts{position:absolute;left:34px;top:69px;display:flex;flex-direction:column;gap:24px;z-index:2}.shortcut{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 7px;width:83px;border-radius:6px}.shortcut svg{width:45px;height:45px;filter:drop-shadow(2px 4px 0 #241c3545);transition:transform .18s steps(3)}.shortcut span{font-size:12px;line-height:1.4;text-shadow:0 2px 3px #2b2449;padding:3px 6px;border-radius:3px}.shortcut:hover{background:#fff0d510}.shortcut:hover svg{transform:translateY(-5px)}.shortcut:hover span{background:#46385288}
.intro{position:relative;margin:88px 0 0 16%;width:53%;z-index:1;animation:arrive .8s both}.intro-note{font-size:11px;letter-spacing:1.4px;display:flex;align-items:center;gap:12px;color:#f7d8c3;margin-bottom:23px}.tiny-star{font-size:19px;color:#f6bd8f}h1{font-family:'DM Serif Display',Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(80px,8vw,132px);letter-spacing:-5px;line-height:1.03;margin:0;width:max-content;text-shadow:2px 5px 0 #2e244222}.bring{display:block}.ideas{display:inline-flex;gap:5px;margin:0 0 0 43px;position:relative;z-index:1;transform:rotate(-4deg);padding:2px 0 8px}.ideas span{display:inline-block;background:#efb789;color:#4b3355;font-style:italic;font-size:.86em;padding:0 10px 4px;line-height:1;box-shadow:4px 5px 0 #33213e37}.ideas span:nth-child(2){transform:rotate(7deg) translateY(4px);background:#f8e6c9}.ideas span:nth-child(3){transform:rotate(-3deg) translateY(-3px);background:#c98ba4;color:#ffedce}.ideas span:nth-child(4){transform:rotate(4deg);background:#f0c590}.ideas span:nth-child(5){transform:rotate(-4deg) translateY(3px);background:#e8adbd}.life{display:block;position:relative;margin-top:-5px;margin-left:7px;font-style:italic;letter-spacing:-6px}.period{color:#f3b486}.title-star{position:absolute;width:48px;height:48px;right:-87px;top:18px;transform:rotate(12deg);color:#ffda9d;animation:star-turn 14s ease-in-out infinite}.intro-caption{font-size:13px;line-height:1.95;color:#ffe6d3;margin:27px 0 0 5px;letter-spacing:.7px}.intro-caption strong{font-weight:500}.explore-link{border:0;border-bottom:1px solid #ffe5c658;background:none;padding:7px 1px 9px;margin:20px 0 0 5px;font-size:12px;display:flex;align-items:center;gap:12px}.explore-link:hover{border-color:var(--cream)}.pixel-arrow{font-size:22px;line-height:1}
.profile-card{position:absolute;width:290px;right:8%;top:140px;background:var(--paper);color:var(--ink);border:1px solid var(--border);border-radius:9px;box-shadow:7px 9px 0 #372a4838;transform:rotate(3deg);animation:card-arrive .8s .12s both;z-index:2}.window-bar{height:33px;border-bottom:1px solid #48365030;background:#e7d5cd;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 11px;gap:10px;color:#675160;font-size:10px;font-family:'DM Sans',sans-serif}.window-bar>svg{width:12px;height:12px;opacity:.65}.window-lights{display:flex;gap:5px;flex-shrink:0}.window-lights i{width:7px;height:7px;border-radius:50%;background:#be807b;border:1px solid #a56b6733}.window-lights i:nth-child(2){background:#d9b376}.window-lights i:nth-child(3){background:#96a486}.profile-content{text-align:center;padding:28px 20px 24px}.avatar-frame{position:relative;width:120px;margin:0 auto 12px;transform:rotate(-5deg)}.avatar-frame img{width:120px;height:120px;object-fit:cover;border:5px solid white;border-radius:5px;box-shadow:1px 2px 5px #4a33431c;display:block}.avatar-spark{position:absolute;right:-18px;top:-18px;color:#ba765e;font-size:47px;text-shadow:2px 2px var(--paper)}.profile-content h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:42px;line-height:1.1;letter-spacing:-1.5px;margin:15px 0 6px}.name-dot{color:#b9756a}.profile-content>p{font-size:11px;letter-spacing:1px;margin:0;color:#8c6b76}.profile-button{margin-top:23px;width:100%;border:1px solid #c8b5b2;border-radius:4px;background:transparent;color:#6c5260;font-size:11px;padding:10px;display:flex;align-items:center;justify-content:center;gap:58px;transition:background .2s}.profile-button:hover{background:#eedbd0}.profile-button span{font-size:16px}.profile-footer{border-top:1px solid #48365025;display:flex;justify-content:space-between;align-items:center;font-size:9px;padding:11px 13px;color:#917b7b}.profile-footer>span:first-child{display:flex;align-items:center;gap:6px}.profile-footer i,.status-dot{width:5px;height:5px;border-radius:50%;background:#929b72;display:inline-block}.card-tape{position:absolute;top:-14px;right:41px;width:72px;height:28px;transform:rotate(-12deg);background:#f3d49b68;clip-path:polygon(0 4%,96% 0,100% 91%,4% 100%);backdrop-filter:blur(2px)}.sunset-note{position:absolute;right:10%;top:590px;transform:rotate(-7deg);font-family:'Noto Sans SC',sans-serif;font-size:14px;line-height:1.8;letter-spacing:3px;color:#ffdfb9}.sunset-note span{display:block}.sunset-note>span:nth-child(2){margin-left:24px}.sunset-note svg{width:26px;height:26px;position:absolute;right:-43px;top:14px;transform:rotate(13deg)}.desktop-caption{position:absolute;left:40px;bottom:120px;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.7px;color:#ead9d0b0}.desktop-caption .status-dot{background:#d8bc93}.caption-rule{width:25px;height:1px;background:#e8c9b777;margin:0 4px}
.desktop-footer{position:absolute;bottom:21px;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;padding:0 36px;pointer-events:none}.footer-note,.footer-sign{font-size:10px;letter-spacing:.8px;color:#c5b6c4;line-height:22px}.footer-sign span{margin-left:6px;color:#e2bda2}.dock{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:10px 13px;border:1px solid #e6c8c45c;background:#45364f80;border-radius:15px;box-shadow:0 10px 35px #211b3540,inset 0 1px 0 #fff0d522;backdrop-filter:blur(18px);pointer-events:auto}.dock button{width:45px;height:46px;border:0;background:none;position:relative;padding:2px;transition:transform .2s}.dock button:hover{transform:translateY(-7px)}.dock svg{width:41px;height:41px;filter:drop-shadow(0 3px 1px #21183044)}.dock button>span{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;background:#faf0df;color:#56415b;padding:6px 9px;border-radius:4px;opacity:0;pointer-events:none;box-shadow:0 2px 5px #2c233333}.dock button:hover>span,.dock button:focus-visible>span{opacity:1}.dock-divider{height:30px;width:1px;background:#ddbcc744;margin:0 2px}
.app-window{padding:0;border:1px solid #45304b;border-radius:10px;background:var(--paper);color:var(--ink);width:min(560px,calc(100% - 36px));max-height:calc(100svh - 64px);box-shadow:12px 14px 0 #21183133,0 25px 90px #20162b55;overflow:auto}.app-window[open]{animation:window-open .25s ease-out}.app-window::backdrop{background:#251c3859;backdrop-filter:blur(5px)}.dialog-bar{height:40px;position:sticky;top:0;z-index:2;font-size:11px}.close-window{display:grid;place-items:center;border:1px solid #bca7ac;width:23px;height:23px;border-radius:4px;background:#f4e8de;color:#715365;font:20px/1 sans-serif}.close-window:hover{background:#e9b2b0}.dialog-content{padding:30px}.dialog-bottom{border-top:1px solid #48365026;display:flex;justify-content:space-between;padding:12px 16px;font-size:9px;color:#937c83}.about-heading{display:flex;align-items:center;gap:20px}.about-heading img{width:81px;height:81px;object-fit:cover;border:4px solid white;box-shadow:2px 3px 0 #d9c2bc;transform:rotate(-5deg);border-radius:4px}.small-note{font-size:11px;color:#997a83;margin:0 0 8px}.about-heading h2{font-size:23px;letter-spacing:-.5px;margin:0;font-weight:600}blockquote{margin:30px 0 24px;padding:18px 0;border-top:1px solid #d9c8bd;border-bottom:1px solid #d9c8bd;font:italic 34px/1.2 'DM Serif Display',Georgia,serif;letter-spacing:-1px}blockquote span{display:block;font:12px/1.8 'Noto Sans SC',sans-serif;letter-spacing:1px;margin-top:12px;color:#91717d}.body-copy{font-size:13px;line-height:1.95;color:#7e6775;margin:0 0 24px}.window-actions{display:flex;gap:12px;margin-top:23px}.primary-button,.secondary-button{border:1px solid #c2acac;border-radius:4px;font-size:12px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:11px 16px;background:transparent;color:#735465;text-decoration:none}.primary-button{background:#59415e;border-color:#59415e;color:#fff0db}.primary-button:hover{background:#705174}.secondary-button:hover{background:#eeded1}.project-path{display:flex;align-items:center;gap:10px;font-size:11px;color:#947481;margin-bottom:17px}.project-path svg{width:28px;height:28px}.project-preview{background:#2f293e;border:1px solid #453449;border-radius:6px;overflow:hidden;margin-bottom:23px;box-shadow:4px 4px 0 #d9c5bc}.terminal-title{padding:10px 12px;background:#3e344d;color:#c6aabd;font:10px/1.3 Consolas,monospace;display:flex;gap:18px}.terminal-dots{color:#d19894;font-size:8px;letter-spacing:2px}.terminal-body{padding:18px 20px 28px;position:relative;color:#f3d8ba;min-height:153px;font:12px/1.7 Consolas,monospace}.terminal-body p{margin:0 0 7px}.terminal-prompt{color:#cea7b5}.terminal-dollar{color:#edb98b;margin-right:6px}.terminal-muted{color:#ad8fa8;font:10px/1.6 'Noto Sans SC',sans-serif;padding-top:8px}.code-symbol{position:absolute;right:18px;bottom:20px;font-size:50px;line-height:1;color:#8a65834a;letter-spacing:-8px}.cursor{animation:blink 1.3s steps(1) infinite}.project-description{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-description h2{font-family:'DM Serif Display',Georgia,serif;font-size:35px;font-weight:400;margin:0 0 4px;letter-spacing:-1px}.project-description p{font-size:10px;color:#9a7c85;margin:0}.project-tag{background:#eadacc;border:1px solid #d7c2b5;color:#8e6f72;border-radius:3px;font-size:10px;padding:5px 8px}.pending-line{font-size:11px;color:#91767a;display:flex;align-items:center;gap:8px;margin:0 0 23px;padding:12px;background:#eee2d4;border-radius:4px}.pending-dot{width:6px;height:6px;background:#b68b64;border-radius:50%}.contact-heading{text-align:center;padding:3px 0 25px}.contact-heading>svg{width:56px;height:56px;margin:0 auto 14px;transform:rotate(-7deg)}.contact-heading h2{font-size:29px;font-weight:500;letter-spacing:-1px;margin:0 0 12px}.contact-heading p{font-size:11px;color:#987d86;margin:0;line-height:1.8}.contact-list{border:1px solid #d4beb6;border-radius:5px;padding:0 18px}.contact-row{display:flex;align-items:center;gap:15px;padding:20px 0}.contact-row+.contact-row{border-top:1px solid #deccc0}.contact-github{width:30px;height:30px;color:#5b435e;flex-shrink:0}.contact-row h3{font-size:14px;margin:0 0 4px;font-weight:600}.contact-row p{font-size:10px;color:#9a7e87;margin:0}.pending-badge{margin-left:auto;white-space:nowrap;font-size:10px;padding:5px 8px;background:#e9ddcf;color:#987e7e;border-radius:3px}.qq-icon{display:grid;place-items:center;width:30px;height:30px;font-size:12px;background:#604b65;border-radius:7px;color:#f9ead4;flex-shrink:0}.contact-footnote{font-size:10px;color:#a0868c;margin:21px 0 0;text-align:center}
