@font-face{font-family:SirhozApp;src:url('/assets/sans-regular.otf');font-display:swap}@font-face{font-family:SirhozApp;src:url('/assets/sans-bold.otf');font-weight:700;font-display:swap}
:root{--app-bg:#070e0c;--app-panel:#0b1714;--app-line:#284137;--app-text:#f4f8f5;--app-muted:#adc0b6;--app-accent:#a5f326}
.app-page{margin:0;background:var(--app-bg);color:var(--app-text);font:16px/1.65 SirhozApp,Arial,sans-serif;color-scheme:dark}.app-page *,.app-dialog *,.app-dock *,.app-notice *{box-sizing:border-box}.app-page a{color:inherit}.app-page button,.app-dialog button,.app-notice button{font:inherit;cursor:pointer}.app-page :focus-visible,.app-dialog :focus-visible,.app-dock :focus-visible,.app-notice :focus-visible{outline:2px solid var(--app-accent);outline-offset:4px}
.app-top{width:min(1080px,92%);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--app-line)}.app-wordmark{font-size:24px;font-weight:700;letter-spacing:-1px;text-decoration:none}.app-wordmark span{color:var(--app-accent)}.app-top nav{display:flex;flex-wrap:wrap;gap:20px}.app-top nav a{font-size:14px;text-decoration:none;padding:8px 0}
.app-main{width:min(1080px,92%);margin:48px auto 80px}.app-intro{display:flex;gap:28px;align-items:center;margin-bottom:32px}.app-intro>img{width:120px;height:120px;border-radius:26px;flex-shrink:0}.app-main .app-kicker{color:var(--app-accent);font-size:12px;letter-spacing:2px;margin:0 0 6px}.app-main h1{font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 14px}.app-main h2{font-size:23px;line-height:1.3;margin:0 0 12px}.app-main p{color:var(--app-muted);margin:0 0 16px}.app-intro p:last-child{margin:0;max-width:650px}
.app-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.app-button,.app-page .app-button,.app-dialog .app-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--app-line);border-radius:8px;min-height:48px;padding:10px 20px;color:var(--app-text);background:#102019;text-decoration:none;font:700 16px/1.4 SirhozApp,Arial,sans-serif;cursor:pointer}.app-button.app-primary,.app-dialog .app-primary{background:var(--app-accent);border-color:var(--app-accent);color:#101b07}.app-button:disabled{cursor:default;opacity:.65}.app-state{font-size:14px;color:var(--app-muted);min-height:24px}
.app-install-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0}.app-card{background:var(--app-panel);border:1px solid var(--app-line);border-radius:16px;padding:28px;scroll-margin-top:24px}.app-card.is-current-device{border-color:#608932}.app-device{color:var(--app-accent)!important;font-size:12px;letter-spacing:1.5px}.app-card ol,.app-dialog ol{padding-left:23px;margin:16px 0}.app-card li,.app-dialog li{padding:4px 0 4px 5px}.app-small{font-size:14px!important}.app-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--app-line);padding:30px 0}.app-info h2{font-size:20px}.app-info p{font-size:14px}
.app-dialog{background:var(--app-panel);border:1px solid var(--app-line);border-radius:16px;color:var(--app-text);padding:26px;width:min(530px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 100px #0009;font:16px/1.6 SirhozApp,Arial,sans-serif}.app-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.app-dialog h2{font-size:24px;margin:8px 36px 18px 0}.app-dialog p{color:var(--app-muted)}.app-dialog .app-close{position:absolute;right:12px;top:12px;background:transparent;border:0;color:var(--app-text);font-size:28px;width:44px;height:44px}
.app-notice{position:fixed;z-index:95;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(580px,calc(100% - 24px));border:1px solid var(--app-line);border-radius:12px;padding:16px;background:#0b1714;box-shadow:0 10px 40px #0009;color:var(--app-text);font:14px/1.5 SirhozApp,Arial,sans-serif}.app-notice p{margin:0 0 10px}.app-notice button{border:1px solid var(--app-line);border-radius:6px;padding:8px 14px;color:var(--app-text);background:#14281d;min-height:44px;margin:0 8px 0 0}.app-notice button:first-of-type{color:#101b07;background:var(--app-accent)}.app-offline-status{background:#172519;color:#d9e9dd;border-bottom:1px solid #466047;padding:12px max(4%,env(safe-area-inset-left));font:14px/1.5 SirhozApp,Arial,sans-serif}
.app-dock{display:none}.app-standalone{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.app-standalone .app-install-link,.app-standalone #install-app{display:none!important}
@media(max-width:760px){.app-main{margin-top:30px}.app-intro{align-items:flex-start;gap:18px}.app-intro>img{width:76px;height:76px;border-radius:18px}.app-main h1{font-size:32px;letter-spacing:-.7px}.app-top{padding-block:16px}.app-top nav{gap:14px}.app-install-grid,.app-info{grid-template-columns:1fr;gap:16px}.app-card{padding:23px}body.app-standalone{padding-bottom:calc(88px + env(safe-area-inset-bottom))}body.app-standalone.player-open{padding-bottom:calc(300px + env(safe-area-inset-bottom))}.app-standalone .app-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;z-index:75;bottom:0;left:0;right:0;gap:4px;background:#08120ff5;border-top:1px solid #284137;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));backdrop-filter:blur(16px)}.app-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:4px;border-radius:8px;color:#adc0b6;text-decoration:none;font:14px/1.25 SirhozApp,Arial,sans-serif}.app-dock a[aria-current]{color:#bafa60;background:#182d1d}.app-dock svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-standalone.beat-store .player{bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.app-intro{display:block}.app-intro>img{margin-bottom:18px}.app-wordmark{font-size:22px}}[hidden].app-notice,[hidden].app-offline-status{display:none!important}
