@import"https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700&family=Inter:wght@400;500;600;700&display=swap";html,body,#root{width:100%;min-height:100%}body{margin:0;min-width:320px}:root{--bg-main: #f8fafc;--bg-card: #ffffff;--bg-alt: #f1f5f9;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--brand-accent: #0f766e;--brand-accent-hover: #115e59;--profit-color: #15803d;--expense-color: #b71c1c;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-primary);font-family:Archivo,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.search-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1rem,3vw,2.5rem);background:radial-gradient(circle at 50% 10%,#fff,#f1f5f9)}.search-center{display:flex;align-items:center;justify-content:center;flex:1;width:100%}.search-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:clamp(16px,2.5vw,24px);box-shadow:var(--shadow-lg);padding:clamp(1.5rem,5vw,3.2rem) clamp(1.2rem,5vw,3rem);width:100%;max-width:580px;text-align:center}.brand{font-size:clamp(1.8rem,4.5vw,2.4rem);font-weight:900;color:var(--text-primary);letter-spacing:-.8px;line-height:1.15}.brand-sub{font-size:clamp(.9rem,2vw,1.05rem);color:var(--text-muted);margin-top:.35rem;margin-bottom:1.25rem;font-weight:500}.market-switch{display:inline-flex;gap:.35rem;background:#f1f5f9;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:.3rem;margin-bottom:1.25rem}.market-btn{border:none;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.82rem;letter-spacing:.3px;padding:.45rem 1rem;border-radius:var(--radius-pill);cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);touch-action:manipulation}.market-btn:hover{color:var(--text-primary);background:#e2e8f0}.market-btn.active{background:#0f172a;color:#fff;box-shadow:var(--shadow-sm)}.search-form{display:flex;flex-direction:column;gap:.85rem;width:100%}.ticker-input{width:100%;padding:.95rem 1.2rem;font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:700;letter-spacing:.5px;color:var(--text-primary);background:#fff;border:2px solid var(--border-strong);border-radius:var(--radius-md);outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.ticker-input:focus{border-color:#0f172a;box-shadow:0 0 0 3px #0f172a1a}.ticker-input::placeholder{font-weight:400;letter-spacing:0;color:#94a3b8;text-transform:none;font-size:.95rem}.company-search{position:relative;width:100%}.company-search__spinner{position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#0f172a;border-radius:50%;animation:cs-spin .6s linear infinite;pointer-events:none}@keyframes cs-spin{to{transform:translateY(-50%) rotate(360deg)}}.company-search__dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:300;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);list-style:none;margin:0;padding:.4rem 0;max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch}.company-search__option{display:flex;align-items:baseline;gap:.75rem;padding:.65rem 1rem;cursor:pointer;transition:background .12s ease;text-align:left}.company-search__option:hover,.company-search__option.active{background:#0f172a}.company-search__option:hover .company-search__ticker,.company-search__option.active .company-search__ticker{color:#fff}.company-search__option:hover .company-search__name,.company-search__option.active .company-search__name{color:#cbd5e1}.company-search__ticker{font-size:.92rem;font-weight:800;color:#0f172a;letter-spacing:.5px;min-width:3.8rem;flex-shrink:0}.company-search__name{font-size:.88rem;font-weight:500;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-btn{width:100%;padding:.95rem;font-size:1rem;font-weight:800;background:#0f172a;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;touch-action:manipulation}.search-btn:hover{background:#1e293b;transform:translateY(-1px)}.search-btn:active{transform:scale(.98)}.search-btn .arrow{display:inline-block;transition:transform .2s ease}.search-btn:hover .arrow{transform:translate(4px)}.error-box{display:flex;align-items:center;gap:.6rem;margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);text-align:left}.error-icon{font-size:1.1rem;flex-shrink:0}.error-text{color:#b91c1c;font-size:.88rem;font-weight:600;line-height:1.4}.quick-suggestions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin-top:1.25rem}.quick-label{font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.quick-tag{background:#f1f5f9;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:.22rem .65rem;font-size:.78rem;font-weight:700;color:#334155;cursor:pointer;transition:all .15s ease;font-family:inherit}.quick-tag:hover{background:#e2e8f0;color:#0f172a;border-color:#cbd5e1}.search-hint{margin-top:1.25rem;font-size:.8rem;color:#64748b;line-height:1.45}.search-footer{width:100%;max-width:800px;margin:0 auto;padding-top:1.5rem;padding-bottom:.5rem}.loading-card{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#0f172a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-size:1.3rem;font-weight:800;color:#0f172a}.loading-text{font-size:.95rem;color:#475569;max-width:380px;line-height:1.5}.app{display:flex;flex-direction:column;flex:1;padding:clamp(1rem,2.5vw,2rem) clamp(1rem,3.5vw,2.5rem);max-width:1680px;margin:0 auto;width:100%}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1.25rem;margin-bottom:1.25rem;flex-wrap:wrap}.header-left{display:flex;align-items:flex-start;gap:clamp(.75rem,2vw,1.5rem)}.back-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .95rem;font-size:.86rem;font-weight:700;color:#334155;background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:all .18s ease;font-family:inherit;white-space:nowrap;touch-action:manipulation}.back-btn:hover{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:var(--shadow-sm)}.header-info{display:flex;flex-direction:column;gap:.2rem}.title-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.ticker-title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;color:#0f172a;letter-spacing:-.8px;line-height:1}.market-badge{background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--radius-pill)}.company-name{font-size:clamp(.95rem,1.8vw,1.15rem);font-weight:700;color:#334155}.period-text{font-size:.85rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.header-actions{display:flex;align-items:center;gap:.75rem}.export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:800;background:#0f172a;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);font-family:inherit;white-space:nowrap}.export-btn:hover{background:#1e293b;transform:translateY(-1px);box-shadow:var(--shadow-md)}.metric-strip{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.25rem}.metric-chips{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.metric-chips-secondary{gap:.35rem}.metric-chip{display:inline-flex;align-items:baseline;gap:.3rem;background:#fff;border:1px solid var(--border-subtle);color:#334155;border-radius:var(--radius-pill);padding:.25rem .65rem;font-size:.76rem;font-weight:500;white-space:nowrap;box-shadow:0 1px 2px #0f172a0a}.metric-chip strong{font-weight:700;color:#0f172a}.metric-chip.secondary-chip{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.chips-toggle-btn{background:transparent;border:1px dashed var(--border-strong);color:#0f766e;font-size:.74rem;font-weight:700;border-radius:var(--radius-pill);padding:.22rem .6rem;cursor:pointer;font-family:inherit;transition:all .15s ease}.chips-toggle-btn:hover{background:#f0fdfa;border-color:#0f766e}.hint-banner{display:flex;align-items:center;gap:.5rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:.45rem .85rem;font-size:.8rem;color:#1e40af}.hint-icon{font-size:.95rem;flex-shrink:0}.hint-text{font-weight:600}.results-main{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start;position:relative}.results-main.with-guide-panel{grid-template-columns:minmax(0,1fr) 340px}.chart-container{width:100%;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(.75rem,2vw,1.75rem);position:relative;overflow:hidden}.sankey-chart-wrapper{width:100%;height:100%;position:relative}.sankey-loading-placeholder{display:flex;align-items:center;justify-content:center;min-height:480px;font-size:.95rem;color:var(--text-muted);font-weight:600}.mobile-scroll-hint{display:block;text-align:center;background:#f1f5f9;border-radius:var(--radius-pill);padding:.25rem .75rem;font-size:.74rem;font-weight:700;color:#475569;margin-bottom:.5rem}.sankey-scroll-viewport{width:100%;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.sankey-scroll-viewport::-webkit-scrollbar{height:6px}.sankey-scroll-viewport::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.guide-drawer{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.35rem 1.25rem;position:relative;animation:drawer-fade-in .25s cubic-bezier(.4,0,.2,1)}@keyframes drawer-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.guide-close-btn{position:absolute;top:1rem;right:1rem;background:#f1f5f9;border:1px solid var(--border-subtle);color:#334155;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;cursor:pointer;transition:all .15s ease}.guide-close-btn:hover{background:#0f172a;color:#fff}.guide-badge{display:inline-block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#0f766e;margin-bottom:.4rem}.guide-title{font-size:1.25rem;font-weight:800;color:#0f172a;margin-right:2rem;line-height:1.25}.guide-summary{font-size:.88rem;color:#334155;line-height:1.5;margin-top:.75rem}.guide-resources{margin-top:1.25rem;border-top:1px solid var(--border-subtle);padding-top:.9rem}.guide-resources h3{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:.55rem}.guide-resources ul{list-style:none;display:flex;flex-direction:column;gap:.45rem}.guide-resources a{color:#0369a1;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-block;transition:color .15s ease}.guide-resources a:hover{color:#0284c7;text-decoration:underline}.app-footer{margin-top:2rem;text-align:center;display:flex;flex-direction:column;gap:1.25rem}.extracted-table-wrap{width:min(100%,1080px);margin:0 auto;text-align:left;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.extracted-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.extracted-table-title{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.extracted-source-link{font-size:.76rem;font-weight:600;color:#0369a1;text-decoration:none}.extracted-source-link:hover{text-decoration:underline}.table-responsive{width:100%;overflow-x:auto}.extracted-table{width:100%;border-collapse:collapse}.extracted-table td{font-size:.78rem;color:#334155;padding:.35rem .25rem;border-top:1px solid #f1f5f9}.extracted-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.footer-copyright{font-size:.8rem;color:#94a3b8;padding-bottom:1rem}@media(max-width:1024px){.results-main.with-guide-panel{grid-template-columns:minmax(0,1fr)}.guide-drawer{width:100%;margin-top:.5rem}}@media(max-width:640px){.app{padding:.75rem .75rem 1.5rem}.app-header{flex-direction:column;align-items:stretch;gap:.85rem}.header-left{flex-direction:column;gap:.65rem}.header-actions{width:100%}.export-btn{width:100%;justify-content:center}.chart-container{padding:.75rem .5rem;border-radius:var(--radius-md)}.market-switch{width:100%}.market-btn{flex:1}.quick-suggestions{justify-content:flex-start}}
