*{box-sizing:border-box}body,html{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.estimaider,body,html{font-family:JetBrains Mono,monospace;background:#f4f1ea;color:#1a1a1a}.estimaider{min-height:100vh;padding:32px 20px 80px;position:relative;overflow-x:hidden}.estimaider:before{content:"";position:fixed;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 0),linear-gradient(180deg,rgba(0,0,0,.04) 1px,transparent 0);background-size:24px 24px;pointer-events:none;z-index:0}.est-wrap{max-width:760px;margin:0 auto;position:relative;z-index:1}.est-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:56px}.est-logo{font-family:Fraunces,serif;font-weight:800;font-size:28px;letter-spacing:-.02em;font-style:italic;background:none;border:none;padding:0;cursor:pointer;color:inherit;transition:opacity .15s}.est-logo:hover{opacity:.7}.est-logo span{color:#c0392b}.est-hero{font-family:Fraunces,serif;font-weight:400;font-size:clamp(36px,6vw,64px);line-height:1.05;letter-spacing:-.03em;margin:0 0 8px}.est-hero em{font-style:italic;color:#c0392b;font-weight:600}.est-sub{font-size:13px;color:#555;margin:0 0 32px;max-width:520px;line-height:1.5}.est-input-row{display:flex;gap:0;border:2px solid #1a1a1a;background:#fff;margin-bottom:14px;box-shadow:6px 6px 0 #1a1a1a;transition:transform .1s,box-shadow .1s}.est-input-row:focus-within{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #c0392b}.est-input{flex:1 1;border:none;outline:none;padding:20px 22px;font-family:JetBrains Mono,monospace;font-size:16px;background:transparent;color:#1a1a1a;min-width:0}.est-input::placeholder{color:#999}.est-go{border:none;background:#1a1a1a;color:#f4f1ea;font-family:JetBrains Mono,monospace;font-weight:700;font-size:14px;padding:0 28px;cursor:pointer;letter-spacing:.1em;transition:background .15s}.est-go:hover:not(:disabled){background:#c0392b}.est-go:disabled{opacity:.5;cursor:wait}.est-controls{display:flex;gap:12px;margin-bottom:8px;flex-wrap:wrap;align-items:center}.est-ctrl{display:flex;flex-direction:column;gap:4px}.est-ctrl-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#777;font-weight:700}.est-select{background:#fff;border:2px solid #1a1a1a;font-family:JetBrains Mono,monospace;font-size:12px;color:#1a1a1a;cursor:pointer;letter-spacing:.02em;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%231a1a1a' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding:8px 28px 8px 12px}.est-loading{margin-top:48px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#555;display:flex;align-items:center;gap:12px}.est-dot{width:8px;height:8px;background:#c0392b;border-radius:50%;animation:estPulse 1s ease-in-out infinite}@keyframes estPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.4}}.est-error{margin-top:32px;padding:16px 20px;border:2px solid #c0392b;background:#fdf2f0;font-size:13px;color:#c0392b}.est-result{margin-top:48px;animation:estSlideIn .3s ease-out}@keyframes estSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.est-result-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px;padding-bottom:16px;border-bottom:2px solid #1a1a1a;gap:16px}.est-result-title{font-family:Fraunces,serif;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.est-result-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.est-result-unit{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700;background:#1a1a1a;color:#f4f1ea;padding:6px 14px;letter-spacing:.05em;white-space:nowrap}.est-result-region{font-size:10px;color:#555;letter-spacing:.1em;text-transform:uppercase}.est-assumptions{font-size:12px;color:#555;font-style:italic;margin:16px 0 28px;line-height:1.5;font-family:Fraunces,serif}.est-table{border:2px solid #1a1a1a;background:#fff;box-shadow:6px 6px 0 #1a1a1a}.est-table-head,.est-table-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center}.est-table-head{background:#1a1a1a;color:#f4f1ea;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.est-table-head>div{padding:12px 16px}.est-table-row{border-bottom:1px solid #e0dcd2}.est-table-row:last-child{border-bottom:none;background:#faf7f0;border-top:2px solid #1a1a1a}.est-table-row:last-child .est-row-label{color:#1a1a1a;font-weight:800}.est-table-row:last-child .est-rate{font-weight:700}.est-table-row>div{padding:18px 16px}.est-row-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555;font-weight:700}.est-rate{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:500;text-align:right}.est-rate-med{color:#c0392b;font-weight:700}.est-pound{color:#999;font-size:14px;margin-right:2px}.est-table-pcts{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;font-size:9px;letter-spacing:.1em;color:#999;text-transform:uppercase;margin-top:6px}.est-table-pcts>div{padding:0 16px;text-align:right}.est-table-pcts>div:first-child{text-align:left}.est-ohp-note{margin-top:10px;padding:8px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#c0392b;font-weight:700;border-left:2px solid #c0392b;background:rgba(192,57,43,.04)}.est-ohp-panel,.est-tpi-panel{margin-top:12px;padding:14px 16px;background:#ebe6da;border:1px dashed #999}.est-ohp-input{width:70px;background:#fff;border:2px solid #1a1a1a;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:#c0392b;text-align:right;outline:none}.est-ohp-input:focus{border-color:#c0392b}.est-ohp-input::-webkit-inner-spin-button,.est-ohp-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.est-tpi-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.15em}.est-tpi-toggle input{cursor:pointer;accent-color:#c0392b;width:14px;height:14px}.est-tpi-detail{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:11px}.est-tpi-result{margin-top:10px;padding-top:10px;border-top:1px solid #c8c2b3;font-size:11px;color:#444;font-family:JetBrains Mono,monospace}.est-tpi-result strong{color:#c0392b}.est-notes{margin-top:24px;padding:16px 20px;background:#ebe6da;border-left:3px solid #c0392b;font-size:12px;line-height:1.6;color:#333;font-family:Fraunces,serif}.est-notes strong{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-family:JetBrains Mono,monospace;color:#c0392b;display:block;margin-bottom:6px}.est-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.est-btn-ghost{background:transparent;border:2px solid #1a1a1a;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all .15s;color:#1a1a1a}.est-btn-active,.est-btn-ghost:hover{background:#1a1a1a;color:#f4f1ea}.est-sources-panel{margin-top:16px;padding:18px 22px;background:#fff;border:2px solid #1a1a1a;animation:estSlideIn .2s ease-out}.est-sources-title{font-family:Fraunces,serif;font-size:14px;font-weight:600;margin-bottom:10px;letter-spacing:-.01em}.est-sources-intro{font-size:11px;color:#555;font-family:Fraunces,serif;font-style:italic;margin-bottom:14px;line-height:1.5}.est-sources-list{list-style:none;padding:0;margin:0}.est-sources-list li{font-size:11px;padding:6px 0;border-top:1px dashed #d0ccc2;color:#1a1a1a;letter-spacing:.02em}.est-sources-list li:first-child{border-top:none}.est-foot{margin-top:64px;padding-top:24px;border-top:1px solid #d0ccc2;font-size:10px;color:#888;letter-spacing:.05em;line-height:1.7}.est-foot strong{color:#c0392b}@media (max-width:600px){.est-table-head,.est-table-pcts,.est-table-row{grid-template-columns:1fr 1fr 1fr 1fr}.est-rate{font-size:14px}.est-table-head{font-size:9px}.est-table-head>div,.est-table-row>div{padding:12px 8px}.est-result-head{flex-direction:column;gap:10px}.est-result-head,.est-result-meta{align-items:flex-start}}