@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700&family=Barlow:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Instrument+Serif:ital@0;1&display=swap";:root{--k-bg: #fafafa;--k-surface: #ffffff;--k-text: #080808;--k-text-muted: #666666;--k-border: #eaeaea;--k-border-dark: #cccccc;--k-accent: #111111;--k-accent-hover: #333333;--k-accent-soft: #f0f0f0;--k-color-1: #3b82f6;--k-color-2: #f43f5e;--k-color-3: #10b981;--k-color-4: #f59e0b;--k-accent2: #444444;--k-gradient: linear-gradient(120deg, var(--k-accent) 0%, var(--k-accent2) 100%);--k-radius: 12px;--k-shadow: 0 8px 30px rgba(0, 0, 0, .04);--k-shadow-hover: 0 12px 40px rgba(0, 0, 0, .08);--k-transition: all .4s cubic-bezier(.16, 1, .3, 1);--font-family: "Outfit", sans-serif;--font-display: "Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--k-bg);color:var(--k-text);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}@media(min-width:1024px){body.no-scroll{height:100vh;overflow:hidden}}#app-container{display:flex;flex-direction:column;height:100vh}.k-header{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:64px;background-color:var(--k-surface);border-bottom:1px solid var(--k-border);flex-shrink:0;position:sticky;top:0;z-index:100}@media(min-width:768px){.k-header{padding:0 2rem;height:70px}}.k-brand{font-family:var(--font-display);font-size:1.5rem;font-weight:900;letter-spacing:-.01em;color:var(--k-text);font-style:italic;display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media(min-width:768px){.k-brand{font-size:2rem}}.k-nav{display:flex;gap:.25rem;height:100%;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,black 85%,transparent 100%)}@media(min-width:768px){.k-nav{mask-image:none}}.k-nav::-webkit-scrollbar{display:none}.k-nav-item{background:none;border:none;font-family:inherit;font-size:.85rem;font-weight:500;color:var(--k-text-muted);padding:0 .75rem;white-space:nowrap;cursor:pointer;position:relative;transition:var(--k-transition);display:flex;align-items:center;gap:.35rem;border-bottom:2px solid transparent}@media(min-width:768px){.k-nav{gap:.5rem}.k-nav-item{font-size:.95rem;padding:0 1.2rem;gap:.5rem}}.k-nav-item:hover{color:var(--k-text)}.k-nav-item.active{color:var(--k-accent2);border-bottom-color:var(--k-accent2)}.k-nav-text{display:none}@media(min-width:768px){.k-nav-text{display:inline}}.k-header-metrics{display:none;gap:1rem}@media(min-width:1024px){.k-header-metrics{display:flex}}.k-main{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column}@media(min-width:768px){.k-main{padding:2rem}}.k-main.viewer-mode{padding:0;overflow:hidden}.k-title{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--k-text)}.k-underline{position:relative;display:inline-block;z-index:1}.k-underline:after{content:"";position:absolute;bottom:.15em;left:-2px;right:-2px;height:.35em;background-color:var(--k-color-4);z-index:-1;opacity:.8;transform:skew(-10deg)}.k-underline-blue:after{background-color:var(--k-color-1)}.k-underline-pink:after{background-color:var(--k-color-2)}.k-underline-green:after{background-color:var(--k-color-3)}.k-subtitle{font-size:clamp(.95rem,3vw,1.1rem);color:var(--k-text-muted);margin-bottom:1.5rem;font-weight:400}@media(min-width:768px){.k-subtitle{margin-bottom:2rem}}.text-blue{color:var(--k-color-1)}.text-pink{color:var(--k-color-2)}.text-green{color:var(--k-color-3)}.text-yellow{color:var(--k-color-4)}.text-accent{color:var(--k-accent2)}.k-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.k-grid{grid-template-columns:repeat(12,1fr);gap:1.5rem;margin-bottom:2rem}}.k-panel{background:var(--k-surface);border:1px solid var(--k-border);border-radius:var(--k-radius);padding:1.5rem;box-shadow:var(--k-shadow);transition:var(--k-transition);display:flex;flex-direction:column;width:100%}.span-1,.span-2,.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-10,.span-11,.span-12{grid-column:span 1}@media(min-width:768px){.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-10{grid-column:span 10}.span-11{grid-column:span 11}.span-12{grid-column:span 12}}.k-panel:hover{box-shadow:var(--k-shadow-hover)}.k-panel-header{margin-bottom:1.5rem}.k-panel-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.k-metric{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.k-metric-value{font-size:clamp(2.5rem,8vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.05em;margin-bottom:.5rem}.k-metric-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--k-text-muted);font-weight:600}.k-btn{background:var(--k-surface);color:var(--k-text);border:1px solid var(--k-border-dark);padding:.6rem 1.2rem;font-family:inherit;font-size:.9rem;font-weight:600;border-radius:6px;cursor:pointer;transition:var(--k-transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.k-btn:hover{background:var(--k-bg);border-color:var(--k-text)}.k-btn-primary{background:var(--k-accent);color:#fff;border:none;box-shadow:0 4px 15px #0000001a}.k-btn-primary:hover{background:var(--k-accent-hover);color:#fff;box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.k-btn-danger{background:transparent;color:#dc2626;border-color:transparent;padding:.4rem}.k-btn-danger:hover{background:#fee2e2;border-color:#fee2e2}.k-table-wrap{overflow-x:auto;margin:0 -1rem -1rem;-webkit-overflow-scrolling:touch}@media(min-width:768px){.k-table-wrap{margin:0 -1.5rem -1.5rem}}.k-table{width:100%;border-collapse:collapse;min-width:600px}.k-table th,.k-table td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--k-border)}.k-table th{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--k-text-muted);background:var(--k-bg)}.k-table tr:last-child td{border-bottom:none}.k-input,.k-select{width:100%;background:transparent;border:1px solid var(--k-border);padding:.5rem .8rem;border-radius:6px;font-family:inherit;font-size:.95rem;color:var(--k-text);transition:var(--k-transition)}.k-input:focus,.k-select:focus{outline:none;border-color:var(--k-text)}.k-form-group{margin-bottom:1.2rem}.k-form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--k-text-muted)}.fade-in{animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}.stagger-1{animation-delay:.1s;opacity:0}.stagger-2{animation-delay:.2s;opacity:0}.stagger-3{animation-delay:.3s;opacity:0}.stagger-4{animation-delay:.4s;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.k-drop-overlay{position:absolute;inset:0;background:#ffffffe6;backdrop-filter:blur(5px);z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;border:4px dashed var(--k-border-dark);margin:1rem;border-radius:var(--k-radius)}.k-drop-overlay h2{font-size:2.5rem;font-weight:800;letter-spacing:-.04em}.diagram-pad{padding:0;width:100%;height:100%;background:var(--k-bg);background-image:radial-gradient(var(--k-border-dark) 1px,transparent 1px);background-size:24px 24px;position:relative;overflow:hidden;cursor:grab}.diagram-pad:active{cursor:grabbing}.diagram-node{background:var(--k-surface);border:2px solid var(--k-border-dark);border-radius:8px;cursor:move;box-shadow:0 4px 10px #0000000d;overflow:hidden;user-select:none}.diagram-node:hover{border-color:var(--k-accent-soft)}.diagram-node.selected{border-color:var(--k-accent);box-shadow:0 0 0 4px var(--k-accent-soft)}.diagram-node-header{background:var(--k-surface);color:var(--k-text);border-bottom:1px solid var(--k-border);padding:.5rem .8rem;font-weight:700;font-size:.95rem;display:flex;justify-content:space-between}.diagram-node-body{padding:0;font-size:.85rem;background:var(--k-surface)}.k-overlay-panel{position:absolute;background:var(--k-surface);border:1px solid var(--k-border);box-shadow:var(--k-shadow);border-radius:999px;padding:.5rem 1rem;z-index:100;display:flex;gap:1rem;align-items:center}.diagram-editor-modal{position:absolute;top:1rem;right:1rem;background:var(--k-surface);border:1px solid var(--k-border-dark);padding:1.5rem;border-radius:var(--k-radius);box-shadow:var(--k-shadow-hover);z-index:100;width:250px}.flex-between{display:flex;justify-content:space-between;align-items:center}.badge{background:var(--k-bg);border:1px solid var(--k-border-dark);padding:.2rem .6rem;border-radius:999px;font-weight:700;font-size:.8rem}.k-toggle{position:relative;display:inline-block;width:44px;height:24px}.k-toggle input{opacity:0;width:0;height:0}.k-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--k-border-dark);transition:.3s;border-radius:34px}.k-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.k-slider{background-color:var(--k-accent)}input:checked+.k-slider:before{transform:translate(20px)}.k-toast{position:fixed;top:80px;right:20px;background:var(--k-text);color:var(--k-surface);padding:1rem 1.5rem;border-radius:8px;font-weight:500;box-shadow:var(--k-shadow-hover);z-index:9999;animation:slideInLeft .4s cubic-bezier(.16,1,.3,1)}@keyframes slideInLeft{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.k-vaf-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:640px){.k-vaf-grid{grid-template-columns:1fr 1fr;gap:1rem 2rem}}.k-vaf-item{border-bottom:1px solid var(--k-border);padding-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.k-toast{inset:auto 20px 20px;text-align:center}}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-tooltip{border-radius:8px!important;border:1px solid var(--k-border)!important;box-shadow:var(--k-shadow-hover)!important}
