:root{--bg:#0d1214;--panel:#11171a;--ring:#1f2a2f;--text:#d2dde2;--muted:#8ea0a7;--teal:#11cfc5;--teal-press:#0eb4ab}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,Segoe UI,Roboto,Inter,Arial}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.back-btn{width:36px;height:36px;display:grid;place-items:center;color:var(--text);opacity:.9;background:transparent;border:none;border-radius:999px}.back-btn:hover{background:#ffffff0a}.title{margin:0;font-weight:700;font-size:20px}.actions{display:flex;gap:18px;padding:22px 20px 8px}.icon-btn{width:58px;height:58px;border-radius:999px;background:transparent;border:1.5px solid rgba(255,255,255,.08);display:grid;place-items:center;color:var(--text);opacity:.92;transition:transform .08s ease,border-color .15s ease,box-shadow .15s ease}.icon-btn:hover{border-color:#ffffff29}.icon-btn:active{transform:scale(.97)}.icon-btn.active{border-color:var(--teal);box-shadow:0 0 0 3px #11cfc51f;color:var(--teal)}.target-wrap{text-align:center;margin-top:8px;margin-bottom:10px}.target-icon{font-size:22px;opacity:.9;margin-bottom:2px}.target-title{letter-spacing:.12em;font-size:13px;color:var(--muted)}.target-value{color:var(--teal);font-weight:800;font-size:28px;margin-top:2px}.tap-wrap{display:grid;place-items:center;margin-top:10px}.tap-ring{width:310px;height:310px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:14px solid var(--ring);background:radial-gradient(ellipse at center,#ffffff05,#fff0 60%);transition:transform .06s ease,border-color .15s ease}.tap-ring:active{transform:scale(.995)}.tap-ring.done{border-color:#11cfc54d;box-shadow:0 0 0 4px #11cfc514 inset}.tap-inner{text-align:center}.tap-text{display:block;font-size:21px;opacity:.85;color:#8ea0a7}.count{margin-top:8px;font-size:15px;color:var(--muted)}.backdrop{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{position:fixed;left:50%;transform:translate(-50%);bottom:14px;width:min(560px,92%);background:var(--panel);border-radius:22px;border:1px solid rgba(255,255,255,.06);padding:18px 16px 16px;box-shadow:0 18px 60px #00000080}.sheet-title{font-weight:800;font-size:18px;margin-bottom:4px}.sheet-subtitle{color:var(--muted);font-size:14px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pill{padding:16px 0;border-radius:16px;border:1.5px solid rgba(255,255,255,.08);background:transparent;color:var(--text);font-weight:700;font-size:18px;transition:background .15s ease,color .15s ease,border-color .15s ease}.pill:hover{border-color:#ffffff29}.pill.selected{background:#11cfc51f;border-color:var(--teal);color:var(--teal)}.custom-row{margin-top:10px}.custom-input{width:100%;padding:14px;border-radius:14px;background:#0c1113;border:1.5px solid rgba(255,255,255,.08);color:var(--text);font-size:16px;outline:none}.custom-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #11cfc51f}.primary{margin-top:14px;width:100%;padding:16px 0;border:none;border-radius:16px;background:var(--teal);color:#051013;font-weight:900;font-size:16px;letter-spacing:.05em;cursor:pointer;transition:filter .12s ease,transform .06s ease}.primary:active{transform:scale(.998)}.primary:hover{filter:brightness(.98)}.footnote{margin-top:auto;padding:14px 16px;color:var(--muted);font-size:12px;opacity:.85;text-align:center}
