@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Lilita+One&family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--ink:#28204e;--purple:#9964da;--border:#332653;--body-font:'Nunito',sans-serif;--display:'Lilita One','Baloo 2',sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100svh;color:var(--ink);font-family:var(--body-font);background:#ece5fc;background-image:radial-gradient(ellipse at 85% 8%,#dce9ff 0,transparent 53%),radial-gradient(ellipse at 8% 96%,#f5d9ef 0,transparent 50%),radial-gradient(ellipse at 50% 32%,#faf5ff 0,transparent 55%);display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #a450d1;outline-offset:7px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:24px 42px;position:relative;z-index:1}.wordmark{font-family:var(--display);font-size:28px;transform:rotate(-8deg)}.wordmark span{font-size:16px;color:var(--purple);margin-left:2px}.header-label{font-size:9px;letter-spacing:2px;font-weight:900;color:#9d91b5}.motion-toggle{border:1.5px solid #b5a7c7;background:#ffffff55;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font-size:13px;font-weight:900;color:#77668f}.motion-toggle:hover{background:white}.home{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:15px 24px 38px;text-align:center}.identity{animation:arrive .7s ease-out both}.avatar-wrap{width:101px;height:101px;margin:0 auto 14px;position:relative;animation:bob 6s ease-in-out infinite}.avatar{display:block;width:100%;height:100%;object-fit:cover;border:3px solid var(--border);border-radius:30px;box-shadow:0 5px 0 var(--border);transform:rotate(-7deg)}.avatar-spark{position:absolute;top:-9px;right:-22px;color:#bd72e0;font-size:33px;filter:drop-shadow(1px 2px 0 white)}.avatar-badge{position:absolute;bottom:-5px;right:-17px;transform:rotate(10deg);font-size:13px;font-weight:900;background:#ead8ff;border:2px solid var(--border);border-radius:9px;padding:2px 7px;box-shadow:0 2px 0 var(--border)}.hello{display:block;color:#9a7cad;font-size:12px;letter-spacing:1px;font-weight:800;margin-top:17px}h1{font-family:var(--display);font-size:76px;line-height:1.02;letter-spacing:1px;margin:9px 0 18px;text-shadow:0 5px 0 #fff;transform:rotate(-2deg);font-weight:400}h1 span{display:block;font-size:69px;letter-spacing:0}p{margin-top:0}.tagline{font-family:'Baloo 2',var(--body-font);font-weight:800;font-size:13px;line-height:1.5;color:#867992;margin-bottom:0}.tile-grid{width:min(800px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:23px;margin-top:39px}.tile{min-width:0;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff 0%,#f7f3ff 70%,#eae3fa 100%);border:3px solid var(--border);border-radius:25px;box-shadow:0 8px 0 var(--border);height:165px;padding:20px 8px 17px;transition:transform .2s,box-shadow .2s,background .2s;animation:arrive .7s ease-out both;animation-delay:.1s}.tile:nth-child(2){animation-delay:.18s}.tile:nth-child(3){animation-delay:.26s}.tile:nth-child(4){animation-delay:.34s}.tile:hover{transform:translateY(-7px) rotate(-2deg);box-shadow:0 15px 0 var(--border);background:linear-gradient(#fff,#eadbfc)}.tile:nth-child(even):hover{transform:translateY(-7px) rotate(2deg)}.tile:active{transform:translateY(5px);box-shadow:0 3px 0 var(--border)}.tile-icon{font-size:46px;line-height:1.1;display:block;margin-bottom:16px;filter:drop-shadow(0 3px 0 #46366620);transition:transform .25s}.tile:hover .tile-icon{transform:rotate(10deg) scale(1.1)}.code-icon{font-family:var(--display);color:#a277e7;text-shadow:-1.5px -1.5px 0 var(--border),1.5px -1.5px 0 var(--border),-1.5px 1.5px 0 var(--border),1.5px 3px 0 var(--border);transform:rotate(-8deg);font-size:43px;letter-spacing:-4px;padding-right:4px}.tile-title{font-family:var(--display);font-size:19px;letter-spacing:.5px}.tile-subtitle{font-size:10px;color:#9585a6;font-weight:700;margin-top:5px}.tile-corner{position:absolute;top:11px;right:14px;font-size:14px;color:#c2b1d5;transition:color .2s}.tile:hover .tile-corner{color:var(--purple)}.home-note{font-size:8px;letter-spacing:1.6px;color:#a397b4;font-weight:900;margin:33px 0 0;display:flex;align-items:center;gap:12px}.home-note span{font-size:16px;color:#a981cb}footer{display:flex;justify-content:space-between;padding:20px 42px;color:#a69ab6;font-size:9px;font-weight:800;letter-spacing:.3px}.heart{color:#b879c0}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none}.spark{position:absolute;color:#b893d5;animation:twinkle 7s ease-in-out infinite}.spark-one{top:27%;left:16%;font-size:35px;transform:rotate(-15deg)}.spark-two{top:32%;right:16%;font-size:53px;animation-delay:-2s;color:#b2abe0}.spark-three{bottom:23%;right:10%;font-size:22px;animation-delay:-4s}.spark-four{bottom:30%;left:8%;font-size:22px;color:#cda7d2;animation-delay:-1s}.bubble{position:absolute;border:2px solid #bfacd544;border-radius:50%}.bubble-one{width:16px;height:16px;top:18%;right:30%}.bubble-two{width:9px;height:9px;bottom:23%;left:26%}
dialog{padding:0;border:3px solid var(--border);border-radius:26px;color:var(--ink);background:#faf7ff;width:min(730px,calc(100% - 36px));max-height:88svh;box-shadow:0 10px 0 #28204e,0 24px 80px #25133133;overflow:auto;overscroll-behavior:contain}dialog[open]{animation:modal-in .25s ease-out}dialog::backdrop{background:#31234465;backdrop-filter:blur(8px)}.modal-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;background:#faf7fff5;padding:15px 22px;border-bottom:1px solid #e8def2}.modal-brand{font-family:var(--display);font-size:15px;letter-spacing:.7px}.modal-brand span{color:var(--purple);margin-left:5px}#close-dialog{border:2px solid var(--border);border-radius:10px;background:#eee2fd;height:33px;width:33px;font-size:25px;line-height:1;box-shadow:0 2px 0 var(--border)}#close-dialog:hover{background:#dec5fa}#panel-content{padding:30px}.panel-kicker{color:#a17ab8;font-size:9px;letter-spacing:1.5px;font-weight:900}.panel-heading h2{font-family:var(--display);font-weight:400;font-size:36px;letter-spacing:.3px;margin:10px 0 12px;line-height:1.1}.panel-heading h2 span{color:#ad76d5}.panel-heading>p{color:#8b7b9d;font-size:13px;line-height:1.7}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.project{border:2px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:0 4px 0 var(--border);background:white}.project-cover{height:165px;padding:15px;position:relative;overflow:hidden}.cover-green{background:#d7edb7}.cover-purple{background:#d8c3fa}.cover-caption{font-size:8px;letter-spacing:1px;font-weight:900}.project-cover strong{display:block;font-family:var(--display);font-weight:400;font-size:43px;line-height:.95;margin-top:15px;transform:rotate(-5deg);letter-spacing:-1px}.project-cover strong span{position:absolute;right:10px;top:14px;font-size:65px;opacity:.35}.example-label{position:absolute;bottom:10px;right:10px;font-size:7px;border:1px solid #28204e55;border-radius:4px;padding:3px 5px;font-weight:900}.project-description{padding:15px}.project-description h3{margin:0 0 7px;font-size:15px;font-weight:900}.project-description p{font-size:11px;color:#8b7b9d;line-height:1.6}.tags{display:flex;gap:6px}.tags span{font-size:8px;background:#f0e8fa;padding:4px 7px;border-radius:5px;font-weight:800}.placeholder-note{font-size:10px;line-height:1.6;color:#a092ac;text-align:center;margin:25px 0 0}.profile-banner{display:block;width:100%;height:auto;border-radius:13px;border:2px solid var(--border);margin-bottom:25px}.about-text p{font-size:13px;line-height:1.9;color:#81728f}.about-callout{display:flex;align-items:center;gap:20px;background:#eee2fc;border:2px solid #d9c3ed;border-radius:14px;padding:18px;margin-top:20px}.about-callout>span{font-size:36px;color:var(--purple)}.about-callout p{margin:0;font-size:13px;line-height:1.8}.stack-list{display:grid;gap:13px;margin-top:25px}.stack-list>div{display:flex;align-items:center;gap:18px;padding:18px;border:2px solid #e5d9f0;border-radius:14px;background:white}.stack-symbol{display:grid;place-items:center;font-family:var(--display);font-size:24px;color:#9d6ac3;min-width:48px;height:48px;border-radius:12px;background:#f0e6fb}.stack-list h3{font-size:16px;margin:0 0 4px}.stack-list p{font-size:12px;color:#9583a5;margin:0;line-height:1.5}.contact-emoji{font-size:52px;text-align:center;margin:4px 0 20px}.contact-emoji+.panel-heading{text-align:center}.contact-empty{border:2px dashed #d8c4e6;border-radius:14px;padding:22px;text-align:center;color:#9682a5;font-size:13px;line-height:1.8;margin-top:22px}.contact-link{display:block;text-align:center;background:#e5ccfa;border:2px solid var(--border);box-shadow:0 4px 0 var(--border);border-radius:12px;padding:16px;font-weight:900;margin-top:20px;overflow-wrap:anywhere}.contact-link:hover{background:#d7b1f3}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}@keyframes bob{50%{transform:translateY(-7px) rotate(3deg)}}@keyframes twinkle{50%{opacity:.35;translate:0 -10px;rotate:15deg}}@keyframes arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@keyframes modal-in{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}@media(min-height:900px){.avatar-wrap{width:120px;height:120px;margin-bottom:22px}h1{font-size:90px}h1 span{font-size:80px}.tile-grid{margin-top:48px}.tile{height:180px}}@media(max-width:700px){.site-header{padding:18px 23px}.header-label{font-size:7px;letter-spacing:1px}.home{padding-top:20px}.tile-grid{gap:15px;width:min(470px,100%);grid-template-columns:repeat(2,1fr);margin-top:30px}.tile{height:145px;border-radius:21px}.tile-icon{font-size:37px;margin-bottom:12px}.code-icon{font-size:36px}.tile-title{font-size:18px}.tile-subtitle{font-size:9px}h1{font-size:65px}h1 span{font-size:58px}.tagline{font-size:11px}.avatar-wrap{width:86px;height:86px}.avatar{border-radius:24px}.spark-one{left:7%;top:23%;font-size:24px}.spark-two{right:5%;top:38%;font-size:30px}.spark-three,.spark-four{display:none}footer{padding:18px 23px;font-size:8px}.home-note{font-size:7px;letter-spacing:1px}.home{padding-bottom:20px}#panel-content{padding:23px}.panel-heading h2{font-size:30px}.project-list{gap:13px}.project-cover{height:155px}.project-cover strong{font-size:34px}.project-cover strong span{font-size:40px}}@media(max-width:390px){h1{font-size:57px}h1 span{font-size:51px}.header-label{font-size:6px}.home{padding-inline:20px}.tile{height:136px}.project-list{grid-template-columns:1fr}.project-cover{height:170px}.project-cover strong{font-size:43px}.home-note{letter-spacing:.3px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* Sprężyste panele, miękko pojawiające się tło i reakcje kafelków. */
dialog[open]{animation:none;transform-origin:center 65%}dialog[open]::backdrop{animation:backdrop-in .4s ease both}dialog.is-closing::backdrop{animation:backdrop-out .22s ease both}.tile{transition:transform .3s cubic-bezier(.2,1.7,.4,1),box-shadow .3s cubic-bezier(.2,1.7,.4,1),background .2s}.tile-icon{transition:transform .4s cubic-bezier(.2,1.8,.4,1)}.tile:hover .tile-icon{transform:translateY(-4px) rotate(12deg) scale(1.15)}.project{transition:transform .3s cubic-bezier(.2,1.5,.4,1),box-shadow .3s}.project:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:0 8px 0 var(--border)}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .identity,.motion-paused .tile{opacity:1;translate:none}@keyframes backdrop-in{from{background:#31234400;backdrop-filter:blur(0)}to{background:#31234465;backdrop-filter:blur(8px)}}@keyframes backdrop-out{from{background:#31234465;backdrop-filter:blur(8px)}to{background:#31234400;backdrop-filter:blur(0)}}@media(prefers-reduced-motion:reduce){dialog[open]::backdrop{animation:none!important}.tile,.tile-icon,.project{transition:none!important}}
.tagline{font-size:16px;letter-spacing:.5px;color:#65547e}.role-line{display:inline-block;margin-top:3px;font-size:12px;letter-spacing:1.2px;color:#8e7b9f}@media(max-width:700px){.tagline{font-size:14px}.role-line{font-size:10px}}
.roblox-profile{display:inline-flex;justify-content:center;align-items:center;gap:10px;margin-top:19px;padding:10px 17px;border:2px solid var(--border);border-radius:12px;background:#e8d8fb;box-shadow:0 4px 0 var(--border);font-size:11px;font-weight:900;transition:transform .25s cubic-bezier(.2,1.6,.4,1),box-shadow .25s,background .25s}.roblox-profile:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 7px 0 var(--border);background:#dcc1f7}.roblox-profile:active{transform:translateY(3px);box-shadow:0 1px 0 var(--border)}.roblox-mark{display:inline-block;height:14px;width:14px;border:5px solid var(--ink);transform:rotate(20deg)}
/* Appearance and playful ambient motion */
body{transition:background-color .55s,color .4s}.appearance{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 20px 15px;animation:arrive .8s .5s backwards}.appearance-label{font-size:8px;letter-spacing:1.7px;font-weight:900;color:#887599}.theme-switch{position:relative;display:flex;padding:5px;border:2px solid var(--border);border-radius:16px;background:#f8f3ff;box-shadow:0 4px 0 var(--border)}.theme-switch button{position:relative;z-index:1;border:0;background:none;border-radius:10px;width:92px;padding:8px 10px;font-size:12px;font-weight:900;display:flex;justify-content:center;align-items:center;gap:8px;transition:color .3s,transform .2s}.theme-switch button:active{transform:scale(.92)}.theme-switch button span{font-size:19px;line-height:1}.theme-slider{position:absolute;left:5px;top:5px;width:92px;height:calc(100% - 10px);border-radius:10px;background:#e4cdf8;transition:transform .45s cubic-bezier(.2,1.5,.4,1),background .4s}[data-theme=dark] .theme-slider{transform:translateX(92px);background:#7650a7}.theme-switch button[aria-pressed=false]{opacity:.65}.ambient:before,.ambient:after{content:'';position:absolute;width:45vw;height:45vw;border-radius:50%;filter:blur(70px);opacity:.16;animation:aurora 18s ease-in-out infinite alternate;will-change:transform}.ambient:before{left:-15%;top:20%;background:#c69ceb}.ambient:after{right:-12%;bottom:-20%;background:#a3baf2;animation-delay:-9s}.particle{position:absolute;left:var(--x);bottom:-20px;width:var(--size);height:var(--size);border-radius:50%;background:#ab7cce;box-shadow:0 0 9px #ab7cce55;animation:drift-up var(--duration) var(--delay) linear infinite;opacity:0}.tile{isolation:isolate}.tile:after{content:'';position:absolute;inset:0;border-radius:21px;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff5 47%,transparent 64%);background-size:250% 100%;background-position:150% 0;opacity:0;transition:opacity .3s}.tile:hover:after,.tile:focus-visible:after{opacity:1;animation:card-shine .8s ease-out both}.tile-icon{animation:icon-float 4s ease-in-out infinite}.tile:nth-child(2) .tile-icon{animation-delay:-1s}.tile:nth-child(3) .tile-icon{animation-delay:-2s}.tile:nth-child(4) .tile-icon{animation-delay:-3s}.avatar-spark{animation:star-turn 12s linear infinite}.avatar-badge{animation:badge-wiggle 5s ease-in-out infinite}.roblox-profile:hover .roblox-mark{animation:logo-turn .6s cubic-bezier(.2,1.5,.4,1)}.bubble{animation:bubble-drift 9s ease-in-out infinite alternate}.bubble-two{animation-delay:-4s}footer{position:relative;z-index:1}.tile,.theme-switch,dialog,.modal-top,.project,.stack-list>div,.about-callout,.contact-link{transition-property:background-color,color,border-color,box-shadow,transform;transition-duration:.35s}.home{padding-bottom:23px}
[data-theme=dark]{color-scheme:dark;--ink:#f3eafa;--purple:#c69af4;--border:#745292}[data-theme=dark] body{background-color:#120f20;background-image:radial-gradient(ellipse at 85% 8%,#18233d 0,transparent 53%),radial-gradient(ellipse at 8% 96%,#301c3d 0,transparent 50%),radial-gradient(ellipse at 50% 32%,#231a35 0,transparent 55%)}[data-theme=dark] h1{text-shadow:0 5px 0 #6b428d,0 0 35px #a46ed02b}[data-theme=dark] .tile{background:linear-gradient(180deg,#31263f,#251d34 70%,#21182e);box-shadow:0 8px 0 #080610}[data-theme=dark] .tile:hover{background:linear-gradient(#403053,#2e203d);box-shadow:0 15px 0 #080610}[data-theme=dark] .tile:active{box-shadow:0 3px 0 #080610}[data-theme=dark] .tile-subtitle,[data-theme=dark] .header-label,[data-theme=dark] .home-note,[data-theme=dark] footer,[data-theme=dark] .appearance-label{color:#ad9abc}[data-theme=dark] .hello,[data-theme=dark] .role-line{color:#bfa4d2}[data-theme=dark] .tagline{color:#dbc4ef}[data-theme=dark] .avatar-badge{background:#392747}[data-theme=dark] .avatar{box-shadow:0 5px 0 #080610,0 0 35px #ac5de631}[data-theme=dark] .motion-toggle{background:#30233e;color:#e5d2f6;border-color:#745292}[data-theme=dark] .roblox-profile{background:#4b3262;box-shadow:0 4px 0 #080610}[data-theme=dark] .roblox-profile:hover{background:#62417f;box-shadow:0 7px 0 #080610}[data-theme=dark] .theme-switch{background:#241b31;box-shadow:0 4px 0 #080610}[data-theme=dark] dialog{background:#21192d;box-shadow:0 10px 0 #080610,0 24px 80px #0005}[data-theme=dark] .modal-top{background:#21192df5;border-color:#493356}[data-theme=dark] #close-dialog{background:#3e2952}[data-theme=dark] #close-dialog:hover{background:#593a75}[data-theme=dark] .panel-heading>p,[data-theme=dark] .about-text p,[data-theme=dark] .project-description p,[data-theme=dark] .stack-list p,[data-theme=dark] .placeholder-note,[data-theme=dark] .contact-empty{color:#beaccd}[data-theme=dark] .project,[data-theme=dark] .stack-list>div{background:#2e223c}[data-theme=dark] .stack-list>div{border-color:#59406d}[data-theme=dark] .tags span,[data-theme=dark] .stack-symbol,[data-theme=dark] .about-callout{background:#3d2b51;color:#dbc4ef}[data-theme=dark] .about-callout{border-color:#61417d}[data-theme=dark] .contact-empty{border-color:#61417d}[data-theme=dark] .contact-link{background:#4b3262}[data-theme=dark] .project-cover{color:#28204e}[data-theme=dark] .theme-switch button[aria-pressed=true]{color:#fff}[data-theme=dark] .ambient:before{background:#b148e9;opacity:.12}[data-theme=dark] .ambient:after{background:#4a68ec;opacity:.12}
@keyframes aurora{to{transform:translate(18%,18%) scale(1.25)}}@keyframes drift-up{0%{transform:translateY(0) translateX(0);opacity:0}12%{opacity:.45}85%{opacity:.3}100%{transform:translateY(-105vh) translateX(70px);opacity:0}}@keyframes icon-float{50%{translate:0 -5px}}@keyframes star-turn{to{rotate:360deg}}@keyframes badge-wiggle{0%,75%,100%{rotate:0deg}80%{rotate:-12deg}88%{rotate:8deg}94%{rotate:-4deg}}@keyframes logo-turn{to{transform:rotate(200deg)}}@keyframes bubble-drift{to{translate:15px -25px}}@keyframes card-shine{from{background-position:150% 0}to{background-position:-50% 0}}@media(max-width:700px){.appearance{padding-top:7px}.ambient:before,.ambient:after{width:75vw;height:75vw}.theme-switch button{padding-block:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.particle{display:none}}
/* Real pages: smooth hover, sequential entrance and scroll reveals. */
.page-nav{display:flex;gap:25px;font-size:12px;font-weight:900}.page-nav a{opacity:.7;transition:opacity .25s,translate .25s}.page-nav a:hover{opacity:1;translate:0 -2px}.page-main{position:relative;z-index:1;width:min(960px,calc(100% - 48px));margin:35px auto 70px;flex:1}.back-link{display:inline-flex;gap:10px;margin-bottom:30px;font-size:12px;font-weight:900;color:var(--purple);transition:translate .25s}.back-link:hover{translate:-5px 0}.page-title{font-size:58px;line-height:1.05;transform:none;letter-spacing:0;margin:14px 0 20px}.page-title span{display:inline;font-size:inherit;color:var(--purple)}.page-main .panel-heading>p,.detail-heading p{font-size:15px;line-height:1.8;max-width:620px;color:#8b7b9d}.content-sheet{max-width:730px;margin:auto;padding:35px;border:2px solid var(--border);border-radius:25px;background:#faf7ff;box-shadow:0 7px 0 var(--border)}.content-sheet .panel-heading h2{font-size:42px}.contact-sheet{max-width:650px}.project-gallery{gap:26px;margin-top:35px}.project-gallery .project-cover{height:240px;padding:25px}.project-gallery .project-cover strong{font-size:53px;margin-top:28px}.project-description h2{font-size:20px;margin:0 0 10px}.project-description h2 span{float:right;color:var(--purple)}.project-gallery .project-description{padding:22px}.project-gallery .project-description p{font-size:13px}.project-gallery .tags span{font-size:10px}.project-link{display:block;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.project-link:hover{transform:translateY(-7px);box-shadow:0 11px 0 var(--border)}.detail-heading{display:flex;align-items:center;gap:35px;justify-content:space-between}.detail-heading>div{flex:1}.play-button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-width:175px;padding:17px 24px;border-radius:11px;background:#00b865;color:white;font-size:20px;font-weight:900;box-shadow:0 5px 0 #007643;transition:transform .3s,background .3s,box-shadow .3s}.play-button:hover:not([aria-disabled]){transform:translateY(-3px);background:#00cd70;box-shadow:0 8px 0 #007643}.play-button[aria-disabled]{cursor:not-allowed;opacity:.65}.play-triangle{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid white}.play-status{text-align:right;font-size:11px;color:#9583a5;margin:-5px 0 25px}.gameplay{border:3px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 7px 0 var(--border);aspect-ratio:16/9;background:#171221}.gameplay video,.gameplay>img{display:block;width:100%;height:100%;object-fit:contain}.media-placeholder{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#28204e;text-align:center;padding:20px}.media-label{font-size:10px;font-weight:900;letter-spacing:2px}.media-placeholder strong{font-family:var(--display);font-size:clamp(35px,7vw,80px);line-height:.95;transform:rotate(-4deg);margin:25px 0 20px}.media-placeholder p{font-size:12px;margin:20px 0 0;font-weight:800}.media-play{font-size:37px;display:grid;place-items:center;border:2px solid #28204e55;width:55px;height:55px;border-radius:50%;opacity:.5}.feature-section{padding-top:70px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.feature-card{border:2px solid #d9c3ed;border-radius:17px;padding:24px;background:#faf7ff;transition:translate .3s,border-color .3s}.feature-card:hover{translate:0 -5px;border-color:var(--purple)}.feature-number{font-family:var(--display);font-size:27px;color:var(--purple)}.feature-card h3{font-size:17px;margin:16px 0 10px}.feature-card p{font-size:12px;line-height:1.8;color:#8b7b9d;margin:0}.tile,.tile:nth-child(even){transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,background-color .4s}.tile:hover,.tile:nth-child(even):hover{transform:translateY(-8px) scale(1.025)}.tile:active{transform:translateY(3px) scale(.98)}[data-theme=dark] .content-sheet,[data-theme=dark] .feature-card{background:#241b31}[data-theme=dark] .feature-card{border-color:#513968}[data-theme=dark] .feature-card:hover{border-color:var(--purple)}[data-theme=dark] .page-main .panel-heading>p,[data-theme=dark] .detail-heading p,[data-theme=dark] .feature-card p,[data-theme=dark] .play-status{color:#beaccd}.inner-page .appearance{margin-top:auto}@media(max-width:700px){.page-main{width:calc(100% - 36px);margin-top:20px;margin-bottom:45px}.page-nav{gap:17px;font-size:11px}.page-title{font-size:43px}.content-sheet{padding:22px}.content-sheet .panel-heading h2{font-size:32px}.project-gallery{grid-template-columns:1fr}.detail-heading{flex-direction:column;align-items:start;gap:10px}.play-button{min-width:160px;font-size:17px;padding:14px 22px}.play-status{text-align:left;margin:18px 0 25px}.feature-grid{grid-template-columns:1fr 1fr;gap:12px}.feature-card{padding:18px}.feature-section{padding-top:45px}.media-label{font-size:8px}.media-placeholder strong{font-size:37px;margin:12px 0}.media-play{display:none}.media-placeholder p{font-size:10px;margin-top:10px}.gameplay{aspect-ratio:4/3}}@media(max-width:390px){.feature-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.tile:hover,.tile:nth-child(even):hover,.project-link:hover,.feature-card:hover{transform:none;translate:none}}
.tile:hover,.tile:nth-child(even):hover{transform:scale(1.055)}.tile:active,.tile:nth-child(even):active{transform:scale(.965)}.project-link:hover{transform:scale(1.025)}.project-link:active{transform:scale(.98)}.roblox-profile:hover{transform:scale(1.045)}.roblox-profile:active{transform:scale(.97)}.game-icon{width:95px;height:95px;border-radius:21px;border:3px solid var(--border);box-shadow:0 5px 0 #0002;object-fit:cover}.game-icon[hidden]{display:none}.detail-heading .page-title{font-size:42px}.roblox-cover{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.card-game-icon{position:absolute;bottom:14px;left:14px;width:62px;height:62px;border-radius:13px;border:3px solid white;box-shadow:0 3px 12px #0005}.game-description{white-space:pre-wrap;font-size:15px;line-height:1.9;color:#81728f;max-width:800px}.gameplay iframe{width:100%;height:100%;border:0}.community-button{display:inline-flex;align-items:center;gap:16px;margin-top:30px;padding:16px 22px;background:linear-gradient(135deg,#e5ceff,#d4ddff);border:2px solid var(--border);border-radius:18px;box-shadow:0 5px 0 var(--border);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.community-button:hover{transform:scale(1.04);box-shadow:0 8px 0 var(--border)}.community-button:active{transform:scale(.97);box-shadow:0 2px 0 var(--border)}.community-symbol{display:grid;place-items:center;width:46px;height:46px;background:#fff6;border-radius:12px;font-size:29px;color:#9964da}.community-button small,.community-button strong{display:block}.community-button small{font-size:10px;opacity:.7;margin-bottom:4px}.community-button strong{font-size:15px}.community-button>span:last-child{font-size:25px;margin-left:15px}.thumbnail-picker{display:flex;gap:12px;margin-top:20px;overflow:auto}.thumbnail-picker button{padding:0;border:2px solid var(--border);border-radius:10px;overflow:hidden;background:none;min-width:130px;width:150px}.thumbnail-picker img{display:block;width:100%}[data-theme=dark] .game-description{color:#beaccd}[data-theme=dark] .community-button{background:linear-gradient(135deg,#51316c,#303e65)}@media(max-width:700px){.detail-heading .page-title{font-size:36px}.game-icon{width:75px;height:75px}.community-button{width:100%;justify-content:space-between}.community-button>span:last-child{margin-left:0}}
.project-description h2 [data-game-title]{float:none;color:inherit}.tile:hover:active,.tile:nth-child(even):hover:active{transform:scale(.965)}
.tile-icon.has-custom-icon{width:52px;height:52px;font-size:0;line-height:0;padding:0;letter-spacing:0;text-shadow:none;display:grid;place-items:center}.custom-tile-icon{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}@media(max-width:700px){.tile-icon.has-custom-icon{width:42px;height:42px}}
