.app{width:100%;min-height:100vh;background:var(--bg-primary);padding-top:70px}@media(max-width:768px){.app{padding-top:60px}}.about{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);position:relative}.about-container{max-width:1200px;margin:0 auto}.about-subtitle{text-align:center;color:var(--text-secondary);font-size:1.2rem;margin-bottom:4rem}.about-content{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem}.about-main{padding:3rem}.about-heading{display:flex;align-items:center;gap:1rem;font-size:1.8rem;margin-bottom:1.5rem;color:var(--accent-primary)}.about-main p{color:var(--text-secondary);line-height:1.8;font-size:1.1rem;margin-bottom:1.5rem}.about-main p:last-child{margin-bottom:0}.highlight-text{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#2daaff1a;border-left:4px solid var(--accent-primary);border-radius:8px;color:var(--text-primary)!important;font-size:1.05rem!important}.about-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-card{padding:2rem;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:var(--accent-primary);transform:translateY(-4px)}.feature-icon{font-size:3rem;color:var(--accent-primary);margin-bottom:1rem}.feature-card h4{font-size:1.3rem;margin-bottom:1rem;color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:1.6}.about-cta{text-align:center;padding:3rem;background:#2daaff0d;border-radius:12px;border:1px solid rgba(45,170,255,.2);margin-bottom:3rem}.about-cta h3{font-size:2rem;margin-bottom:1rem;color:var(--accent-primary)}.about-cta>p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-buttons .btn{display:flex;align-items:center;gap:.5rem}.about-footer{text-align:center;padding-top:3rem;border-top:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.about-footer p{margin-bottom:1rem}.heart{color:var(--accent-tertiary);display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.footer-links{font-size:.9rem}.footer-links a{color:var(--text-secondary);transition:color .3s ease}.footer-links a:hover{color:var(--accent-primary)}@media(max-width:768px){.about-main{padding:2rem}.about-features{grid-template-columns:1fr}.about-cta{padding:2rem}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:300px;justify-content:center}}.brightchain-demo{padding:6rem 2rem 2rem;max-width:1200px;margin:0 auto;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.demo-header{text-align:center;margin-bottom:3rem}.demo-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:1rem;color:transparent!important;background:var(--gradient-primary);-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;letter-spacing:-.02em}.demo-subtitle{color:var(--text-secondary);font-size:1.2rem;line-height:1.6;max-width:600px;margin:0 auto}.demo-grid{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}.upload-area{background:#111827cc;border:2px dashed rgba(45,170,255,.3);border-radius:12px;padding:3rem;text-align:center;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;cursor:pointer}.upload-area.drag-over{border-color:var(--accent-primary);background:#2daaff1a;transform:scale(1.02)}.upload-area:hover{border-color:var(--accent-secondary);background:#0074e00d}.upload-icon{font-size:3rem;margin-bottom:1rem;display:block}.upload-text{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1rem}.upload-input{margin-top:1rem;padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.upload-input:hover{background:var(--accent-secondary);transform:translateY(-2px)}.upload-input:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-container{text-align:center;padding:4rem;background:#111827cc;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-text{color:var(--text-secondary);font-size:1.1rem;margin-top:1rem}.storage-section{margin-top:2rem}.storage-header{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.storage-empty{text-align:center;padding:3rem;background:#11182780;border-radius:12px;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:1.1rem}.file-card{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.file-card:hover{border-color:var(--accent-primary);box-shadow:0 8px 24px #2daaff26;transform:translateY(-2px)}.file-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.file-title{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0}.file-info{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.soup-container{margin-bottom:1.5rem}.soup-header{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.soup-grid{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.5rem;background:#0000004d;border:2px dashed rgba(45,170,255,.2);border-radius:8px;min-height:100px;align-items:center;justify-content:center}.soup-can{width:60px;height:80px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:2px solid rgba(255,255,255,.2);font-size:10px;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.8);transition:all .3s ease;position:relative;overflow:hidden}.soup-can:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);border-radius:6px;pointer-events:none}.soup-can:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 16px #0006;border-color:#fff6}.soup-can.animating{transform:scale(1.15) rotate(5deg);box-shadow:0 8px 20px #2daaff66;border-color:var(--accent-primary)}.can-emoji{font-size:16px;margin-bottom:2px}.can-index{font-weight:700;font-size:9px}.can-size{font-size:8px;opacity:.8}.file-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.action-btn.primary{background:var(--accent-primary);color:var(--bg-primary)}.action-btn.primary:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #2daaff4d}.action-btn.secondary{background:#0074e033;color:var(--accent-secondary);border:1px solid rgba(0,116,224,.3)}.action-btn.secondary:hover{background:var(--accent-secondary);color:var(--bg-primary);transform:translateY(-2px)}.magnet-details{margin-top:1rem}.magnet-summary{color:var(--accent-primary);cursor:pointer;font-weight:600;padding:.5rem 0;border:none;background:none;font-size:.95rem}.magnet-url-container{display:flex;gap:.5rem;align-items:stretch;margin-top:.5rem}.magnet-input{flex:1;padding:.75rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-family:Courier New,monospace}.magnet-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #2daaff33}.copy-magnet-btn{padding:.5rem 1rem;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;white-space:nowrap;transition:all .2s ease}.copy-magnet-btn:hover{background:var(--accent-secondary);transform:translateY(-1px)}.magnet-url-info{margin-top:.5rem;color:var(--text-secondary);font-size:.75rem}.demo-sidebar{display:flex;flex-direction:column;gap:1.5rem}.process-steps{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.process-header{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.process-step{display:flex;align-items:center;padding:.75rem;margin:.5rem 0;border-radius:8px;transition:all .3s ease}.process-step.pending{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.process-step.processing{background:#0074e01a;border:1px solid var(--accent-secondary);animation:pulse 2s infinite}.process-step.complete{background:#2daaff1a;border:1px solid var(--accent-primary)}.process-step.error{background:#ff6b6b1a;border:1px solid #ff6b6b}.step-icon{font-size:1.2rem;margin-right:.75rem;min-width:20px}.step-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.step-details{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.block-details{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.block-details-header{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.block-info{font-size:.9rem;line-height:1.6}.block-info p{margin:.5rem 0;color:var(--text-secondary)}.block-info strong{color:var(--text-primary)}.block-id{font-family:Courier New,monospace;font-size:.75rem;background:#0000004d;padding:.25rem .5rem;border-radius:4px;word-break:break-all}.block-color-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;vertical-align:middle;margin-left:.5rem;border:1px solid rgba(255,255,255,.2)}.stats-panel{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-header{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;gap:.75rem}.stat-item{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:.95rem}.stat-value{color:var(--accent-primary);font-weight:600}@media(max-width:768px){.brightchain-demo{padding:1rem}.demo-grid{grid-template-columns:1fr;gap:1.5rem}.demo-sidebar{order:-1}.upload-area{padding:2rem}.file-actions{flex-direction:column}.action-btn{justify-content:center}.soup-grid{justify-content:flex-start}}@media(max-width:480px){.soup-can{width:50px;height:70px;font-size:9px}.can-emoji{font-size:14px}.can-index{font-size:8px}.can-size{font-size:7px}}.session-info{font-size:.9rem;color:#666;margin-top:.5rem;font-family:Courier New,monospace}.session-note{font-style:italic;color:#888;margin-left:.5rem}.debug-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;margin-top:1rem}.debug-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600;color:#fff}.debug-info{font-size:.85rem;color:#ccc}.debug-info p{margin:.5rem 0}.session-id{font-family:Courier New,monospace;background:#0000004d;padding:.5rem;border-radius:6px;word-break:break-all;font-size:.75rem;color:#fff;margin:.5rem 0}.block-ids{max-height:100px;overflow-y:auto;background:#0000004d;border-radius:6px;padding:.5rem;margin:.5rem 0}.block-id-item{font-family:Courier New,monospace;font-size:.75rem;color:#fff;padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.block-id-item:last-child{border-bottom:none}.clear-session-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:.5rem;transition:all .2s ease}.clear-session-btn:hover{background:linear-gradient(135deg,#ee5a52,#dc4c41);transform:translateY(-1px)}.clear-session-btn:active{transform:translateY(0)}.animated-brightchain-demo{max-width:1400px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.animation-controls{display:flex;align-items:center;gap:2rem;padding:1rem;background:#ffffff0d;border-radius:12px;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.playback-controls{display:flex;gap:.5rem}.control-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease;font-size:1.2rem}.control-btn:hover{background:#fff3;transform:translateY(-1px)}.control-btn:active{transform:translateY(0)}.control-btn.play{background:#22c55e33}.control-btn.pause{background:#ef444433}.control-btn.reset{background:#3b82f633}.speed-control{display:flex;flex-direction:column;gap:.25rem}.speed-control label{font-size:.875rem;color:#fffc}.speed-slider{width:120px;height:4px;background:#fff3;border-radius:2px;outline:none;cursor:pointer}.speed-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer}.speed-slider::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;border:none}.mode-control .mode-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.875rem}.mode-control .mode-btn.active{background:#a855f74d;border:1px solid rgba(168,85,247,.5)}.mode-control .mode-btn:hover{background:#fff3}.animation-sequence{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.sequence-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;color:#fff}.animated-process-step{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;margin-bottom:.5rem;border-radius:8px;transition:all .3s ease;cursor:pointer}.animated-process-step:hover{background:#ffffff0d}.animated-process-step.active{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);animation:pulse 2s infinite}.animated-process-step.complete{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.animated-process-step.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.animated-process-step.educational{position:relative}.step-icon{font-size:1.2rem;min-width:24px}.step-name{font-weight:600;color:#fff;margin-bottom:.25rem}.step-description{font-size:.875rem;color:#ffffffb3;line-height:1.4}.step-progress{margin-top:.5rem}.progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;animation:progress-fill 2s ease-in-out infinite}.educational-tooltip{position:absolute;top:100%;left:0;right:0;background:#000000e6;border:1px solid rgba(168,85,247,.3);border-radius:8px;padding:.75rem;margin-top:.5rem;font-size:.8rem;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.educational-tooltip p{margin:0 0 .5rem;color:#ffffffe6}.educational-tooltip p:last-child{margin-bottom:0}.current-step-details{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.step-details-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;color:#fff}.step-info h4{color:#fff;margin:0 0 .5rem;font-size:1rem}.step-info p{color:#ffffffb3;margin:0 0 .75rem;font-size:.875rem;line-height:1.4}.step-timing{font-size:.8rem;color:#fff9;background:#ffffff0d;padding:.25rem .5rem;border-radius:4px;display:inline-block}.performance-monitor{background:#ffffff0d;border-radius:12px;padding:1rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.performance-monitor h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;color:#fff}.performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.performance-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#ffffff0d;border-radius:6px;font-size:.875rem}.performance-item span:first-child{color:#ffffffb3}.performance-item span:last-child{color:#fff;font-weight:600}.performance-item.good span:last-child{color:#22c55e}.performance-item.warning span:last-child{color:#f59e0b}.performance-item.poor span:last-child{color:#ef4444}.performance-item.error span:last-child{color:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes progress-fill{0%{width:0%}50%{width:70%}to{width:100%}}@media(max-width:768px){.animation-controls{flex-direction:column;gap:1rem}.playback-controls{justify-content:center}.performance-grid{grid-template-columns:1fr}.educational-tooltip{position:relative;margin-top:.5rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:#ffffff0d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.loading-container .upload-icon{font-size:3rem;margin-bottom:1rem;animation:spin 2s linear infinite}.loading-container .loading-text{color:#fffc;font-size:1.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.enhanced-soup-visualization{width:100%;max-width:1400px;margin:0 auto}.file-selector-container{margin-bottom:2rem}.selector-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.file-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.file-selector-btn{position:relative;width:100%;padding:1rem;background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.file-selector-btn:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #2daaff33}.file-selector-btn.selected{border-color:var(--accent-primary);background:#2daaff1a;box-shadow:0 8px 24px #2daaff4d}.file-btn-content{display:flex;align-items:center;gap:1rem;position:relative;z-index:2}.file-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.file-info{flex:1;text-align:left}.file-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.file-stats{font-size:.875rem;color:var(--text-secondary)}.selection-indicator{position:absolute;inset:0;background:linear-gradient(135deg,#2daaff1a,#0074e01a);border-radius:12px;z-index:1}.soup-container-enhanced{position:relative;background:#111827cc;border:2px dashed rgba(45,170,255,.4);border-radius:16px;padding:2rem;min-height:400px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease}.soup-container-enhanced:hover{border-color:#2daaff99;box-shadow:0 8px 32px #2daaff1a}.soup-header-enhanced{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.15)}.soup-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.soup-header-enhanced h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary)}.selection-info{margin-left:auto;padding:.5rem 1rem;background:#2daaff26;border:1px solid rgba(45,170,255,.4);border-radius:8px;font-size:.875rem;color:var(--accent-primary);font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #2daaff1a}.soup-grid-enhanced{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1.5rem;padding:1rem;position:relative;z-index:2}.empty-soup-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:var(--text-secondary)}.empty-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));opacity:.6}.empty-soup-state h4{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.empty-soup-state p{font-size:1rem;max-width:400px;line-height:1.6}.connection-lines-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}@media(max-width:1024px){.file-selector-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.soup-grid-enhanced{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:1rem}}@media(max-width:768px){.file-selector-grid{grid-template-columns:1fr}.soup-header-enhanced{flex-direction:column;align-items:flex-start}.selection-info{margin-left:0;margin-top:.5rem}.soup-grid-enhanced{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.75rem}.soup-container-enhanced{padding:1rem}}@media(max-width:480px){.soup-grid-enhanced{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:.5rem}.file-btn-content{gap:.75rem}.file-icon{font-size:1.5rem}.file-name{font-size:.9rem}.file-stats{font-size:.8rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fade-in-up{animation:fadeInUp .5s ease-out}.scale-in{animation:scaleIn .3s ease-out}.file-actions-section{margin-top:2rem}.actions-header{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.action-card{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.action-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #2daaff33;transform:translateY(-2px)}.action-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.action-card-header span{font-size:1.2rem}.action-card-header h4{flex:1;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.delete-file-btn{background:#ff3b3033;border:1px solid rgba(255,59,48,.3);color:#ff3b30;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;line-height:1}.delete-file-btn:hover{background:#ff3b30;color:#fff;transform:scale(1.1)}.action-buttons{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}@media(max-width:768px){.actions-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.reconstruction-options{background:#111827cc;border:1px solid rgba(45,170,255,.2);border-radius:12px;padding:1.5rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reconstruction-header{font-size:1.3rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.reconstruction-header span{font-size:1.5rem}.reconstruction-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.reconstruction-btn{padding:1rem;background:#2daaff1a;border:1px solid rgba(45,170,255,.3);border-radius:8px;color:var(--accent-primary);font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.reconstruction-btn:hover{background:#2daaff33;border-color:var(--accent-primary);transform:translateY(-2px)}.reconstruction-btn span{font-size:1.2rem}.cbl-upload-section{margin-top:1rem;padding:1rem;background:#0074e00d;border:1px solid rgba(0,116,224,.2);border-radius:8px}.cbl-info{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.cbl-upload-btn{width:100%;padding:.75rem;background:var(--accent-secondary);color:var(--bg-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.cbl-upload-btn:hover{background:#0074e0e6;transform:translateY(-2px)}.cbl-upload-btn span{font-size:1.2rem}.magnet-input-section{margin-top:1rem;padding:1rem;background:#ff00880d;border:1px solid rgba(255,0,136,.2);border-radius:8px}.magnet-info{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.magnet-input-group{display:flex;gap:.5rem}.magnet-text-input{flex:1;padding:.75rem;background:#111827cc;border:1px solid rgba(255,0,136,.3);border-radius:8px;color:var(--text-primary);font-family:Courier New,monospace;font-size:.9rem}.magnet-text-input:focus{outline:none;border-color:#f089;background:#111827e6}.magnet-text-input::placeholder{color:var(--text-tertiary)}.magnet-submit-btn{padding:.75rem 1.5rem;background:#f08c;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.magnet-submit-btn:hover:not(:disabled){background:#f08;transform:translateY(-2px)}.magnet-submit-btn:disabled{opacity:.5;cursor:not-allowed}.whitening-toggle{background:#111827cc;border:1px solid rgba(138,43,226,.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.whitening-toggle label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.whitening-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#8a2be2}.whitening-toggle span{display:flex;align-items:center;gap:.5rem}.whitening-info{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:.75rem 0 0 2.25rem}.whitening-result{background:#8a2be21a;border:1px solid rgba(138,43,226,.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.whitening-result h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.whitening-ids{margin-bottom:1rem}.id-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem}.id-row span{color:var(--text-secondary);font-weight:600;min-width:100px}.id-row code{flex:1;background:#0000004d;padding:.5rem;border-radius:6px;font-family:Courier New,monospace;color:#8a2be2;font-size:.85rem}.whitened-magnet{display:flex;gap:.5rem;align-items:stretch}.whitened-magnet input{flex:1;padding:.75rem;background:#0000004d;border:1px solid rgba(138,43,226,.3);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-family:Courier New,monospace}.whitened-magnet input:focus{outline:none;border-color:#8a2be299;box-shadow:0 0 0 2px #8a2be233}.whitened-magnet button{padding:.5rem 1rem;background:#8a2be2;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;white-space:nowrap;transition:all .2s ease}.whitened-magnet button:hover{background:#9b4ef0;transform:translateY(-1px)}.whitened-magnet-input-section{margin-top:1rem;padding:1rem;background:#8a2be20d;border:1px solid rgba(138,43,226,.2);border-radius:8px}.whitened-magnet-info{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.whitening-steps{border-color:#8a2be24d}.whitening-steps .process-header{color:#8a2be2}.soup-can.whitener{border:2px dashed #9b59b6;background:linear-gradient(135deg,#9b59b6,#8e44ad)}.soup-can.cbl-prime{border:2px dashed #e74c3c;background:linear-gradient(135deg,#e74c3c,#c0392b)}.soup-can.whitener:hover,.soup-can.cbl-prime:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 16px #8a2be266}@media(max-width:768px){.whitening-toggle,.whitening-result{padding:1rem}.id-row{flex-direction:column;align-items:flex-start;gap:.5rem}.id-row span{min-width:auto}.whitened-magnet{flex-direction:column}.reconstruction-buttons{grid-template-columns:1fr}}.educational-tooltip{background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;max-width:400px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;color:#f1f5f9;font-size:14px;line-height:1.5;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.2)}.tooltip-title{margin:0;font-size:16px;font-weight:600;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tooltip-close{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.tooltip-close:hover{background:#94a3b81a;color:#f1f5f9}.tooltip-content{display:flex;flex-direction:column;gap:12px}.tooltip-section{margin:0}.tooltip-section h5{margin:0 0 6px;font-size:13px;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:6px}.tooltip-section p{margin:0;color:#e2e8f0;font-size:13px;line-height:1.4}.concept-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.concept-link{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa;padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;text-transform:capitalize}.concept-link:hover{background:#3b82f633;border-color:#3b82f680;color:#93c5fd}.visual-cues{margin:6px 0 0;padding-left:16px;color:#e2e8f0;font-size:12px}.visual-cues li{margin-bottom:2px}.tooltip-arrow{position:absolute;width:0;height:0;border:8px solid transparent}.educational-tooltip.top .tooltip-arrow{bottom:-16px;left:50%;transform:translate(-50%);border-top-color:#0f172af2}.educational-tooltip.bottom .tooltip-arrow{top:-16px;left:50%;transform:translate(-50%);border-bottom-color:#0f172af2}.educational-tooltip.left .tooltip-arrow{right:-16px;top:50%;transform:translateY(-50%);border-left-color:#0f172af2}.educational-tooltip.right .tooltip-arrow{left:-16px;top:50%;transform:translateY(-50%);border-right-color:#0f172af2}.contextual-help-button{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s ease;margin-left:8px}.contextual-help-button:hover{background:#3b82f633;border-color:#3b82f680;color:#93c5fd;transform:scale(1.1)}.step-explanation-panel{background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:20px;margin:16px 0;animation:panelSlideIn .3s ease-out}@keyframes panelSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.explanation-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.2)}.explanation-title{margin:0;font-size:18px;font-weight:600;color:#f1f5f9;display:flex;align-items:center;gap:8px}.step-icon{font-size:20px}.explanation-content{display:flex;flex-direction:column;gap:16px}.explanation-section{margin:0}.explanation-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:6px}.explanation-section p{margin:0;color:#e2e8f0;font-size:14px;line-height:1.5}.explanation-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.2)}.action-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.action-btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.action-btn.secondary:hover{background:#94a3b833;border-color:#94a3b880;color:#f1f5f9}.glossary-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.glossary-modal{background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:16px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.glossary-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(148,163,184,.2)}.glossary-header h2{margin:0;font-size:20px;font-weight:600;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{background:none;border:none;color:#94a3b8;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#94a3b81a;color:#f1f5f9}.glossary-content{padding:20px;max-height:calc(80vh - 80px);overflow-y:auto}.search-section{margin-bottom:20px}.search-input{width:100%;padding:12px 16px;background:#1e293b80;border:1px solid rgba(148,163,184,.3);border-radius:8px;color:#f1f5f9;font-size:14px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:#64748b}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.concept-card{background:#1e293b4d;border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;transition:all .2s ease}.concept-card.clickable{cursor:pointer}.concept-card.clickable:hover{background:#1e293b80;border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.concept-term{margin:0 0 8px;font-size:16px;font-weight:600;color:#f1f5f9}.importance-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;margin-bottom:8px}.importance-badge.high{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.importance-badge.medium{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.importance-badge.low{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.3)}.concept-preview{margin:0;color:#cbd5e1;font-size:14px;line-height:1.4}.concept-detail{max-width:600px;margin:0 auto}.back-button{background:#94a3b81a;border:1px solid rgba(148,163,184,.3);color:#cbd5e1;padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;margin-bottom:20px;transition:all .2s ease}.back-button:hover{background:#94a3b833;color:#f1f5f9}.concept-section{margin-bottom:20px}.concept-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#cbd5e1}.concept-section p{margin:0;color:#e2e8f0;font-size:14px;line-height:1.5}.concept-section ul{margin:8px 0 0;padding-left:20px;color:#e2e8f0}.concept-section li{margin-bottom:4px;font-size:14px}.related-terms{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.related-term{background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);color:#c4b5fd;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease;text-transform:capitalize}.related-term:hover{background:#8b5cf633;border-color:#8b5cf680;color:#ddd6fe}@media(max-width:768px){.educational-tooltip{max-width:300px;font-size:13px}.glossary-modal{width:95%;max-height:90vh}.concepts-grid{grid-template-columns:1fr}.explanation-actions{flex-direction:column}.action-btn{justify-content:center}}.encoding-animation{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;margin:1rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.file-type{color:var(--text-secondary);font-size:.85rem;font-style:italic}.chunks-container{background:#0003;border:2px dashed rgba(45,170,255,.3);border-radius:12px;padding:2rem;margin-top:2rem}.chunks-header{text-align:center;margin-bottom:1.5rem}.chunks-header h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.chunks-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.chunks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;justify-items:center}.chunk-block{width:100px;height:120px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);cursor:pointer;border:2px solid rgba(255,255,255,.2);transition:all .3s ease;position:relative;overflow:hidden}.chunk-block:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);border-radius:6px;pointer-events:none}.chunk-block:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #0006;border-color:#fff6}.chunk-block.padded{border-color:#ffc10780;box-shadow:0 0 15px #ffc1074d}.chunk-block.checksummed{border-color:#22c55e80;box-shadow:0 0 15px #22c55e4d}.chunk-index{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.chunk-size{font-size:.8rem;text-align:center;margin-bottom:.25rem}.padding-indicator{color:#ffc107;font-weight:700;font-size:.7rem;display:block;margin-top:.25rem}.chunk-checksum{font-size:.7rem;color:#22c55e;text-align:center;margin-top:.25rem;font-family:Courier New,monospace}@media(max-width:768px){.encoding-animation{padding:1rem}.animation-step{padding:.75rem}.step-indicator{min-width:50px}.step-number{width:28px;height:28px;font-size:.8rem}.chunks-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.chunk-block{width:80px;height:100px}.file-info{flex-direction:column;text-align:center;gap:.75rem}.educational-info{padding:1rem}}@media(max-width:480px){.animation-steps{gap:.5rem}.animation-step{flex-direction:column;align-items:center;text-align:center;gap:.5rem}.step-indicator{flex-direction:row;min-width:auto}.chunks-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.chunk-block{width:70px;height:90px;font-size:.8rem}}@keyframes chunk-appear{0%{opacity:0;transform:scale(0) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes padding-highlight{0%,to{box-shadow:0 0 15px #ffc1074d}50%{box-shadow:0 0 25px #ffc10799}}@keyframes checksum-highlight{0%,to{box-shadow:0 0 15px #22c55e4d}50%{box-shadow:0 0 25px #22c55e99}}.chunk-block.padded{animation:padding-highlight 2s ease-in-out infinite}.chunk-block.checksummed{animation:checksum-highlight 2s ease-in-out infinite}.summary-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:overlayFadeIn .3s ease-out}.summary-modal{background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:20px;width:90%;max-width:700px;max-height:85vh;overflow:hidden;animation:summarySlideIn .4s ease-out;box-shadow:0 25px 50px -12px #00000080}@keyframes summarySlideIn{0%{opacity:0;transform:scale(.8) translateY(-40px)}to{opacity:1;transform:scale(1) translateY(0)}}.summary-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid rgba(148,163,184,.2);background:linear-gradient(135deg,#3b82f61a,#8b5cf61a)}.summary-title{margin:0;font-size:22px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.summary-close{background:none;border:none;color:#94a3b8;font-size:28px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.summary-close:hover{background:#94a3b81a;color:#f1f5f9;transform:scale(1.1)}.summary-navigation{display:flex;background:#1e293b4d;border-bottom:1px solid rgba(148,163,184,.2)}.nav-button{flex:1;background:none;border:none;padding:16px 12px;color:#94a3b8;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;position:relative}.nav-button:hover{background:#3b82f61a;color:#cbd5e1}.nav-button.active{background:#3b82f633;color:#60a5fa}.nav-button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.nav-icon{font-size:18px}.nav-label{font-weight:500}.summary-content{padding:24px;max-height:400px;overflow-y:auto}.summary-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#f1f5f9}.summary-description{margin:0 0 20px;color:#e2e8f0;font-size:16px;line-height:1.6}.learning-points h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:8px}.learning-points ul{margin:0;padding-left:20px;color:#e2e8f0}.learning-points li{margin-bottom:8px;line-height:1.5}.achievements-grid{display:grid;gap:12px}.achievement-card{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.achievement-card:hover{background:#22c55e26;border-color:#22c55e4d;transform:translate(4px)}.achievement-icon{font-size:20px;flex-shrink:0}.achievement-text{color:#f1f5f9;font-size:15px;line-height:1.4}.technical-outcomes{display:flex;flex-direction:column;gap:12px}.outcome-item{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;transition:all .2s ease}.outcome-item:hover{background:#3b82f626;border-color:#3b82f64d;transform:translate(4px)}.outcome-icon{font-size:18px;color:#60a5fa;flex-shrink:0}.outcome-text{color:#f1f5f9;font-size:15px;line-height:1.4}.next-steps{display:flex;flex-direction:column;gap:16px}.next-step-item{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.next-step-item:hover{background:#8b5cf626;border-color:#8b5cf64d;transform:translate(4px)}.step-number{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.step-text{color:#f1f5f9;font-size:15px;line-height:1.4}.summary-footer{padding:20px 24px;border-top:1px solid rgba(148,163,184,.2);background:#1e293b33}.progress-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.progress-dot{width:8px;height:8px;border-radius:50%;background:#94a3b84d;cursor:pointer;transition:all .2s ease}.progress-dot.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);transform:scale(1.2)}.progress-dot:hover{background:#94a3b880}.summary-actions{display:flex;justify-content:space-between;gap:12px}.action-btn{padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:100px;justify-content:center}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;color:#fff}.action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.action-btn.secondary{background:#94a3b81a;border:1px solid rgba(148,163,184,.3);color:#cbd5e1}.action-btn.secondary:hover:not(:disabled){background:#94a3b833;border-color:#94a3b880;color:#f1f5f9}.educational-controls{background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;margin:16px 0;display:flex;flex-direction:column;gap:12px}.control-group{display:flex;align-items:center;gap:8px}.control-label{display:flex;align-items:center;gap:8px;color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer}.control-checkbox{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid rgba(148,163,184,.3);border-radius:4px;background:#1e293b80;position:relative;transition:all .2s ease}.control-checkbox:checked+.checkbox-custom{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#3b82f6}.control-checkbox:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.control-select{background:#1e293b80;border:1px solid rgba(148,163,184,.3);border-radius:6px;color:#f1f5f9;padding:6px 10px;font-size:13px;margin-left:8px;min-width:140px}.control-select:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.educational-progress{background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:16px;margin:16px 0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-header h4{margin:0;font-size:16px;font-weight:600;color:#f1f5f9}.progress-text{font-size:13px;color:#94a3b8}.progress-bar-container{display:flex;align-items:center;gap:12px;margin-bottom:16px}.progress-bar{flex:1;height:8px;background:#1e293b80;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .3s ease}.progress-percentage{font-size:13px;font-weight:600;color:#60a5fa;min-width:40px;text-align:right}.step-indicators{display:flex;gap:8px;justify-content:center}.step-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.step-indicator.pending{background:#1e293b80;border:2px solid rgba(148,163,184,.3);color:#94a3b8}.step-indicator.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #3b82f6;color:#fff;animation:pulse 2s infinite}.step-indicator.completed{background:linear-gradient(135deg,#34d399,#10b981);border:2px solid #34d399;color:#fff}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media(max-width:768px){.summary-modal{width:95%;max-height:90vh}.summary-navigation{flex-wrap:wrap}.nav-button{flex:1 1 50%;min-width:120px}.summary-actions{flex-direction:column}.achievements-grid,.technical-outcomes,.next-steps{gap:8px}.achievement-card,.outcome-item,.next-step-item{padding:12px}.educational-controls{gap:8px}.control-label{font-size:13px}.step-indicators{gap:4px}.step-indicator{width:28px;height:28px;font-size:11px}}.reconstruction-animation{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;margin:1rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.animation-header{text-align:center;margin-bottom:2rem}.animation-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.animation-header p{color:var(--text-secondary);font-size:1rem;margin:0}.animation-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.animation-step{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;transition:all .3s ease;border:1px solid transparent}.animation-step.pending{background:#ffffff08;border-color:#ffffff1a}.animation-step.active{background:#3b82f61a;border-color:#3b82f64d;box-shadow:0 0 20px #3b82f633}.animation-step.complete{background:#22c55e1a;border-color:#22c55e4d}.animation-step.current{transform:scale(1.02)}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:60px}.step-number{width:32px;height:32px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-primary);font-size:.9rem}.animation-step.active .step-number{background:#3b82f64d;color:#3b82f6}.animation-step.complete .step-number{background:#22c55e4d;color:#22c55e}.step-status-icon{font-size:1.2rem}.step-content{flex:1}.step-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:1rem}.step-description{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.step-progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;transition:width .3s ease}.file-visualization{margin-top:2rem}.file-info{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#ffffff0d;border-radius:8px;margin-bottom:2rem}.file-icon{font-size:2.5rem}.file-details{flex:1}.file-name{font-weight:600;color:var(--text-primary);font-size:1.1rem;margin-bottom:.25rem}.file-size{color:var(--text-secondary);font-size:.9rem;margin-bottom:.25rem}.file-blocks{color:var(--text-secondary);font-size:.85rem;font-style:italic}.cbl-container{background:#8b5cf61a;border:2px dashed rgba(139,92,246,.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.cbl-header{text-align:center;margin-bottom:1rem}.cbl-header h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.cbl-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.cbl-data{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.cbl-entry{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:#0003;border-radius:6px;font-family:Courier New,monospace;font-size:.85rem}.cbl-index{color:var(--accent-primary);font-weight:600;min-width:40px}.cbl-id{color:var(--text-secondary);flex:1}.blocks-container{background:#0003;border:2px dashed rgba(45,170,255,.3);border-radius:12px;padding:2rem;margin-bottom:2rem}.blocks-header{text-align:center;margin-bottom:1.5rem}.blocks-header h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.blocks-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.blocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;justify-items:center}.reconstruction-block{width:100px;height:120px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);cursor:pointer;border:2px solid rgba(255,255,255,.2);transition:all .3s ease;position:relative;overflow:hidden}.reconstruction-block:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);border-radius:6px;pointer-events:none}.reconstruction-block:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #0006;border-color:#fff6}.reconstruction-block.selecting{border-color:#3b82f680;box-shadow:0 0 15px #3b82f64d;animation:selecting-pulse 1s ease-in-out infinite}.reconstruction-block.selected{border-color:#3b82f6b3;box-shadow:0 0 20px #3b82f680}.reconstruction-block.retrieving{border-color:#a855f780;box-shadow:0 0 15px #a855f74d;animation:retrieving-pulse 1s ease-in-out infinite}.reconstruction-block.retrieved{border-color:#a855f7b3;box-shadow:0 0 20px #a855f780}.reconstruction-block.validating{border-color:#ffc10780;box-shadow:0 0 15px #ffc1074d;animation:validating-pulse 1s ease-in-out infinite}.reconstruction-block.validated{border-color:#22c55eb3;box-shadow:0 0 20px #22c55e80}.block-index{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.block-status-indicator{font-size:1.5rem;margin-bottom:.5rem}.block-size{font-size:.8rem;text-align:center}.reassembly-container{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.reassembly-header{text-align:center;margin-bottom:1rem}.reassembly-header h4{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.reassembly-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.reassembly-progress-bar{width:100%;height:30px;background:#0000004d;border-radius:15px;overflow:hidden;position:relative;border:1px solid rgba(34,197,94,.3)}.reassembly-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#10b981);border-radius:15px;transition:width .3s ease}.reassembly-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:600;font-size:.9rem;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.download-ready-container{background:linear-gradient(135deg,#22c55e33,#10b98133);border:2px solid rgba(34,197,94,.5);border-radius:16px;padding:2rem;text-align:center;box-shadow:0 8px 32px #22c55e4d}.download-ready-icon{font-size:4rem;margin-bottom:1rem;animation:success-bounce .6s ease-in-out}.download-ready-container h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.download-ready-container p{color:var(--text-secondary);font-size:1rem;margin:0 0 1.5rem}.download-ready-details{display:flex;flex-direction:column;gap:.75rem;background:#0003;border-radius:8px;padding:1rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.detail-item:last-child{border-bottom:none}.detail-label{color:var(--text-secondary);font-size:.9rem}.detail-value{color:var(--text-primary);font-weight:600;font-size:.9rem}.educational-info{background:#a855f71a;border:1px solid rgba(168,85,247,.3);border-radius:12px;padding:1.5rem;margin-top:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.educational-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.educational-header span{font-size:1.5rem}.educational-header h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.educational-content p{color:var(--text-secondary);line-height:1.6;margin:0 0 1rem}.educational-content p:last-child{margin-bottom:0}.educational-content strong{color:var(--text-primary)}.technical-details{background:#0003;border-radius:8px;padding:1rem;margin-top:1rem}.technical-details p{margin:0 0 .5rem;font-weight:600;color:var(--accent-primary)}.technical-details ul{margin:.5rem 0 0;padding-left:1.5rem}.technical-details li{color:var(--text-secondary);margin-bottom:.25rem;line-height:1.4}@keyframes selecting-pulse{0%,to{box-shadow:0 0 15px #3b82f64d}50%{box-shadow:0 0 30px #3b82f699}}@keyframes retrieving-pulse{0%,to{box-shadow:0 0 15px #a855f74d}50%{box-shadow:0 0 30px #a855f799}}@keyframes validating-pulse{0%,to{box-shadow:0 0 15px #ffc1074d}50%{box-shadow:0 0 30px #ffc10799}}@keyframes success-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(max-width:768px){.reconstruction-animation{padding:1rem}.animation-step{padding:.75rem}.step-indicator{min-width:50px}.step-number{width:28px;height:28px;font-size:.8rem}.blocks-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.reconstruction-block{width:80px;height:100px}.file-info{flex-direction:column;text-align:center;gap:.75rem}.educational-info{padding:1rem}.download-ready-container{padding:1.5rem}.download-ready-icon{font-size:3rem}}@media(max-width:480px){.animation-steps{gap:.5rem}.animation-step{flex-direction:column;align-items:center;text-align:center;gap:.5rem}.step-indicator{flex-direction:row;min-width:auto}.blocks-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.reconstruction-block{width:70px;height:90px;font-size:.8rem}.cbl-data{max-height:150px}.cbl-entry{font-size:.75rem;padding:.4rem .75rem}}.blog-wrapper{width:100%;min-height:100vh;background:var(--bg-primary)}.blog-container{max-width:1400px;width:90%;margin:0 auto;padding:6rem 0 4rem}.blog-header{text-align:center;margin-bottom:4rem;padding:4rem 2rem 2rem;position:relative}.blog-header:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--gradient-primary);border-radius:2px}.new-post-button{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background:var(--gradient-primary);color:var(--bg-primary);text-decoration:none;border-radius:8px;font-weight:600;transition:transform .3s ease}.new-post-button:hover{transform:translateY(-2px)}.blog-header h1{font-size:clamp(3rem,6vw,5rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.02em;color:transparent!important;background:var(--gradient-primary);-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.blog-header p{color:var(--text-secondary);font-size:clamp(1rem,2vw,1.5rem);font-weight:400}.blog-loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.2rem}.blog-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(450px,100%),1fr));gap:2.5rem;margin:0 auto 4rem;padding:0 2rem;width:100%;max-width:1400px}.no-posts{text-align:center;color:var(--text-secondary);padding:4rem 2rem;font-size:1.2rem;grid-column:1 / -1}.blog-post-card{background:var(--bg-secondary);border-radius:16px;padding:2rem;border:1px solid rgba(255,255,255,.05);transition:all .3s ease;position:relative;overflow:hidden}.blog-post-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.blog-post-card:hover{transform:translateY(-8px);border-color:#2daaff33;box-shadow:0 20px 40px #0000004d}.blog-post-card:hover:before{transform:scaleX(1)}.blog-post-link{text-decoration:none;color:inherit;display:block;position:relative}.new-badge{position:absolute;top:-.5rem;right:-.5rem;background:var(--gradient-primary);color:var(--bg-primary);padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;z-index:1}.blog-post-date{color:var(--accent-primary);font-size:.875rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.blog-post-card h2{font-size:clamp(1.4rem,2vw,1.75rem);font-weight:700;margin-bottom:1rem;color:var(--text-primary);line-height:1.3;transition:color .3s ease}.blog-post-card:hover h2{color:var(--accent-primary)}.blog-post-excerpt{color:var(--text-secondary);line-height:1.7;margin-bottom:1rem;font-size:1rem}.blog-post-author{color:var(--text-secondary);font-size:.875rem;font-style:italic;opacity:.8}.blog-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}@media(max-width:768px){.blog-container{padding:2rem 1rem}.blog-header{padding:2rem 0 1rem}.blog-header h1{font-size:2.5rem}.blog-header p{font-size:1rem}.blog-posts{grid-template-columns:1fr;gap:1.5rem}.blog-post-card{padding:1.5rem}.blog-post-card h2{font-size:1.4rem}}@media(min-width:1600px){.blog-container{max-width:1600px}.blog-posts{grid-template-columns:repeat(auto-fit,minmax(min(500px,100%),1fr));gap:3rem}}@media(prefers-color-scheme:dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media(prefers-color-scheme:light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;inset:-8px -8px -8px -24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.w-md-editor-toolbar-child{position:absolute;border-radius:3px;box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);z-index:1;display:none}.w-md-editor-toolbar-child.active{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar{border-bottom:0;padding:3px;border-radius:3px}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li button{width:-webkit-fill-available;height:initial;box-sizing:border-box;padding:3px 4px 2px;margin:0}.w-md-editor-toolbar{border-bottom:1px solid var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);padding:3px;display:flex;justify-content:space-between;align-items:center;border-radius:3px 3px 0 0;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.w-md-editor-toolbar.bottom{border-bottom:0px;border-top:1px solid var(--md-editor-box-shadow-color);border-radius:0 0 3px 3px}.w-md-editor-toolbar ul,.w-md-editor-toolbar li{margin:0;padding:0;list-style:none;line-height:initial}.w-md-editor-toolbar li{display:inline-block;font-size:14px}.w-md-editor-toolbar li+li{margin:0}.w-md-editor-toolbar li>button{border:none;height:20px;line-height:14px;background:none;padding:4px;margin:0 1px;border-radius:2px;text-transform:none;font-weight:400;overflow:visible;outline:none;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--color-fg-default)}.w-md-editor-toolbar li>button:hover,.w-md-editor-toolbar li>button:focus{background-color:var(--color-neutral-muted);color:var(--color-accent-fg)}.w-md-editor-toolbar li>button:active{background-color:var(--color-neutral-muted);color:var(--color-danger-fg)}.w-md-editor-toolbar li>button:disabled{color:var(--md-editor-box-shadow-color);cursor:not-allowed}.w-md-editor-toolbar li>button:disabled:hover{background-color:transparent;color:var(--md-editor-box-shadow-color)}.w-md-editor-toolbar li.active>button{color:var(--color-accent-fg);background-color:var(--color-neutral-muted)}.w-md-editor-toolbar-divider{height:14px;width:1px;margin:-3px 3px 0!important;vertical-align:middle;background-color:var(--md-editor-box-shadow-color)}.w-md-editor-area{overflow:auto;border-radius:5px}.w-md-editor-text{min-height:100%;position:relative;text-align:left;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;padding:10px;margin:0;font-size:14px!important;line-height:18px!important;font-variant-ligatures:common-ligatures}.w-md-editor-text-pre,.w-md-editor-text-input,.w-md-editor-text>.w-md-editor-text-pre{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-family:var(--md-editor-font-family)!important;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit;word-break:normal;padding:0}.w-md-editor-text-pre{position:relative;margin:0!important;pointer-events:none;background-color:transparent!important}.w-md-editor-text-pre>code{padding:0!important;font-family:var(--md-editor-font-family)!important;font-size:14px!important;line-height:18px!important}.w-md-editor-text-input{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;outline:0;padding:inherit;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.w-md-editor-text-input:empty{-webkit-text-fill-color:inherit!important}.w-md-editor-text-pre,.w-md-editor-text-input{word-wrap:pre;word-break:break-word;white-space:pre-wrap}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.w-md-editor-text-input{color:transparent!important}.w-md-editor-text-input::selection{background-color:#accef7!important;color:transparent!important}}.w-md-editor-text-pre .punctuation{color:var(--color-prettylights-syntax-comment, #8b949e)!important}.w-md-editor-text-pre .token.url,.w-md-editor-text-pre .token.content{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.title.important{color:var(--color-prettylights-syntax-markup-bold, #24292f)}.w-md-editor-text-pre .token.code-block .function{color:var(--color-prettylights-syntax-entity, #8250df)}.w-md-editor-text-pre .token.bold{font-weight:unset!important}.w-md-editor-text-pre .token.title{line-height:unset!important;font-size:unset!important;font-weight:unset!important}.w-md-editor-text-pre .token.code.keyword{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.strike,.w-md-editor-text-pre .token.strike .content{color:var(--color-prettylights-syntax-markup-deleted-text, #82071e)!important}.w-md-editor-bar{position:absolute;cursor:s-resize;right:0;bottom:0;margin-top:-11px;margin-right:0;width:14px;z-index:3;height:10px;border-radius:0 0 3px;-webkit-user-select:none;user-select:none}.w-md-editor-bar svg{display:block;margin:0 auto}.w-md-editor{text-align:left;border-radius:3px;padding-bottom:1px;position:relative;color:var(--color-fg-default);--md-editor-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--md-editor-background-color: var(--color-canvas-default, #ffffff);--md-editor-box-shadow-color: var(--color-border-default, #d0d7de);box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}.w-md-editor.w-md-editor-rtl{direction:rtl!important;text-align:right!important}.w-md-editor.w-md-editor-rtl .w-md-editor-preview{right:unset!important;left:0;text-align:right!important;box-shadow:inset -1px 0 0 0 var(--md-editor-box-shadow-color)}.w-md-editor.w-md-editor-rtl .w-md-editor-text{text-align:right!important}.w-md-editor-toolbar{height:-webkit-fit-content;height:fit-content}.w-md-editor-content{height:100%;overflow:auto;position:relative;border-radius:0 0 3px}.w-md-editor .copied{display:none!important}.w-md-editor-input{width:50%;height:100%}.w-md-editor-text-pre>code{word-break:break-word!important;white-space:pre-wrap!important}.w-md-editor-preview{width:50%;box-sizing:border-box;box-shadow:inset 1px 0 0 0 var(--md-editor-box-shadow-color);position:absolute;padding:10px 20px;overflow:auto;top:0;right:0;bottom:0;border-radius:0 0 5px;display:flex;flex-direction:column}.w-md-editor-preview .anchor{display:none}.w-md-editor-preview .contains-task-list li.task-list-item{list-style:none}.w-md-editor-show-preview .w-md-editor-input{width:0%;overflow:hidden;background-color:var(--md-editor-background-color)}.w-md-editor-show-preview .w-md-editor-preview{width:100%;box-shadow:inset 0 0}.w-md-editor-show-edit .w-md-editor-input{width:100%}.w-md-editor-show-edit .w-md-editor-preview{width:0%;padding:0}.w-md-editor-fullscreen{overflow:hidden;position:fixed;z-index:99999;inset:0;height:100%!important}.w-md-editor-fullscreen .w-md-editor-content{height:100%}.blog-editor-wrapper{width:100%;min-height:100vh;background:var(--bg-primary)}.blog-editor-container{max-width:1200px;width:90%;margin:0 auto;padding:4rem 0}.auth-container{max-width:600px;margin:0 auto;text-align:center}.auth-container h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-container p{color:var(--text-secondary);margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.token-input{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;color:var(--text-primary);font-size:1rem;width:100%}.token-input:focus{outline:none;border-color:var(--accent-primary)}.auth-button{background:var(--gradient-primary);border:none;border-radius:8px;padding:1rem 2rem;color:var(--bg-primary);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease}.auth-button:hover{transform:translateY(-2px)}.auth-help{background:var(--bg-secondary);border-radius:12px;padding:2rem;text-align:left;border:1px solid rgba(255,255,255,.05)}.auth-help p{margin-bottom:1rem}.auth-help ol{margin:1rem 0 1rem 1.5rem;color:var(--text-secondary)}.auth-help li{margin-bottom:.5rem}.security-note{color:var(--accent-primary)!important;font-size:.9rem;margin-top:1rem!important}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(45,170,255,.2)}.editor-header h1{font-size:clamp(2rem,4vw,3rem);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.editor-form{background:var(--bg-secondary);border-radius:16px;padding:2rem;border:1px solid rgba(255,255,255,.05)}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:.5rem}.form-input,.form-textarea{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem;color:var(--text-primary);font-size:1rem;width:100%;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-textarea{resize:vertical}.w-md-editor{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important}.w-md-editor-toolbar{background:var(--bg-secondary)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.w-md-editor-toolbar button{color:var(--text-secondary)!important}.w-md-editor-toolbar button:hover{color:var(--accent-primary)!important;background:#2daaff1a!important}.w-md-editor-content,.w-md-editor-preview{background:var(--bg-tertiary)!important}.editor-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-button,.logout-button{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1.5rem;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button:hover,.logout-button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.publish-button{background:var(--gradient-primary);border:none;border-radius:8px;padding:.75rem 2rem;color:var(--bg-primary);font-weight:600;cursor:pointer;transition:transform .3s ease}.publish-button:hover:not(:disabled){transform:translateY(-2px)}.publish-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#f44;background:#ff44441a;border:1px solid #ff4444;border-radius:8px;padding:1rem;margin:1rem 0}@media(max-width:768px){.blog-editor-container{padding:2rem 0}.editor-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.editor-actions{flex-direction:column}.cancel-button,.publish-button,.logout-button{width:100%}}.blog-post-wrapper{width:100%;min-height:100vh;background:var(--bg-primary)}.blog-post-container{max-width:1100px;width:90%;margin:0 auto;padding:4rem 0}.new-post-banner{background:linear-gradient(135deg,#2daaff1a,#0074e01a);border:2px solid var(--accent-primary);border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem;color:var(--text-primary);text-align:center;font-weight:600}.blog-post-loading,.blog-post-error{text-align:center;padding:6rem 2rem;color:var(--text-secondary)}.blog-post-error h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;color:var(--text-primary);font-weight:700}.blog-post-error p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.blog-post{background:var(--bg-secondary);border-radius:16px;padding:3rem;border:1px solid rgba(255,255,255,.05);margin:0 auto 2rem}.blog-post-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid rgba(45,170,255,.2);position:relative}.blog-post-date{color:var(--accent-primary);font-size:.875rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}.blog-post h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem;color:var(--text-primary);line-height:1.2;font-weight:800;letter-spacing:-.02em}.blog-post-author{color:var(--text-secondary);font-size:1rem;font-style:italic;opacity:.8}.blog-post-content{color:var(--text-secondary);line-height:1.8;font-size:1.125rem}.blog-post-content h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:3rem;margin-bottom:1rem;color:var(--text-primary);font-weight:700;position:relative;padding-left:1rem}.blog-post-content h2:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-primary);border-radius:2px}.blog-post-content h3{font-size:clamp(1.2rem,2.5vw,1.5rem);margin-top:2rem;margin-bottom:.75rem;color:var(--text-primary);font-weight:600}.blog-post-content p{margin-bottom:1.5rem}.blog-post-content ul,.blog-post-content ol{margin-bottom:1.5rem;padding-left:2rem}.blog-post-content li{margin-bottom:.75rem;line-height:1.7}.blog-post-content code{background:var(--bg-tertiary);color:var(--accent-primary);padding:.25rem .5rem;border-radius:4px;font-family:Fira Code,Courier New,monospace;font-size:.9em;border:1px solid rgba(45,170,255,.2)}.blog-post-content pre{background:var(--bg-tertiary);padding:1.5rem;border-radius:12px;overflow-x:auto;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 12px #0003}.blog-post-content pre code{background:none;padding:0;border:none;color:var(--text-secondary)}.blog-post-content blockquote{border-left:4px solid var(--accent-primary);padding-left:1.5rem;margin-left:0;margin-bottom:1.5rem;color:var(--text-secondary);font-style:italic;background:var(--bg-tertiary);padding:1rem 1.5rem;border-radius:0 8px 8px 0}.blog-post-content a{color:var(--accent-primary);text-decoration:none;border-bottom:1px solid transparent;transition:all .3s ease}.blog-post-content a:hover{color:var(--accent-secondary);border-bottom-color:var(--accent-secondary)}.blog-post-content img{max-width:100%;height:auto;border-radius:12px;margin:2rem 0;border:1px solid rgba(255,255,255,.05)}.blog-post-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;background:var(--bg-tertiary);border-radius:8px;overflow:hidden}.blog-post-content th,.blog-post-content td{padding:1rem;border:1px solid rgba(255,255,255,.05);text-align:left}.blog-post-content th{background:#2daaff1a;font-weight:600;color:var(--text-primary)}.blog-post-content hr{border:none;height:1px;background:linear-gradient(to right,transparent,rgba(45,170,255,.5),transparent);margin:3rem 0}.blog-post-content strong{color:var(--accent-primary);font-weight:600}.blog-post-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.back-link{color:var(--accent-primary);text-decoration:none;font-weight:600;font-size:1.1rem;padding:.75rem 1.5rem;border:2px solid var(--accent-primary);border-radius:8px;display:inline-block;transition:all .3s ease}.back-link:hover{background:var(--accent-primary);color:var(--bg-primary);transform:translate(-4px)}@media(max-width:768px){.blog-post-container{padding:2rem 1rem}.blog-post{padding:2rem 1.5rem}.blog-post h1{font-size:2rem}.blog-post-content{font-size:1rem}.blog-post-content h2{font-size:1.5rem;padding-left:.75rem}.blog-post-content h3{font-size:1.25rem}.blog-post-content pre{padding:1rem}}@media(min-width:1600px){.blog-post-container{max-width:1400px}.blog-post{padding:4rem}.blog-post-content{font-size:1.2rem}}.enhanced-soup-can{width:70px;height:90px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;background:#11182799}.enhanced-soup-can:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.enhanced-soup-can.highlighted{border-color:var(--accent-primary);box-shadow:0 0 20px #2daaff66;background:#2daaff1a}.enhanced-soup-can.selected{border-color:var(--accent-secondary);box-shadow:0 0 30px #0074e080;background:#0074e026}.enhanced-soup-can.animating{border-color:var(--accent-primary);animation:soup-can-pulse 1.5s ease-in-out infinite}@keyframes soup-can-pulse{0%,to{box-shadow:0 0 20px #2daaff66;transform:scale(1)}50%{box-shadow:0 0 30px #2daaff99;transform:scale(1.05)}}.glass-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#ffffff26,#ffffff14,#ffffff08);border-radius:10px;pointer-events:none}.can-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.can-emoji{font-size:20px;margin-bottom:4px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.can-index{font-weight:700;font-size:11px;margin-bottom:2px;letter-spacing:.5px;color:var(--text-primary)}.can-size{font-size:9px;opacity:.9;font-weight:500;color:var(--text-secondary)}.selection-ring{position:absolute;inset:-4px;border:3px solid var(--accent-secondary);border-radius:16px;pointer-events:none;z-index:1}.selection-ring:before{content:"";position:absolute;inset:-2px;border:1px solid rgba(0,116,224,.3);border-radius:18px;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7}}.highlight-glow{position:absolute;inset:-8px;background:radial-gradient(circle,rgba(45,170,255,.3) 0%,rgba(45,170,255,.15) 50%,transparent 70%);border-radius:20px;pointer-events:none;z-index:0;animation:glow-pulse 2s infinite}@keyframes glow-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.connection-indicators{position:absolute;top:0;right:0;height:100%;width:10px;pointer-events:none;z-index:3}.connection-dot{position:absolute;animation:connection-pulse 2s infinite}@keyframes connection-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.information-panel{max-width:280px;min-width:200px}.glass-morphism-panel{background:#111827f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:1rem;box-shadow:0 8px 32px #0006}.panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.panel-header .block-emoji{font-size:16px}.panel-header h4{margin:0;color:var(--text-primary);font-size:1rem;font-weight:600}.panel-content{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.info-row .label{color:var(--text-secondary);font-weight:500}.info-row .value{color:var(--text-primary);font-weight:600}.info-row .value.monospace{font-family:Courier New,monospace;font-size:.8rem;background:#0006;padding:.2rem .4rem;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #0000004d}@media(max-width:768px){.enhanced-soup-can{width:60px;height:80px}.can-emoji{font-size:16px}.can-index{font-size:10px}.can-size{font-size:8px}.information-panel{max-width:240px;min-width:180px}}@media(max-width:480px){.enhanced-soup-can{width:50px;height:70px}.can-emoji{font-size:14px}.can-index{font-size:9px}.can-size{font-size:7px}}.compatibility-warning{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;max-width:600px;width:90%;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.compatibility-warning-content{background:#ffc107f2;border:2px solid rgba(255,152,0,.8);border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.compatibility-warning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.compatibility-warning-header h3{margin:0;color:#000;font-size:1.2rem;font-weight:600}.compatibility-warning-close{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#000;opacity:.7;transition:opacity .2s;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.compatibility-warning-close:hover{opacity:1}.compatibility-warning-body{color:#000}.compatibility-warning-body p{margin:0 0 15px;line-height:1.5}.compatibility-errors,.compatibility-warnings,.compatibility-fallbacks{margin:15px 0}.compatibility-errors h4,.compatibility-warnings h4,.compatibility-fallbacks h4{margin:0 0 8px;font-size:1rem;font-weight:600}.compatibility-errors ul,.compatibility-warnings ul,.compatibility-fallbacks ul{margin:0;padding-left:20px;list-style-type:disc}.compatibility-errors li,.compatibility-warnings li,.compatibility-fallbacks li{margin:5px 0;line-height:1.4}.compatibility-recommendation{margin-top:15px;padding-top:15px;border-top:1px solid rgba(0,0,0,.2);font-weight:500}.compatibility-warning.error .compatibility-warning-content{background:#f44336f2;border-color:#d32f2fcc}.compatibility-warning.error .compatibility-warning-header h3,.compatibility-warning.error .compatibility-warning-body,.compatibility-warning.error .compatibility-warning-close{color:#fff}@media(max-width:768px){.compatibility-warning{top:10px;width:95%}.compatibility-warning-content{padding:15px}.compatibility-warning-header h3{font-size:1rem}}.components{background:var(--bg-primary)}.components-container{max-width:1400px;margin:0 auto}.components-subtitle{text-align:center;color:var(--text-secondary);font-size:1.2rem;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.suite-intro{max-width:1100px;margin:0 auto 4rem;padding:3rem;background:linear-gradient(135deg,#2daaff14,#0074e014);border-radius:16px;border:1px solid rgba(45,170,255,.18);line-height:1.8}.suite-intro h3{color:var(--text-primary);font-size:1.8rem;margin-bottom:1.5rem;text-align:center;line-height:1.4}.suite-intro h3 em{color:var(--accent-primary);font-style:italic;font-weight:600}.suite-intro h3 em a{color:var(--accent-primary);text-decoration:underline;transition:all .3s ease}.suite-intro h3 em a:hover{color:var(--accent-secondary);text-decoration:none}.suite-intro>p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem;text-align:center}.suite-intro h4{color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;font-weight:600}.problem-solution{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}.problem-solution>div{padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.problem ul{list-style:none;padding:0;margin:1rem 0;color:var(--text-secondary)}.problem li{padding:.5rem 0 .5rem .5rem}.problem li:before{content:"• ";color:#ff6b6b;font-weight:700;margin-right:.5rem}.solution p{color:var(--text-secondary);margin:1rem 0;font-size:1rem}.value-props{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2rem}.value-prop{padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:1px solid rgba(45,170,255,.1);text-align:center;transition:all .3s ease}.value-prop:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px #2daaff26}.value-prop strong{color:var(--text-primary);font-size:1.1rem;display:block;margin-bottom:.5rem}.value-prop p{color:var(--text-secondary);font-size:.95rem;margin:0;line-height:1.5}@media(max-width:768px){.suite-intro{padding:2rem}.suite-intro h3{font-size:1.4rem}.problem-solution,.value-props{grid-template-columns:1fr}}.suite-intro p{color:var(--text-secondary);font-size:1.05rem}.suite-intro strong{color:var(--text-primary);font-weight:600}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem}.component-card{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;transition:all .3s ease;height:100%}.component-card:hover{border-color:var(--accent-primary);box-shadow:0 12px 40px #2daaff33;transform:translateY(-4px)}.component-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.component-icon{font-size:2.5rem}.component-header h3{font-size:1.5rem;font-weight:700;margin:0;flex:1}.component-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.component-badge.production{background:#2daaff33;color:var(--accent-primary);border:1px solid rgba(45,170,255,.3)}.component-badge.active{background:#0074e033;color:var(--accent-secondary);border:1px solid rgba(0,116,224,.3)}.component-badge.storage{background:#2daaff33;color:var(--accent-primary);border:1px solid rgba(45,170,255,.3)}.component-badge.cryptography{background:#8a2be233;color:#b794f6;border:1px solid rgba(138,43,226,.3)}.component-badge.governance{background:#ffd70033;color:gold;border:1px solid rgba(255,215,0,.3)}.component-badge.network{background:#0074e033;color:var(--accent-secondary);border:1px solid rgba(0,116,224,.3)}.component-badge.identity{background:#ff69b433;color:#ff69b4;border:1px solid rgba(255,105,180,.3)}.component-description{color:var(--text-secondary);line-height:1.6;flex-grow:1}.component-stats{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1rem;background:#0000004d;border-radius:8px}.stat{display:flex;align-items:center;gap:.5rem;color:var(--accent-primary);font-size:.9rem;font-weight:600}.component-highlights{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:0}.component-highlights li{padding-left:1.5rem;position:relative;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.component-highlights li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.component-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-badge{padding:.4rem .8rem;background:#0074e01a;border:1px solid rgba(0,116,224,.3);border-radius:6px;font-size:.85rem;color:var(--accent-secondary);font-weight:500}.component-links{display:flex;gap:.75rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.component-link{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ffffff0d;border-radius:6px;text-decoration:none;color:var(--text-primary);font-size:.9rem;font-weight:600;transition:all .3s ease;flex:1;justify-content:center;min-width:100px}.component-link:hover{background:var(--accent-primary);color:var(--bg-primary);transform:translateY(-2px)}@media(max-width:768px){.components-grid{grid-template-columns:1fr}.component-stats{flex-direction:column;gap:.75rem}.component-links{flex-direction:column}.component-link{width:100%}}.section-title .gradient-text{color:transparent!important;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary))!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;display:inline-block!important}.demo-section{padding:4rem 2rem;background-color:var(--bg-secondary)}.demo-container{max-width:1200px;margin:0 auto}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.demo-card{background:var(--bg-primary);padding:1.5rem;border-radius:12px;border:1px solid var(--accent-primary);box-shadow:0 4px 6px #0000001a}.demo-card h3{margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.key-display{background:var(--bg-secondary);padding:1rem;border-radius:8px;font-family:monospace;font-size:.9rem;word-break:break-all;margin-bottom:1rem;border:1px solid var(--accent-tertiary)}.key-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem;font-weight:600}.demo-input-group{margin-bottom:1rem}.demo-input-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary)}.demo-textarea{width:100%;min-height:100px;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;resize:vertical}.demo-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;transition:opacity .2s;width:100%}.demo-btn:hover{opacity:.9}.demo-btn:disabled{opacity:.5;cursor:not-allowed}.demo-result{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.demo-result h4{margin-bottom:.5rem;font-size:.9rem;color:var(--text-secondary)}.hex-display{font-family:monospace;font-size:.85rem;word-break:break-all;color:var(--accent-color);max-height:150px;overflow-y:auto}@media(max-width:768px){.demo-grid{grid-template-columns:1fr}}.voting-demo{padding:2rem;background:#ffffff08;border-radius:16px;margin-top:2rem}.demo-header{text-align:center;margin-bottom:2rem}.demo-header h3{font-size:1.8rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:700}.demo-header p{opacity:1;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.6}.candidates-section{margin-bottom:2rem}.candidates-section h4{margin-bottom:1rem;font-size:1.2rem}.candidates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.candidate-card{padding:1.5rem;background:#ffffff0d;border-radius:12px;border:2px solid rgba(255,255,255,.1);text-align:center}.candidate-emoji{font-size:3rem;margin-bottom:.5rem}.candidate-card h5{margin:.5rem 0;font-size:1.1rem}.candidate-card p{font-size:.85rem;opacity:.7;margin:0}.voters-section{margin-bottom:2rem}.voters-section h4{margin-bottom:1rem;font-size:1.2rem}.voters-grid{display:grid;gap:1rem}.voter-card{padding:1.5rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.voter-card strong{display:block;margin-bottom:1rem;font-size:1.1rem}.vote-cast{padding:.75rem;background:#2daaff1a;border-radius:8px;color:#2daaff;text-align:center}.vote-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.vote-btn{flex:1;min-width:100px;padding:.75rem;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s;font-size:1.5rem}.vote-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.vote-btn.weighted{min-width:150px}.tally-btn{width:100%;padding:1rem;background:var(--accent-color);border:none;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s}.tally-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ec489966}.results-section{padding:2rem;background:#ffffff0d;border-radius:12px}.results-section h4{text-align:center;margin-bottom:2rem;font-size:1.5rem}.result-bar{margin-bottom:1.5rem}.result-bar.winner{background:#2daaff1a;padding:1rem;border-radius:12px;border:2px solid #2daaff}.result-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:500}.progress-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:width .5s ease}.result-bar.winner .progress-fill{background:linear-gradient(90deg,#2daaff,#0074e0)}.reset-btn{width:100%;padding:1rem;margin-top:2rem;background:#666;border:none;border-radius:12px;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s}.reset-btn:hover{background:#777}.approval-voter{max-width:100%}.voter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.voted-badge{padding:.25rem .75rem;background:#2daaff33;border-radius:12px;color:#2daaff;font-size:.85rem}.approval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.approval-btn{padding:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.approval-btn:hover{background:#ffffff1a}.approval-btn.selected{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 12px #8b5cf64d}.submit-vote-btn{width:100%;padding:.75rem;background:var(--accent-color);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.submit-vote-btn:disabled{opacity:.5;cursor:not-allowed}.submit-vote-btn:not(:disabled):hover{transform:translateY(-2px)}.weighted-voters{display:grid;gap:1rem}.weighted-voter-card{padding:1.5rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.shareholder-info{margin-bottom:1rem}.shareholder-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.shareholder-emoji{font-size:1.5rem}.shares-info{font-size:.9rem;opacity:.7;padding-left:2rem}.weighted-note{padding:1rem;background:#3b82f61a;border-radius:8px;border-left:4px solid #3b82f6;margin-top:1.5rem;font-size:.9rem}.ranked-voter{max-width:100%}.rankings-list{margin-bottom:1rem}.ranking-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff0d;border-radius:8px;margin-bottom:.5rem}.rank-number{font-weight:700;color:var(--primary-color);min-width:30px}.rank-candidate{flex:1}.rank-controls{display:flex;gap:.25rem}.rank-controls button{padding:.25rem .5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem}.rank-controls button:hover:not(:disabled){background:#fff3}.rank-controls button:disabled{opacity:.3;cursor:not-allowed}.add-candidates{margin-bottom:1rem}.add-candidates label{display:block;margin-bottom:.5rem;font-size:.9rem;opacity:.8}.candidate-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.add-candidate-btn{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.add-candidate-btn:hover{background:var(--primary-color);border-color:var(--primary-color)}.rounds-section{margin-bottom:2rem}.rounds-section h5{margin-bottom:1rem;font-size:1.2rem}.round-result{margin-bottom:1.5rem;padding:1rem;background:#ffffff08;border-radius:8px}.round-result strong{display:block;margin-bottom:.75rem;color:var(--primary-color)}.round-tallies{display:grid;gap:.5rem}.round-tally{display:flex;justify-content:space-between;padding:.5rem 1rem;background:#ffffff0d;border-radius:6px}.round-tally.eliminated{opacity:.5;text-decoration:line-through}.round-tally.winner{background:#2daaff1a;border:1px solid #2daaff}.eliminated-badge{padding:.25rem .5rem;background:#ef444433;border-radius:4px;color:#ef4444;font-size:.75rem}.winner-badge{padding:.25rem .5rem;background:#2daaff33;border-radius:4px;color:#2daaff;font-size:.75rem}.final-result{text-align:center}.final-result h5{margin-bottom:1rem;font-size:1.2rem}.winner-card{padding:2rem;background:linear-gradient(135deg,#2daaff1a,#0074e01a);border-radius:16px;border:2px solid #2daaff}.winner-emoji{font-size:4rem;display:block;margin-bottom:1rem}.winner-card h3{color:#2daaff;margin:.5rem 0}.winner-card p{opacity:.8;margin:0}.voting-demo-container{max-width:1400px;margin:0 auto;padding:2rem}.voting-intro{text-align:center;margin-bottom:3rem}.voting-intro h2{font-size:2.5rem;margin-bottom:1rem;color:transparent!important;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.voting-intro p{font-size:1.1rem;opacity:.9;max-width:800px;margin:0 auto 1.5rem;line-height:1.6}.security-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.badge.secure{background:#2daaff26;border:1px solid rgba(45,170,255,.3);color:#2daaff}.coming-soon{padding:4rem 2rem;text-align:center;background:#ffffff08;border-radius:16px;margin-top:2rem}.coming-soon h3{font-size:1.8rem;margin-bottom:1rem}.coming-soon p{font-size:1.1rem;opacity:.8;margin-bottom:1rem}.coming-soon a{color:var(--primary-color);text-decoration:none;font-weight:500}.coming-soon a:hover{text-decoration:underline}.election-intro{padding:3rem 2rem;background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-radius:16px;border:2px solid rgba(139,92,246,.3);max-width:800px;margin:0 auto}.intro-header{text-align:center;margin-bottom:2rem}.intro-emoji{font-size:4rem;display:block;margin-bottom:1rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.intro-header h3{font-size:2rem;margin:0;color:var(--text-primary)!important;font-weight:700}.intro-story{font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.intro-story p{margin-bottom:1rem}.intro-stakes{display:grid;gap:1rem;margin:2rem 0;padding:1.5rem;background:#0003;border-radius:12px}.stake-item{display:flex;align-items:center;gap:1rem}.stake-item span{font-size:2.5rem;min-width:60px;text-align:center}.stake-item p{margin:0;font-size:1rem}.intro-challenge{font-size:1.05rem;padding:1.5rem;background:#3b82f626;border-left:4px solid #3b82f6;border-radius:8px;margin-top:2rem}.start-election-btn{width:100%;padding:1.5rem;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px #8b5cf666}.start-election-btn:hover{transform:translateY(-3px);box-shadow:0 6px 30px #8b5cf699}.election-tagline{font-size:1.1rem;font-weight:500;opacity:.9}.voter-instruction{font-size:.95rem;opacity:.8;margin-top:.5rem;font-style:italic}.results-intro{text-align:center;font-size:1.1rem;margin-bottom:2rem;opacity:.9}.borda-quick-vote{display:flex;flex-direction:column;gap:.5rem}.referendum-question{text-align:center;padding:2rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem;border:2px solid rgba(59,130,246,.3)}.referendum-question h4{font-size:1.5rem;margin:0}.yesno-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.yes-btn{background:linear-gradient(135deg,#0074e0,#005bb5)!important}.no-btn{background:linear-gradient(135deg,#ef4444,#dc2626)!important}.yesno-results{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.yesno-result{text-align:center;padding:2rem;background:#ffffff0d;border-radius:16px;border:2px solid rgba(255,255,255,.1);transition:all .3s}.yesno-result.winner{background:#2daaff26;border-color:#2daaff;transform:scale(1.05)}.yesno-emoji{font-size:4rem;display:block;margin-bottom:1rem}.yesno-result h3{font-size:2rem;margin:.5rem 0}.yesno-count{font-size:1.5rem;font-weight:700;margin:.5rem 0}.yesno-percent{font-size:1.2rem;opacity:.8;margin:0}.referendum-outcome{text-align:center;padding:2rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem}.referendum-outcome h3{font-size:1.8rem;margin-bottom:1rem}.score-voting-section{padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.score-slider{margin-bottom:1.5rem}.score-slider input[type=range]{width:100%;height:12px;border-radius:6px;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.score-slider input[type=range]::-webkit-slider-runnable-track{height:12px;border-radius:6px}.score-slider input[type=range]::-moz-range-track{height:12px;border-radius:6px;background:transparent}.score-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.score-value{font-weight:700;color:var(--accent-color)}.score-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 4px #0000004d}.score-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.score-labels{display:flex;justify-content:space-between;font-size:.75rem;opacity:.6;margin-top:.25rem}.score-breakdown{display:flex;gap:.5rem;margin:.5rem 0}.individual-score{padding:.25rem .5rem;background:#ffffff1a;border-radius:4px;font-size:.85rem}.loading-container{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000c;z-index:9999;text-align:center}.loading-spinner{width:60px;height:60px;border:5px solid rgba(255,255,255,.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}.loading-container p{font-size:1.2rem;color:#fff;margin:0;font-weight:500}.abstain-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.abstain-btn{background:linear-gradient(135deg,#6b7280,#4b5563)!important}.abstain-results{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:2rem}.abstain-result{text-align:center;padding:2rem 1rem;background:#ffffff0d;border-radius:16px;border:2px solid rgba(255,255,255,.1)}.abstain-result.neutral{opacity:.7}.abstain-emoji{font-size:3rem;display:block;margin-bottom:1rem}.abstain-count{font-size:1.5rem;font-weight:700;margin:.5rem 0}.abstain-percent{font-size:1.1rem;opacity:.8}.abstain-note{font-size:.9rem;opacity:.7;font-style:italic}.supermajority-tracker{padding:2rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem}.threshold-bar{position:relative;height:40px;background:#ffffff1a;border-radius:8px;overflow:hidden;margin:1rem 0}.threshold-progress{height:100%;background:linear-gradient(90deg,#0074e0,#005bb5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:width .5s ease}.threshold-line{position:absolute;top:0;bottom:0;width:3px;background:#ef4444;z-index:10}.threshold-label{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#ef4444;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;white-space:nowrap}.threshold-status{text-align:center;font-weight:500;margin-top:1rem}.supermajority-final{position:relative;margin-bottom:2rem}.final-bar{display:flex;height:60px;border-radius:8px;overflow:hidden}.final-yes{background:linear-gradient(90deg,#0074e0,#005bb5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.final-no{background:linear-gradient(90deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.threshold-marker{position:absolute;top:-30px;transform:translate(-50%);text-align:center;font-size:.85rem;font-weight:700;color:#ef4444}.round-results{margin-bottom:2rem}.top-two{border:2px solid var(--primary-color);background:#8b5cf61a}.eliminated{opacity:.5}.eliminated-badge{background:#ef444433;color:#ef4444}.runoff-announcement{text-align:center;padding:2rem;background:#8b5cf61a;border-radius:12px;margin:2rem 0}.runoff-candidates{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem}.runoff-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;border:2px solid var(--primary-color)}.runoff-emoji{font-size:3rem}.runoff-section{margin-bottom:2rem}.runoff-candidates-large{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem}.runoff-candidate-large{text-align:center;padding:2rem;background:#ffffff0d;border-radius:16px;border:2px solid var(--primary-color)}.candidate-emoji-large{font-size:4rem;margin-bottom:1rem}.round1-result{font-size:.9rem;opacity:.7;margin-top:1rem}.winner-announcement{text-align:center;padding:2rem;background:linear-gradient(135deg,#2daaff26,#0074e026);border-radius:16px;border:2px solid #2daaff;margin-top:2rem}.star-phase{margin-bottom:2rem}.star-transition{text-align:center;padding:2rem;background:#8b5cf61a;border-radius:12px;margin-top:2rem}.runoff-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin:2rem 0}.runoff-candidate{text-align:center;padding:2rem;background:#ffffff0d;border-radius:16px;border:2px solid rgba(255,255,255,.1);transition:all .3s}.runoff-candidate.winner{background:#2daaff26;border-color:#2daaff;transform:scale(1.05)}.vs-divider{font-size:2rem;font-weight:700;opacity:.5}.runoff-votes{font-size:1.1rem;margin-top:1rem;opacity:.9}.stv-ranking-section{padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.current-ranking{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.stv-winners{text-align:center;padding:2rem;background:#2daaff1a;border-radius:12px;margin-top:2rem}.winner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}.stv-winner-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;border:2px solid #2daaff}.winner-emoji{font-size:3rem}.stv-explanation{font-size:.9rem;opacity:.8;margin-top:1rem}.quota-line{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:5}.security-warning-banner{padding:1rem;background:#ef444426;border:2px solid #ef4444;border-radius:8px;color:#ef4444;text-align:center;font-weight:500;margin-bottom:2rem}.security-warning{background:#ef44441a;border-left:4px solid #ef4444;padding:1rem;margin:1rem 0}.quadratic-section{padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.quadratic-item{margin-bottom:2rem;padding:1.5rem;background:#ffffff0d;border-radius:8px}.quadratic-header{display:flex;justify-content:space-between;margin-bottom:1rem}.quadratic-votes{font-weight:700;color:var(--accent-color)}.quadratic-controls{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.vote-squares{display:flex;gap:.25rem;flex:1}.vote-square{width:30px;height:30px;border:2px solid rgba(255,255,255,.2);border-radius:4px}.vote-square.filled{background:var(--primary-color);border-color:var(--primary-color)}.cost-explanation{font-size:.85rem;opacity:.7;font-style:italic}.budget-summary{padding:1rem;background:#3b82f61a;border-radius:8px;text-align:center;font-size:1.1rem;margin-top:1rem}.quadratic-explanation{padding:1.5rem;background:#3b82f61a;border-radius:12px;margin-top:2rem}.quadratic-explanation h5{margin-bottom:1rem}.consensus-question{text-align:center;padding:2rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem}.consensus-tracker{padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.consensus-bar{position:relative;height:40px;background:#ffffff1a;border-radius:8px;overflow:hidden;margin:1rem 0}.consensus-support{height:100%;background:linear-gradient(90deg,#0074e0,#005bb5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:width .5s ease}.consensus-threshold{position:absolute;top:0;bottom:0;width:3px;background:#ef4444;z-index:10}.consensus-threshold span{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#ef4444;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.consensus-status{text-align:center;font-weight:500;margin-top:1rem}.consensus-votes{display:grid;gap:1rem}.consensus-voter{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#ffffff0d;border-radius:8px;border:2px solid rgba(255,255,255,.1)}.consensus-voter.support{border-color:#0074e0;background:#0074e01a}.consensus-voter.oppose{border-color:#ef4444;background:#ef44441a}.consensus-final{margin-bottom:2rem}.consensus-result-bar{display:flex;height:60px;border-radius:8px;overflow:hidden;margin-bottom:1rem}.final-support{background:linear-gradient(90deg,#0074e0,#005bb5);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.final-oppose{background:linear-gradient(90deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.consensus-note{padding:1rem;background:#3b82f61a;border-radius:8px;margin-top:1rem}.consent-question{text-align:center;padding:2rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem}.consent-note{font-size:.9rem;opacity:.8;font-style:italic;margin-top:1rem}.consent-tracker{padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.consent-summary{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1rem}.consent-stat{text-align:center;padding:1.5rem;background:#2daaff1a;border-radius:12px;border:2px solid #2daaff}.consent-stat.objection{background:#ef44441a;border-color:#ef4444}.stat-number{display:block;font-size:3rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:1.1rem}.objection-warning{text-align:center;color:#ef4444;font-weight:500}.consent-votes{display:grid;gap:1rem}.consent-voter{padding:1rem;background:#ffffff0d;border-radius:8px;border:2px solid rgba(255,255,255,.1)}.consent-voter.consent{border-color:#0074e0;background:#0074e01a}.consent-voter.objection{border-color:#ef4444;background:#ef44441a}.consent-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.consent-btn{background:linear-gradient(135deg,#0074e0,#005bb5)!important}.objection-btn{background:linear-gradient(135deg,#ef4444,#dc2626)!important}.vote-display{margin-top:1rem}.consent-badge{display:inline-block;padding:.5rem 1rem;background:#0074e033;border-radius:8px;color:#0074e0;font-weight:500}.objection-badge{display:inline-block;padding:.5rem 1rem;background:#ef444433;border-radius:8px;color:#ef4444;font-weight:500}.objection-display{margin-top:.5rem}.objection-text{margin-top:.5rem;padding:.75rem;background:#0003;border-radius:6px;font-style:italic;font-size:.9rem}.consent-final{margin-bottom:2rem}.consent-breakdown{display:grid;gap:2rem}.consent-group,.objection-group{padding:1.5rem;background:#ffffff08;border-radius:12px}.objection-item{padding:1rem;background:#ef44441a;border-radius:8px;margin-top:1rem;border-left:4px solid #ef4444}.objection-item strong{display:block;margin-bottom:.5rem}.objection-item p{margin:0;font-style:italic;opacity:.9}.tally-visualization{padding:1.5rem;background:#3b82f61a;border-radius:12px;margin-bottom:2rem;border-left:4px solid #3b82f6}.tally-visualization h5{margin-bottom:.5rem;font-size:1.1rem}.tally-explain{font-size:.95rem;opacity:.9;margin:0;line-height:1.6}.votes-cast-summary{padding:1rem;background:#ffffff08;border-radius:8px;margin-bottom:1rem}.vote-summary{padding:.5rem;font-size:.9rem;opacity:.8}.voting-selector{margin-bottom:2rem}.voting-selector h3{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.method-category{margin-bottom:2rem}.method-category h4{font-size:1rem;margin-bottom:1rem;opacity:.9}.method-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.method-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .3s ease;color:#fff}.method-btn:hover{background:#ffffff1a;border-color:var(--primary-color);transform:translateY(-2px)}.method-btn.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 12px #8b5cf64d}.method-emoji{font-size:2rem}.method-name{font-size:.85rem;text-align:center;font-weight:500}.demo-navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0e1acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease}.demo-navigation.scrolled{background:#0a0e1af2;box-shadow:0 4px 20px #0000004d}.nav-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:800;text-decoration:none;color:var(--text-primary);transition:all .3s ease}.nav-logo:hover{color:var(--accent-primary);transform:scale(1.05)}.logo-icon{font-size:1.8rem}.logo-text{color:transparent!important;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.nav-items{display:flex;gap:.5rem;align-items:center}.nav-items.desktop{display:none}.nav-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-weight:600;transition:all .3s ease;cursor:pointer}.nav-item:hover{color:var(--text-primary);background:#ffffff0d}.nav-item.active{color:var(--accent-primary);background:#2daaff1a}.nav-icon{font-size:1.2rem}.nav-label{font-size:1rem}.nav-indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent-primary);border-radius:2px 2px 0 0}.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:0}.hamburger{display:flex;flex-direction:column;gap:5px;width:24px;height:18px;position:relative}.hamburger span{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translateY(8px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translateY(-8px)}.mobile-menu{background:#111827f2;border-top:1px solid rgba(255,255,255,.1);overflow:hidden}.mobile-nav-item{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;text-decoration:none;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s ease}.mobile-nav-item:hover{background:#ffffff0d;color:var(--text-primary)}.mobile-nav-item.active{background:#2daaff1a;color:var(--accent-primary)}.mobile-nav-item .nav-icon{font-size:1.5rem}.mobile-nav-item .nav-content{display:flex;flex-direction:column;gap:.25rem}.mobile-nav-item .nav-label{font-size:1.1rem;font-weight:600}.mobile-nav-item .nav-description{font-size:.85rem;color:var(--text-secondary)}@media(min-width:769px){.nav-items.desktop{display:flex}.mobile-menu-button{display:none}}@media(max-width:768px){.nav-container{padding:1rem 1.5rem}.logo-text{display:none}.logo-icon{font-size:2rem}}.mobile-language-selector{padding:1rem 2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.mobile-language-selector .language-selector{width:100%}.mobile-language-selector .language-selector-trigger{width:100%;justify-content:center}.mobile-language-selector .language-dropdown{position:relative;top:8px;right:auto;width:100%}@media(max-width:480px){.nav-container{padding:.75rem 1rem}}.language-selector{position:relative;z-index:1000}.language-selector-trigger{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.language-selector-trigger:hover{background:#ffffff26;border-color:#ffffff4d}.language-selector-trigger.open{background:#fff3}.language-selector-trigger:disabled{opacity:.6;cursor:not-allowed}.lang-icon{font-size:16px}.lang-code{font-weight:500}.lang-arrow{font-size:10px;transition:transform .2s ease}.lang-arrow.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#1e1e28fa;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:8px;list-style:none;margin:0;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.language-dropdown li{margin:0}.language-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;color:#ffffffd9;font-size:14px;cursor:pointer;transition:all .15s ease;text-align:left}.language-option:hover{background:#ffffff1a;color:#fff}.language-option.active{background:#64c8ff26;color:#64c8ff}.lang-native{font-weight:500}.lang-check{color:#64c8ff;font-weight:700}@media(max-width:768px){.language-selector-trigger{padding:8px 10px}.lang-code{display:none}.language-dropdown{right:-10px;min-width:160px}}.faq-wrapper{width:100%;min-height:100vh;background:var(--bg-primary)}.faq-container{max-width:900px;width:90%;margin:0 auto;padding:6rem 0 4rem}.faq-header{text-align:center;margin-bottom:4rem;padding:4rem 2rem 2rem;position:relative}.faq-header:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:var(--gradient-primary);border-radius:2px}.faq-header h1{font-size:clamp(3rem,6vw,5rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.02em;color:transparent!important;background:var(--gradient-primary);-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.faq-header p{color:var(--text-secondary);font-size:clamp(1rem,2vw,1.5rem)}.faq-content{padding:0 2rem}.faq-item{background:var(--bg-secondary);border-radius:16px;padding:2rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.faq-item:hover{border-color:#2daaff33;box-shadow:0 10px 30px #0003}.faq-item h2{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;color:var(--accent-primary);margin-bottom:1rem;line-height:1.3}.faq-item h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.faq-item p{color:var(--text-secondary);line-height:1.8;margin-bottom:.75rem;font-size:1rem}.faq-item strong{color:var(--text-primary)}.faq-item ul{list-style:none;padding:0;margin:.75rem 0}.faq-item ul li{color:var(--text-secondary);line-height:1.8;padding-left:1.5rem;position:relative;margin-bottom:.5rem}.faq-item ul li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.faq-sub-section{background:#ffffff05;border-radius:12px;padding:1.5rem;margin:1rem 0;border-left:3px solid var(--accent-primary)}.faq-sub-section h3{margin-top:0}.faq-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.faq-footer .back-link{color:var(--accent-primary);text-decoration:none;font-weight:600;font-size:1.1rem;padding:.75rem 1.5rem;border:2px solid var(--accent-primary);border-radius:8px;display:inline-block;transition:all .3s ease}.faq-footer .back-link:hover{background:var(--accent-primary);color:var(--bg-primary);transform:translate(-4px)}.faq-mode-toggle{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0 auto 3rem;padding:.75rem;max-width:600px}.faq-toggle-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.5rem;border-radius:12px;border:2px solid rgba(255,255,255,.08);background:var(--bg-secondary);cursor:pointer;transition:all .35s ease;flex:1;max-width:200px}.faq-toggle-btn .toggle-icon{font-size:1.8rem;line-height:1;transition:transform .35s ease}.faq-toggle-btn .toggle-label{font-size:.95rem;font-weight:700;color:var(--text-secondary);transition:color .35s ease}.faq-toggle-btn .toggle-sublabel{font-size:.7rem;color:var(--text-secondary);opacity:.5;transition:opacity .35s ease}.faq-toggle-ohm.active{border-color:#ffc107;box-shadow:0 0 20px #ffc10726,0 4px 12px #0003}.faq-toggle-ohm.active .toggle-label{color:#ffc107}.faq-toggle-ohm.active .toggle-icon{transform:scale(1.15)}.faq-toggle-ohm.active .toggle-sublabel{opacity:.8}.faq-toggle-volta.active{border-color:#ff5722;box-shadow:0 0 20px #ff572233,0 4px 12px #0003}.faq-toggle-volta.active .toggle-label{color:#ff5722}.faq-toggle-volta.active .toggle-icon{transform:scale(1.15)}.faq-toggle-volta.active .toggle-sublabel{opacity:.8}.faq-toggle-switch{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:var(--bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .35s ease;flex-shrink:0}.faq-toggle-switch:hover{border-color:var(--accent-primary);transform:scale(1.1)}.faq-toggle-switch .toggle-flame{font-size:1.1rem;font-weight:700;color:var(--text-secondary);transition:all .35s ease}.faq-toggle-switch .toggle-flame.lit{color:#ff5722;text-shadow:0 0 8px rgba(255,87,34,.5)}.faq-section-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2.5rem 0 1.5rem;padding:.5rem 0}.faq-section-divider .divider-icon{font-size:1.2rem}.faq-section-divider .divider-text{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary);opacity:.6}.ecosystem-item{border-left:3px solid transparent;transition:all .3s ease,border-color .3s ease}.mascot-card{border-left-color:#ff57224d}.mascot-card:hover{border-left-color:#ff5722}.mascot-card-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem}.mascot-card-header h2{margin-bottom:.25rem}.mascot-avatar{width:80px;height:80px;object-fit:contain;border-radius:12px;background:#ffffff08;padding:.25rem;flex-shrink:0}.mascot-tagline{font-style:italic;opacity:.7;font-size:.95rem;margin-bottom:1rem}@media(max-width:768px){.faq-container{padding:2rem 1rem}.faq-header{padding:2rem 0 1rem}.faq-content{padding:0}.faq-item{padding:1.5rem}.faq-mode-toggle{flex-direction:row;gap:.5rem;padding:.5rem}.faq-toggle-btn{padding:.75rem .5rem}.faq-toggle-btn .toggle-sublabel{display:none}}.mascot-avatar-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease;flex-shrink:0}.mascot-avatar-btn:hover{transform:scale(1.1);box-shadow:0 0 16px #ff57224d}.mascot-avatar-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px}.mascot-zoom-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:mascot-fade-in .2s ease}.mascot-zoom-dialog{position:relative;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;max-width:480px;width:90%;text-align:center;animation:mascot-scale-in .25s ease}.mascot-zoom-close{position:absolute;top:.75rem;right:.75rem;background:#ffffff14;border:none;color:var(--text-secondary);font-size:1.2rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.mascot-zoom-close:hover{background:#ffffff26;color:var(--text-primary)}.mascot-zoom-name{font-size:1.5rem;font-weight:700;color:var(--accent-primary);margin-bottom:1.5rem}.mascot-zoom-img{width:100%;max-height:60vh;object-fit:contain}@keyframes mascot-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mascot-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animated-particles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-top:-70px;padding-top:70px}.hero-background{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(45,170,255,.1) 0%,transparent 50%);z-index:0}.hero-content{position:relative;z-index:1;text-align:center;max-width:1100px;padding:2rem}.hero-badge{display:inline-block;padding:.5rem 1.5rem;background:#2daaff1a;border:1px solid rgba(45,170,255,.3);border-radius:20px;margin-bottom:2rem}.badge-text{color:var(--accent-primary);font-weight:600;font-size:.95rem}.hero-title{font-size:clamp(3rem,8vw,6rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:600;margin-bottom:1.5rem}.hero-subtitle.gradient-text{color:transparent!important;background:linear-gradient(135deg,#2daaff,#0074e0);-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;display:inline-block}.hero-description{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);margin-bottom:2rem;line-height:1.8}.hero-highlight{display:block;margin-top:1rem;color:var(--accent-primary);font-size:1.1rem}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:2rem;margin:3rem auto;max-width:800px;padding:2rem;background:#11182780;border-radius:12px;border:1px solid rgba(45,170,255,.1)}.stat-item{text-align:center}.stat-value{font-size:2.5rem;font-weight:800;color:var(--accent-primary);margin-bottom:.5rem}.stat-label{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.hero-cta .btn{display:flex;align-items:center;gap:.5rem}.platform-links{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.platform-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffff0d;border-radius:8px;font-weight:600;transition:all .3s ease}.platform-link:hover{background:#2daaff1a;transform:translateY(-2px)}@media(max-width:768px){.hero{margin-top:-60px;padding-top:60px}.hero-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:1.5rem}.stat-value{font-size:2rem}.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px;justify-content:center}.platform-links{flex-direction:column;align-items:center}.platform-link{width:100%;max-width:300px;justify-content:center}}.scroll-indicator{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .3s ease}.scroll-indicator:hover{transform:translate(-50%) scale(1.1)}.scroll-mouse{display:flex;flex-direction:column;align-items:center}.mouse-body{width:26px;height:40px;border:2px solid var(--accent-primary);border-radius:13px;position:relative;background:#2daaff0d;box-shadow:0 0 20px #2daaff33}.mouse-wheel{width:4px;height:8px;background:var(--accent-primary);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #2daaff80}.scroll-text{font-size:.85rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.1em}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));z-index:1001;box-shadow:0 0 10px #2daaff80}@media(max-width:768px){.scroll-indicator{bottom:1.5rem}.scroll-text{font-size:.75rem}.mouse-body{width:22px;height:36px}.mouse-wheel{width:3px;height:6px}}.ledger-demo{padding:6rem 2rem 2rem;max-width:1400px;margin:0 auto;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.ledger-demo .demo-header{text-align:center;margin-bottom:2rem}.ledger-demo .demo-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:.5rem;color:transparent!important;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.ledger-demo .demo-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:700px;margin:0 auto}.ledger-layout{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;align-items:start}@media(max-width:900px){.ledger-layout{grid-template-columns:1fr}}.ledger-panel{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.ledger-panel h3{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.signer-card{background:var(--bg-tertiary);border-radius:8px;padding:.75rem;margin-bottom:.5rem;border-left:3px solid transparent;transition:all .2s ease}.signer-card.admin{border-left-color:#f59e0b}.signer-card.writer{border-left-color:#3b82f6}.signer-card.reader{border-left-color:#6b7280}.signer-card.suspended{opacity:.5;border-left-style:dashed}.signer-card.retired{opacity:.3;text-decoration:line-through}.signer-name{font-weight:600;font-size:.9rem;margin-bottom:.25rem}.signer-meta{display:flex;gap:.5rem;flex-wrap:wrap}.signer-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:999px;font-weight:600;text-transform:uppercase}.signer-badge.role-admin{background:#f59e0b33;color:#f59e0b}.signer-badge.role-writer{background:#3b82f633;color:#3b82f6}.signer-badge.role-reader{background:#6b728033;color:#9ca3af}.signer-badge.status-active{background:#22c55e33;color:#22c55e}.signer-badge.status-suspended{background:#eab30833;color:#eab308}.signer-badge.status-retired{background:#ef444433;color:#ef4444}.signer-actions{display:flex;gap:.25rem;margin-top:.5rem;flex-wrap:wrap}.action-btn{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#ffffff0d;color:var(--text-primary);border-color:#fff3}.action-btn.danger:hover{background:#ef444426;color:#ef4444;border-color:#ef44444d}.chain-container{position:relative;overflow-x:auto;padding:1rem 0}.chain-entries{display:flex;gap:0;align-items:center;min-height:180px;padding:.5rem}.chain-link{width:40px;min-width:40px;display:flex;align-items:center;justify-content:center;position:relative}.chain-link-line{width:100%;height:2px;background:linear-gradient(90deg,#f59e0b4d,#f59e0b99);position:relative}.chain-link-line:after{content:"→";position:absolute;right:-4px;top:50%;transform:translateY(-50%);color:#f59e0b;font-size:.8rem}.entry-block{min-width:160px;max-width:200px;background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem;cursor:pointer;transition:all .3s ease;position:relative;flex-shrink:0}.entry-block:hover{transform:translateY(-4px);border-color:#f59e0b66;box-shadow:0 8px 24px #f59e0b1a}.entry-block.genesis{border-color:#f59e0b66;background:linear-gradient(135deg,rgba(245,158,11,.08),var(--bg-tertiary))}.entry-block.governance{border-color:#a855f766;background:linear-gradient(135deg,rgba(168,85,247,.08),var(--bg-tertiary))}.entry-block.selected{border-color:var(--accent-primary);box-shadow:0 0 20px #2daaff33}.entry-block.animate-in{animation:blockSlideIn .5s ease-out}@keyframes blockSlideIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.entry-seq{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.entry-type-badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:4px;font-weight:600;margin-bottom:.4rem}.entry-type-badge.genesis{background:#f59e0b33;color:#f59e0b}.entry-type-badge.governance{background:#a855f733;color:#a855f7}.entry-type-badge.data{background:#3b82f633;color:#3b82f6}.entry-hash{font-family:SF Mono,Fira Code,monospace;font-size:.65rem;color:var(--text-secondary);word-break:break-all;opacity:.7;margin-bottom:.25rem}.entry-signer{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.entry-payload-preview{font-size:.7rem;color:var(--accent-tertiary);margin-top:.25rem;font-style:italic}.entry-detail{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-top:1rem}.entry-detail h4{font-size:.85rem;font-weight:700;margin-bottom:.75rem;color:var(--accent-tertiary)}.detail-row{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.8rem}.detail-label{color:var(--text-secondary)}.detail-value{font-family:SF Mono,Fira Code,monospace;color:var(--text-primary);max-width:60%;text-align:right;word-break:break-all}.ledger-controls{display:flex;flex-direction:column;gap:.75rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.control-input{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;width:100%}.control-input:focus{outline:none;border-color:var(--accent-primary)}.control-select{background:var(--bg-tertiary);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-size:.85rem;width:100%}.primary-btn{padding:.6rem 1rem;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary-btn{padding:.5rem .75rem;background:transparent;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#ffffff0d;color:var(--text-primary)}.validation-result{padding:.75rem;border-radius:8px;font-size:.85rem;margin-top:.5rem}.validation-result.valid{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.validation-result.invalid{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.stats-bar{display:flex;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:10px;margin-bottom:1rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.event-log{max-height:200px;overflow-y:auto;font-size:.75rem;font-family:SF Mono,Fira Code,monospace}.event-log-entry{padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text-secondary)}.event-log-entry .timestamp{color:#ffffff4d;margin-right:.5rem}.event-log-entry.governance{color:#a855f7}.event-log-entry.append{color:#3b82f6}.event-log-entry.error{color:#ef4444}.quorum-info{font-size:.8rem;padding:.5rem .75rem;background:#a855f71a;border-radius:6px;color:#a855f7;margin-bottom:.75rem}.chain-container::-webkit-scrollbar,.event-log::-webkit-scrollbar{height:6px;width:6px}.chain-container::-webkit-scrollbar-track,.event-log::-webkit-scrollbar-track{background:transparent}.chain-container::-webkit-scrollbar-thumb,.event-log::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.add-signer-form{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06);margin-top:.5rem}.add-signer-row{display:flex;gap:.5rem}.add-signer-row .control-input{flex:1}.ledger-initializing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem;color:#94a3b8;font-size:1rem}.initializing-spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color, #6366f1);color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px;font-weight:600;transition:top .2s ease}.skip-link:focus{top:0;outline:3px solid var(--accent-color, #fbbf24);outline-offset:2px}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1f2937;--text-primary: #ffffff;--text-secondary: #9ca3af;--accent-primary: #2daaff;--accent-secondary: #0074e0;--accent-tertiary: #5ecbff;--gradient-primary: linear-gradient(135deg, #2daaff, #0074e0);color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-primary)}#root{width:100%;min-height:100vh}a{font-weight:500;color:var(--accent-primary);text-decoration:inherit;transition:all .3s ease}a:hover{color:var(--accent-secondary)}.section{padding:6rem 2rem;max-width:1400px;margin:0 auto}.section-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:1rem;text-align:center;letter-spacing:-.02em}.gradient-text{color:transparent!important;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;background-size:100%;background-repeat:no-repeat;background-position:center;display:inline-block}.btn{padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none;display:inline-block}.btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.btn-primary:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 8px 20px #2daaff4d}.btn-secondary{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}.btn-secondary:hover{background:var(--accent-primary);color:var(--bg-primary);transform:translateY(-2px)}.card{background:#111827cc;border:1px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(max-width:768px){.section{padding:4rem 1.5rem}.section-title{font-size:2rem}}
