:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f6f7fa;font-synthesis:none}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid #e4e8ed}.app-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.app-brand strong{font-size:17px;letter-spacing:-.02em}.app-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--app-theme,#172033);color:var(--app-contrast,#fff);font-size:11px;font-weight:900;letter-spacing:.08em}.app-header nav{display:flex;align-items:center;gap:6px;max-width:70vw;overflow:auto}.app-header nav a{padding:10px 13px;border-radius:12px;color:#526176;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}.app-header nav a:hover,.app-header nav a[aria-current=page]{color:#172033;background:#edf1f5}.app-content{width:100%;max-width:1248px;margin:0 auto;padding:32px 24px 64px}.app-content>*{display:block}.app-state{max-width:520px;margin:8vh auto;padding:40px;border:1px solid #e1e5eb;border-radius:24px;background:#fff;box-shadow:0 22px 60px #1720330a;text-align:center}.app-state h1{margin:0 0 12px;font-size:28px;letter-spacing:-.03em}.app-state p{margin:0;color:#667487;line-height:1.6}.app-footer{display:flex;justify-content:space-between;gap:16px;padding:20px max(24px,calc((100vw - 1200px)/2));border-top:1px solid #e4e8ed;color:#8792a1;font-size:12px}@media(max-width:720px){.app-header{align-items:flex-start;flex-direction:column;gap:14px;padding:14px 18px}.app-header nav{width:100%;max-width:100%;margin:0 -4px}.app-content{padding:24px 16px 48px}.app-state{padding:30px 24px}.app-footer{padding:18px}}@media(prefers-reduced-motion:no-preference){.app-header nav a{transition:background .15s,color .15s}}

.app-module-frame{display:block;width:100%;min-height:320px;border:0;background:transparent}.app-frame-root{min-height:240px;padding:8px}.app-frame-root .app-state{margin:4vh auto}
.app-install{border:1px solid var(--app-theme,#172033);border-radius:12px;background:var(--app-theme,#172033);color:var(--app-contrast,#fff);padding:10px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.app-install:hover{filter:brightness(.92)}.app-install-help{max-width:1248px;width:calc(100% - 48px);margin:12px auto 0;padding:14px 18px;border:1px solid #d8e1ea;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-install-help[hidden],.app-install[hidden]{display:none}.app-install-help p{margin:0;font-size:14px;line-height:1.5}.app-install-help button{border:0;background:transparent;color:#172033;text-decoration:underline;cursor:pointer}@media(max-width:720px){.app-install{align-self:flex-start}.app-install-help{width:calc(100% - 32px);align-items:flex-start;flex-direction:column}}
.app-shell{background:var(--app-background,#f6f7fa)}.app-header{background:#fff}.app-brand-copy{display:grid;gap:2px}.app-brand-copy small{font-size:11px;color:#687585;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-logo{width:44px;height:44px;object-fit:contain;border-radius:10px}.app-header nav a[aria-current=page]{color:var(--app-theme);background:color-mix(in srgb,var(--app-theme) 9%,white)}.app-content{max-width:1380px}.app-footer{background:#fff}
@media(max-width:720px){.app-header{gap:8px}.app-header nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;max-width:none;width:100%;margin:0;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4e8ed;box-shadow:0 -10px 30px #17203313;overflow-x:auto}.app-header nav a{flex:1;text-align:center;font-size:11px;padding:11px 8px;border-radius:10px}.app-shell{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.app-content{padding:15px 12px 30px}.app-footer{display:none}}
