:root{--ivory:#f7f2e9;--paper:#fff;--ink:#202322;--accent:#1c4d34;--muted:#59655f;--rule:#d4ded8;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans","Noto Sans JP",Arial,sans-serif}
*{box-sizing:border-box}html{background:var(--ivory)}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#fcfaf5,var(--ivory));font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.page-wrap{width:min(960px,calc(100% - 40px));margin:0 auto;padding:24px 0 56px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#6a655f}.topbar a{border-bottom:1px solid #b79a6c}.resume{background:var(--paper);box-shadow:0 18px 48px rgba(28,41,69,.11);padding:11mm 14.5mm 10mm}.resume-head{text-align:center;padding-bottom:6px;border-bottom:1px solid var(--accent)}h1{margin:0;color:var(--accent);font-size:31px;line-height:1;font-weight:750;letter-spacing:.03em}.role{margin:4px 0 0;color:var(--muted);font-size:11.5px}.role span{color:#a8b2ac;margin:0 5px}.contact{margin:5px 0 0;font-size:10.5px;line-height:1.35}.contact b{font-weight:400;color:#b8c1bc;margin:0 5px}section{margin-top:8px}h2{margin:0 0 4px;color:var(--accent);font-size:10.6px;line-height:1.2;letter-spacing:.055em;font-weight:760;border-bottom:1px solid var(--rule);padding-bottom:2px}.entry{margin-top:4px}.line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:10.45px;line-height:1.25}.line strong{font-weight:700}.line>span:last-child{color:var(--muted);white-space:nowrap;font-size:9.8px}.line.sub{margin-top:1px;color:#4e5551;font-size:9.75px}.line.sub>span:last-child{font-size:9.4px}.entry p{margin:2px 0 0;color:var(--muted);font-size:9.55px;line-height:1.34}.project{margin-top:5px}.project ul{margin:2.5px 0 0;padding-left:14px}.project li{margin:1.2px 0;font-size:9.65px;line-height:1.34}.compact-project{margin-top:4px}.compact-lines p{margin:2.1px 0;font-size:9.45px;line-height:1.32}.compact-lines strong{font-weight:700}.skills-section{margin-top:7px}.skills{display:grid;grid-template-columns:103px minmax(0,1fr);gap:1.8px 10px;font-size:9.4px;line-height:1.27}.skills strong{font-weight:700}.skills span{color:#454c48}@media(max-width:700px){.page-wrap{width:calc(100% - 18px);padding-top:14px}.resume{padding:24px 20px;box-shadow:none}.line{display:block}.line>span:last-child{display:block;margin-top:1px;white-space:normal}.line.sub>span:last-child{display:block}.skills{grid-template-columns:1fr;gap:1px}.skills span{margin-bottom:3px}.contact{font-size:10px}.contact b{margin:0 3px}}@page{size:A4;margin:0}@media print{html,body{background:#fff}.page-wrap{width:210mm;margin:0;padding:0}.topbar{display:none}.resume{width:210mm;height:297mm;overflow:hidden;box-shadow:none;padding:10.5mm 14.5mm 9mm}h1{font-size:29px}.role{font-size:10.8px}.contact{font-size:9.7px}section{margin-top:6.8px}h2{font-size:10px;margin-bottom:3.5px}.line{font-size:9.9px}.line>span:last-child{font-size:9.25px}.line.sub{font-size:9.15px}.line.sub>span:last-child{font-size:8.9px}.entry p{font-size:9.05px;line-height:1.28}.project{margin-top:4.3px}.project ul{margin-top:2px}.project li{font-size:9.05px;line-height:1.27;margin:1px 0}.compact-lines p{font-size:8.95px;line-height:1.25}.skills{grid-template-columns:96px minmax(0,1fr);font-size:8.9px;line-height:1.2;gap:1.3px 9px}a{color:inherit}}
