:root{--night:#1E2A44;--milk:#F4EEE4;--champ:#C8A582;--dch:#7A5C3E;--grey:#4A5470;--line:#DCD1C0;--sand:#E6DCCD;--soft:#B9C0CF;--ok:#2E6B4F;--bad:#8A3B2E}
*{box-sizing:border-box}
html,body{margin:0;background:var(--milk);color:var(--night);font:300 15px/1.4 'Jost',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
#app{min-height:100vh;padding-bottom:84px}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.lbl{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dch)}
.hero{background:var(--night);color:var(--milk);padding:18px 20px 22px;display:flex;flex-direction:column;gap:14px}
.logo b{display:block;font-weight:300;font-size:22px;letter-spacing:.24em}.logo i{display:block;font-style:normal;font-size:8px;letter-spacing:.42em;color:var(--champ)}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.next{border:1px solid var(--champ);padding:14px;display:flex;flex-direction:column;gap:6px}
.btn{min-height:46px;border:0;background:var(--night);color:var(--milk);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;padding:0 16px;width:100%}
.btn.light{background:var(--milk);color:var(--night)}.btn.line{background:transparent;color:var(--night);border:1px solid var(--night)}
.wrap{padding:14px 20px;display:flex;flex-direction:column;gap:12px}
.tile{background:#fff;border:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.card{background:var(--night);color:var(--milk);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:var(--champ)}
.lv{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line);align-items:baseline}
.lv.on{background:var(--night);color:var(--milk);border:0}
.visit{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:11px 0;border-top:1px solid var(--line)}
.head{padding:14px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);font-size:16px;font-weight:400}
.chip{min-height:40px;padding:0 14px;border:1px solid var(--line);background:#fff;color:var(--night)}
.chip.on{background:var(--night);color:var(--milk);border-color:var(--night)}
details{background:#fff;border:1px solid var(--line);padding:0 14px}summary{min-height:46px;display:flex;align-items:center;font-size:15px;font-weight:400}
details ul{margin:0 0 12px;padding-left:18px;font-size:14px}
.demo{background:var(--champ);color:var(--night);font-size:12px;text-align:center;padding:6px}
textarea,input[type=text]{font:inherit;border:1px solid var(--line);background:#fff;padding:10px;color:var(--night);width:100%}
#nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--line);padding:6px 0 calc(10px + env(safe-area-inset-bottom));font-size:11px}
#nav a{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:60px;min-height:44px;justify-content:center;color:var(--grey)}
#nav a.on{color:var(--night);font-weight:500}
