@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";:root{--green:#00ff41;--green-dim:#0c3;--green-faint:#003b00;--bg:#000;--bg-surface:#0a0a0a;--bg-hover:#001a00;--border:#00ff4133;--border-bright:#00ff4166;--font:"Share Tech Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--green);font-family:var(--font);font-size:14px;line-height:1.6}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000014 2px 4px);position:fixed;inset:0}a{color:var(--green);text-decoration:none}a:hover{color:#fff;text-shadow:0 0 8px var(--green)}button{font-family:var(--font);cursor:pointer;border:1px solid var(--border-bright);color:var(--green);background:0 0;padding:4px 10px;font-size:13px;transition:all .15s}button:hover{background:var(--green-faint);border-color:var(--green);box-shadow:0 0 6px var(--green)}input,textarea{font-family:var(--font);background:var(--bg-surface);border:1px solid var(--border-bright);color:var(--green);resize:vertical;outline:none;padding:6px 10px;font-size:13px}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 6px var(--green-dim)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green-dim)}.glow{text-shadow:0 0 8px var(--green), 0 0 16px var(--green-dim)}.cursor:after{content:"_";animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.navbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:100;align-items:center;gap:2rem;padding:12px 32px;display:flex;position:sticky;top:0}.navbar .logo{letter-spacing:2px;color:var(--green);text-shadow:0 0 10px var(--green);font-size:18px}.navbar nav{gap:1.5rem;display:flex}.navbar nav a{letter-spacing:1px;opacity:.7;font-size:13px;transition:opacity .15s}.navbar nav a:hover,.navbar nav a.active{opacity:1;text-shadow:0 0 6px var(--green)}.page{max-width:1100px;margin:0 auto;padding:32px 24px}.page-title{letter-spacing:3px;margin-bottom:6px;font-size:20px}.page-subtitle{color:var(--green-dim);letter-spacing:1px;margin-bottom:28px;font-size:12px}.progress-label{color:var(--green-dim);letter-spacing:1px;margin-bottom:6px;font-size:12px}.progress-bar-wrap{background:var(--green-faint);width:100%;height:4px;margin-bottom:24px}.progress-bar-fill{background:var(--green);height:4px;box-shadow:0 0 6px var(--green);transition:width .3s}.section-header{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:4px;padding:10px 0;display:flex}.section-header:hover{color:#fff}.section-title{letter-spacing:1.5px;text-transform:uppercase;font-size:13px}.section-meta{color:var(--green-dim);font-size:12px}.sheet-table{border-collapse:collapse;width:100%;margin-bottom:32px;font-size:13px}.sheet-table th{text-align:left;border-bottom:1px solid var(--border-bright);color:var(--green-dim);letter-spacing:1.5px;text-transform:uppercase;padding:8px 10px;font-size:11px}.sheet-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}.sheet-table tr:hover td{background:var(--bg-hover)}.sheet-table tr.solved td{opacity:.4}.sheet-table tr.solved td:first-child{opacity:1}.check-box{border:1px solid var(--green-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;transition:all .1s;display:inline-flex}.check-box.checked{background:var(--green);color:#000;border-color:var(--green);box-shadow:0 0 4px var(--green)}.badge{letter-spacing:1px;text-transform:uppercase;border:1px solid;padding:2px 6px;font-size:10px}.badge.easy{color:#00ff41;border-color:#00ff4144}.badge.medium{color:#ff0;border-color:#ff04}.badge.hard{color:#f33;border-color:#f334}.modal-backdrop{z-index:200;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border-bright);box-shadow:0 0 30px var(--green-faint);flex-direction:column;gap:12px;width:560px;max-width:95vw;padding:24px;display:flex}.modal-title{letter-spacing:1px;color:var(--green);border-bottom:1px solid var(--border);padding-bottom:10px;font-size:13px}.modal textarea{border:1px solid var(--border);width:100%;min-height:180px;color:var(--green);background:#050505;padding:10px;font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.home-hero{text-align:center;padding:60px 0 48px}.home-hero pre{color:var(--green);text-shadow:0 0 8px var(--green-dim);font-size:12px;line-height:1.3;display:inline-block}.home-hero .tagline{color:var(--green-dim);letter-spacing:2px;margin-top:16px;font-size:13px}.sheet-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px;display:grid}.sheet-card{border:1px solid var(--border-bright);background:var(--bg-surface);color:var(--green);padding:24px;text-decoration:none;transition:all .2s;display:block}.sheet-card:hover{border-color:var(--green);background:var(--bg-hover);box-shadow:0 0 16px var(--green-faint)}.card-title{letter-spacing:1.5px;margin-bottom:8px;font-size:15px}.card-desc{color:var(--green-dim);font-size:12px;line-height:1.7}.card-count{color:var(--green-dim);letter-spacing:1px;margin-top:16px;font-size:11px}.cp-layout{align-items:flex-start;gap:24px;display:flex}.topic-sidebar{border:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;width:190px;padding:12px 0;position:sticky;top:64px}.sidebar-heading{letter-spacing:2px;text-transform:uppercase;color:var(--green-dim);border-bottom:1px solid var(--border);margin-bottom:6px;padding:0 12px 10px;font-size:10px}.topic-sidebar button{text-align:left;width:100%;color:var(--green-dim);border:none;border-left:2px solid #0000;border-radius:0;padding:6px 12px;font-size:12px;display:block}.topic-sidebar button:hover,.topic-sidebar button.active{background:var(--bg-hover);color:var(--green);border-left-color:var(--green);box-shadow:none}.cp-content{flex:1;min-width:0}.level-banner{border:1px solid var(--border-bright);background:var(--bg-surface);box-shadow:0 0 12px var(--green-faint);align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.level-icon{color:var(--green);text-shadow:0 0 10px var(--green);flex-shrink:0;font-size:32px}.level-name{letter-spacing:3px;color:var(--green);text-shadow:0 0 8px var(--green);font-size:16px}.level-subtitle{color:var(--green-dim);letter-spacing:1px;margin-top:4px;font-size:12px}.level-rating{color:var(--green-dim);letter-spacing:1.5px;margin-top:4px;font-size:11px}.section-subtitle{color:var(--green-dim);letter-spacing:1px;margin-left:6px;font-size:11px;font-style:italic}.google-topic-block{margin-bottom:36px}.google-topic-header{letter-spacing:2.5px;text-transform:uppercase;color:var(--green);text-shadow:0 0 6px var(--green-dim);border-bottom:1px solid var(--border-bright);justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 0 8px;font-size:14px;display:flex}.google-pattern-block{border:1px solid var(--border);background:var(--bg-surface);margin-bottom:20px}.google-pattern-header{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:1px;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 14px;font-size:12px;transition:background .12s;display:flex}.google-pattern-header:hover{background:var(--bg-hover)}.pattern-label{color:var(--green-dim);letter-spacing:1.5px;margin-right:4px;font-size:10px}.google-pattern-body{padding:0}.concepts-block{border-bottom:1px solid var(--border);background:#050f05}.concepts-toggle{text-align:left;letter-spacing:2px;width:100%;color:var(--green-dim);box-shadow:none;background:0 0;border:none;border-radius:0;padding:8px 14px;font-size:10px}.concepts-toggle:hover{background:var(--bg-hover);color:var(--green);box-shadow:none}.concepts-list{border-top:1px solid var(--border);flex-direction:column;gap:7px;padding:4px 14px 12px;list-style:none;display:flex}.concept-item{color:var(--green-dim);letter-spacing:.3px;font-size:12px;line-height:1.6}.concept-bullet{color:var(--green);margin-right:8px;font-size:10px}
