:root{--paper: #ffffff;--canvas: #f1f2eb;--ink: #2b2926;--sub: #6f6b64;--faint: #a39e95;--line: #d8d3ca;--line2: #cac5bc;--fill: #e4e6db;--fill-deep: #dcdfd2;--accent: #e23b6a;--accent-fg: #ffffff;--sans: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-family:var(--sans);color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;background:var(--paper);color:var(--ink);min-height:100dvh}a{color:var(--ink);text-decoration:none}input,select,textarea{font:inherit;color:inherit;background:var(--paper);border:1.5px solid var(--line2);border-radius:8px;padding:10px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}.app-shell{max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background-color:var(--canvas);background-image:linear-gradient(rgba(43,41,38,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(43,41,38,.06) 1px,transparent 1px);background-size:16px 16px}@media all and (display-mode: standalone){.app-shell{height:100vh}}.appbar{flex:0 0 auto;padding:calc(env(safe-area-inset-top) + 10px) 16px 12px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.appbar:after{content:"";display:block;width:32px;height:32px;flex:0 0 auto;background-color:var(--ink);-webkit-mask:url(/orbital.gif) center / contain no-repeat;mask:url(/orbital.gif) center / contain no-repeat;transform:scale(1.45);transform-origin:center;margin-left:auto;margin-right:-6px}.appbar .title{font-size:19px;font-weight:700;letter-spacing:-.3px;color:var(--ink)}.appbar .sub{font-family:var(--mono);font-size:9.5px;color:var(--faint);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.page{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px 16px;-webkit-overflow-scrolling:touch}.page.no-pad{padding:0}.wf-scroll::-webkit-scrollbar{display:none}.nav{flex:0 0 auto;box-sizing:content-box;height:52px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper)}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--faint)}.nav a.active{color:var(--accent)}.nav a .label{font-family:var(--mono);font-size:8px;letter-spacing:.2px}
