.tj-app{--tj-brand:#0f9d78;--tj-brand-dark:#0b7a5d;--tj-brand-soft:#e6f7f1;--tj-ink:#0f1e1a;--tj-muted:#6b7f79;--tj-line:#e4ebe8;--tj-bg:#f6f8f7;background:var(--tj-bg);color:var(--tj-ink);overscroll-behavior:none;flex-direction:column;display:flex;position:fixed;inset:0}.tj-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;padding-bottom:1rem;overflow-y:auto}.tj-scroll::-webkit-scrollbar{background:0 0;width:0}.tj-grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.tj-card{border:1.5px solid var(--tj-line);text-align:left;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:14px;padding:.7rem .6rem;transition:border-color .15s,background .15s,transform .1s}.tj-card:active{transform:scale(.97)}.tj-card[data-on="1"]{border-color:var(--tj-brand);background:var(--tj-brand-soft)}.tj-ico{width:34px;height:34px;color:var(--tj-muted);background:#f0f4f2;border-radius:10px;justify-content:center;align-items:center;margin-bottom:.4rem;display:flex}.tj-card[data-on="1"] .tj-ico{background:var(--tj-brand);color:#fff}.tj-pill{border:1.5px solid var(--tj-line);text-align:left;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:12px;align-items:center;gap:.5rem;width:100%;padding:.7rem .8rem;font-size:.86rem;transition:border-color .15s,background .15s,transform .1s;display:flex}.tj-pill:active{transform:scale(.98)}.tj-pill[data-on="1"]{border-color:var(--tj-brand);background:var(--tj-brand-soft)}.tj-dot{border:2px solid #c6d3ce;border-radius:999px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;display:flex}.tj-pill[data-on="1"] .tj-dot{border-color:var(--tj-brand)}.tj-pill[data-on="1"] .tj-dot:after{content:"";background:var(--tj-brand);border-radius:999px;width:8px;height:8px}.tj-box{border:2px solid #c6d3ce;border-radius:5px;flex:none;justify-content:center;align-items:center;width:17px;height:17px;display:flex}.tj-pill[data-on="1"] .tj-box{border-color:var(--tj-brand);background:var(--tj-brand)}.tj-input{border:1.5px solid var(--tj-line);width:100%;color:var(--tj-ink);background:#fff;border-radius:12px;outline:none;padding:.72rem .85rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.tj-input:focus{border-color:var(--tj-brand);box-shadow:0 0 0 3px #0f9d7821}.tj-input::placeholder{color:#9fb0ab}.tj-label{margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.tj-hint{color:var(--tj-muted);margin-top:.25rem;font-size:.72rem}.tj-sheet{background:#fff;border-radius:18px;margin:0 .6rem;padding:.9rem .85rem 1.1rem;box-shadow:0 1px 3px #0f1e1a0d}.tj-bar{border-top:1px solid var(--tj-line);padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:#fff;flex:none;align-items:center;gap:.5rem;display:flex}.tj-btn{background:var(--tj-brand);color:#fff;-webkit-tap-highlight-color:transparent;border:none;border-radius:13px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1rem;font-size:.95rem;font-weight:700;transition:transform .1s,opacity .15s;display:flex}.tj-btn:active{transform:scale(.98)}.tj-btn:disabled{opacity:.6}.tj-btn-ghost{border:1.5px solid var(--tj-line);width:46px;height:46px;color:var(--tj-ink);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:13px;flex:none;justify-content:center;align-items:center;display:flex}.tj-btn-ghost:active{transform:scale(.96)}.tj-seg{background:#dde7e3;border-radius:999px;flex:1;height:3px;overflow:hidden}.tj-seg>i{background:var(--tj-brand);border-radius:999px;height:100%;transition:width .35s;display:block}.tj-chipbtn{border:1.5px solid var(--tj-line);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:999px;padding:.5rem .8rem;font-size:.78rem;font-weight:600}.tj-chipbtn[data-on="1"]{border-color:var(--tj-brand);background:var(--tj-brand-soft);color:var(--tj-brand-dark)}@media (min-width:640px){.tj-app{min-height:100dvh;position:static}.tj-scroll{overflow:visible}.tj-sheet{max-width:640px;margin:0 auto;padding:1.5rem}.tj-bar{position:sticky;bottom:0}.tj-grid2{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}}
