:root{--color-primary: #1a6eb5;--color-primary-hover: #155a96;--color-primary-light: #e8f0fa;--color-text: #1a1a2e;--color-text-muted: #5d6068;--color-bg: #ffffff;--color-bg-alt: #f5f7fa;--color-border: #e2e8f0;--color-danger: #dc2626;--color-success: #16a34a;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Cascadia Code", Consolas, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.07);--shadow-md: 0 4px 20px rgba(0,0,0,.1);--container-max: 1140px;--container-pad: 24px;--section-pad: 40px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.25;margin-bottom:.5em}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.35rem}h4{font-size:1.15rem}a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}a:hover{color:var(--color-primary-hover);border-bottom-color:color-mix(in srgb,currentColor 55%,transparent)}.btn,.btn:hover,.navbar__brand,.navbar__nav-item a,.navbar__nav-item a:hover,.navbar__nav-item a.active,.navbar__lang-btn{border-bottom:none}img{max-width:100%;height:auto;display:block}em{font-style:italic}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);padding-inline:max(var(--container-pad),env(safe-area-inset-left,0px)) max(var(--container-pad),env(safe-area-inset-right,0px))}.text-muted{color:var(--color-text-muted)}.lead{font-size:1.1rem}.page-section{padding-block:var(--section-pad)}.page-section--alt{background:var(--color-bg-alt)}.page-section--dark{background:var(--color-dark, #1a1a2e);color:#fff}.page-section--dark .section-heading,.page-section--dark h1,.page-section--dark h2,.page-section--dark h3{color:#fff}.page-section--dark .section-summary,.page-section--dark .text-muted{color:#ffffffb8}.page-section--primary{background:var(--color-primary);color:#fff}.page-section--primary .section-heading,.page-section--primary h1,.page-section--primary h2,.page-section--primary h3{color:#fff}.page-section--primary .section-summary,.page-section--primary .text-muted{color:#fffc}.page-section--primary .btn-primary{background:#fff;color:var(--color-primary);border-color:#fff}.page-section--primary .btn-primary:hover{background:#ffffffe6}.section-inner{display:block}.section-inner--media{display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:center}.section-text{display:block}.section-heading{font-size:1.9rem;color:var(--color-text)}.section-summary{color:var(--color-text-muted);font-size:1.2rem}.section-media{display:flex;align-items:center;justify-content:center;min-height:150px}.section-img{height:150px;width:auto;max-width:100%;object-fit:contain;border-radius:var(--radius-md)}.section-img--large,.block-text--large-img .section-img{height:300px}.page-header{margin-bottom:2.5rem}.page-header--media{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:center}.page-header__text{display:flex;flex-direction:column;gap:1rem}.page-header__image{display:flex;align-items:center;justify-content:center}.page-heading{font-size:2rem;color:var(--color-text);margin-bottom:0}.page-subheading{margin-top:.5rem;margin-bottom:1.5rem;font-size:1rem}@media (max-width: 768px){.page-header--media{grid-template-columns:1fr}.page-header__image{order:-1}}.markdown p{margin-bottom:.9em}.markdown p:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin-top:1.5em;margin-bottom:.5em}.markdown ul,.markdown ol{margin:.5em 0 1em 1.5em}.markdown li+li{margin-top:.3em}.markdown blockquote{border-left:4px solid var(--color-primary);padding:.75em 1em;background:var(--color-primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:1em;color:var(--color-text)}.markdown blockquote p{margin-bottom:.4em}.markdown blockquote p:last-child{margin-bottom:0}.markdown code{font-family:var(--font-mono);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .4em;font-size:.88em}.markdown pre{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1em 1.25em;overflow-x:auto;margin-bottom:1em}.markdown pre code{background:none;border:none;padding:0}.markdown img{border-radius:var(--radius-md);margin:1em auto;max-height:300px;object-fit:contain}.markdown table{width:100%;border-collapse:collapse;margin-bottom:1.5em;font-size:.9rem}.markdown th,.markdown td{border:1px solid var(--color-border);padding:.5em .75em;text-align:left}.markdown th{background:var(--color-bg-alt);font-weight:600}.section--contacts .markdown table{border-collapse:collapse;width:100%;max-width:640px}.section--contacts .markdown td{padding:.5em 1em .5em 0;border:none;border-bottom:1px solid var(--color-border);vertical-align:top}.section--contacts .markdown td:first-child{white-space:nowrap;color:var(--color-text-muted, #6c757d);width:220px}.markdown tr:nth-child(2n) td{background:#fafbfc}.markdown small{font-size:.8em;color:var(--color-text-muted)}.markdown hr{border:none;border-top:1px solid var(--color-border);margin:2em 0}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.55em 1.4em;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;border:none;transition:background .15s,color .15s,box-shadow .15s;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);text-decoration:none}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff;text-decoration:none}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-muted);font-size:1.1rem}.contacts-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}.contacts-form{display:flex;flex-direction:column;gap:1rem}.aspects-section{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding-bottom:var(--section-pad)}.aspects-tabs{display:flex;justify-content:space-between;border-bottom:2px solid var(--color-border);margin-top:2rem;margin-bottom:2rem}.aspect-tab{padding:.75em 0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;transition:color .15s,border-color .15s}.aspect-tab:hover{color:var(--color-primary)}.aspect-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.aspect-title{text-align:center;font-size:1.6rem;margin-bottom:1.5rem;padding-top:.5rem}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.app-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;cursor:pointer;transition:box-shadow .15s,transform .15s}.app-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.app-card__icon{width:72px;height:72px;object-fit:contain}.app-card__title{font-size:1rem;font-weight:600;color:var(--color-primary)}.app-card__desc{color:var(--color-text-muted);font-size:.875rem;line-height:1.5}.app-detail__back{margin-top:2.5rem}.app-detail__header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.app-detail__icon{width:80px;height:80px;object-fit:contain;flex-shrink:0}.app-detail__summary{margin-bottom:2rem}.app-detail__desc{border-top:1px solid var(--color-border);padding-top:2rem}.onto-graph-wrap{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:500px;padding:0}.onto-graph-toolbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.onto-graph-hint{color:var(--color-text-muted);font-size:.85rem;flex:1}.onto-legend{display:flex;gap:1rem;flex-wrap:wrap}.onto-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--color-text-muted)}.onto-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.onto-graph-svg{flex:1;width:100%;display:block;background:var(--color-bg);cursor:grab}.onto-graph-svg:active{cursor:grabbing}.doc-tabs{justify-content:flex-start;gap:2rem;margin-bottom:2.5rem}.doc-content--hidden,.doc-tabs-loading,.doc-tabs-error{display:none}.doc-tabs-body:has(.doc-tabs-loading) .doc-tabs-loading{display:block}.doc-tabs-body:has(.doc-tabs-error) .doc-tabs-error{display:block}.doc-tabs-nav{display:flex;gap:0;border-bottom:2px solid var(--color-border, #dde1e7);margin-bottom:2rem}.doc-tab{background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.6rem 1.25rem;font-size:.95rem;color:var(--color-text-muted, #6c757d);cursor:pointer;transition:color .15s,border-color .15s}.doc-tab:hover{color:var(--color-primary)}.doc-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.doc-tabs-body{min-height:200px}.markdown img[src*="#center"]{display:block;margin-inline:auto}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.form-input,.form-textarea{width:100%;padding:.6em .9em;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:1rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1a6eb51f}.form-textarea{resize:vertical;min-height:120px}@media (max-width: 1023px){:root{--container-pad: 16px}}@media (max-width: 768px){:root{--section-pad: 24px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{font-size:1.2rem}.section-heading{font-size:1.5rem}.page-heading{font-size:1.65rem}.section-inner--media{grid-template-columns:1fr;gap:1.5rem}.section-media{order:-1}.section-img{height:120px}.section-img--large,.block-text--large-img .section-img{height:180px}.contacts-layout{grid-template-columns:1fr;gap:2rem}.section--contacts .markdown td:first-child{white-space:normal;width:auto;min-width:0}.markdown table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.85rem}.markdown th,.markdown td{padding:.45em .55em}.aspects-tabs{justify-content:flex-start;gap:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;margin-inline:calc(-1 * var(--container-pad));padding-inline:var(--container-pad);margin-bottom:1.5rem}.aspects-tabs::-webkit-scrollbar{display:none}.aspect-tab{flex-shrink:0;font-size:.85rem;padding-inline:.25rem}.doc-tabs,.doc-tabs-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;margin-inline:calc(-1 * var(--container-pad));padding-inline:var(--container-pad)}.doc-tabs::-webkit-scrollbar,.doc-tabs-nav::-webkit-scrollbar{display:none}.doc-tab{flex-shrink:0;white-space:nowrap}.app-detail__header{flex-direction:column;align-items:flex-start;gap:1rem}.onto-graph-wrap{height:calc(100dvh - 128px);min-height:360px}.onto-graph-toolbar{padding:.6rem var(--container-pad);gap:.75rem}.onto-graph-hint{flex:1 1 100%;order:3}}.block-hero .page-heading{font-size:clamp(1.8rem,4vw,2.75rem);font-weight:700;line-height:1.2;margin-bottom:.5rem}.block-hero__image{display:flex;align-items:center;justify-content:center;min-height:300px}.block-hero__cta{margin-top:1.5rem;display:inline-block}.block-cta .container{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}.block-cta .container.text-center{align-items:center}.block-cta__btn{margin-top:.25rem;font-size:1.05rem;padding:.7em 2em}.block-layout__grid{display:grid;gap:2rem;align-items:start}@media (max-width: 768px){.block-layout__grid{grid-template-columns:1fr!important}}.text-center{text-align:center}
