:root{color:#f2f2f2;background:#111;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.app{position:relative;width:100%;height:100%;background:#8fc7ff}.canvas{width:100%;height:100%;cursor:grab;touch-action:none}.canvas:active{cursor:grabbing}.canvas-error{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#121212}.canvas-error__panel,.boot-error__panel{width:min(420px,calc(100vw - 40px));padding:22px;color:#f4f5f6;background:#0e0f11eb;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 24px 80px #0006}.canvas-error__mark,.boot-error__mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;color:#111416;background:#f4f5f6;border-radius:8px;font-size:14px;font-weight:900}.canvas-error__panel strong,.boot-error__panel h1{display:block;margin:0;font-size:20px}.canvas-error__panel span,.boot-error__panel p{display:block;margin-top:10px;color:#f4f5f6c2;font-size:14px;line-height:1.5}.boot-error__panel button{height:36px;margin-top:16px;padding:0 14px;color:#111416;background:#f4f5f6;border:1px solid rgba(255,255,255,.22);border-radius:8px;cursor:pointer;font:inherit;font-size:13px;font-weight:900}.boot-error__panel button:focus-visible{outline:2px solid #f4f5f6;outline-offset:3px}.boot-error{display:grid;place-items:center;width:100%;height:100%;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 42%),#08090a}.entry-screen,.loading-screen{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;color:#16313d;background:radial-gradient(circle at 18% 16%,rgba(255,229,118,.72),transparent 16%),linear-gradient(180deg,#89d9ff,#d9f6ff 48%,#7ccf91 49%,#51b776)}.entry-screen:after{position:absolute;right:0;bottom:0;left:0;height:18px;background:linear-gradient(90deg,#39d4c8 0 25%,#ffdf6f 25% 50%,#ff7a66 50% 75%,#2d7adf 75% 100%);content:""}.entry-screen:before,.loading-screen:before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:72px 72px;content:"";-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 62%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 62%,transparent)}.app .loading-screen{position:absolute;inset:0;z-index:30}.entry-screen__skyline{position:absolute;right:7vw;bottom:28%;left:7vw;display:grid;grid-template-columns:repeat(18,1fr);align-items:end;gap:10px;height:150px;opacity:.5}.entry-screen__skyline span{display:block;height:var(--height);background:linear-gradient(180deg,#f8fbff,#9fc5d3);border:1px solid rgba(64,105,119,.2);border-bottom:0;border-radius:8px 8px 0 0;box-shadow:inset 0 -10px #457e8e1a}.entry-screen__sun{position:absolute;top:min(9vh,74px);right:min(12vw,180px);width:92px;height:92px;background:#ffe56f;border:6px solid rgba(255,255,255,.68);border-radius:50%;box-shadow:0 18px 50px #ffbf3752}.entry-screen__playfield{position:absolute;right:0;bottom:0;left:0;height:min(38vh,330px);pointer-events:none}.entry-screen__track{position:absolute;bottom:-80px;left:50%;width:min(520px,78vw);height:380px;background:linear-gradient(90deg,transparent 0 47%,rgba(255,255,255,.5) 47% 53%,transparent 53%),linear-gradient(180deg,#f7d07b,#e9974b);border:8px solid rgba(255,255,255,.64);border-radius:50% 50% 0 0;box-shadow:0 -20px 70px #1e5e4429;transform:translate(-50%) perspective(560px) rotateX(58deg);transform-origin:bottom center}.entry-screen__avatar{position:absolute;bottom:76px;left:calc(50% - 145px);width:54px;height:54px;background:radial-gradient(circle at 50% 22%,#ffd4aa 0 18%,transparent 19%),radial-gradient(circle at 37% 18%,#22313a 0 5%,transparent 6%),radial-gradient(circle at 63% 18%,#22313a 0 5%,transparent 6%),linear-gradient(180deg,transparent 0 34%,#ff6f61 35% 65%,#2d7adf 66% 100%);border:4px solid rgba(255,255,255,.74);border-radius:50%;box-shadow:0 16px 36px #1a465847;animation:entry-avatar-idle 2.8s ease-in-out infinite}.entry-screen__marker{position:absolute;bottom:112px;width:34px;height:68px;background:#f8fbff;border:3px solid rgba(55,91,111,.16);border-radius:8px;box-shadow:0 14px 30px #1c4a5929;animation:entry-marker-idle 3.2s ease-in-out infinite}.entry-screen__marker:before{position:absolute;top:10px;right:8px;left:8px;height:8px;background:#39d4c8;border-radius:999px;content:""}.entry-screen__marker--left{left:calc(50% + 150px)}.entry-screen__marker--right{left:calc(50% + 220px)}.entry-screen__marker--right:before{background:#ffb156}.entry-card{position:relative;z-index:1;overflow:hidden;width:min(560px,calc(100vw - 56px));padding:30px;background:linear-gradient(180deg,#fffffff5,#ffffffd6);border:3px solid rgba(255,255,255,.82);border-radius:8px;box-shadow:0 28px 80px #2c61743d,inset 0 0 0 1px #418ea51f;color:#16313d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.entry-card:before{position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,#39d4c8,#ffdf6f,#ff7a66,#2d7adf);content:""}.entry-card__topline{display:flex;align-items:center;gap:12px}.entry-card__mark,.loading-screen__mark{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(180deg,#ff7a66,#f04f4c);color:#fff;border-radius:8px;font-weight:900;box-shadow:inset 0 -3px #0000001f}.entry-card h1{margin:20px 0 0;color:#12303d;font-size:60px;line-height:1.02}.entry-card__status{margin-top:18px;padding:12px 13px;background:#d6f8ffa8;border:1px solid rgba(65,142,165,.18);border-radius:8px}.entry-card__status strong,.entry-card__status span{display:block}.entry-card__status strong{color:#16313d;font-size:13px}.entry-card__status span{margin-top:5px;color:#45616d;font-size:13px;line-height:1.45}.entry-card__actions{display:grid;gap:10px;margin-top:26px}.entry-card__primary{width:100%;height:54px;margin-top:28px;color:#fff;background:linear-gradient(180deg,#ff7a66,#f04f4c);border:1px solid rgba(167,47,42,.26);border-radius:8px;cursor:pointer;font:inherit;font-size:15px;font-weight:900;box-shadow:0 12px 24px #f04f4c3d,inset 0 -3px #891f1c33;transition:filter .14s ease,transform .14s ease}.entry-card__actions .entry-card__primary,.entry-card__actions .entry-card__secondary{margin-top:0}.entry-card__primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.entry-card__primary:active{transform:translateY(1px)}.entry-card__secondary{width:100%;min-height:44px;margin-top:10px;color:#16313d;background:#ffffffad;border:1px solid rgba(65,142,165,.2);border-radius:8px;cursor:pointer;font:inherit;font-size:14px;font-weight:900;transition:background .14s ease,transform .14s ease}.entry-card__secondary:hover{background:#ffffffe0}.entry-card__secondary:disabled{cursor:not-allowed;opacity:.62;transform:none}.entry-card__secondary:active{transform:translateY(1px)}.entry-card__secondary:disabled:active{transform:none}.entry-card__primary:focus-visible,.entry-card__secondary:focus-visible,.entry-card__social-links a:focus-visible,.entry-card__legal-links a:focus-visible{outline:2px solid #1b87b0;outline-offset:3px}.entry-card__social-links{display:flex;justify-content:center;margin-top:16px}.entry-card__social-links a{display:inline-flex;align-items:center;justify-content:center;min-width:0;height:34px;padding:0 22px;color:#174253;background:#ffffff8f;border:1px solid rgba(65,142,165,.16);border-radius:8px;font-size:12px;font-weight:800;text-decoration:none}.entry-card__social-links a:hover{background:#ffffffdb}.entry-card__legal-links{display:flex;justify-content:center;gap:14px;margin-top:12px;font-size:11px;line-height:1.2}.entry-card__legal-links a{color:#174253b8;font-weight:800;text-decoration:none}.entry-card__legal-links a:hover{color:#174253;text-decoration:underline;text-underline-offset:3px}.loading-screen__stack{position:relative;z-index:1;display:grid;justify-items:center;width:min(360px,calc(100vw - 56px));padding:28px;background:#ffffffdb;border:3px solid rgba(255,255,255,.74);border-radius:8px;box-shadow:0 24px 70px #2c617433;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.loading-screen__title{margin-top:18px;color:#16313d;font-size:18px;font-weight:900}.loading-screen__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:18px}.loading-screen__steps span{display:grid;place-items:center;min-height:30px;color:#174253;background:#d6f8ffbd;border:1px solid rgba(65,142,165,.18);border-radius:8px;font-size:11px;font-weight:900;white-space:nowrap}.loading-screen__bar{width:100%;height:10px;margin-top:22px;overflow:hidden;background:#ffffff8f;border:1px solid rgba(65,142,165,.18);border-radius:999px}.loading-screen__bar span{display:block;width:42%;height:100%;background:linear-gradient(90deg,#39d4c8,#ffb156,#ff7a66);border-radius:inherit;animation:loading-pass 1.2s ease-in-out infinite}@keyframes loading-pass{0%{transform:translate(-110%)}to{transform:translate(250%)}}@keyframes entry-avatar-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes entry-marker-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.post-dock{position:absolute;left:50%;right:auto;bottom:28px;z-index:10;display:grid;grid-template-columns:minmax(420px,560px);gap:12px;width:min(560px,calc(100vw - 56px));transform:translate(-50%);pointer-events:auto}.post-dock--with-replies{grid-template-columns:minmax(420px,560px) minmax(300px,360px);width:min(940px,calc(100vw - 56px))}.town-hud{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));left:auto;display:grid;grid-template-columns:minmax(0,1fr);justify-items:end;width:auto;padding:0;color:#16313d;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto}.town-hud__menu-button{min-width:84px;min-height:42px;padding:0 14px;color:#16313d;background:#ffffffd6;border:1px solid rgba(65,142,165,.18);border-radius:8px;cursor:pointer;font:inherit;font-size:12px;font-weight:900;box-shadow:0 18px 48px #1b4e602e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.town-hud__menu-button:hover{background:#fffffff0}.town-hud__menu-button:active{transform:translateY(1px)}.town-hud__menu-button:focus-visible{outline:2px solid #1b87b0;outline-offset:2px}@media(max-width:560px){.entry-screen{place-items:start center;padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:auto}.entry-screen__skyline{right:5vw;left:5vw;gap:6px;height:92px}.entry-card{width:min(420px,100%);padding:18px}.entry-card__mark{width:40px;height:40px}.entry-card h1{font-size:42px}.entry-card__status{margin-top:10px}.entry-card__actions,.entry-card__primary{margin-top:18px}.entry-card__actions .entry-card__primary{margin-top:0}.town-hud{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:auto;width:auto;padding:0}}.post-panel,.reply-panel{max-height:calc(100vh - 56px);overflow:auto;padding:18px;color:#17191c;background:#f6f8f9eb;border:1px solid rgba(20,22,24,.18);border-radius:8px;box-shadow:0 24px 70px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:panel-rise .18s ease-out both}@keyframes panel-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.post-panel__top{display:grid;grid-template-columns:42px 1fr 32px;gap:12px;align-items:center}.post-panel__avatar{display:grid;place-items:center;width:42px;height:42px;color:#f4f5f6;background:#1f2428;border-radius:50%;font-weight:700}.post-panel__author{min-width:0}.post-panel__author strong,.post-panel__author span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-panel__author strong{font-size:15px;line-height:1.25}.post-panel__author span{margin-top:3px;color:#5d646a;font-size:12px}.post-panel__close{width:32px;height:32px;color:#17191c;background:#1416180f;border:1px solid rgba(20,22,24,.12);border-radius:8px;cursor:pointer;font-weight:700}.post-panel__body{margin:18px 0 16px;color:#17191c;font-size:17px;line-height:1.48}.post-panel__media{display:grid;gap:8px;margin:-4px 0 16px}.post-panel__media a,.post-panel__media-unavailable{display:grid;gap:5px;min-width:0;padding:12px;color:#17191c;background:#1416180f;border:1px solid rgba(20,22,24,.12);border-radius:8px;text-decoration:none}.post-panel__media span{color:#5d646a;font-size:11px;font-weight:900;text-transform:uppercase}.post-panel__media strong{overflow:hidden;color:#17191c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.post-panel__metrics{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:12px;border-top:1px solid rgba(20,22,24,.13);color:#5d646a;font-size:12px}.post-panel__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.post-panel__nav button{height:32px;color:#17191c;background:#1416180f;border:1px solid rgba(20,22,24,.14);border-radius:8px;cursor:pointer;font-size:12px;font-weight:800}.post-panel__actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}.post-panel__actions button{min-width:0;height:34px;padding:0 8px;color:#f4f5f6;background:#1f2428;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}.post-panel__actions button:hover,.post-panel__nav button:hover,.post-panel__close:hover{filter:brightness(1.08)}.post-panel__actions button:disabled{cursor:not-allowed;opacity:.42;filter:none}.post-panel__actions button.is-active{color:#17191c;background:#f4f5f6;border-color:#14161847}.post-panel__actions button.is-confirm{color:#17191c;background:#ffdfad;border-color:#ffb1568c}.post-panel__actions button.is-pending{color:#17191c;background:#d8dde1;border-color:#1416182e}.post-panel__actions button.is-success{color:#17191c;background:#bdece8;border-color:#39d4c88c}.post-panel__actions button.is-error{color:#17191c;background:#ffd2cd;border-color:#f25f5c61}.post-panel__action-note{min-height:18px;margin-top:8px;color:#69727a;font-size:12px;line-height:1.35}.reply-panel{align-self:end}.reply-panel__title{margin-bottom:14px;color:#17191c;font-size:14px;font-weight:800}.reply-panel__item{padding:12px;background:#1416180f;border:1px solid rgba(20,22,24,.1);border-radius:8px}.reply-panel__item+.reply-panel__item{margin-top:10px}.reply-panel__item strong{display:block;color:#17191c;font-size:13px}.reply-panel__item p{margin:8px 0 0;color:#454c52;font-size:13px;line-height:1.45}.reply-panel__composer{display:block;margin-top:14px}.reply-panel__composer span{display:block;margin-bottom:7px;color:#5d646a;font-size:12px;font-weight:700}.reply-panel__composer textarea{width:100%;min-height:92px;resize:none;padding:10px;color:#17191c;background:#ffffff8a;border:1px solid rgba(20,22,24,.16);border-radius:8px;font:inherit;line-height:1.4}.reply-panel__notice{margin:8px 0 0;color:#687179;font-size:12px;line-height:1.35}.reply-panel button{width:100%;height:34px;margin-top:10px;color:#8a9197;background:#14161814;border:1px solid rgba(20,22,24,.12);border-radius:8px;font-size:12px;font-weight:800}.touch-controls{display:none}@media(pointer:coarse){.town-hud{right:max(16px,env(safe-area-inset-right));width:auto}.touch-controls{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:12;display:grid;grid-template-areas:". up ." "left down right";grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:8px;pointer-events:auto}.touch-controls__button{display:grid;place-items:center;width:48px;height:48px;color:#16313d;background:#ffffffd6;border:1px solid rgba(65,142,165,.22);border-radius:8px;box-shadow:0 12px 34px #1b4e6033;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);touch-action:none;-webkit-user-select:none;user-select:none;font:inherit;font-size:18px;font-weight:900}.touch-controls__button:active{transform:translateY(1px);background:#d6f8fff0}.touch-controls__button--up{grid-area:up}.touch-controls__button--left{grid-area:left}.touch-controls__button--down{grid-area:down}.touch-controls__button--right{grid-area:right}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
