:root{--color-bg: #fafaf9;--color-surface: #ffffff;--color-surface-muted: #f5f5f4;--color-text: #1c1917;--color-muted: #57534e;--color-border: #e7e5e4;--color-accent: #4f46e5;--color-accent-soft: #eef2ff;--color-accent-hover: #4338ca;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--radius-card: 8px;--radius-small: 4px;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .04);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", Menlo, monospace;--measure: 72ch;--content-width: 960px;--wide-width: 1100px}@media (prefers-color-scheme: dark){:root{--color-bg: #1c1917;--color-surface: #292524;--color-surface-muted: #1c1917;--color-text: #fafaf9;--color-muted: #a8a29e;--color-border: #44403c;--color-accent: #818cf8;--color-accent-soft: #1e1b4b;--color-accent-hover: #a5b4fc;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2)}}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-accent-hover)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md);line-height:1.3;font-weight:600}h1{font-size:2.25rem}h2{font-size:1.75rem;margin-top:var(--space-3xl)}h3{font-size:1.35rem;margin-top:var(--space-2xl)}h4{font-size:1.1rem;margin-top:var(--space-xl)}p{margin:0 0 var(--space-md);max-width:var(--measure)}ul,ol{padding-left:var(--space-xl);margin:0 0 var(--space-md)}li{margin-bottom:var(--space-sm)}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface-muted);padding:.15em .4em;border-radius:var(--radius-small)}blockquote{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-lg);border-left:3px solid var(--color-accent);background:var(--color-surface-muted);border-radius:0 var(--radius-small) var(--radius-small) 0}blockquote p{margin:0;color:var(--color-muted);font-style:italic}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.header-inner{max-width:var(--wide-width);margin:0 auto;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.site-logo{font-size:1.2rem;font-weight:700;color:var(--color-text);text-decoration:none}.site-logo:hover{color:var(--color-accent)}.site-nav{display:flex;gap:var(--space-lg)}.site-nav a{color:var(--color-muted);font-size:.95rem;font-weight:500;transition:color .15s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-accent)}.content{max-width:var(--content-width);margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.content-wide{max-width:var(--wide-width)}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-4xl);padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--color-muted);font-size:.9rem}.site-footer p{max-width:var(--content-width);margin:0 auto}.hero{text-align:center;padding:var(--space-4xl) var(--space-lg);max-width:var(--content-width);margin:0 auto}.hero h1{font-size:2.5rem;margin-bottom:var(--space-lg)}.hero .subtitle{font-size:1.2rem;color:var(--color-muted);max-width:60ch;margin:0 auto var(--space-xl);line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);margin:var(--space-xl) 0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-xl);box-shadow:var(--shadow-soft);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-medium);border-color:var(--color-accent)}.card h3{margin-top:0;margin-bottom:var(--space-sm);font-size:1.15rem}.card p{color:var(--color-muted);font-size:.95rem;margin-bottom:0}.card a{text-decoration:none;color:inherit;display:block}.card a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.card{position:relative}.table-wrapper{overflow-x:auto;margin:var(--space-xl) 0}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}th{font-weight:600;background:var(--color-surface-muted);white-space:nowrap}tr:last-child td{border-bottom:none}.diagram{margin:var(--space-2xl) 0;padding:var(--space-xl);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow-x:auto}.diagram-label{font-size:.85rem;color:var(--color-muted);text-align:center;margin-top:var(--space-sm);font-style:italic}.layers-diagram{display:flex;flex-direction:column;gap:var(--space-sm);max-width:400px;margin:0 auto}.layer-box{padding:var(--space-md) var(--space-lg);text-align:center;font-weight:500;font-size:.95rem;border-radius:var(--radius-small);border:1px solid var(--color-border);background:var(--color-surface)}.layer-box.presentation{border-left:4px solid #6366f1}.layer-box.application{border-left:4px solid #8b5cf6}.layer-box.domain{border-left:4px solid #a855f7}.layer-box.infrastructure{border-left:4px solid #d946ef}.hex-diagram{display:flex;align-items:center;justify-content:center;gap:var(--space-xl);flex-wrap:wrap;padding:var(--space-lg)}.hex-column{display:flex;flex-direction:column;gap:var(--space-sm);align-items:center}.hex-core{width:160px;height:160px;border-radius:50%;border:3px solid var(--color-accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;background:var(--color-accent-soft)}.hex-adapter{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-small);font-size:.85rem;background:var(--color-surface);text-align:center}.hex-arrow{font-size:1.5rem;color:var(--color-muted)}.section-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:var(--space-sm)}.note-box{background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-lg);margin:var(--space-xl) 0}.note-box p{margin:0;color:var(--color-muted)}.sim-container{margin:var(--space-2xl) 0}.sim-config{display:flex;align-items:center;gap:var(--space-xl);flex-wrap:wrap;margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card)}.sim-config-item{display:flex;align-items:center;gap:var(--space-sm)}.sim-config-item label{font-size:.9rem;font-weight:500;color:var(--color-muted)}.sim-config-item input{width:80px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-small);font-size:.9rem;background:var(--color-surface);color:var(--color-text)}.sim-balance-main{font-size:1.1rem;font-weight:700;color:var(--color-text)}.sim-visual.sim-star{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-xl) var(--space-lg);margin:var(--space-lg) 0;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:1fr 1fr 1fr;align-items:center;column-gap:0;row-gap:var(--space-md);min-height:200px}.sim-arm{display:contents}.sim-arm .sim-node{grid-column:1}.sim-arm .sim-connection{grid-column:2}.sim-arm-1 .sim-node,.sim-arm-1 .sim-connection{grid-row:1}.sim-arm-2 .sim-node,.sim-arm-2 .sim-connection{grid-row:2}.sim-arm-3 .sim-node,.sim-arm-3 .sim-connection{grid-row:3}.sim-center{grid-column:3;grid-row:1 / -1;display:flex;align-items:center;padding-left:var(--space-xs)}.sim-node{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.sim-node-icon{width:64px;height:64px;border:2px solid var(--color-border);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;background:var(--color-surface);font-size:1.5rem;transition:border-color .3s ease,opacity .3s ease}.sim-node-label{font-size:.85rem;font-weight:500;color:var(--color-muted)}.sim-balance-label{font-size:.8rem;font-family:var(--font-mono);color:var(--color-text);font-weight:600}.sim-connection{height:3px;background:var(--color-success);position:relative;transition:background .3s ease;border-radius:2px}.sim-connection.clickable{cursor:pointer}.sim-connection.clickable:hover{background:var(--color-warning);box-shadow:0 0 6px #d9770666}.sim-connection.partitioned{background:var(--color-error);opacity:.6}.sim-connection.partitioned:after{content:"✕";position:absolute;top:-14px;left:50%;transform:translate(-50%);color:var(--color-error);font-size:.9rem;font-weight:700}.sim-node-icon.disconnected{border-color:var(--color-error);opacity:.6}.sim-node-icon.connected{border-color:var(--color-success)}.sim-mode{background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-lg);margin:var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-md)}.sim-mode-prompt{margin:0;font-weight:500}.sim-mode-buttons{display:flex;gap:var(--space-md);flex-wrap:wrap}.sim-mode-indicator{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-small);font-size:.9rem;font-weight:600;margin:var(--space-md) 0}.sim-mode-indicator.cp{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.sim-mode-indicator.ap{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}@media (prefers-color-scheme: dark){.sim-mode-indicator.cp{background:#451a03;color:#fcd34d;border-color:#b45309}.sim-mode-indicator.ap{background:#1e3a5f;color:#93c5fd;border-color:#2563eb}}.sim-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.sim-actions select,.sim-actions input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-small);font-size:.95rem;background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans)}.sim-actions input[type=number]{width:100px}.sim-quick-amounts{display:flex;gap:var(--space-xs)}.quick-amount{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);color:var(--color-text);font-size:.8rem;cursor:pointer;font-family:var(--font-sans);transition:border-color .15s ease,background .15s ease}.quick-amount:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.sim-controls{display:flex;gap:var(--space-md);flex-wrap:wrap;margin:var(--space-lg) 0}.sim-btn{padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);color:var(--color-text);font-size:.95rem;font-family:var(--font-sans);cursor:pointer;transition:border-color .15s ease,background .15s ease}.sim-btn:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.sim-btn:disabled{opacity:.5;cursor:not-allowed}.sim-btn.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.sim-btn.primary:hover{background:var(--color-accent-hover)}.sim-timeline-container{margin:var(--space-xl) 0}.sim-timeline-container h4{margin-top:0;margin-bottom:var(--space-sm)}.sim-timeline{max-height:260px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-md);background:var(--color-surface);font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.sim-timeline-entry{padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border)}.sim-timeline-entry:last-child{border-bottom:none}.sim-timeline-entry.success{color:var(--color-success)}.sim-timeline-entry.error{color:var(--color-error)}.sim-timeline-entry.warning{color:var(--color-warning)}.sim-timeline-entry.info{color:var(--color-muted)}.sim-time{color:var(--color-muted);margin-right:var(--space-sm)}.sim-source{font-weight:600;margin-right:var(--space-sm)}.sim-reconciliation{margin:var(--space-xl) 0;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.sim-reconciliation h4{margin-top:0}.sim-reconciliation table{margin:var(--space-md) 0}.sim-reconciliation tr.success td{color:var(--color-success)}.sim-reconciliation tr.error td{color:var(--color-error)}.reconciliation-summary{margin-top:var(--space-md);font-size:1rem}.overdraft-warning{color:var(--color-error);font-weight:600}.breadcrumb{font-size:.9rem;color:var(--color-muted);margin-bottom:var(--space-xl)}.breadcrumb a{color:var(--color-muted)}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb span{margin:0 var(--space-sm)}.related-links{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-md)}.related-links a{padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-small);font-size:.9rem;transition:border-color .15s ease,background .15s ease}.related-links a:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}@media (max-width: 768px){.hero h1,h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.15rem}.header-inner{flex-direction:column;gap:var(--space-md)}.site-nav{gap:var(--space-md)}.card-grid{grid-template-columns:1fr}.hex-diagram{flex-direction:column}.sim-visual.sim-star{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto auto;justify-items:center;row-gap:0;column-gap:var(--space-sm);padding:var(--space-lg) var(--space-md)}.sim-center{grid-column:1 / -1;grid-row:1;padding-left:0;margin-bottom:var(--space-xs)}.sim-arm .sim-connection{grid-row:2}.sim-arm .sim-node{grid-row:3}.sim-arm-1 .sim-connection,.sim-arm-1 .sim-node{grid-column:1}.sim-arm-2 .sim-connection,.sim-arm-2 .sim-node{grid-column:2}.sim-arm-3 .sim-connection,.sim-arm-3 .sim-node{grid-column:3}.sim-connection{width:3px;height:24px}.sim-connection.partitioned:after{top:50%;left:auto;right:-16px;transform:translateY(-50%)}.sim-node-icon{width:48px;height:48px;font-size:1.2rem}.sim-node-label{font-size:.75rem}.sim-balance-label{font-size:.7rem}.sim-actions{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.content{padding:var(--space-xl) var(--space-md)}.hero{padding:var(--space-2xl) var(--space-md)}}
