:root{--color-primary:#1f2d24;--color-bg:#faf8f4;--color-accent:#e2683d;--color-secondary:#6b8f71;--color-surface:#fff;--color-border:#e4e0d8;--color-text:#1f2d24;--color-text-muted:#6b7280;--font-header:"Fraunces", Georgia, serif;--font-ui:"Inter", system-ui, sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 3px #1f2d2414;--shadow-md:0 4px 12px #1f2d241f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-ui);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.5}img,svg{max-width:100%;display:block}button{font-family:var(--font-ui);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-ui);font-size:1rem}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.page{flex:1;padding:0 1rem 6rem}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;width:100%;max-width:480px;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 0 8px;font-size:.65rem;font-weight:500;transition:color .15s;display:flex}.bottom-nav a.active{color:var(--color-primary)}.bottom-nav a svg{width:22px;height:22px}.page-header{justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem 0 1rem;display:flex}.page-header h1{font-family:var(--font-header);color:var(--color-primary);font-size:1.5rem;font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem}.card+.card{margin-top:.75rem}.btn{border-radius:var(--radius-sm);letter-spacing:.02em;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;width:100%}.btn-primary:hover:not(:disabled){opacity:.88}.btn-accent{background:var(--color-accent);color:#fff;width:100%}.btn-accent:hover:not(:disabled){opacity:.88}.btn-ghost{color:var(--color-primary);border:1.5px solid var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-border)}.btn-sm{padding:.45rem .9rem;font-size:.8rem}.field{flex-direction:column;gap:.4rem;display:flex}.field label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:600}.field input,.field textarea,.field select{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);-webkit-appearance:none;padding:.7rem .85rem;font-size:1rem;transition:border-color .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-secondary);outline:none}.field textarea{resize:vertical;min-height:80px}.tag{letter-spacing:.05em;border-radius:99px;align-items:center;padding:2px 7px;font-size:.68rem;font-weight:600;display:inline-flex}.tag-S{color:#2d5a35;background:#e8f0e9}.tag-G{color:#1e4d8c;background:#e6f0ff}.tag-B{color:#8c3d1e;background:#fff0e8}.pr-badge{background:var(--color-accent);color:#fff;letter-spacing:.05em;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.deload-banner{border-radius:var(--radius-sm);color:#7a4a18;background:#fff8f0;border:1.5px solid #f0c89a;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.instruction-box{border-left:3px solid var(--color-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-primary);background:#eef3ef;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.msg-error{border-radius:var(--radius-sm);color:#8b1f1f;background:#fee9e7;border:1px solid #f5c4bf;padding:.7rem 1rem;font-size:.875rem}.msg-info{border:1px solid var(--color-secondary);border-radius:var(--radius-sm);color:var(--color-primary);background:#eef3ef;padding:.7rem 1rem;font-size:.875rem}.rest-timer{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);text-align:center;padding:1.25rem}.rest-timer-count{font-family:var(--font-header);font-size:3rem;font-weight:600;line-height:1}.divider{background:var(--color-border);height:1px;margin:1rem 0}.tooltip-wrap{align-items:center;display:inline-flex;position:relative}.tooltip-content{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);z-index:200;width:260px;box-shadow:var(--shadow-md);pointer-events:none;padding:.6rem .85rem;font-size:.8rem;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-icon{width:16px;height:16px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}
