:root{--page: #e6ddd0;--surface: #f7f2ea;--card: #ffffff;--ink: #2b2520;--ink-soft: #6f6459;--muted: #8a7f74;--muted-2: #a99b8c;--faint: #c7bdae;--line: #ece5da;--line-card: #f3ece2;--line-row: #f6f1e9;--field: #e2d9cb;--dash: #d8cec0;--chip: #efe7db;--accent: #c85a34;--accent-ink: #a8472a;--accent-soft: #fbeee7;--good: #3f7d56;--good-soft: #e6efe4;--on-dark: #f7f2ea;--on-dark-soft: rgba(247, 242, 234, .62);--on-dark-faint: rgba(247, 242, 234, .5);--on-dark-line: rgba(247, 242, 234, .14);--sand: #c6a88f;--sans: "Be Vietnam Pro", system-ui, -apple-system, sans-serif;--mono: "DM Mono", ui-monospace, SFMono-Regular, monospace;--shell: 430px;--nav-h: 72px;--shadow-sm: 0 1px 2px rgba(43, 37, 32, .05);--shadow-card: 0 1px 2px rgba(43, 37, 32, .05), 0 6px 18px rgba(43, 37, 32, .04);--shadow-lift: 0 8px 22px rgba(43, 37, 32, .22);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{overscroll-behavior-y:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;margin:0;cursor:pointer;text-align:inherit}input{font-family:var(--sans);color:var(--ink)}h1,h2,h3,p{margin:0}.no-bar{scrollbar-width:none}.no-bar::-webkit-scrollbar{display:none}.rail{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.shell{position:relative;min-height:100dvh;max-width:var(--shell);margin:0 auto;background:var(--surface);display:flex;flex-direction:column}@media(min-width:480px){.shell{box-shadow:0 0 0 1px #2b252012,0 24px 60px #2b25201f}}.screen{flex:1;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 20px)}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--shell);z-index:20;display:flex;justify-content:space-around;padding:13px 0 calc(14px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:6px;width:90px;font:600 10.5px var(--sans);color:var(--muted-2)}.nav-item[aria-current=page]{color:var(--ink)}.nav-glyph{width:19px;height:19px;border-radius:6px;border:1.5px solid var(--muted-2)}.nav-glyph--round{border-radius:50%}.nav-item[aria-current=page] .nav-glyph{background:var(--accent);border-color:var(--accent)}.card{background:var(--card);border-radius:18px;padding:16px;box-shadow:var(--shadow-card)}.card--flat{box-shadow:var(--shadow-sm)}.card--dark{background:var(--ink);color:var(--on-dark);border-radius:18px;padding:17px}.eyebrow{font:500 10px var(--mono);letter-spacing:.1em;color:var(--muted-2)}.section-title{font:600 15px var(--sans)}.page-title{font:600 25px/1.1 var(--sans);letter-spacing:-.02em}.tag{padding:3px 9px;border-radius:100px;background:var(--line-card);font:500 10.5px var(--sans);color:var(--ink-soft);white-space:nowrap}.tag--accent{background:var(--accent-soft);color:var(--accent)}.tag--mono{font-family:var(--mono);background:var(--chip)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font:600 9.5px var(--sans);color:var(--ink-soft);flex:none}.crest{display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--line-card);font:600 9.5px var(--mono);color:var(--muted-2);flex:none}.btn{display:block;width:100%;padding:16px 0;text-align:center;border-radius:100px;font:600 14.5px var(--sans)}.btn--primary{background:var(--ink);color:var(--on-dark)}.btn--accent{background:var(--accent);color:#fff}.btn--ghost{background:var(--card);border:1.5px solid var(--field);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.field{width:100%;padding:14px 15px;border:1.5px solid var(--field);border-radius:14px;background:var(--card);font-size:14.5px;font-weight:500;outline:none}.field:focus-visible{border-color:var(--accent)}.stepper-btn{display:flex;align-items:center;justify-content:center;border-radius:9px;font:500 15px var(--mono);line-height:0;flex:none}:where(button,a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--good);animation:pulse 1.4s ease-in-out infinite;flex:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
