:root{--acc:#3F7A6B;--accd:#2F6457;--accbg:#EEF5F2;--bg:#FCFCFA;--ink:#2B3236;--sub:#58636A;--line:#E3E7E4;--ff:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.55 var(--ff)}
body.shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
#app{flex:1;width:100%;border:0;display:block;background:var(--bg)}
#wait,#slow{position:fixed;inset:0 0 40px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);color:var(--sub);text-align:center;padding:24px}
#wait[hidden],#slow[hidden]{display:none}
#slow button{min-height:48px;padding:10px 22px;border:1px solid var(--acc);background:var(--acc);color:#fff;border-radius:12px;font:600 18px var(--ff)}
.logo{width:64px;height:64px;border-radius:16px;background:var(--accbg);color:var(--accd);border:1px solid #BFD3CC;font:600 24px/62px var(--ff);text-align:center}
.foot{display:flex;justify-content:center;gap:28px;padding:8px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}
.foot a{color:var(--sub);font-size:15px;text-decoration:none}
.page main{max-width:640px;margin:0 auto;padding:28px 22px 64px}
.page h1{font-size:28px;font-weight:600;margin:16px 0 8px}.page h2{font-size:20px;font-weight:600;margin:28px 0 6px}
.page a{color:var(--accd)}.page .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;background:var(--acc);color:#fff;border-radius:12px;text-decoration:none;font-weight:600}
.page .muted{color:var(--sub);font-size:16px}.page ul{padding-left:22px}.page li{margin:6px 0}
.page footer{border-top:1px solid var(--line);margin-top:36px;padding-top:14px;color:var(--sub);font-size:15px}
