/* New project pages reuse the portfolio's pastel paper and handwritten ink. */
#aicoding{background-color:#eef0e7;border-block:2px dashed var(--blue);padding-bottom:90px}
#aicoding::before{opacity:.12;background-size:650px 433px}
.coding-cover{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:40px;padding:16px 2% 70px;min-height:440px}
#aicoding .coding-cover h2{display:block;font-family:"EnglishHand","LooseHand",cursive!important;font-size:clamp(4.5rem,8vw,8rem);line-height:1.05;border:0;margin:10px 0 28px;padding:0;letter-spacing:-.03em!important;-webkit-text-stroke:.6px currentColor}
.coding-cover-lead{font:700 clamp(1.9rem,3vw,3rem)/1.4 "LooseHand",var(--hand);color:var(--blue);margin:0 0 25px;transform:rotate(-2deg)}
.coding-cover-note{font-size:1rem;line-height:1.95;max-width:34rem}
.coding-jump{display:inline-block;font:400 1.1rem/1.6 "LooseHand",var(--hand);color:var(--blue);text-underline-offset:6px;margin-top:15px}
.coding-cover-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;border:2px dashed #4e659850;border-radius:46% 54% 40% 60%;transform:rotate(5deg);background:#fffaf450}
.coding-cover-art>img{max-height:270px;width:65%;object-fit:contain;filter:drop-shadow(7px 10px #4e659820);transform:rotate(-10deg)}
.coding-scribble{position:absolute;color:#a16687;font-family:"EnglishHand","LooseHand",var(--hand);font-size:1.45rem;transform:rotate(-12deg);top:10px;left:0}
.coding-scribble-two{font-size:1.2rem;top:auto;left:auto;right:-5px;bottom:0;transform:rotate(-7deg)}
.coding-project{padding:38px;margin:0 0 48px;border:2px solid var(--blue);border-radius:10px 30px 9px 20px;background:#fbf2df;box-shadow:8px 10px var(--soft);scroll-margin-top:100px}
.coding-migu{background:#f7e6ed;border-radius:26px 10px 24px 8px}
.coding-harry{background:#e5ebf5;margin-bottom:0}
.coding-project-heading{margin-bottom:32px;padding-bottom:23px;border-bottom:2px dashed #4e659870}
.coding-label{color:#8d5b78;font-weight:700;font-size:.85rem;letter-spacing:.05em;margin:0 0 10px}
#aicoding h3{font-size:clamp(2.2rem,3vw,3rem);margin:12px 0 14px;transform:rotate(-1deg)}
#aicoding .coding-title-remark{display:inline-block;font:500 .95rem/1.6 "Microsoft YaHei",sans-serif;-webkit-text-stroke:0;letter-spacing:0;color:#8d5b78;vertical-align:middle}
.coding-project-tagline{font:400 1.4rem/1.5 "LooseHand",var(--hand);color:var(--blue);margin:0}
.coding-project-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px;align-items:start}
.coding-screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;padding:8px 2px}
.coding-screens figure{margin:0;min-width:0;transform:rotate(-2deg)}
.coding-screens figure:nth-child(2){transform:rotate(2deg);margin-top:32px}
.coding-image{display:block;width:100%;padding:5px;border:2px solid var(--blue);border-radius:19px;background:var(--paper);box-shadow:4px 6px #4e659821;overflow:hidden;transition:transform .2s,box-shadow .2s}
.coding-image img{width:100%;height:auto;border-radius:12px;aspect-ratio:390/844;object-fit:contain}
.coding-image:hover{transform:translateY(-4px);box-shadow:5px 9px #4e659832}
.coding-screens figcaption{font:400 1rem/1.5 "LooseHand",var(--hand);color:var(--blue);text-align:center;padding:15px 0 5px}
#aicoding h4{font-size:1.35rem;margin:0 0 13px;-webkit-text-stroke:.25px currentColor}
.coding-project-copy{min-width:0}
.coding-project-copy p{font-size:.96rem;line-height:1.9;margin:0 0 14px;text-wrap:pretty}
.coding-story{padding:20px 22px 10px;border-left:3px solid #bb81a0;background:linear-gradient(110deg,#fffaf4b3,#fffaf430);border-radius:3px 12px 7px 4px;margin-bottom:26px}
.coding-feature{margin-bottom:24px}
.coding-chips{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:15px 0 0;gap:10px}
.coding-chips li{padding:5px 12px;border:1px dashed var(--blue);border-radius:6px 12px 4px 10px;background:#e6ecf6;font-size:.83rem;color:var(--blue);transform:rotate(-2deg)}
.coding-chips li:nth-child(2){transform:rotate(2deg);background:var(--soft)}
.coding-birthday-flow{list-style:none;display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 0;padding:0}
.coding-birthday-flow li{font:400 1rem/1.5 "LooseHand",var(--hand);color:var(--blue);padding:8px 10px;background:#fffaf490;border-bottom:2px solid #e4b3ca}
.coding-contribution{border:0;margin-top:22px}
.coding-contribution summary{font-size:1.02rem;gap:12px;padding:12px 17px;margin:0;transform:none;background:#fffaf480;border-color:#4e659880}
.coding-contribution summary b{font-size:1.4rem}
.coding-contribution p{margin:16px 0 0;padding:0 12px}
.coding-actions{display:flex;align-items:flex-start;flex-direction:column;gap:15px;margin-top:29px;padding-bottom:5px}
#aicoding .coding-play{background:var(--blue);color:var(--paper);font-family:"LooseHand",var(--hand);font-size:1.2rem;padding:16px 27px}
.coding-actions>span,.coding-plan-note{font-size:.8rem!important;letter-spacing:.02em;color:#66738b}
.coding-roadmap ol{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.coding-roadmap li{position:relative;padding:12px 15px 12px 30px;background:#fffaf480;border-radius:4px 15px 7px 10px;border:1px dashed #4e659850}
.coding-roadmap li::before{content:'✧';position:absolute;left:9px;top:11px;color:#a16687}
.coding-roadmap strong{font:400 1.1rem/1.5 "LooseHand",var(--hand);display:block;color:var(--blue);margin-bottom:4px}
.coding-roadmap li>span{font-size:.88rem;line-height:1.8;display:block}
.coding-plan-note{margin-top:24px!important}
.coding-hero-link{display:inline-block;font:400 1.1rem/1.5 "LooseHand",var(--hand);color:var(--blue);text-underline-offset:6px;margin-top:8px;transform:rotate(-2deg)}
#coding-lightbox{width:min(640px,94vw)}
#coding-lightbox .lightbox-image{height:74vh;background:#e7e8e9}
@media(max-width:1000px){.coding-project{padding:28px}.coding-project-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:25px}.coding-screens{gap:10px}.coding-cover{gap:20px}.coding-cover-art{min-height:280px}.coding-cover-art>img{max-height:220px}.coding-project-copy p{font-size:.91rem}}
@media(max-width:760px){#aicoding{padding-bottom:60px}.coding-cover{grid-template-columns:1fr;gap:28px;padding:0 0 48px;min-height:0}.coding-cover-art{width:78%;margin:0 auto 12px;min-height:230px;max-width:350px}.coding-cover-art>img{max-height:190px}.coding-cover-note{font-size:.91rem}.coding-cover-lead{font-size:2rem}.coding-scribble{font-size:1.2rem}.coding-scribble-two{font-size:1.05rem}.coding-project{padding:23px 19px;margin-bottom:35px;box-shadow:5px 7px var(--soft)}.coding-harry{margin-bottom:0}.coding-project-heading{margin-bottom:20px;padding-bottom:18px}.coding-project-tagline{font-size:1.25rem}#aicoding h3{font-size:2.4rem}#aicoding .coding-title-remark{display:block;margin-top:10px;font-size:.81rem}.coding-project-layout{grid-template-columns:1fr;gap:27px}.coding-screens{max-width:430px;width:100%;margin-inline:auto;gap:15px;padding:4px}.coding-screens figure:nth-child(2){margin-top:20px}.coding-screens figcaption{font-size:.9rem;padding-top:12px}.coding-story{padding:18px 17px 8px}.coding-project-copy p{font-size:.94rem;line-height:1.95}#aicoding h4{font-size:1.3rem}.coding-label{font-size:.76rem}.coding-hero-link{font-size:1rem}.coding-contribution summary{font-size:.95rem;padding:12px 14px}.coding-actions{align-items:center;margin-top:27px}.coding-birthday-flow{gap:6px}.coding-birthday-flow li{font-size:.91rem}.coding-chips{gap:7px}.coding-chips li{font-size:.76rem;padding:5px 9px}.coding-roadmap li>span{font-size:.86rem}.coding-cover .coding-cover-copy{min-width:0}}
@media(max-width:380px){.coding-project{padding:20px 15px}.coding-screens{gap:11px}.coding-screens figcaption{font-size:.8rem}.coding-story{padding:15px 13px 7px}.coding-project-copy p{font-size:.88rem}.coding-contribution summary{font-size:.85rem}#aicoding h3{font-size:2.15rem}.coding-cover-note{font-size:.82rem}.coding-hero-link{font-size:.9rem}}
