.ft-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0;margin-top:10px;-webkit-overflow-scrolling:touch}
.ft-tab{flex:0 0 auto;min-height:44px;padding:8px 14px;background:#fff;color:#0f2a3d;border:1px solid #cfe6f8}
.ft-tab.on{background:#0d9488;color:#fff;border-color:#0d9488}
.ft-btn{min-height:44px;min-width:44px}
.ft-proto{background:#f5fbff;border:1px solid #cfe6f8;border-radius:10px;padding:10px 14px;margin:8px 0 14px}
.ft-proto summary{color:#0f2a3d;cursor:pointer;min-height:44px;display:flex;align-items:center}
.ft-proto ol,.ft-proto ul{margin:6px 0 6px 18px;padding:0}
.ft-safe{background:#fff7f0;border-left:4px solid #0d9488;border-radius:6px;padding:8px 12px;margin-top:8px}
.ft-clock{font-size:clamp(40px,14vw,72px);font-weight:800;text-align:center;color:#0f2a3d;font-variant-numeric:tabular-nums;margin:10px 0;letter-spacing:-.02em}
.ft-clock.on{color:#0d9488}
.ft-lap{display:flex;align-items:center;gap:12px}.ft-lap b{font-size:clamp(24px,8vw,34px);min-width:40px;text-align:center;color:#0f2a3d}
.ft-save{margin-top:14px;border-top:1px solid #e5e5e0;padding-top:12px}
.ft-prop{margin-top:10px}
.ft .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}
.ft h2,.ft h3{color:#0f2a3d}
@media (prefers-reduced-motion:reduce){.ft *{transition:none!important;animation:none!important}}
