:root{--ink: #16191d;--ink-soft: #5b616b;--line: #d9dce1;--page: #f3f5f6;--brand: #00695f;--brand-wash: #e3f1ef;--bad: #8a2018}*{box-sizing:border-box}body{margin:0;font:17px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--page);-webkit-tap-highlight-color:transparent}.vp{padding:20px 16px calc(40px + env(safe-area-inset-bottom))}.vp__inner{max-width:34rem;margin:0 auto}.vp__logo{display:block;height:34px;width:auto;margin:4px 0 18px}.vp h1{font-size:1.6rem;letter-spacing:-.01em;margin:0 0 14px}.vp__switch{font-size:.9rem;color:var(--ink-soft);margin:-8px 0 14px}.vp__switch .vp__link{font-size:.9rem}.vp__lead{color:var(--ink-soft);margin:0 0 24px}.vp__wait{color:var(--ink-soft);padding:60px 0;text-align:center}.vp__who{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;background:#fff;border-radius:16px;padding:14px 18px}.vp__who-label{font-size:.78rem;color:var(--ink-soft)}.vp__who-name{font-size:1.2rem;font-weight:650}.vp__who-date{text-align:right;flex-shrink:0}.vp__date-pick{margin-top:10px}.vp__q{background:#fff;border-radius:16px;padding:18px 16px;margin-top:14px}.vp__q h2{font-size:1.15rem;margin:0}.vp__hint{font-size:.85rem;color:var(--ink-soft);margin:2px 0 14px}.vp__q h2+.vp__tiles{margin-top:14px}.vp__sub{font-size:.9rem;color:var(--ink-soft);margin:12px 0 0}.vp__center{text-align:center}.vp__opt{font-weight:400;color:var(--ink-soft);font-size:.8rem;margin-left:4px}.vp__tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vp__tiles--three{grid-template-columns:repeat(3,1fr)}.vp__tiles--progress{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.vp__tile{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px;padding:10px 12px 10px 14px;font:inherit;font-size:.98rem;font-weight:600;line-height:1.25;text-align:left;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:background-color .12s,border-color .12s,transform .08s}.vp__tile:active{transform:scale(.97)}.vp__tile.is-on{border-color:var(--brand);background:var(--brand-wash);color:var(--brand)}.vp__tile--big{min-height:76px;justify-content:center;text-align:center}.vp__tile-title{font-size:1.1rem}.vp__tile--short{justify-content:center;text-align:center;min-height:54px;padding:8px}.vp__check{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center}.vp__check svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}.vp__tile.is-on .vp__check{background:var(--brand);border-color:var(--brand)}.vp__tile.is-on .vp__check svg{opacity:1}.vp__tile--progress{flex-direction:column;justify-content:center;text-align:center;min-height:96px;padding:12px 6px;font-size:.9rem;color:var(--ink-soft)}.vp__tile--progress svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.vp__tile--progress.is-on.is-improving{color:#1d7a3e;border-color:#1d7a3e;background:#e7f4ec}.vp__tile--progress.is-on.is-stable{color:#33567a;border-color:#33567a;background:#e9eff6}.vp__tile--progress.is-on.is-worse{color:#9a5a00;border-color:#b36b00;background:#fbf0df}.vp__tile--progress.is-on.is-achieved{color:var(--brand);border-color:var(--brand);background:var(--brand-wash)}.vp__tile--progress.is-on.is-new_problem{color:var(--bad);border-color:var(--bad);background:#f8e7e5}.vp__label{display:block;font-size:.9rem;font-weight:600;margin:16px 0 6px}.vp__about .vp__label:first-of-type{margin-top:0}.vp__input{width:100%;font:inherit;color:inherit;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:#fff}.vp__input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}textarea.vp__input{resize:vertical}.vp__note{font-size:.85rem;color:var(--ink-soft);margin:18px 4px 0}.vp__error{color:var(--bad);margin:14px 4px 0}.vp__btn{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));width:100%;margin-top:18px;font:inherit;font-weight:650;font-size:1.05rem;padding:17px;border:0;border-radius:14px;background:var(--brand);color:#fff;box-shadow:0 6px 18px #00695f40}.vp__btn[disabled]{opacity:.45;box-shadow:none}.vp__tick{width:72px;height:72px;border-radius:50%;background:var(--brand-wash);display:grid;place-items:center;margin:28px 0 16px}.vp__tick svg{width:40px;height:40px;fill:none;stroke:var(--brand);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.vp__link{font:inherit;font-size:.95rem;color:var(--brand);font-weight:600;background:none;border:0;padding:2px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
