*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#242b33;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #527b9a;outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:75px;background:white;padding:12px;z-index:5}header{display:flex;align-items:center;justify-content:space-between;padding:22px max(24px,calc((100vw - 1040px)/2));border-bottom:1px solid #e2e7eb}.brand{font-size:24px;font-weight:750;letter-spacing:-1px}nav{display:flex;gap:28px;font-size:12px}nav a:hover,.social a:hover{color:#527b9a}.profile{text-align:center;padding:70px 24px 85px;background:#f5f7f9}.pen2-icon{display:block;width:220px;height:auto;margin:0 auto 36px;mix-blend-mode:multiply}h1,h2{font-size:clamp(30px,4vw,48px);line-height:1.35;letter-spacing:-.04em;margin:0 0 24px}.profile p,.factory p:not(.eyebrow){font-size:18px;line-height:1.9;color:#64717d}.social{display:flex;justify-content:center;gap:32px;margin-top:32px;font-size:14px;color:#527b9a}.factory{text-align:center;padding:85px 24px 95px;background:#e8eff4}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.04em;color:#527b9a;margin:0 0 25px}.button{display:inline-flex;gap:25px;background:#527b9a;color:white;padding:16px 24px;margin-top:18px;font-size:15px;font-weight:600}.button:hover{background:#3e627d}footer{display:flex;justify-content:space-between;align-items:center;padding:28px max(24px,calc((100vw - 1040px)/2));font-size:14px}footer a{font-weight:700}footer small{color:#64717d}@media(max-width:650px){header{flex-direction:column;align-items:flex-start;gap:14px;padding:18px 22px}nav{gap:20px;font-size:11px}.profile{padding:55px 22px 65px}.pen2-icon{width:185px;margin-bottom:30px}.profile p,.factory p:not(.eyebrow){font-size:14px}.social{gap:24px;font-size:12px}.factory{padding:65px 22px 75px}footer small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@keyframes pen2-drop{0%{transform:translateY(-460px);animation-timing-function:cubic-bezier(.45,0,.8,.55)}60%{transform:translateY(0);animation-timing-function:ease-out}75%{transform:translateY(-22px);animation-timing-function:ease-in}88%{transform:translateY(0);animation-timing-function:ease-out}94%{transform:translateY(-5px)}100%{transform:translateY(0)}}.pen2-icon{animation:pen2-drop 1.25s both;position:relative}.profile{overflow:hidden}@media(prefers-reduced-motion:reduce){.pen2-icon{animation:none}}

.factory{background:#fff;border:1px solid #becedb;max-width:900px;margin:64px auto;padding:52px 32px}.factory h2{font-size:30px}.factory p:not(.eyebrow){font-size:16px}footer small a{font-weight:400}footer small a:hover{text-decoration:underline}@media(max-width:950px){.factory{margin:40px 24px}}@media(max-width:650px){.factory{padding:36px 20px}.factory h2{font-size:23px}.factory p:not(.eyebrow){font-size:14px}}

.duck-trigger{display:block;border:0;background:none;margin:0 auto 36px;padding:0;cursor:pointer;touch-action:manipulation}.duck-trigger .pen2-icon{margin:0}.duck-trigger:hover .pen2-icon{filter:brightness(1.05)}.duck-trigger:focus-visible{outline:3px solid #527b9a;outline-offset:8px}.game-open{overflow:hidden}#duck-game{border:0;padding:0;width:min(92vw,560px);max-height:94dvh;overflow:auto;color:#242b33;background:#f4f7fa;box-shadow:0 20px 90px #0004}#duck-game::backdrop{background:#152735b3}.game-panel{text-align:center;padding:32px 24px 20px;position:relative}.game-panel h2{font-size:26px;margin:8px 35px 18px}.game-close{position:absolute;right:12px;top:12px;border:0;background:#e1e9ef;font-size:22px;width:44px;height:44px;cursor:pointer;z-index:2}.game-message{font-size:15px;min-height:22px}.game-stats{display:flex;justify-content:center;gap:36px;color:#527b9a;margin:20px 0;font-size:18px}.star-field{position:relative;height:clamp(220px,40dvh,340px);background:#e3edf5;border:1px solid #b8cbdc;overflow:hidden}.catch-star{position:absolute;border:0;background:none;padding:0;width:64px;height:64px;font-size:56px;line-height:1;color:#527b9a;text-shadow:0 2px 0 #fff;cursor:pointer;touch-action:manipulation;user-select:none}.catch-star:active{transform:scale(.9)}.game-start{background:#527b9a;border:0;color:white;padding:14px 32px;min-height:48px;font-size:16px;cursor:pointer;margin-top:20px}.game-start[hidden]{display:none}.game-note{color:#64717d;font-size:12px;line-height:1.6}.game-panel button:focus-visible{outline:3px solid #0875d1;outline-offset:3px}@media(max-width:650px){.duck-trigger{margin-bottom:30px}.game-panel{padding:28px 16px 16px}.game-panel h2{font-size:22px}}

.avoid-duck{position:absolute;border:0;background:transparent;width:70px;height:66px;padding:0;cursor:pointer;touch-action:manipulation;user-select:none}.avoid-duck img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.avoid-duck:active{transform:scale(.9)}
.game-rain{position:absolute;top:-60px;pointer-events:none;animation:game-rain 1.3s var(--delay) cubic-bezier(.35,.02,.75,.55) both;transform:rotate(var(--angle));}.star-rain{font-size:34px;color:#527b9a;line-height:1}.duck-rain{width:44px;height:42px}.duck-rain img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}@keyframes game-rain{0%{translate:0 -30px}80%{translate:var(--drift) 360px}90%{translate:var(--drift) 345px}100%{translate:var(--drift) 365px}}@media(max-height:750px){@keyframes game-rain{0%{translate:0 -30px}80%{translate:var(--drift) 260px}90%{translate:var(--drift) 245px}100%{translate:var(--drift) 265px}}}@media(prefers-reduced-motion:reduce){.game-rain{animation:none;top:40%;transform:none}}

@keyframes game-rain{0%{translate:0 -30px}80%{translate:var(--drift) var(--fall)}90%{translate:var(--drift) calc(var(--fall) - 15px)}100%{translate:var(--drift) var(--fall)}}

header nav{align-items:center}header .factory-nav-button{display:inline-flex;align-items:center;gap:9px;padding:12px 17px;background:#527b9a;color:#fff;font-weight:700;font-size:13px;border:1px solid #527b9a;white-space:nowrap}header .factory-nav-button:hover{background:#3e627d;color:#fff;border-color:#3e627d}@media(max-width:650px){header nav{gap:16px}header .factory-nav-button{font-size:12px;padding:10px 12px}}

header nav{flex-wrap:wrap;row-gap:12px}
