:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", "Inter", system-ui, sans-serif;--shadow-xs: 0 1px 2px rgba(34, 24, 28, .04);--shadow-sm: 0 1px 3px rgba(34, 24, 28, .06), 0 1px 2px rgba(34, 24, 28, .04);--shadow-md: 0 4px 12px -2px rgba(34, 24, 28, .06), 0 2px 6px -1px rgba(34, 24, 28, .04);--shadow-lg: 0 12px 28px -4px rgba(34, 24, 28, .08), 0 4px 12px -2px rgba(34, 24, 28, .04);--shadow-xl: 0 20px 40px -6px rgba(34, 24, 28, .1), 0 8px 16px -4px rgba(34, 24, 28, .04);--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--transition-fast: .15s var(--ease-out);--transition-base: .22s var(--ease-spring);--c-primary: #5c1d3d;--c-num: #831843;--c-alg: #d97706;--c-geo: #b8541a;--c-stat: #db2777;--c-aa: #831843;--c-ai: #b8541a;--c-sl: #b45309;--c-hl: #c2410c;--c-bg: #ffffff;--c-surface: #ffffff;--c-surface-elevated: #ffffff;--c-surface-muted: #f8fafc;--c-surface-glass: rgba(255, 255, 255, .85);--c-border: #e2e8f0;--c-border-subtle: #f1f5f9;--c-border-hover: #cbd5e1;--c-text: #22181c;--c-text-secondary: #6e5f64;--c-text-muted: #6e5f64}body.dark-mode{--c-bg: #161214;--c-surface: #111827;--c-surface-elevated: #221b20;--c-surface-muted: #22181c;--c-surface-glass: rgba(34, 24, 28, .85);--c-border: #221b20;--c-border-subtle: #161214;--c-border-hover: #3d3039;--c-text: #f8fafc;--c-text-secondary: #cbd5e1;--c-text-muted: #b8a6af;--shadow-xs: 0 1px 2px rgba(0,0,0,.3);--shadow-sm: 0 1px 3px rgba(0,0,0,.4)}*{box-sizing:border-box}body{margin:0;background-color:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);line-height:1.6}body{margin:0;background-color:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);line-height:1.5}section{margin-bottom:var(--space-6)}a{color:inherit;text-decoration:none}.skip-link{position:absolute;top:-100px;left:1rem;z-index:1000;padding:.75rem 1.25rem;background:var(--c-primary);color:#fff;border-radius:var(--radius-sm);font-weight:600;transition:top .2s}.skip-link:focus{top:1rem}.ib-nav-header{display:block;height:auto;padding:0;background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}.ib-nav-container{width:100%;gap:1rem;min-width:0;max-width:1280px;margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between}.ib-nav-brand{flex-shrink:0;white-space:nowrap;display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--c-text)}.ib-nav-links{display:flex;align-items:center;gap:1rem;font-size:.9rem;font-weight:600}.ib-theme-btn{background:var(--c-surface-muted);border:1px solid var(--c-border);padding:.4rem .75rem;border-radius:var(--radius-full);cursor:pointer;color:var(--c-text);transition:background var(--transition-fast)}.ib-theme-btn:hover{background:var(--c-border)}.ib-hero{position:relative;padding:1.25rem 0 1rem;background:radial-gradient(circle at 50% -20%,rgba(92,29,61,.12) 0%,rgba(184,84,26,.06) 40%,transparent 70%);border-bottom:1px solid var(--c-border);text-align:center;overflow:hidden}body.dark-mode .ib-hero{background:radial-gradient(circle at 50% -20%,rgba(229,139,179,.16) 0%,rgba(251,146,60,.08) 40%,transparent 70%),var(--c-bg)}.ib-hero:before{content:"";position:absolute;top:-50px;left:50%;transform:translate(-50%);width:700px;height:350px;background:radial-gradient(ellipse at center,rgba(92,29,61,.18) 0%,transparent 70%);filter:blur(60px);pointer-events:none;z-index:0;animation:pulseGlow 8s ease-in-out infinite alternate}@keyframes pulseGlow{0%{transform:translate(-50%) scale(.9);opacity:.7}to{transform:translate(-50%) scale(1.15);opacity:1}}.ib-hero-container{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:0 var(--space-6)}.breadcrumb-nav{display:inline-flex;align-items:center;gap:var(--space-2);padding:.25rem .85rem;background:var(--c-surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--c-border);border-radius:var(--radius-full);font-size:.82rem;color:var(--c-text-muted);margin-bottom:.45rem;box-shadow:var(--shadow-xs)}.breadcrumb-nav a{color:var(--c-primary);font-weight:600;transition:color var(--transition-fast)}.breadcrumb-nav a:hover{text-decoration:underline}.ib-hero-title{font-family:var(--font-display);font-size:clamp(2rem,4vw + .8rem,3.25rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem;line-height:1.15;color:var(--c-text);text-wrap:balance}.ib-hero-desc{font-size:clamp(1rem,1.1vw + .5rem,1.125rem);color:var(--c-text-secondary);max-width:740px;margin:0 auto .65rem;line-height:1.6}.meta-pills{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.meta-pill{background:var(--c-surface-glass);backdrop-filter:blur(12px);border:1px solid var(--c-border);padding:.35rem .85rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;color:var(--c-text);display:inline-flex;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.meta-pill:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--c-border-hover)}.main-content{max-width:1280px;margin:0 auto;padding:1rem var(--space-6) var(--space-8)}.section-header{margin-bottom:1.25rem;text-align:left}.section-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:.2rem .65rem;background:var(--c-surface-muted);color:var(--c-primary);border:1px solid var(--c-border);border-radius:var(--radius-full);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.section-title{font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2.1rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .45rem;color:var(--c-text)}.section-desc{font-size:1rem;color:var(--c-text-secondary);max-width:720px;margin:0;line-height:1.55}.topics-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.15rem;margin-top:1rem}.topic-card-col{grid-column:span 6}@media(max-width:860px){.topic-card-col{grid-column:span 12}}.topic-card{height:100%;display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-xl);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none}.topic-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-xl),0 0 35px #5c1d3d26;border-color:#5c1d3d66}.topic-card:active{transform:translateY(-3px) scale(.99)}.topic-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.topic-icon{width:46px;height:46px;border-radius:var(--radius-md);background:var(--c-surface-muted);border:1px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;transition:transform var(--transition-base),background var(--transition-base)}.topic-card:hover .topic-icon{transform:scale(1.1) rotate(6deg);background:#5c1d3d1f}.topic-badge{font-size:.78rem;font-weight:700;padding:.3rem .75rem;border-radius:var(--radius-full);background:var(--c-surface-muted);color:var(--c-text-muted);border:1px solid var(--c-border)}.topic-badge.ext{background:#fef3c7;color:#92400e;border-color:#fde68a}body.dark-mode .topic-badge.ext{background:#d9770633;color:#fcd34d;border-color:#d9770666}.topic-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 0 .35rem;color:var(--c-text);transition:color var(--transition-fast)}.topic-card:hover .topic-title{color:var(--c-aa)}.topic-summary{font-size:.92rem;color:var(--c-text-secondary);margin-bottom:.85rem;flex-grow:1;line-height:1.55}.subtopic-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.35rem}.subtopic-tag{font-size:.82rem;font-weight:500;padding:.25rem .65rem;background:var(--c-surface-muted);border:1px solid var(--c-border);border-radius:var(--radius-xs);color:var(--c-text-secondary);transition:all var(--transition-fast)}.topic-card:hover .subtopic-tag{border-color:#5c1d3d33}.subtopic-tag:hover{background:#5c1d3d1a;color:var(--c-aa)}.card-action{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.95rem;font-weight:700;color:var(--c-primary);transition:gap var(--transition-base)}.topic-card:hover .card-action{gap:var(--space-4)}.framework-section{padding:1.5rem 1.65rem;background:var(--c-surface-muted);border:1px solid var(--c-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.framework-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.25rem}.framework-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-xl);padding:1.15rem 1.25rem;box-shadow:var(--shadow-xs);transition:transform var(--transition-base),box-shadow var(--transition-base)}.framework-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--c-border-hover)}.framework-card h4{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0 0 var(--space-2);color:var(--c-text);display:flex;align-items:center;gap:var(--space-2)}.framework-card p{font-size:.95rem;color:var(--c-text-secondary);margin:0;line-height:1.6}.faq-section{margin-top:1.75rem}.accordion-list{display:flex;flex-direction:column;gap:.65rem;margin-top:1rem}.accordion-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.accordion-item:hover{border-color:var(--c-border-hover);box-shadow:var(--shadow-sm)}.accordion-header{padding:.85rem 1.15rem;font-weight:700;font-size:1.05rem;cursor:pointer;user-select:none;list-style:none;display:flex;align-items:center;justify-content:space-between;color:var(--c-text)}.accordion-header::-webkit-details-marker{display:none}.accordion-header:after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.85rem;color:var(--c-text-muted);transition:transform var(--transition-base),color var(--transition-base)}.accordion-item[open] .accordion-header:after{transform:rotate(180deg);color:var(--c-aa)}.accordion-body{padding:0 1.15rem 1.15rem;font-size:.95rem;color:var(--c-text-secondary);line-height:1.65}.ib-table-container{width:100%;overflow-x:auto;margin-top:var(--space-6);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface)}.ib-table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.hub-section{margin-bottom:var(--space-6)}.ib-table th{background:var(--c-surface-muted);color:var(--c-text);font-family:var(--font-display);font-weight:700;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--c-border)}.ib-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--c-border);color:var(--c-text-secondary)}.ib-table tr:last-child td{border-bottom:none}.ib-footer{background:var(--c-surface-muted);border-top:1px solid var(--c-border);padding:var(--space-6) var(--space-6);text-align:center;color:var(--c-text-muted);font-size:.9rem;margin-top:var(--space-10)}@media(max-width:640px){.ib-hero{padding:.85rem 0 .65rem}.main-content{padding:.75rem var(--space-4)}.framework-section{padding:1rem}}.ib-nav-header nav.ib-nav-links{display:flex;position:static;width:auto;flex-direction:row;margin:0;padding:0;background:transparent;box-shadow:none;backdrop-filter:none}@media(max-width:768px){.ib-nav-container{gap:.35rem;padding:.35rem .55rem}.ib-nav-brand{flex:0 0 auto;font-size:1rem}.ib-nav-header .ib-nav-links{flex:1 1 auto;min-width:0;justify-content:flex-start;gap:.15rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ib-nav-header .ib-nav-links::-webkit-scrollbar{display:none}.ib-nav-header .ib-nav-links>a{display:inline-flex;flex:0 0 auto;min-height:44px;align-items:center;padding:.25rem .3rem;white-space:nowrap}.ib-nav-header .ib-nav-links>.ib-theme-btn{display:inline-flex;flex:0 0 44px;width:44px;min-width:44px;min-height:44px;padding:.2rem;align-items:center;justify-content:center;position:sticky;right:0;z-index:1;background:var(--c-surface);box-shadow:-.35rem 0 .35rem var(--c-surface)}}@media(min-width:361px)and (max-width:480px){.ib-nav-brand{font-size:.95rem}.ib-nav-header .ib-nav-links{gap:.05rem;font-size:.7rem}.ib-nav-header .ib-nav-links>a{padding-inline:.08rem}}@media(max-width:380px){.ib-nav-header .ib-nav-container{flex-wrap:nowrap;gap:.25rem}.ib-nav-header .ib-nav-links{flex:1 1 auto;overflow-x:auto}}@media(max-width:360px){.ib-nav-brand{font-size:.9rem}.ib-nav-header .ib-nav-links{gap:.05rem;font-size:.68rem}.ib-nav-header .ib-nav-links>a{padding-inline:.12rem}}@media(max-width:640px){.ib-hero .breadcrumb-nav{display:flex;width:fit-content;max-width:100%;flex-wrap:wrap;justify-content:flex-start;gap:.15rem .35rem;margin-inline:auto;margin-bottom:.35rem;padding:.25rem .55rem;border-radius:var(--radius-md);font-size:.72rem;line-height:1.35}.ib-hero .meta-pill{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ib-hero .meta-pill:last-child{grid-column:1 / -1;flex-basis:100%}.framework-grid{grid-template-columns:minmax(0,1fr)}.framework-card{min-width:0}}.ib-mark-pill{display:inline-flex;align-items:center;justify-content:center;padding:.12rem .45rem;border-radius:9999px;font-size:.72rem;font-weight:800;font-family:var(--font-sans, system-ui, sans-serif);letter-spacing:.04em;line-height:1.2;vertical-align:middle;margin:0 .2rem;box-shadow:0 1px 2px #0000000f}.ib-mark-m{background:#fcf1f5;color:#3f1128;border:1px solid #fde68a}.ib-mark-a{background:#fcfaf7;color:#b45309;border:1px solid #fed7aa}.ib-mark-r{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.ib-mark-ag{background:#faf5ff;color:#7e22ce;border:1px solid #e9d5ff}.ib-mark-g{background:#ecfeff;color:#b8541a;border:1px solid #fed7aa}.ib-mark-p{background:#fdf2f8;color:#be185d;border:1px solid #fbcfe8}.ib-mark-c{background:#f6f1f2;color:#b45309;border:1px solid #fef3c7}.ib-crit-pill{background:#f5f3ff;color:#5c1d3d;border:1px solid #fcf1f5}body.dark-mode .ib-mark-m{background:#b8541a2e;color:#fcd34d;border-color:#e58bb359}body.dark-mode .ib-mark-a{background:#b453092e;color:#fed7aa;border-color:#fcd34d59}body.dark-mode .ib-mark-r{background:#f59e0b2e;color:#fcd34d;border-color:#fbbf2459}body.dark-mode .ib-mark-ag{background:#a855f72e;color:#d8b4fe;border-color:#c084fc59}body.dark-mode .ib-mark-g{background:#06b6d42e;color:#fed7aa;border-color:#fb923c59}body.dark-mode .ib-mark-p{background:#ec48992e;color:#f472b6;border-color:#f472b659}body.dark-mode .ib-mark-c{background:#22c55e2e;color:#fed7aa;border-color:#4ade8059}body.dark-mode .ib-crit-pill{background:#5c1d3d2e;color:#f2a8cb;border-color:#e58bb359}.ib-toast-notification,.hl-toast{position:fixed;bottom:2rem;right:2rem;background:#22181c;color:#f8fafc;padding:.75rem 1.25rem;border-radius:12px;box-shadow:0 10px 25px -5px #0000004d,0 0 0 1px #ffffff1a;display:flex;align-items:center;gap:.6rem;font-size:.88rem;font-weight:600;z-index:9999;animation:ibToastIn .25s ease-out}@keyframes ibToastIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ib-search-bar{margin:1rem 0 1.5rem;max-width:520px;position:relative}.ib-search-bar input{width:100%;box-sizing:border-box;padding:.75rem 1rem .75rem 2.6rem;border-radius:12px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:.92rem;outline:none;transition:all .2s ease;box-shadow:var(--shadow-xs)}.ib-search-bar input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #5c1d3d33}.ib-search-bar i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--c-text-muted);pointer-events:none}.ib-command-terms-toolbar{transition:border-color var(--transition-base),box-shadow var(--transition-base)}.cmd-filter-pill:hover{border-color:var(--c-primary)!important;color:var(--c-primary)!important}.cmd-copy-btn:hover{color:var(--c-primary)!important}
