@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600&display=swap";body{margin:0}:root{--bg: #f3efe6;--bg-2: #e8e1d2;--ink: #1c1914;--muted: #6b6458;--panel: #fffdf8;--line: #d9d0bf;--green: #1a6b4a;--green-soft: #e4f2eb;--amber: #c45c26;--red: #a33b2b;--shadow: 0 4px 16px rgba(40, 30, 10, .06);font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#fff8e8 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#dfeee6 0%,transparent 50%),var(--bg);line-height:1.3;font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;max-width:100%;overflow-x:hidden}body{min-width:0}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.02em;margin:0}h1{font-size:1.15rem}h2{font-size:.95rem}p{margin:0}.app{width:min(1100px,100%);max-width:100%;margin:0 auto;padding-inline:.375rem;display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;overflow-x:clip;min-width:0}.app__primary{height:100vh;height:100svh;max-height:100svh;display:flex;flex-direction:column;gap:.35rem;padding:.35rem 0 .25rem;overflow:hidden;min-width:0;max-width:100%}.app__secondary{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.75rem;min-width:0;max-width:100%}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.brand{display:flex;align-items:baseline;gap:.35rem;min-width:0}.brand__mark{font-family:Fraunces,Georgia,serif;font-size:1.15rem;color:var(--green);white-space:nowrap}.brand__name{font-size:.7rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.product-select{display:flex;flex-direction:row;align-items:center;gap:.35rem;min-width:0;flex:1 1 auto}.product-select select{max-width:100%;min-width:0;width:auto;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:.95rem;letter-spacing:-.02em;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;padding:.2rem .4rem;line-height:1.25}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.position-form input,.btn{font:inherit}.position-form input,.chart-range select{border:1px solid var(--line);background:#fff;border-radius:6px;padding:.25rem .4rem;color:var(--ink);font-size:.8rem}.price-header,.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:.45rem .55rem;min-width:0;max-width:100%}.price-header{flex-shrink:0}.price-header.error{border-color:#e4b4ab;background:#fff5f2}.price-header__top{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem .55rem;min-width:0}.price-header__time{flex-shrink:0;font-variant-numeric:tabular-nums;white-space:nowrap}.eyebrow{font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.35rem}.price-card{background:var(--bg);border-radius:8px;padding:.35rem .45rem;display:flex;flex-direction:column;gap:.05rem;min-width:0}.price-card.accent{background:var(--green-soft)}.price-card strong{font-size:.95rem;font-variant-numeric:tabular-nums;line-height:1.2}.price-card .delta{font-size:.7rem}.extremes{margin-top:.2rem;padding-top:.2rem;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:.1rem}.extremes__row{margin:0;display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;gap:.25rem .35rem;font-size:.8rem;font-variant-numeric:tabular-nums;line-height:1.35;min-width:0}.extremes__tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}.extremes__row b{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.extremes__time{white-space:nowrap;font-size:.75rem}.label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.muted{color:var(--muted);font-size:.75rem}.center{text-align:center;padding:1rem}.up{color:var(--green);font-variant-numeric:tabular-nums}.down{color:var(--red);font-variant-numeric:tabular-nums}.inline-error{margin-top:.25rem;color:var(--red);font-size:.75rem}.panel__head{margin-bottom:.3rem}.panel__head.row{display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}.chart-panel{flex:1;min-height:0;display:flex;flex-direction:column}.chart-range{display:flex;flex-direction:row;align-items:center;gap:.35rem;font-size:.7rem;color:var(--muted)}.chart-range select{min-width:5.5rem}.chart-wrap{flex:1;min-height:0;min-width:0;max-width:100%;position:relative;overflow:hidden}.chart-wrap>canvas,.chart-wrap>div{height:100%!important}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.5rem;min-width:0;max-width:100%}.position-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem;min-width:0;width:100%}.position-form label{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--muted);min-width:0}.position-form input{width:100%;max-width:100%;min-width:0}.position-form input[type=datetime-local]{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.position-form input[type=datetime-local]::-webkit-calendar-picker-indicator{margin-left:0;flex-shrink:0}.position-form input[type=datetime-local]::-webkit-datetime-edit{min-width:0;overflow:hidden}.position-form button{grid-column:1 / -1;width:100%}.btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.3rem .65rem;cursor:pointer;color:var(--ink);font-size:.75rem;transition:transform .15s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.ghost{background:transparent}.btn.danger{color:var(--red);border-color:transparent;padding:.2rem .4rem}.actions{display:flex;gap:.25rem}.file-btn{display:inline-flex;align-items:center}.table-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}table{width:100%;max-width:none;border-collapse:collapse;font-size:.75rem;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:.3rem .25rem;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.65rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.note{color:var(--muted);font-size:.7rem}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.5rem;padding-top:.45rem;border-top:1px dashed var(--line)}.summary strong{display:block;margin-top:.05rem;font-size:.9rem}.footer{text-align:center;color:var(--muted);font-size:.7rem;padding:.15rem 0 .35rem}.header-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:auto}.notify-btn--on{border-color:var(--green);color:var(--green);background:var(--green-soft)}.price-toast{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:.55rem;max-width:calc(100% - 1.5rem);padding:.7rem 1rem;border-radius:12px;background:#1c1914;color:#fffdf8;box-shadow:0 10px 30px #00000040;font-size:.9rem;font-variant-numeric:tabular-nums;cursor:pointer;animation:toast-in .25s ease}.price-toast__label{flex-shrink:0;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#9ddeb8}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.gh-auth{display:flex;align-items:center;gap:.35rem}.gh-auth__user{display:inline-flex;align-items:center;gap:.3rem;max-width:9rem}.gh-auth__avatar{width:1.15rem;height:1.15rem;border-radius:999px;flex-shrink:0}.gh-auth__login{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1c191473;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.modal h2{font-size:1.05rem}.gh-steps{margin:0;padding-left:1.15rem;font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:.25rem}.gh-steps a{color:var(--green)}.gh-login-form{display:flex;flex-direction:column;gap:.45rem}.gh-login-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--muted)}.gh-login-form input{border:1px solid var(--line);background:#fff;border-radius:6px;padding:.4rem .5rem;color:var(--ink);font:inherit;font-size:.85rem}.modal__actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.15rem}.sync-banner{margin:0;padding:.35rem .5rem;background:#fff5f2;border:1px solid #e4b4ab;border-radius:8px}code{font-size:.85em;background:var(--bg-2);padding:.05rem .25rem;border-radius:4px}@media (max-width: 860px){.grid-2,.summary,.position-form{grid-template-columns:minmax(0,1fr)}.app__primary{min-width:0;max-width:100%}.price-header__top:has(.product-select){display:flex;flex-wrap:nowrap;align-items:center;gap:.3rem .4rem}.price-header__top>.header-actions{margin-left:0}.price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card.accent{display:none}.price-card strong{font-size:.9rem}.extremes__row{font-size:.78rem}.brand__name{display:none}.product-select{flex:1 1 auto;min-width:0}.product-select select{width:100%;font-size:.85rem}.header-actions{flex-wrap:nowrap;justify-content:flex-end}.gh-auth__login{display:none}}@media (max-width: 480px){.app__primary{gap:.25rem;padding:.25rem 0 .15rem}.price-header{padding:.3rem .4rem}.price-header__top{gap:.25rem .3rem}.price-header__time{font-size:.7rem}.product-select select{font-size:.8rem}.price-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin-top:.25rem}.price-card{padding:.3rem .4rem}.price-card>p{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .35rem;margin:0}.price-card strong{font-size:.88rem}.price-card .delta{font-size:.65rem}.extremes{display:flex}.extremes__row{grid-template-columns:1.75rem minmax(0,1fr);font-size:.72rem;gap:.1rem .25rem}.extremes__time{grid-column:2;font-size:.68rem}.chart-panel{min-height:0}.chart-panel .panel__head{margin-bottom:.15rem}.header-actions .btn{padding:.25rem .5rem}}
