*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-optical-sizing:auto;color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#f5f0e8;flex-direction:column;min-height:100dvh;font-family:Libre Baskerville,serif;display:flex}a{color:inherit;text-decoration:none}.header{z-index:10;background:#1a1a1a;border-bottom:2px solid #111;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:sticky;top:0}.header-logo{color:#f5f0e8;letter-spacing:.05em;font-family:inherit;font-size:1.25rem;font-weight:700;text-decoration:none}.header-right{align-items:center;gap:.75rem;display:flex}.header-action{color:#f5f0e8;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #555;border-radius:0;align-items:center;min-height:44px;padding:.5rem .875rem;font-family:inherit;font-size:.75rem;text-decoration:none;display:flex}.main{flex:1}.content-wrap{width:100%;max-width:720px;margin:0 auto;padding:1.25rem 1rem}.section-header{border-bottom:2px solid #1a1a1a;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.section-header h2{letter-spacing:.03em;font-size:1.375rem;font-weight:700}.input{color:#1a1a1a;background:#faf8f4;border:1px solid #c8bfa8;border-radius:0;outline:none;width:100%;min-height:48px;padding:.75rem;font-family:inherit;font-size:1rem}.input:focus{border-color:#1a1a1a}.btn{color:#f5f0e8;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#1a1a1a;border:none;border-radius:0;justify-content:center;align-items:center;min-height:48px;padding:.75rem;font-family:inherit;font-size:.875rem;font-weight:600;display:flex}.btn:disabled{opacity:.4;cursor:default}.btn-ghost{color:#666;background:0 0;border:1px solid #c8bfa8;min-height:36px;padding:.5rem .75rem;font-size:.75rem}.btn-danger{color:#aaa;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;min-height:36px;padding:.5rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600}.btn-danger:hover{color:#8b2020}.btn-inline{color:#888;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;min-height:36px;padding:.5rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600}.btn-inline:hover{color:#1a1a1a}.button-row{gap:.5rem;margin-top:.75rem;display:flex}.button-row .btn{flex:1}.login-container{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.login-form{background:#fff;border:1px solid #c8bfa8;flex-direction:column;gap:1rem;width:100%;max-width:360px;padding:2rem;display:flex}.login-title{text-align:center;letter-spacing:.05em;margin-bottom:.5rem;font-family:inherit;font-size:1.75rem;font-weight:700}.login-error{color:#8b2020;background:#f8e8e8;border-left:3px solid #8b2020;padding:.625rem .875rem;font-size:.875rem;display:none}.login-message{color:#1a6b1a;background:#e8f8e8;border-left:3px solid #1a6b1a;padding:.625rem .875rem;font-size:.875rem;display:none}.tracker-list{flex-direction:column;gap:0;display:flex}.tracker-card{-webkit-tap-highlight-color:transparent;color:inherit;cursor:pointer;background:#fff;border-bottom:1px solid #d5cfc3;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;text-decoration:none;display:flex}.tracker-card:first-child{border-top:1px solid #d5cfc3}.tracker-card:hover{background:#f0ebe0}.tracker-info{flex:1;min-width:0}.tracker-title{margin-bottom:.25rem;font-size:1rem;font-weight:700}.tracker-total{color:#888;font-size:.8125rem;font-style:italic}.tracker-actions{flex-shrink:0}.create-section{margin-top:2rem}.create-form{background:#fff;border:1px solid #c8bfa8;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.detail-wrap{width:100%;max-width:720px;margin:0 auto;padding:1rem}.back-link{color:#888;letter-spacing:.02em;align-items:center;min-height:44px;margin-bottom:.5rem;padding:.5rem 0;font-size:.875rem;display:flex}.back-link:hover{color:#1a1a1a}.total-card{background:#fff;border:1px solid #c8bfa8;margin-bottom:1.25rem;padding:1.5rem}.total-label{color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.75rem}.total-value{word-break:break-all;font-size:2.5rem;font-weight:700}.controls-card{background:#fff;border:1px solid #c8bfa8;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.events-section{margin-top:.5rem}.event-list{flex-direction:column;gap:0;display:flex}.event-item{background:#fff;border-bottom:1px solid #d5cfc3;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:1rem;display:flex}.event-item:first-child{border-top:1px solid #d5cfc3}.event-item:hover{background:#f0ebe0}.event-details{flex:1;min-width:0}.event-time{color:#888;font-size:.75rem;font-style:italic}.event-note{color:#555;word-break:break-word;margin-top:.25rem;font-size:.875rem}.event-value{white-space:nowrap;font-size:1.125rem;font-weight:700}.event-value.positive{color:#1a1a1a}.event-value.negative{color:#8b2020}.event-actions{align-items:center;gap:0;display:flex}.empty-state{color:#999;text-align:center;padding:3rem 1rem;font-size:1rem;font-style:italic}.loading{text-align:center;color:#999;padding:2rem;font-style:italic}.error{text-align:center;color:#8b2020;padding:2rem}.error-page{text-align:center;justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.error-card{background:#fff;border:1px solid #c8bfa8;width:100%;max-width:400px;padding:3rem 2rem}.error-code{color:#1a1a1a;margin-bottom:.5rem;font-size:4rem;font-weight:700}.error-title{margin-bottom:.5rem;font-size:1.25rem}.error-text{color:#888;margin-bottom:1.5rem;font-size:.875rem;font-style:italic}.error-card .btn{text-decoration:none;display:inline-flex}.edit-input{color:#1a1a1a;background:0 0;border:none;border-bottom:1px solid #c8bfa8;outline:none;width:100%;padding:.25rem 0;font-family:inherit;font-size:.875rem}.edit-input:focus{border-bottom-color:#1a1a1a}.edit-value-input{color:#1a1a1a;text-align:right;background:0 0;border:none;border-bottom:1px solid #c8bfa8;outline:none;width:80px;padding:.25rem 0;font-family:inherit;font-size:1.125rem}.edit-value-input:focus{border-bottom-color:#1a1a1a}@media (width>=480px){.header{padding:.75rem 1.5rem}.content-wrap,.detail-wrap{padding:1.5rem}.total-card{padding:1.75rem}.login-form{padding:2.5rem}.input{min-height:44px;padding:.625rem .75rem;font-size:.875rem}.btn{min-height:44px;padding:.625rem;font-size:.8125rem}.tracker-card{padding:1rem 1.25rem}}@media (width>=768px){.section-header h2{font-size:1.625rem}.total-value{font-size:3rem}}
