@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=Instrument+Serif:ital@0;1&display=swap";:root{color:#27332f;font-synthesis:none;background:#fffdf9;font-family:DM Sans,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{background:#fffdf9;flex-direction:column;min-height:100vh;padding:30px clamp(24px,6vw,96px) 24px;display:flex;position:relative;overflow:hidden}.ambient{filter:blur();pointer-events:none;opacity:.58;border-radius:50%;position:absolute}.ambient-one{background:#f7ead7;width:460px;height:460px;top:-240px;right:-250px}.ambient-two{background:#e4f2e7;width:240px;height:240px;bottom:-80px;left:-155px}header,.game-layout,.game-footer{z-index:1;position:relative}header{justify-content:space-between;align-items:center;display:flex}.brand{color:#25332d;letter-spacing:-.8px;align-items:center;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#e47463;border-radius:9px;place-items:center;width:29px;height:29px;font-family:DM Sans;font-size:17px;display:grid;transform:rotate(-9deg);box-shadow:0 4px 11px #e4746340}.round-pill{color:#69716d;letter-spacing:.7px;background:#fffcf8cc;border:1px solid #e8e5df;border-radius:99px;align-items:center;gap:8px;padding:9px 14px;font:500 10px DM Mono;display:flex}.pulse{background:#78af92;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #78af9222}.round-divider{background:#dedbd5;width:1px;height:10px}.new-game{cursor:pointer;color:#4c5751;background:0 0;border:0;align-items:center;gap:7px;padding:9px 0;font-size:13px;transition:color .2s;display:flex}.new-game:hover{color:#e47463}.game-layout{grid-template-columns:1fr minmax(330px,430px) 1fr;align-items:center;gap:clamp(35px,6vw,95px);width:min(1070px,100%);margin:auto;padding:42px 0 29px;display:grid}.player-card{grid-template-columns:auto 1fr;align-items:center;column-gap:15px;min-height:135px;display:grid;position:relative}.player-card:after{content:"";background:#e9e6e0;height:1px;position:absolute;bottom:0;left:0;right:0}.player-o{text-align:right;grid-template-columns:1fr auto}.player-o .avatar{grid-column:2}.player-o .player-copy{grid-area:1/1}.player-o .score-block{left:auto;right:0}.avatar{color:#fff;border-radius:17px;place-items:center;width:49px;height:49px;font-family:Fraunces;font-size:20px;display:grid}.ritik{background:#e47b6c;box-shadow:0 8px 17px #e47b6c35}.newton{background:#6e9d93;box-shadow:0 8px 17px #6e9d9333}.player-copy p,.score-block span,.under-board span,.game-footer{letter-spacing:.8px;color:#8f9691;font:500 10px DM Mono}.player-copy p{margin:0 0 4px}.player-copy h2{letter-spacing:-.5px;margin:0;font:600 22px Fraunces}.player-token{margin-top:8px;font:700 17px Fraunces;display:inline-block}.x-token{color:#df7768}.o-token{color:#67958a}.score-block{align-items:baseline;gap:7px;display:flex;position:absolute;bottom:17px;left:0}.score-block strong{color:#344039;font:600 21px Fraunces}.game-center{width:100%}.status{color:#52605a;justify-content:center;align-items:center;gap:8px;height:42px;font:600 14px DM Sans;display:flex}.status svg{color:#dd806e}.status.finished{color:#386f5e}.turn-symbol{font:700 19px/1 Fraunces}.turn-symbol.x{color:#e27464}.turn-symbol.o{color:#69998d}.board{aspect-ratio:1;background:#fcfaf6;border-radius:29px;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;padding:10px;display:grid;box-shadow:0 19px 52px #493d2c12,inset 0 0 0 1px #eeeae4}.cell{cursor:pointer;color:#d9695c;background:#fffefa;border:0;border-radius:20px;place-items:center;transition:transform .16s,background .16s,box-shadow .16s;display:grid;box-shadow:0 2px 6px #56432d08}.cell:hover:not(:has(span)){background:#fff7ed;transform:translateY(-2px);box-shadow:0 8px 18px #56432d11}.cell span{font:700 clamp(48px,8vw,84px)/1 Fraunces;animation:.24s cubic-bezier(.25,1.5,.5,1) both pop}.cell.o{color:#6e9d93}.cell.winner{background:#f0f8ef;box-shadow:inset 0 0 0 2px #b8d6b7}@keyframes pop{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}.under-board{justify-content:space-between;align-items:center;padding:17px 5px 0;display:flex}.under-board button{color:#61746b;cursor:pointer;background:0 0;border:0;padding:0;font:600 12px DM Sans}.under-board button:hover{color:#e47463}.under-board button span{color:inherit;margin-left:4px}.game-footer{justify-content:space-between;align-items:center;padding-top:12px;display:flex}.draw-count{align-items:center;gap:7px;display:flex}.draw-count i{background:#e8ba60;border-radius:50%;width:6px;height:6px}.draw-count b{color:#59625d;font-weight:500}@media (width<=760px){.app-shell{padding:22px 20px}.round-pill{display:none}.game-layout{grid-template-columns:1fr;gap:24px;padding:30px 0}.game-center{grid-row:1;justify-self:center;max-width:440px}.player-card{min-height:80px}.player-o{grid-row:3}.player-card:after{display:none}.score-block{bottom:25px;left:auto;right:0}.player-o .score-block{left:0;right:auto}.player-o{text-align:left;grid-template-columns:auto 1fr}.player-o .avatar{grid-column:1}.player-o .player-copy{grid-area:1/2}.game-footer span:first-child{display:none}}@media (width<=400px){.game-footer span:last-child{display:none}.board{border-radius:22px;gap:7px;padding:7px}.cell{border-radius:15px}}:root{--yellow:#f6d228;--ink:#11110f;--paper:#f4f1e8;--line:#24231f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);margin:0;font-family:DM Sans,sans-serif}.main-page{cursor:none}button,a{cursor:none;font:inherit}main{position:relative;overflow:hidden}.grain{pointer-events:none;z-index:20;opacity:.16;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");position:fixed;inset:0}.main-cursor{background:var(--yellow);z-index:100;pointer-events:none;mix-blend-mode:difference;border-radius:50%;width:14px;height:14px;transition:transform 80ms linear;position:fixed}.main-header{z-index:5;justify-content:space-between;align-items:center;width:100%;height:84px;padding:0 5vw;display:flex;position:absolute;top:0}.logo-name{letter-spacing:-2px;color:inherit;background:0 0;border:0;padding:0;font-size:27px;font-weight:700}.logo-name span{vertical-align:top;letter-spacing:0;margin-left:2px;font-size:9px}nav{gap:28px;display:flex}nav button{color:#aaa99f;text-transform:uppercase;letter-spacing:.11em;background:0 0;border:0;padding:5px;font-size:11px}nav button:hover,nav .selected{color:var(--yellow)}.menu{background:0 0;border:0;width:28px;display:none}.menu i{background:var(--paper);width:24px;height:1px;margin:5px 0;display:block}.hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:100vh;padding:130px 5vw 45px;display:flex;position:relative}.hero-top,.section-label{letter-spacing:.08em;color:#b5b2a8;justify-content:space-between;font-family:D ̰M Mono,monospace;font-size:10px;display:flex}.availability{color:var(--yellow)}.availability b{background:var(--yellow);border-radius:50%;width:6px;height:6px;margin:0 8px 1px 0;display:inline-block;box-shadow:0 0 0 5px #f6d22822}.hero-title{margin:6vh 0}.hero-title p{color:var(--yellow);letter-spacing:.2em;margin:0 0 -1vw 4px;font-family:DM Mono;font-size:13px}.hero h1,.work h2,.about h2{letter-spacing:-.095em;margin:0;font-size:clamp(65px,14.3vw,220px);font-weight:700;line-height:.76}.dot{color:var(--yellow)}.hero-bottom{justify-content:space-between;align-items:flex-end;margin-top:5vh;display:flex}.hero-bottom p{margin:0;font-size:14px;line-height:1.45}.hero-bottom em,.work h2 i,.about h2 i{color:var(--yellow);letter-spacing:-.06em;font-family:Instrument Serif,serif;font-weight:400}.round-link{width:130px;height:130px;color:var(--paper);letter-spacing:.06em;background:0 0;border:1px solid #727168;border-radius:50%;font-family:DM Mono;font-size:9px;line-height:1.5;transition:all .25s}.round-link:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow);transform:rotate(-10deg)}.arrow{margin-left:5px;font-size:16px}.orbit{width:125px;height:125px;color:var(--yellow);border:1px solid #484740;border-radius:50%;place-items:center;animation:16s linear infinite spin;display:grid;position:absolute;top:28%;right:11%}.orbit span{font-size:27px;animation:16s linear infinite spin-reverse}.orbit-word{letter-spacing:3.5px;writing-mode:vertical-rl;border-radius:50%;font-family:DM Mono;font-size:8px;position:absolute;inset:-2px;transform:rotate(-45deg)}.hero-index{color:#88877f;font-family:DM Mono;font-size:10px;position:absolute;bottom:45px;right:5vw}.work{background:var(--paper);color:var(--ink);padding:85px 5vw 105px}.work .section-label{color:#606058}.work h2{margin:54px 0 66px;font-size:clamp(65px,12vw,184px)}.project-grid{grid-template-columns:1.25fr 1fr 1fr;gap:13px;display:grid}.project{border:1px solid var(--ink);flex-direction:column;justify-content:space-between;min-height:360px;padding:17px;transition:transform .25s;display:flex}.project:hover{transform:translateY(-8px)}.project.yellow{background:var(--yellow)}.project.outline{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-head{justify-content:space-between;font:10px DM Mono;display:flex}.project-head button{color:inherit;background:0 0;border:0;font-size:22px}.project-mark{text-align:center;font-size:110px;line-height:1}.project h3{letter-spacing:-.07em;margin:0;font-size:27px}.project p{opacity:.65;margin:5px 0 0;font:10px DM Mono}.about{background:var(--ink);padding:110px 5vw}.about>.section-label{color:#a3a198;display:block}.about-copy{grid-template-columns:1.15fr .65fr;align-items:end;gap:14vw;margin:75px 0 90px;display:grid}.about h2{font-size:clamp(58px,9.5vw,145px)}.about-copy>p{color:#d1cec4;max-width:380px;font-size:16px;line-height:1.5}.skills{color:var(--yellow);border-top:1px solid #3a3934;border-bottom:1px solid #3a3934;gap:8vw;padding:18px 0;font:10px DM Mono;display:flex}.contact-footer{background:var(--yellow);color:var(--ink);flex-direction:column;align-items:flex-start;min-height:330px;padding:70px 5vw 25px;display:flex;position:relative}.contact-footer p{letter-spacing:.08em;font:10px DM Mono}.contact-footer .talk-link{color:var(--ink);letter-spacing:-.08em;border-bottom:4px solid var(--ink);margin-top:40px;font-size:clamp(47px,9vw,140px);font-weight:700;line-height:.95;text-decoration:none}.contact-footer a:hover{font-style:italic}.socials{z-index:30;background:var(--yellow);border-radius:999px;flex-direction:column;align-items:center;gap:10px;padding:7px;display:flex;position:fixed;top:50%;right:22px;transform:translateY(-50%);box-shadow:0 5px 24px #0003}.socials>span{display:none}.socials a{border:1px solid var(--ink);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;transition:transform .22s,background .22s,color .22s;display:grid}.socials a svg{fill:currentColor;width:17px;height:17px}.socials a:last-child svg{fill:none;stroke:currentColor;stroke-width:1.7px}.socials a:last-child .dot-icon{fill:currentColor;stroke:none}.socials a:hover{background:var(--ink);color:var(--yellow);font-style:normal;transform:rotate(14deg)scale(1.08)}.contact-footer>span{font:10px DM Mono;position:absolute;bottom:25px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}@media (width<=650px){body,button,a{cursor:auto}.main-cursor{display:none}header{height:70px}.menu{display:block}nav{background:var(--ink);flex-direction:column;gap:15px;padding:20px 5vw;display:none;position:absolute;top:70px;left:0;right:0}nav.open{display:flex}.hero{min-height:750px;padding-top:105px}.hero h1{font-size:20vw}.hero-title p{margin-bottom:0;font-size:10px}.hero-top span:last-child{display:none}.hero-bottom{flex-direction:column;align-items:flex-start;gap:20px}.round-link{width:105px;height:105px}.orbit{width:94px;height:94px;top:31%;right:9%}.project-grid{grid-template-columns:1fr}.project{min-height:260px}.about-copy{grid-template-columns:1fr;gap:35px;margin:52px 0 60px}.skills{flex-direction:column;gap:13px}.about{padding:80px 5vw}.contact-footer{min-height:300px}.contact-footer .talk-link{border-width:2px;margin-top:75px}.socials{top:50%;right:12px}.socials a{width:38px;height:38px}.socials a svg{width:16px;height:16px}}
