:root{--bg:#fffefa;--paper:#fff;--ink:#101010;--muted:#4f4f4f;--line:#101010;--orange:#ff4f1f;--blue:#1f5cff;--yellow:#ffd84d;--green:#1f9d55;--purple:#8b5cf6;--orange-soft:#fff0e8;--blue-soft:#eaf2ff;--yellow-soft:#fff8d8;--green-soft:#eafff1;--purple-soft:#f3eaff;--gray-soft:#f2f2f2}html[data-theme=dark]{--bg:#101010;--paper:#171717;--ink:#fff8ee;--muted:#d8d0c7;--line:#fff8ee;--orange:#ff7a3d;--blue:#7aa7ff;--yellow:#ffe16a;--green:#68d391;--purple:#c4a7ff;--orange-soft:#2b1811;--blue-soft:#121d33;--yellow-soft:#302811;--green-soft:#102719;--purple-soft:#21172f;--gray-soft:#222}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #ff5a1f14, transparent 30%), radial-gradient(circle at bottom right, #1f5cff14, transparent 28%), var(--bg);color:var(--ink);margin:0;font-family:Gaegu,cursive;transition:background .22s,color .22s}html[data-theme=dark] body{background:radial-gradient(circle at top left, #ff7a3d24, transparent 30%), radial-gradient(circle at bottom right, #7aa7ff1f, transparent 28%), var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}::selection{background:var(--yellow);color:#101010}.portfolio-shell{width:min(1040px,100% - 28px);margin:0 auto;padding:22px 0 80px;position:relative}.background-doodles{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.doodle{color:#0000001a;font-size:44px;animation:7s ease-in-out infinite floatDoodle;position:absolute}html[data-theme=dark] .background-doodles .doodle{color:#fff8ee1f}.doodle-one{top:16%;left:5%}.doodle-two{animation-delay:1.2s;top:24%;right:7%}.doodle-three{animation-delay:2.1s;bottom:16%;left:8%}.doodle-four{animation-delay:3s;bottom:18%;right:10%}@keyframes floatDoodle{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-18px)rotate(5deg)}}.site-header{border:2.5px solid var(--line);background:#fff;border-radius:36px;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px;padding:12px 18px;animation:.65s both headerDrop;display:flex;box-shadow:5px 6px #000000eb}html[data-theme=dark] .site-header{background:var(--paper)}.logo-mark{letter-spacing:1px;font-size:31px;font-weight:700}.header-nav{align-items:center;gap:18px;display:flex}.header-nav a{color:var(--muted);font-size:24px;font-weight:700;transition:color .18s,transform .18s}.header-nav a:hover{color:var(--orange);transform:rotate(-2deg)}.header-doodles{align-items:center;gap:10px;font-size:22px;display:flex}.theme-toggle{border:2px solid var(--line);background:var(--paper);width:34px;height:34px;color:var(--ink);cursor:pointer;box-shadow:2px 2px 0 var(--line);border-radius:999px;place-items:center;font-size:22px;line-height:1;transition:transform .18s,box-shadow .18s,background .18s;display:grid}.theme-toggle:hover{box-shadow:0 0 0 var(--line);transform:translate(2px,2px)rotate(-8deg)}.theme-toggle span{transform:translateY(-1px)}@keyframes headerDrop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}.section-block{margin-top:56px}.section-heading p{color:var(--blue);letter-spacing:2px;margin:0;font-family:Schoolbell,cursive;font-size:22px;font-weight:700}.section-heading h2{margin:4px 0 24px;font-size:clamp(42px,5vw,62px);line-height:1}.reveal-up{animation:.7s both revealUp;animation-timeline:view();animation-range:entry cover 25%}@keyframes revealUp{0%{opacity:0;transform:translateY(34px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-card{background:var(--paper);border:2.5px solid var(--line);border-radius:22px;padding:22px;overflow:hidden;box-shadow:7px 8px #000000eb}.hero-grid{grid-template-columns:1fr .9fr;align-items:center;gap:32px;display:grid}.eyebrow{color:var(--orange);letter-spacing:1.5px;margin:0 0 8px;font-family:Schoolbell,cursive;font-size:22px;font-weight:700}.hero-content h1{letter-spacing:0;max-width:520px;margin:0;font-size:clamp(58px,6vw,78px);font-weight:700;line-height:.9}.hero-content h1 span{color:var(--orange);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px}.hero-description{color:#5b5b5b;max-width:520px;margin:20px 0 0;font-size:27px;font-weight:700;line-height:1.02}html[data-theme=dark] .hero-description{color:#d8d0c7}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:26px;display:flex}.hero-actions a{border:2.5px solid var(--line);background:var(--orange);color:#fff;box-shadow:5px 5px 0 var(--line);border-radius:14px;padding:10px 24px;font-size:25px;font-weight:700;transition:transform .18s,box-shadow .18s}.hero-actions a:hover{box-shadow:1px 1px 0 var(--line);transform:translate(3px,3px)}.hero-actions .secondary-btn{color:#101010;background:#fff}html[data-theme=dark] .hero-actions .secondary-btn{color:#101010;background:#fff8ee;border-color:#fff8ee;box-shadow:5px 5px #fff8ee}html[data-theme=dark] .hero-actions .secondary-btn:hover{box-shadow:1px 1px #fff8ee}html[data-theme=dark] .hero-actions a:not(.secondary-btn){border-color:#fff8ee;box-shadow:5px 5px #fff8ee}html[data-theme=dark] .hero-actions a:not(.secondary-btn):hover{box-shadow:1px 1px #fff8ee}.hero-sketch{border:2.5px dashed var(--line);background-color:#fffefa;background-image:linear-gradient(#0000 94%,#00000012 95%),linear-gradient(90deg,#0000 94%,#00000012 95%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:20px;min-height:330px;position:relative}html[data-theme=dark] .hero-sketch{background:linear-gradient(#0000 94%,#fff8ee17 95%),linear-gradient(90deg,#0000 94%,#fff8ee17 95%),#151515}.sun{color:var(--yellow);font-size:48px;animation:10s linear infinite spinSun;position:absolute;top:34px;right:74px}.mountain{filter:drop-shadow(3px 3px 0 var(--line));border-bottom:150px solid #0000;border-left:90px solid #0000;border-right:90px solid #0000;position:absolute}.mountain:after{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);border:3px solid var(--line);background:#f7f7f7;width:160px;height:130px;position:absolute;top:18px;left:-80px}html[data-theme=dark] .mountain:after{background:#222}.mountain-one{bottom:80px;right:70px}.mountain-two{bottom:62px;right:190px;transform:scale(.7)}.laptop{animation:3.4s ease-in-out infinite laptopFloat;position:absolute;bottom:76px;left:62px;transform:rotate(-4deg)}.screen{border:4px solid var(--line);background:#dff1ff;border-radius:12px;place-items:center;width:190px;height:120px;font-size:46px;font-weight:700;display:grid}html[data-theme=dark] .screen{background:#172338}.base{border:4px solid var(--line);background:#fff;border-radius:0 0 18px 18px;width:230px;height:22px;margin-left:-20px}html[data-theme=dark] .base{background:#101010}.rocket{font-size:54px;animation:2.8s ease-in-out infinite rocketFloat;position:absolute;bottom:170px;left:235px;transform:rotate(20deg)}@keyframes spinSun{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rocketFloat{0%,to{transform:translateY(0)rotate(20deg)}50%{transform:translateY(-12px)rotate(26deg)}}@keyframes laptopFloat{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-8px)rotate(-2deg)}}.stats-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px;display:grid}.stats-row div{border:2.5px solid var(--line);text-align:center;background:#fff;border-radius:20px;padding:18px 16px;box-shadow:5px 6px #000000e6}html[data-theme=dark] .stats-row div{background:var(--paper)}.stats-row strong{font-size:40px;font-weight:700;line-height:1;display:block}.stats-row span{color:var(--muted);margin-top:6px;font-size:22px;font-weight:700;display:block}.builder-story{position:relative}.story-card{border:2.5px solid var(--line);background:#fff;border-radius:28px;grid-template-columns:1fr .95fr;align-items:center;gap:28px;padding:28px;display:grid;overflow:hidden;box-shadow:5px 6px #000000e6}html[data-theme=dark] .story-card{background:var(--paper)}.story-kicker{color:var(--green);letter-spacing:2px;margin:0 0 8px;font-size:24px;font-weight:700}.story-copy h2{margin:0;font-size:clamp(46px,6vw,76px);line-height:.95}.story-copy p:not(.story-kicker){max-width:650px;color:var(--muted);margin:18px 0 0;font-size:28px;font-weight:700;line-height:1.08}.story-notes{border:2.5px dashed var(--line);background-color:#fffef8;background-image:linear-gradient(#0000 95%,#00000012 96%),linear-gradient(90deg,#0000 95%,#00000012 96%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:24px;min-height:380px;position:relative}html[data-theme=dark] .story-notes{background:linear-gradient(#0000 94%,#fff8ee17 95%),linear-gradient(90deg,#0000 94%,#fff8ee17 95%),#151515}.note-card{border:2.5px solid var(--line);width:190px;min-height:150px;box-shadow:5px 5px 0 var(--line);background:#fff;border-radius:22px;padding:16px;position:absolute}.note-card span{border:2px solid var(--line);background:var(--yellow-soft);border-radius:999px;place-items:center;width:38px;height:38px;font-size:22px;font-weight:700;display:inline-grid}.note-card strong{margin-top:10px;font-size:34px;font-weight:700;line-height:1;display:block}.note-card p{color:var(--muted);margin:6px 0 0;font-size:22px;font-weight:700;line-height:1}.note-one{background:var(--blue-soft);top:34px;left:34px;transform:rotate(-5deg)}.note-two{background:var(--orange-soft);top:108px;right:36px;transform:rotate(4deg)}.note-three{background:var(--green-soft);bottom:34px;left:92px;transform:rotate(-2deg)}html[data-theme=dark] .note-card span{color:var(--ink);background:#101010}.timeline-section{position:relative}.timeline-board{border:2.5px dashed var(--line);background:linear-gradient(transparent 94%, #0000000f 95%), linear-gradient(90deg, transparent 94%, #0000000f 95%), var(--paper);background-size:26px 26px;border-radius:28px;gap:22px;padding:28px;display:grid;position:relative;overflow:hidden}html[data-theme=dark] .timeline-board{background:linear-gradient(transparent 94%, #fff8ee14 95%), linear-gradient(90deg, transparent 94%, #fff8ee14 95%), var(--paper)}.timeline-line{background:repeating-linear-gradient(to bottom, var(--line) 0 12px, transparent 12px 22px);opacity:.85;border-radius:999px;width:4px;position:absolute;top:40px;bottom:40px;left:72px}.timeline-card{border:2.5px solid var(--line);transform:rotate(var(--timeline-tilt));background:#fff;border-radius:24px;grid-template-columns:110px 1fr;align-items:start;gap:20px;padding:20px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:5px 6px #000000e6}.timeline-card:hover{box-shadow:2px 2px 0 var(--line);transform:translate(4px,4px)rotate(0)}.timeline-card.orange{background:var(--orange-soft)}.timeline-card.blue{background:var(--blue-soft)}.timeline-card.yellow{background:var(--yellow-soft)}.timeline-card.green{background:var(--green-soft)}.timeline-card.purple{background:var(--purple-soft)}.timeline-year{z-index:1;justify-items:center;gap:10px;display:grid;position:relative}.timeline-year span{border:2.5px solid var(--line);background:var(--paper);width:84px;height:54px;box-shadow:3px 3px 0 var(--line);border-radius:18px;place-items:center;font-size:28px;font-weight:700;line-height:1;display:grid}.timeline-year strong{border:2.5px solid var(--line);background:var(--yellow-soft);width:58px;height:58px;box-shadow:3px 3px 0 var(--line);border-radius:999px;place-items:center;font-size:28px;line-height:1;display:grid}.timeline-content p{border:2px solid var(--line);background:var(--paper);width:fit-content;color:var(--muted);border-radius:999px;margin:0;padding:4px 12px;font-size:21px;font-weight:700;line-height:1}.timeline-content h3{margin:14px 0 8px;font-size:clamp(34px,5vw,52px);line-height:.95}.timeline-content span{max-width:820px;color:var(--muted);font-size:25px;font-weight:700;line-height:1.04;display:block}html[data-theme=dark] .timeline-content p,html[data-theme=dark] .timeline-year span,html[data-theme=dark] .timeline-year strong{color:var(--ink);background:#101010}html[data-theme=dark] .timeline-content span,html[data-theme=dark] .timeline-content p{color:#d8d0c7}.project-filter-row{flex-wrap:wrap;gap:12px;margin:-4px 0 24px;display:flex}.project-filter-btn{border:2.5px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--line);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:22px;font-weight:700;line-height:1;transition:transform .18s,box-shadow .18s,background .18s,color .18s}.project-filter-btn:hover{box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)rotate(-1deg)}.project-filter-btn.active{background:var(--orange);color:#fff}html[data-theme=dark] .project-filter-btn.active{border-color:#fff8ee;box-shadow:3px 3px #fff8ee}.project-wall{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{border:2.5px solid var(--line);background:#fff;border-radius:24px;min-height:230px;padding:22px;transition:transform .18s,box-shadow .18s;box-shadow:5px 6px #000000e6}.project-card:hover{box-shadow:2px 2px 0 var(--line);transform:translate(4px,4px)rotate(-1deg)}.project-card.orange{background:var(--orange-soft)}.project-card.blue{background:var(--blue-soft)}.project-card.yellow{background:var(--yellow-soft)}.project-card.green{background:var(--green-soft)}.project-card.purple{background:var(--purple-soft)}.project-tag{border:2px solid var(--line);background:#fff;border-radius:999px;margin:0;padding:4px 12px;font-size:20px;font-weight:700;display:inline-block}html[data-theme=dark] .project-tag{color:var(--ink);background:#101010}.project-card h3{margin:18px 0 8px;font-size:42px;font-weight:700;line-height:1}.project-card p:last-child{color:var(--muted);margin:0;font-size:24px;font-weight:700;line-height:1.05}.featured-section{position:relative}.featured-list{gap:22px;display:grid}.featured-card{border:2.5px solid var(--line);background:#fff;border-radius:28px;grid-template-columns:110px 1fr;gap:22px;padding:24px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:5px 6px #000000e6}.featured-card:hover{box-shadow:3px 3px 0 var(--line);transform:translate(4px,4px)}.featured-card.orange{background:var(--orange-soft)}.featured-card.blue{background:var(--blue-soft)}.featured-card.yellow{background:var(--yellow-soft)}.featured-card.green{background:var(--green-soft)}.featured-card.purple{background:var(--purple-soft)}.featured-number{border:3px solid var(--line);width:92px;height:92px;box-shadow:4px 4px 0 var(--line);background:#fff;border-radius:24px;place-items:center;font-size:42px;font-weight:700;display:grid}.featured-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.featured-topline span,.featured-topline strong{border:2px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:5px 14px;font-size:21px;font-weight:700;line-height:1;display:inline-flex}.featured-topline strong{background:var(--ink);color:var(--paper)}.featured-card h3{margin:18px 0 8px;font-size:clamp(42px,6vw,68px);line-height:.95}.featured-summary{max-width:880px;color:var(--muted);margin:0;font-size:27px;font-weight:700;line-height:1.08}.featured-stack{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.featured-stack span{border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:20px;font-weight:700;line-height:1}.featured-highlights{color:var(--muted);gap:6px;margin:20px 0 0;padding-left:24px;font-size:24px;font-weight:700;line-height:1.05;display:grid}.featured-highlights li::marker{color:var(--ink)}.featured-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.featured-link{border:2.5px solid var(--line);width:fit-content;box-shadow:4px 4px 0 var(--line);background:#fff;border-radius:16px;padding:10px 18px;font-size:24px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.featured-link:hover{box-shadow:1px 1px 0 var(--line);transform:translate(3px,3px)}.featured-link.live{background:var(--orange);color:#fff}.featured-link.github{color:#101010;background:#fff}.featured-link.demo{background:var(--yellow);color:#101010}.featured-link.disabled{opacity:.45;pointer-events:none}html[data-theme=dark] .featured-number,html[data-theme=dark] .featured-topline span,html[data-theme=dark] .featured-stack span,html[data-theme=dark] .featured-link{color:var(--ink);background:#101010}html[data-theme=dark] .featured-topline strong{background:var(--ink);color:#101010}html[data-theme=dark] .featured-link.live{background:var(--orange);color:#fff}html[data-theme=dark] .featured-link.demo{background:var(--yellow);color:#101010}.featured-main{grid-template-columns:1fr 260px;align-items:start;gap:22px;display:grid}.project-preview{border:2.5px dashed var(--line);background:linear-gradient(transparent 94%, #0000000f 95%), linear-gradient(90deg, transparent 94%, #0000000f 95%), var(--paper);background-size:22px 22px;border-radius:24px;min-height:210px;padding:16px;position:relative;overflow:hidden;transform:rotate(1.5deg)}.project-preview:before{content:"";pointer-events:none;border:2px solid #1010101f;border-radius:18px;position:absolute;inset:12px}.preview-spark{color:var(--orange);font-size:24px;font-weight:700;position:absolute}.preview-spark-one{top:18px;right:18px}.preview-spark-two{bottom:16px;left:18px}.preview-window-top{gap:7px;margin-bottom:18px;display:flex}.preview-window-top span{border:2px solid var(--line);background:var(--orange);border-radius:999px;width:13px;height:13px}.preview-window-top span:nth-child(2){background:var(--yellow)}.preview-window-top span:nth-child(3){background:var(--green)}.preview-terminal-lines{border:2.5px solid var(--line);color:#fff8ee;background:#101010;border-radius:16px;gap:8px;padding:14px;display:grid;transform:rotate(-2deg)}.preview-terminal-lines p{margin:0;font-size:20px;font-weight:700;line-height:1}.preview-phone{border:3px solid var(--line);background:var(--paper);width:120px;height:170px;box-shadow:4px 4px 0 var(--line);border-radius:24px;place-items:center;display:grid;position:absolute;top:18px;left:58px}.preview-phone-notch{background:var(--line);border-radius:999px;width:38px;height:8px;position:absolute;top:8px}.preview-scan-box{border:3px dashed var(--orange);border-radius:14px;width:70px;height:70px;position:relative}.preview-scan-box span:first-child,.preview-scan-box span:last-child{background:var(--green);height:3px;position:absolute;left:12px;right:12px}.preview-scan-box span:first-child{top:20px}.preview-scan-box span:last-child{bottom:20px}.preview-phone p{color:var(--green);margin:0;font-size:23px;font-weight:700;position:absolute;bottom:12px}.preview-barcode{align-items:end;gap:4px;height:54px;display:flex;position:absolute;bottom:26px;right:24px}.preview-barcode span{background:var(--line);border-radius:999px;width:6px}.preview-barcode span:first-child{height:42px}.preview-barcode span:nth-child(2){height:28px}.preview-barcode span:nth-child(3){height:52px}.preview-barcode span:nth-child(4){height:34px}.preview-barcode span:nth-child(5){height:48px}.preview-newspaper{border:3px solid var(--line);background:var(--paper);width:170px;min-height:150px;box-shadow:4px 4px 0 var(--line);border-radius:18px;padding:14px;transform:rotate(-3deg)}.preview-news-title{border:2px solid var(--line);background:var(--yellow);border-radius:999px;height:20px;margin-bottom:12px}.preview-news-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.preview-news-grid span{border:2px solid var(--line);background:var(--blue-soft);border-radius:10px;height:34px}.preview-news-lines{gap:6px;margin-top:12px;display:grid}.preview-news-lines i{background:var(--line);opacity:.45;border-radius:999px;height:7px}.preview-bot-face{border:3px solid var(--line);background:var(--green-soft);width:70px;height:58px;box-shadow:4px 4px 0 var(--line);border-radius:18px;place-items:center;display:grid;position:absolute;bottom:30px;right:28px}.preview-bot-face span{font-size:25px;font-weight:700}.preview-episode-card{border:3px solid var(--line);background:var(--paper);width:180px;min-height:118px;box-shadow:4px 4px 0 var(--line);border-radius:20px;padding:14px;position:absolute;top:34px;left:28px;transform:rotate(-2deg)}.preview-play{border:3px solid var(--line);background:var(--orange);color:#fff;border-radius:16px;place-items:center;width:58px;height:48px;font-size:24px;display:grid}.preview-episode-lines{gap:7px;margin-top:14px;display:grid}.preview-episode-lines span{background:var(--line);opacity:.45;border-radius:999px;height:8px}.preview-note-bubble{border:3px solid var(--line);background:var(--yellow);color:#101010;box-shadow:3px 3px 0 var(--line);border-radius:999px;padding:8px 14px;font-size:24px;font-weight:700;position:absolute;bottom:28px;right:22px;transform:rotate(6deg)}.preview-video-player{border:3px solid var(--line);color:#fff8ee;width:200px;height:120px;box-shadow:4px 4px 0 var(--line);background:#101010;border-radius:20px;place-items:center;display:grid;position:absolute;top:32px;left:24px}.preview-play-large{font-size:36px}.preview-video-progress{background:#fff8ee59;border-radius:999px;height:8px;position:absolute;bottom:15px;left:18px;right:18px}.preview-video-progress span{border-radius:inherit;background:var(--orange);width:45%;height:100%;display:block}.preview-episode-tabs{gap:8px;display:flex;position:absolute;bottom:24px;left:44px}.preview-episode-tabs span{border:2px solid var(--line);background:var(--paper);border-radius:999px;padding:4px 9px;font-size:18px;font-weight:700}.preview-book{border:3px solid var(--line);background:var(--paper);width:190px;height:122px;box-shadow:4px 4px 0 var(--line);border-radius:18px;grid-template-columns:1fr 1fr;display:grid;position:absolute;top:36px;left:34px;overflow:hidden;transform:rotate(-3deg)}.preview-book-left,.preview-book-right{gap:8px;padding:16px;display:grid}.preview-book-left{border-right:3px solid var(--line)}.preview-book-left span,.preview-book-right span{background:var(--line);opacity:.45;border-radius:999px;height:8px}.preview-book-label{border:3px solid var(--line);background:var(--purple-soft);box-shadow:3px 3px 0 var(--line);border-radius:999px;padding:7px 15px;font-size:24px;font-weight:700;position:absolute;bottom:26px;right:28px}.preview-catalog-grid{grid-template-columns:1fr 1fr;gap:10px;width:138px;display:grid;position:absolute;top:28px;left:26px}.preview-catalog-grid span{border:3px solid var(--line);background:linear-gradient(135deg, transparent 0 45%, #1010102e 45% 55%, transparent 55%), var(--paper);height:58px;box-shadow:3px 3px 0 var(--line);border-radius:14px}.preview-catalog-card{border:3px solid var(--line);background:var(--yellow-soft);width:100px;box-shadow:4px 4px 0 var(--line);border-radius:18px;padding:10px;position:absolute;bottom:28px;right:22px;transform:rotate(5deg)}.preview-catalog-card strong{font-size:26px;line-height:1;display:block}.preview-catalog-card p{margin:5px 0 0;font-size:21px;font-weight:700}html[data-theme=dark] .project-preview{background:linear-gradient(transparent 94%, #fff8ee14 95%), linear-gradient(90deg, transparent 94%, #fff8ee14 95%), var(--paper)}html[data-theme=dark] .project-preview:before{border-color:#fff8ee29}html[data-theme=dark] .preview-phone,html[data-theme=dark] .preview-newspaper,html[data-theme=dark] .preview-episode-card,html[data-theme=dark] .preview-book,html[data-theme=dark] .preview-episode-tabs span,html[data-theme=dark] .preview-catalog-grid span{color:var(--ink);background:#101010}html[data-theme=dark] .preview-news-lines i,html[data-theme=dark] .preview-episode-lines span,html[data-theme=dark] .preview-book-left span,html[data-theme=dark] .preview-book-right span,html[data-theme=dark] .preview-barcode span{background:var(--ink)}.case-section{position:relative}.case-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.case-card{border:2.5px solid var(--line);background:var(--paper);transform:rotate(var(--case-tilt));border-radius:28px;padding:22px;transition:transform .18s,box-shadow .18s;position:relative;box-shadow:5px 6px #000000e6}.case-card:hover{box-shadow:2px 2px 0 var(--line);transform:translate(4px,4px)rotate(0)}.case-card.orange{background:var(--orange-soft)}.case-card.blue{background:var(--blue-soft)}.case-card.yellow{background:var(--yellow-soft)}.case-card.green{background:var(--green-soft)}.case-card.purple{background:var(--purple-soft)}.case-pin{border:2.5px solid var(--line);background:var(--yellow);color:#101010;width:42px;height:42px;box-shadow:3px 3px 0 var(--line);border-radius:999px;place-items:center;font-size:24px;display:grid;position:absolute;top:-18px;right:18px}.case-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.case-top span,.case-top strong{border:2px solid var(--line);background:var(--paper);border-radius:999px;align-items:center;padding:5px 12px;font-size:20px;font-weight:700;line-height:1;display:inline-flex}.case-top strong{background:var(--ink);color:var(--paper)}.case-card h3{margin:18px 0 16px;font-size:clamp(38px,5vw,54px);line-height:.95}.case-block{border-top:2px dashed #11111159;margin-top:12px;padding-top:12px}.case-block p{color:var(--muted);margin:0;font-size:23px;font-weight:700;line-height:1.04}.case-block .case-title{border:2px solid var(--line);background:var(--paper);width:fit-content;color:var(--ink);border-radius:999px;margin-bottom:6px;padding:4px 10px;font-size:20px;line-height:1}.case-stack{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.case-stack span{border:2px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:19px;font-weight:700;line-height:1}.case-link{border:2.5px solid var(--line);background:var(--orange);color:#fff;width:fit-content;box-shadow:4px 4px 0 var(--line);border-radius:16px;margin-top:20px;padding:10px 18px;font-size:23px;font-weight:700;line-height:1;transition:transform .18s,box-shadow .18s;display:inline-flex}.case-link:hover{box-shadow:1px 1px 0 var(--line);transform:translate(3px,3px)}html[data-theme=dark] .case-block{border-top-color:#fff8ee47}html[data-theme=dark] .case-block p{color:#d8d0c7}html[data-theme=dark] .case-block .case-title,html[data-theme=dark] .case-stack span,html[data-theme=dark] .case-top span{color:var(--ink);background:#101010}html[data-theme=dark] .case-top strong{background:var(--ink);color:#101010}html[data-theme=dark] .case-link{border-color:#fff8ee;box-shadow:4px 4px #fff8ee}html[data-theme=dark] .case-link:hover{box-shadow:1px 1px #fff8ee}.command-section{position:relative}.command-help{max-width:720px;color:var(--muted);margin:-12px 0 22px;font-size:25px;font-weight:700;line-height:1.05}.command-card{border:2.5px solid var(--line);background:var(--paper);border-radius:30px;grid-template-columns:280px 1fr;gap:22px;padding:24px;display:grid;box-shadow:5px 6px #000000e6}.command-card.orange{background:var(--orange-soft)}.command-card.blue{background:var(--blue-soft)}.command-card.green{background:var(--green-soft)}.command-card.purple{background:var(--purple-soft)}.command-sidebar{border:2.5px dashed var(--line);background:linear-gradient(transparent 94%, #0000000f 95%), linear-gradient(90deg, transparent 94%, #0000000f 95%), var(--paper);background-size:24px 24px;border-radius:24px;padding:18px}.command-sidebar-title{border-bottom:2px dashed #11111159;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.command-sidebar-title span{font-size:24px;font-weight:700;line-height:1}.command-sidebar-title strong{border:2px solid var(--line);background:var(--green-soft);color:var(--ink);border-radius:999px;align-items:center;padding:4px 10px;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.command-list{gap:12px;display:grid}.command-button{border:2.5px solid var(--line);background:var(--paper);width:100%;color:var(--ink);box-shadow:3px 3px 0 var(--line);cursor:pointer;text-align:left;border-radius:16px;padding:12px 14px;font-size:24px;font-weight:700;line-height:1;transition:transform .18s,box-shadow .18s,background .18s,color .18s}.command-button:hover{box-shadow:1px 1px 0 var(--line);transform:translate(2px,2px)rotate(-1deg)}.command-button.active{background:var(--ink);color:var(--paper)}.terminal-window{border:2.5px solid var(--line);color:#fff8ee;box-shadow:4px 4px 0 var(--line);background:#101010;border-radius:24px;overflow:hidden}.terminal-top{border-bottom:2.5px solid #fff8ee;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.terminal-top p{color:#fff8eec2;margin:0;font-size:21px;font-weight:700}.terminal-dots{align-items:center;gap:8px;display:flex}.terminal-dots span{background:var(--orange);border:2px solid #fff8ee;border-radius:999px;width:14px;height:14px}.terminal-dots span:nth-child(2){background:var(--yellow)}.terminal-dots span:nth-child(3){background:var(--green)}.terminal-body{min-height:330px;padding:22px}.terminal-command{color:var(--yellow);margin:0;font-size:26px;font-weight:700;line-height:1}.terminal-command span{color:var(--green)}.terminal-body h3{color:#fff8ee;margin:18px 0 16px;font-size:clamp(38px,5vw,58px);line-height:.95}.terminal-output{gap:10px;display:grid}.terminal-output p{color:#fff8eed1;margin:0;font-size:24px;font-weight:700;line-height:1.04}.terminal-output span{color:var(--orange)}.terminal-action{background:var(--orange);color:#fff;border:2.5px solid #fff8ee;border-radius:16px;width:fit-content;margin-top:24px;padding:10px 18px;font-size:24px;font-weight:700;line-height:1;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:4px 4px #fff8ee}.terminal-action:hover{transform:translate(3px,3px);box-shadow:1px 1px #fff8ee}html[data-theme=dark] .command-help{color:#d8d0c7}html[data-theme=dark] .command-sidebar{background:linear-gradient(transparent 94%, #fff8ee14 95%), linear-gradient(90deg, transparent 94%, #fff8ee14 95%), var(--paper)}html[data-theme=dark] .command-sidebar-title{border-bottom-color:#fff8ee47}html[data-theme=dark] .command-sidebar-title strong,html[data-theme=dark] .command-button{color:var(--ink);background:#101010}html[data-theme=dark] .command-button.active{background:var(--ink);color:#101010}html[data-theme=dark] .terminal-window{border-color:#fff8ee}.skills-section{position:relative}.skills-map{flex-wrap:wrap;align-items:stretch;gap:18px;display:flex}.skill-bubble{border:2.5px solid var(--line);min-height:128px;transform:rotate(var(--tilt));background:#fff;border-radius:26px;flex:220px;align-items:center;gap:16px;padding:18px;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:5px 6px #000000e6}.skill-bubble:hover{box-shadow:2px 2px 0 var(--line);transform:translate(4px,4px)rotate(0)}.skill-icon{border:3px solid var(--line);background:#fff;border-radius:18px;flex:0 0 62px;place-items:center;width:62px;height:62px;font-size:34px;font-weight:700;display:grid}.skill-bubble h3{margin:0;font-size:34px;font-weight:700;line-height:1}.skill-bubble p{color:var(--muted);margin:6px 0 0;font-size:22px;font-weight:700;line-height:1}.skill-bubble.orange{background:var(--orange-soft)}.skill-bubble.blue{background:var(--blue-soft)}.skill-bubble.yellow{background:var(--yellow-soft)}.skill-bubble.green{background:var(--green-soft)}.skill-bubble.purple{background:var(--purple-soft)}.skill-bubble.dark{background:var(--gray-soft)}html[data-theme=dark] .skill-icon{color:var(--ink);background:#101010}.contact-section{padding-bottom:20px}.contact-card{color:#fff;border:2.5px solid var(--line);box-shadow:7px 7px 0 var(--orange);background:#111;border-radius:30px;grid-template-columns:1fr .9fr;align-items:center;gap:28px;padding:30px;display:grid;overflow:hidden}.contact-kicker{color:var(--yellow);letter-spacing:2px;margin:0 0 8px;font-size:24px;font-weight:700}.contact-copy h2{margin:0;font-size:clamp(48px,7vw,86px);line-height:.95}.contact-copy p:not(.contact-kicker){color:#ffffffc2;max-width:650px;margin:18px 0 0;font-size:28px;font-weight:700;line-height:1.08}.contact-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.contact-actions a{background:var(--orange);color:#fff;border:3px solid #fff;border-radius:16px;padding:11px 22px;font-size:25px;font-weight:700;transition:transform .18s,box-shadow .18s;box-shadow:4px 4px #fff}.contact-actions a:hover{transform:translate(3px,3px);box-shadow:1px 1px #fff}.contact-board{background-color:#ffffff0a;background-image:linear-gradient(#0000 95%,#ffffff14 96%),linear-gradient(90deg,#0000 95%,#ffffff14 96%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:3px dashed #fff;border-radius:26px;gap:14px;padding:20px;display:grid;position:relative}.contact-link-card{color:#101010;box-shadow:4px 4px 0 var(--orange);background:#fff;border:3px solid #fff;border-radius:22px;align-items:center;gap:14px;padding:14px;transition:transform .18s,box-shadow .18s;display:flex;transform:rotate(-1deg)}.contact-link-card:nth-child(2n){transform:rotate(1deg)}.contact-link-card:hover{box-shadow:1px 1px 0 var(--orange);transform:translate(3px,3px)rotate(0)}.contact-icon{background:var(--yellow-soft);border:3px solid #101010;border-radius:16px;flex:0 0 54px;place-items:center;width:54px;height:54px;font-size:30px;font-weight:700;display:grid}.contact-link-card strong{font-size:30px;font-weight:700;line-height:1;display:block}.contact-link-card small{color:#5d5d5d;margin-top:4px;font-size:21px;display:block}.contact-doodle{text-align:center;color:var(--yellow);margin-top:8px;font-size:30px;transform:rotate(-2deg)}.footer-note{color:var(--muted);justify-content:space-between;gap:12px;margin-top:28px;font-size:22px;font-weight:700;display:flex}html[data-theme=dark] .contact-card{color:#101010;box-shadow:7px 7px 0 var(--orange);background:#fff8ee}html[data-theme=dark] .contact-board{background:linear-gradient(#0000 95%,#10101014 96%),linear-gradient(90deg,#0000 95%,#10101014 96%),#1010100a;border-color:#101010}html[data-theme=dark] .contact-actions a{border-color:#101010;box-shadow:4px 4px #101010}.stats-row div,.project-card,.featured-card,.skill-bubble,.contact-link-card,.note-card,.timeline-card,.case-card,.command-card{animation:.65s both softPop}@keyframes softPop{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.hero-grid,.story-card,.project-wall,.contact-card,.command-card{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.featured-main{grid-template-columns:1fr}.project-preview{max-width:340px}.hero-sketch{min-height:320px}.story-notes{min-height:500px}.case-grid{grid-template-columns:1fr}}@media (width<=700px){.site-header{border-radius:24px;flex-direction:column;align-items:flex-start}.header-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%}.header-doodles{display:flex}.featured-card{grid-template-columns:1fr}.featured-number{border-radius:20px;width:76px;height:76px;font-size:34px}.featured-summary{font-size:24px}.featured-highlights{font-size:22px}.timeline-board{padding:18px}.timeline-line{display:none}.timeline-card{grid-template-columns:1fr}.timeline-year{place-items:center start;display:flex}}@media (width<=560px){.portfolio-shell{width:min(100% - 20px,1120px);padding-top:16px}.command-card{border-radius:24px;padding:18px}.command-sidebar{padding:14px}.command-sidebar-title{flex-direction:column;align-items:flex-start}.command-list{grid-template-columns:1fr 1fr}.command-button{padding:10px 12px;font-size:21px}.terminal-body{min-height:360px;padding:18px}.terminal-output p{font-size:22px}.project-preview{max-width:none;min-height:220px;transform:none}.featured-main{gap:18px}.hero-card,.story-card,.contact-card{box-shadow:5px 5px 0 var(--line);border-radius:22px;padding:18px}.contact-card{box-shadow:5px 5px 0 var(--orange)}.logo-mark{font-size:30px}.header-nav a{font-size:22px}.hero-content h1{font-size:58px}.hero-description,.story-copy p:not(.story-kicker),.contact-copy p:not(.contact-kicker){font-size:24px}.stats-row{grid-template-columns:1fr}.hero-sketch{min-height:260px}.screen{width:150px;height:94px;font-size:34px}.base{width:180px}.laptop{left:34px}.rocket{bottom:145px;left:180px}.story-notes{gap:14px;min-height:auto;padding:16px;display:grid}.note-card{width:100%;min-height:auto;position:static;transform:none}.timeline-content span{font-size:23px}.timeline-content h3{font-size:36px}.case-card{padding:18px;transform:none}.case-block p{font-size:22px}.featured-actions{flex-direction:column}.featured-link{justify-content:center;width:100%}.project-filter-btn{padding:8px 13px;font-size:20px}.footer-note{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page-panel{z-index:1;border:1px solid var(--border-color);background:var(--card-bg);max-width:1120px;box-shadow:var(--soft-shadow);border-radius:32px;margin:0 auto 28px;padding:clamp(28px,5vw,56px);position:relative}.page-panel h1{letter-spacing:-.06em;max-width:920px;margin:0 0 18px;font-size:clamp(2.2rem,6vw,5.4rem);line-height:.92}.page-panel h2{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(1.8rem,4vw,3.4rem);line-height:.95}.page-panel p{max-width:820px;color:var(--muted-text);font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.7}.about-grid,.project-highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.about-card{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:24px;gap:8px;min-height:120px;padding:20px;display:grid}.about-card strong{color:var(--text-color);font-size:1.05rem}.about-card span{color:var(--muted-text);line-height:1.5}.about-list{gap:14px;margin-top:18px;display:grid}.project-status{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:999px;width:fit-content;margin:0 0 18px;padding:9px 14px;display:inline-flex;color:var(--text-color)!important;font-size:.95rem!important}.project-detail-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.project-detail-actions a,.page-button{background:var(--text-color);min-height:46px;color:var(--background-color);border-radius:999px;justify-content:center;align-items:center;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.project-detail-actions .secondary-btn{border:1px solid var(--border-color);color:var(--text-color);background:0 0}.tag-cloud{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.tag-cloud span{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-color);border-radius:999px;padding:10px 14px;font-weight:700}@media (width<=900px){.about-grid,.project-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-nav{white-space:nowrap;max-width:58vw;overflow-x:auto}}@media (width<=640px){.about-grid,.project-highlight-grid{grid-template-columns:1fr}.page-panel{border-radius:24px}}:root{--background-color:var(--bg);--card-bg:var(--paper);--surface-bg:#fff8ec;--text-color:var(--ink);--muted-text:var(--muted);--border-color:var(--line);--accent-color:var(--orange);--soft-shadow:7px 7px 0 #000000e6}html[data-theme=dark]{--background-color:var(--bg);--card-bg:var(--paper);--surface-bg:#151515;--text-color:var(--ink);--muted-text:var(--muted);--border-color:var(--line);--accent-color:var(--orange);--soft-shadow:7px 7px 0 #fff8ee29}.contact-card{color:#101010!important;box-shadow:7px 7px 0 var(--orange)!important;background:#fff8ec!important;border-color:#101010!important}.contact-kicker{color:var(--orange)!important}.contact-copy h2{color:#101010!important}.contact-copy p:not(.contact-kicker){color:#101010b8!important}.contact-actions a{background:var(--orange)!important;color:#fff!important;border-color:#101010!important;box-shadow:4px 4px #101010!important}.contact-actions a:hover{box-shadow:1px 1px #101010!important}.contact-actions .secondary-contact-btn{color:#fff8ee!important;background:#101010!important}.contact-board{background-color:#1010100a!important;background-image:linear-gradient(#0000 95%,#10101014 96%),linear-gradient(90deg,#0000 95%,#10101014 96%),none!important;background-position:0 0,0 0,0 0!important;background-repeat:repeat,repeat,repeat!important;background-size:26px 26px!important;background-attachment:scroll,scroll,scroll!important;background-origin:padding-box,padding-box,padding-box!important;background-clip:border-box,border-box,border-box!important;border-color:#101010!important}.contact-link-card{color:#101010!important;box-shadow:4px 4px 0 var(--orange)!important;background:#fffefa!important;border-color:#101010!important}.contact-link-card:hover{box-shadow:1px 1px 0 var(--orange)!important}.contact-link-card strong{color:#101010!important}.contact-link-card small{color:#101010ad!important}.contact-icon{background:var(--yellow-soft)!important;color:#101010!important;border-color:#101010!important}.contact-doodle{color:var(--orange)!important}html[data-theme=dark] .contact-card{color:#fff8ee!important;box-shadow:7px 7px 0 var(--orange)!important;background:#111!important;border-color:#fff8ee!important}html[data-theme=dark] .contact-kicker{color:var(--yellow)!important}html[data-theme=dark] .contact-copy h2{color:#fff8ee!important}html[data-theme=dark] .contact-copy p:not(.contact-kicker){color:#fff8eec2!important}html[data-theme=dark] .contact-actions a{background:var(--orange)!important;color:#fff!important;border-color:#fff8ee!important;box-shadow:4px 4px #fff8ee!important}html[data-theme=dark] .contact-actions a:hover{box-shadow:1px 1px #fff8ee!important}html[data-theme=dark] .contact-actions .secondary-contact-btn{color:#101010!important;background:#fff8ee!important}html[data-theme=dark] .contact-board{background-color:#fff8ee0a!important;background-image:linear-gradient(#0000 95%,#fff8ee14 96%),linear-gradient(90deg,#0000 95%,#fff8ee14 96%),none!important;background-position:0 0,0 0,0 0!important;background-repeat:repeat,repeat,repeat!important;background-size:26px 26px!important;background-attachment:scroll,scroll,scroll!important;background-origin:padding-box,padding-box,padding-box!important;background-clip:border-box,border-box,border-box!important;border-color:#fff8ee!important}html[data-theme=dark] .contact-link-card{color:#fff8ee!important;box-shadow:4px 4px 0 var(--orange)!important;background:#1f1f1f!important;border-color:#fff8ee!important}html[data-theme=dark] .contact-link-card:hover{box-shadow:1px 1px 0 var(--orange)!important}html[data-theme=dark] .contact-link-card strong{color:#fff8ee!important}html[data-theme=dark] .contact-link-card small{color:#fff8eeb3!important}html[data-theme=dark] .contact-icon{color:#fff8ee!important;background:#2a2a2a!important;border-color:#fff8ee!important}html[data-theme=dark] .contact-doodle{color:var(--yellow)!important}.page-panel{border:2.5px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:5px 6px #000000e6!important}html[data-theme=dark] .page-panel{box-shadow:5px 6px #fff8ee29!important}.page-panel p{color:var(--muted)!important}.about-card{border:2.5px solid var(--line)!important;background:var(--paper)!important}.about-card strong,.about-card span{color:var(--ink)!important}.about-card span{color:var(--muted)!important}.project-status,.tag-cloud span{border:2px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important}.project-detail-actions a,.page-button{border:2.5px solid var(--line)!important;background:var(--orange)!important;color:#fff!important;box-shadow:4px 4px 0 var(--line)!important}.project-detail-actions .secondary-btn{background:var(--paper)!important;color:var(--ink)!important}html[data-theme=dark] .project-detail-actions a,html[data-theme=dark] .page-button{border-color:#fff8ee!important;box-shadow:4px 4px #fff8ee!important}html[data-theme=dark] .project-detail-actions .secondary-btn{color:var(--ink)!important;background:#101010!important}
