.screen-layout{box-sizing:border-box;width:100%;height:100dvh;position:relative;overflow:hidden}.game-screen{--ink:74 68 83;--paper:253 247 240;isolation:isolate;background:radial-gradient(78% 52% at 50% -8%,#fffcf6eb 0%,#fffcf600 100%),radial-gradient(120% 88% at 50% 42%,#f7efe5 0%,#ece0d3 46%,#ddcfc0 78%,#cdbcab 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.game-screen:before{content:"";z-index:0;pointer-events:none;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='0.42'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.game-screen:after{content:"";z-index:3;pointer-events:none;background:radial-gradient(108% 76% at 50% 46%, rgb(var(--ink) / 0%) 52%, rgb(var(--ink) / 20%) 100%), linear-gradient(180deg, rgb(var(--ink) / 8%) 0%, rgb(var(--ink) / 0%) 14%, rgb(var(--ink) / 0%) 82%, rgb(var(--ink) / 12%) 100%);position:absolute;inset:0}.game-screen__stage{z-index:1;width:100%;height:100%;position:relative}.game-screen__stage canvas{box-shadow:0 0 0 1px rgb(var(--ink) / 10%), 0 1px 2px rgb(var(--ink) / 14%), 0 18px 40px -14px rgb(var(--ink) / 34%), 0 60px 120px -50px rgb(var(--ink) / 45%);border-radius:3px;display:block}@media (width<=900px) and (orientation:portrait){.game-screen:after{display:none}.game-screen__stage canvas{box-shadow:none;border-radius:0}}.game-screen__back{top:max(1.1rem, env(safe-area-inset-top));left:max(1.1rem, env(safe-area-inset-left));z-index:4;width:2.5rem;height:2.5rem;color:rgb(var(--ink) / 90%);background:rgb(var(--paper) / 46%);box-shadow:inset 0 0 0 1px rgb(var(--ink) / 16%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.42;border-radius:50%;place-items:center;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:1.05rem;line-height:1;transition:opacity .22s,background-color .22s,transform .22s;display:grid;position:absolute}.game-screen__back:hover,.game-screen__back:focus-visible{opacity:1;background:rgb(var(--paper) / 78%);transform:translate(-2px)}.title-screen{--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--ink:62 56 71;--paper:253 247 240;isolation:isolate;width:100%;height:100%;position:relative;overflow:hidden}.title-screen__painting{z-index:0;position:absolute;inset:0}.title-screen__background{object-fit:cover;transform-origin:50% 42%;width:100%;height:100%;animation:48s ease-in-out infinite alternate title-breathe;transform:scale(1.06)}.title-screen__painting:after{content:"";background:linear-gradient(180deg, rgb(var(--paper) / 72%) 0%, rgb(var(--paper) / 34%) 20%, rgb(var(--paper) / 0%) 44%), linear-gradient(0deg, rgb(var(--paper) / 76%) 0%, rgb(var(--paper) / 30%) 16%, rgb(var(--paper) / 0%) 36%), radial-gradient(112% 78% at 50% 46%, #7a6a6000 52%, #60524e42 100%);position:absolute;inset:0}.title-screen:after{content:"";z-index:3;pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='0.4'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.title-screen__petals{z-index:1;pointer-events:none;position:absolute;inset:0}.title-screen__petal{top:-8vh;left:var(--petal-x);width:var(--petal-size);height:calc(var(--petal-size) * 1.2);opacity:0;animation:title-petal-fall var(--petal-duration) linear var(--petal-delay) infinite;background:radial-gradient(120% 120% at 32% 22%,#ffffffe6 0%,#f4aac5e0 52%,#e07f9fc2 100%);border-radius:70% 30%/42% 58%;position:absolute}.title-screen__content{z-index:2;text-align:center;height:100%;padding:calc(clamp(2.5rem, 11vh, 7rem) + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(clamp(2rem, 8vh, 5rem) + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));box-sizing:border-box;color:rgb(var(--ink));flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:relative}.title-screen__masthead{flex-direction:column;align-items:center;gap:clamp(.9rem,2.6vh,1.6rem);display:flex}.title-screen__logo{font-family:var(--serif);text-shadow:0 1px 0 #ffffff8c, 0 6px 22px rgb(var(--paper) / 70%);flex-direction:column;align-items:center;gap:clamp(.15rem,.8vh,.5rem);font-weight:400;display:flex}.title-screen__logo-lead{text-transform:uppercase;letter-spacing:.42em;text-indent:.42em;opacity:.7;font-size:clamp(1.15rem,5.2vw,2.1rem)}.title-screen__logo-name{letter-spacing:.01em;font-size:clamp(3.2rem,17vw,6.5rem);font-style:italic;line-height:.98}.title-screen__rule{background:linear-gradient(90deg, rgb(var(--ink) / 0%), rgb(var(--ink) / 36%) 26%, rgb(var(--ink) / 36%) 74%, rgb(var(--ink) / 0%));width:clamp(6rem,34vw,11rem);height:1px;display:block;position:relative}.title-screen__rule:after{content:"";background:rgb(var(--ink) / 42%);width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.title-screen__tagline{font-family:var(--serif);text-transform:uppercase;letter-spacing:.44em;text-indent:.44em;opacity:.55;font-size:clamp(.62rem,2.7vw,.8rem)}.title-screen__menu{flex-direction:column;align-items:center;gap:clamp(.9rem,2.4vh,1.4rem);display:flex}.title-screen__action{min-width:min(62vw,14rem);font-family:var(--serif);text-transform:uppercase;letter-spacing:.4em;text-indent:.4em;color:rgb(var(--ink));background:rgb(var(--paper) / 62%);-webkit-backdrop-filter:blur(10px)saturate(1.08);backdrop-filter:blur(10px)saturate(1.08);box-shadow:inset 0 0 0 1px rgb(var(--ink) / 22%), inset 0 1px 0 #ffffffb3, 0 12px 30px -14px rgb(var(--ink) / 55%);border-radius:999px;justify-content:center;align-items:center;padding:.95rem 2.4rem;font-size:clamp(1rem,4.2vw,1.25rem);transition:background-color .24s,box-shadow .24s,transform .24s;animation:5.5s ease-in-out infinite title-pulse;display:inline-flex}.title-screen__action:hover,.title-screen__action:focus-visible{background:rgb(var(--paper) / 84%);box-shadow:inset 0 0 0 1px rgb(var(--ink) / 34%), inset 0 1px 0 #fffc, 0 18px 38px -16px rgb(var(--ink) / 62%);transform:translateY(-2px)}.title-screen__action:active{transform:translateY(0)}.title-screen__hint{max-width:22rem;font-family:var(--serif);opacity:.5;font-size:clamp(.78rem,3.2vw,.92rem);font-style:italic;line-height:1.5}@keyframes title-breathe{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1.11)translate(-1.2%,-1%)}}@keyframes title-petal-fall{0%{opacity:0;transform:translate(0,0)rotate(0)}10%{opacity:.72}50%{transform:translate3d(var(--petal-drift), 58vh, 0) rotate(240deg)}90%{opacity:.3}to{transform:translate3d(calc(var(--petal-drift) * -.5), 118vh, 0) rotate(430deg);opacity:0}}@keyframes title-pulse{0%,to{box-shadow:inset 0 0 0 1px rgb(var(--ink) / 22%), inset 0 1px 0 #ffffffb3, 0 12px 30px -14px rgb(var(--ink) / 55%)}50%{box-shadow:inset 0 0 0 1px rgb(var(--ink) / 30%), inset 0 1px 0 #fffc, 0 16px 36px -14px rgb(var(--ink) / 55%), 0 0 0 10px rgb(var(--paper) / 12%)}}@media (prefers-reduced-motion:reduce){.title-screen__background,.title-screen__action{animation:none}.title-screen__petals{display:none}}@media (height<=560px){.title-screen__content{padding:1.5rem 1.5rem 1.25rem}.title-screen__logo-name{font-size:clamp(2.4rem,9vh,3.4rem)}.title-screen__hint{display:none}}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0}body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}#root{height:100dvh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}
