:root{--tpmm-red: #BF1E2E;--tpmm-orange: #E84B1C;--tpmm-magenta: #B6177D;--tpmm-purple: #6E1A8E;--tpmm-gradient: linear-gradient(95deg, #BF1E2E 0%, #E84B1C 38%, #D7197A 72%, #6E1A8E 100%);--bg: #ffffff;--bg-elev: #f4f4f4;--bg-card: #ffffff;--text: #1a1a1a;--text-muted: #6b6b6b;--border: #e6e6e6;--border-strong: #cfcfcf;--accent: #BF1E2E;--accent-blue: #BF1E2E;--accent-soft: #f7eaec;--brand: #BF1E2E;--key-bg: #ffffff;--key-border: #cfcfcf;--key-shadow: 0 1px 0 rgba(0,0,0,.04);--code-bg: #f4f4f4;--link: #BF1E2E;--shadow: 0 1px 2px rgba(0,0,0,.05);--shadow-lg: 0 10px 30px rgba(0,0,0,.08);--radius: 4px;--radius-lg: 6px}[data-theme=dark]{--bg: #0e0e0e;--bg-elev: #1a1a1a;--bg-card: #161616;--text: #f2f2f2;--text-muted: #9a9a9a;--border: #262626;--border-strong: #3a3a3a;--accent: #ff4d5e;--accent-blue: #ff4d5e;--accent-soft: #2a1418;--brand: #ff4d5e;--key-bg: #1f1f1f;--key-border: #333333;--key-shadow: 0 1px 0 rgba(0,0,0,.6);--code-bg: #1a1a1a;--link: #ff4d5e;--shadow: 0 1px 2px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:PT Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:700}h1{text-transform:none}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--code-bg);padding:.1em .4em;border-radius:4px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}pre{background:var(--code-bg);padding:1rem;border-radius:8px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5}.app{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:1180px;margin:0 auto;padding:2rem 1.75rem 4rem;flex:1}.site-footer{border-top:1px solid var(--border);background:var(--bg-elev);padding:2rem 1.75rem;margin-top:3rem}.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:.75rem}.footer-dot{width:14px;height:14px;background:var(--tpmm-gradient);border-radius:50%;flex-shrink:0}.footer-title{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.footer-sub{color:var(--text-muted);font-size:.82rem;margin-top:.1rem}.footer-links{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;font-size:.85rem}.footer-links a{color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.footer-links a:hover{color:var(--tpmm-red);text-decoration:none}[data-theme=dark] .footer-links a:hover{color:#ff4d5e}.footer-meta{color:var(--text-muted);font-size:.8rem}.nav{position:sticky;top:0;z-index:50;background:#ffffffeb;border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}[data-theme=dark] .nav{background:#0e0e0eeb}.nav-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:1.25rem;padding:.85rem 1.75rem;flex-wrap:wrap}.nav-brand{font-weight:700;font-size:.95rem;color:var(--text);display:flex;align-items:center;gap:.6rem;letter-spacing:.02em;text-transform:uppercase}.nav-brand .dot{width:10px;height:10px;background:var(--tpmm-gradient);border-radius:50%}.nav-brand .nav-brand-sub{display:inline-block;font-size:.7rem;letter-spacing:.12em;color:var(--text-muted);font-weight:700;border-left:1px solid var(--border-strong);padding-left:.6rem;margin-left:.1rem}.nav-links{display:flex;gap:.1rem;flex-wrap:wrap}.nav-links a{padding:.35rem .75rem;border-radius:6px;color:var(--text-muted);font-size:.88rem;font-weight:400;transition:color .15s ease}.nav-links a:hover{color:var(--text);text-decoration:none;background:transparent}.nav-links a.active{color:var(--text);font-weight:500;background:transparent}.nav-spacer{flex:1}.nav-tools{display:flex;align-items:center;gap:.5rem}.btn{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text);padding:.4rem .95rem;border-radius:980px;cursor:pointer;font-size:.85rem;font-family:inherit;font-weight:400;transition:background .15s ease}.btn:hover{background:var(--bg-elev)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:500}.btn.primary:hover{opacity:.85;background:var(--text)}.os-toggle{display:inline-flex;background:var(--bg-elev);border-radius:980px;padding:2px}.os-toggle button{background:transparent;border:none;padding:.3rem .85rem;cursor:pointer;color:var(--text-muted);font-size:.82rem;font-family:inherit;border-radius:980px;font-weight:500;transition:all .2s ease}.os-toggle button.active{background:var(--bg-card);color:var(--text);box-shadow:var(--shadow)}.hero{padding:4rem 0 2.5rem;text-align:left}.hero .hero-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tpmm-red);margin-bottom:1.25rem}[data-theme=dark] .hero .hero-eyebrow{color:#ff4d5e}.hero h1{font-size:clamp(2.4rem,6vw,4.25rem);margin:0 0 1rem;font-weight:700;letter-spacing:-.015em;line-height:1.02;text-transform:uppercase}.hero h1 .grad{background:var(--tpmm-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-muted);font-size:clamp(1.05rem,1.6vw,1.2rem);margin:0 0 1.5rem;max-width:680px;letter-spacing:0}.hero-meta{display:flex;flex-wrap:wrap;gap:1.75rem;padding-top:1.25rem;margin-top:1.5rem;border-top:1px solid var(--border)}.hero-meta-block .label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tpmm-red);margin-bottom:.25rem}[data-theme=dark] .hero-meta-block .label{color:#ff4d5e}.hero-meta-block .value{font-size:.95rem;color:var(--text)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;margin-top:2.5rem;border-top:1px solid var(--border);border-left:1px solid var(--border)}.card{background:var(--bg-card);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;padding:1.75rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;position:relative;transition:background .2s ease}.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--tpmm-gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.card:hover{background:var(--bg-elev)}.card:hover:before{transform:scaleX(1)}.card h3{margin:0;font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.card p{margin:0;color:var(--text-muted);font-size:.93rem;flex:1;line-height:1.55}.card .card-icon{font-size:1.6rem;margin-bottom:.25rem}.card a,.card span:last-child{display:inline-block;margin-top:.5rem;font-weight:700;color:var(--tpmm-red)!important;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}[data-theme=dark] .card a,[data-theme=dark] .card span:last-child{color:#ff4d5e!important}.page-header{margin:1rem 0 2.5rem;text-align:left;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header h1{margin:0 0 .5rem;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;letter-spacing:-.015em;text-transform:uppercase}.page-header p{margin:0;color:var(--text-muted);max-width:720px;font-size:1.05rem}.page-header .eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tpmm-red);margin-bottom:.75rem}[data-theme=dark] .page-header .eyebrow{color:#ff4d5e}h2{margin-top:2.5rem;padding-bottom:0;border:none;font-size:1.25rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.folder-tree{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;white-space:pre;overflow-x:auto}.workflow{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin:1rem 0 1.75rem;overflow-x:auto}.workflow-track{display:flex;align-items:stretch;gap:.25rem;min-width:max-content}.workflow-step{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem .9rem;min-width:150px;flex:1}.workflow-icon{font-size:1.6rem;line-height:1}.workflow-title{font-weight:700;margin-top:.3rem}.workflow-desc{font-size:.8rem;color:var(--text-muted);line-height:1.35;margin-top:.2rem}.workflow-arrow{position:absolute;right:-.6rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:400;font-size:1.2rem}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem;margin:1rem 0 1.75rem}.rule-chip{display:flex;align-items:center;gap:.7rem;background:var(--bg-card);border:1px solid var(--border);padding:.85rem 1rem;border-radius:var(--radius);font-size:.92rem;line-height:1.4}.rule-icon{font-size:1.2rem;opacity:.9}.folders-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 .75rem}.folder-stack{display:flex;flex-direction:column;gap:.6rem}.folder-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative}.folder-card:hover{border-color:var(--folder-color);box-shadow:var(--shadow)}.folder-card.open{box-shadow:var(--shadow);border-color:var(--folder-color)}.folder-card-head{display:grid;grid-template-columns:6px auto auto 1fr auto auto;align-items:center;gap:.75rem;width:100%;background:transparent;border:none;padding:.85rem 1rem .85rem 0;cursor:pointer;font-family:inherit;font-size:1rem;text-align:left;color:var(--text)}.folder-tab{width:6px;align-self:stretch;background:var(--folder-color)}.folder-icon{font-size:1.4rem;width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--folder-color) 18%,transparent);border-radius:8px;flex-shrink:0}.folder-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--folder-color);font-weight:700;font-size:.85rem;letter-spacing:.05em}.folder-name{font-weight:700}.folder-short{color:var(--text-muted);font-size:.9rem}.folder-chevron{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elev);border-radius:50%;font-size:1.2rem;color:var(--text-muted);margin-right:.75rem}.folder-card.open .folder-chevron{background:var(--folder-color);color:#fff}.folder-card-body{padding:.85rem 1rem 1rem 3.7rem;border-top:1px dashed var(--border);margin-top:.25rem}.folder-children{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.child-pill{background:color-mix(in srgb,var(--folder-color) 12%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--folder-color) 35%,transparent);padding:.2rem .6rem;border-radius:999px;font-size:.82rem}.do-dont{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.85rem}.do,.dont{background:var(--bg-elev);border-radius:8px;padding:.6rem .9rem}.do h4,.dont h4{margin:0 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.do h4{color:#16a34a}.dont h4{color:#dc2626}.do ul,.dont ul{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.5}.naming-example{display:flex;align-items:center;gap:.5rem;background:var(--bg-elev);border-radius:6px;padding:.4rem .7rem;font-size:.88rem}.naming-label{color:var(--text-muted)}.bin-list{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.75rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem}.bin-row{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:4px}.bin-row:hover{background:var(--bg-elev)}.bin-elbow{color:var(--text-muted);width:1.5rem}.bin-icon{font-size:1rem}.bin-name{color:var(--text)}.naming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.85rem;margin-bottom:1.5rem}.naming-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem}.naming-bad,.naming-good{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;padding:.4rem .6rem;border-radius:6px;margin-bottom:.4rem;word-break:break-all}.naming-bad{background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626;text-decoration:line-through}.naming-good{background:color-mix(in srgb,#16a34a 14%,transparent);color:#16a34a}[data-theme=dark] .naming-good{color:#4ade80}[data-theme=dark] .naming-bad{color:#f87171}.naming-card p{margin:.4rem 0 0;color:var(--text-muted);font-size:.88rem}.tip{background:var(--bg-elev);border:1px solid var(--border);padding:.85rem 1.1rem;border-radius:var(--radius);margin:1rem 0;color:var(--text);font-size:.93rem}.tip strong{color:var(--text);font-weight:600}.search-box{width:100%;padding:.75rem 1.1rem;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text);border-radius:980px;font-size:.95rem;font-family:inherit;margin-bottom:1.25rem;transition:border-color .15s ease,box-shadow .15s ease}.search-box:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-blue) 15%,transparent)}.shortcut-group{margin-bottom:1.75rem}.shortcut-group h2{display:flex;align-items:center;gap:.5rem}.shortcut-group .count{font-size:.8rem;color:var(--text-muted);font-weight:400}.shortcut-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.shortcut-table th,.shortcut-table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.shortcut-table th{background:var(--bg-elev);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.shortcut-table tr:last-child td{border-bottom:none}.shortcut-table tr:hover td{background:var(--bg-elev)}.shortcut-table td.keys{width:38%}.shortcut-table td.action{color:var(--text)}.keys-row{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;padding:.22rem .55rem;background:var(--key-bg);border:1px solid var(--key-border);border-radius:6px;box-shadow:var(--key-shadow);font-family:-apple-system,BlinkMacSystemFont,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:500;color:var(--text);line-height:1}.kbd-plus{color:var(--text-muted);font-weight:600}.tut-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tut-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem}.tut-item .tut-title{font-weight:600}.tut-item .tut-meta{font-size:.8rem;color:var(--text-muted)}.tut-item .tut-desc{font-size:.9rem;color:var(--text-muted)}.tag{display:inline-block;background:var(--bg-elev);border:1px solid var(--border);color:var(--text-muted);padding:.05rem .5rem;border-radius:999px;font-size:.72rem;margin-right:.25rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.filter-chip{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);padding:.35rem .9rem;border-radius:980px;font-size:.82rem;cursor:pointer;font-family:inherit;transition:all .15s ease}.filter-chip:hover{color:var(--text)}.filter-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.glossary-tag{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .6rem;border-radius:980px;font-weight:500;background:var(--bg-elev);color:var(--text-muted);border:none;white-space:nowrap}.tag-edit,.tag-performance,.tag-color,.tag-audio,.tag-fusion,.tag-delivery,.tag-playback,.tag-project,.tag-system{background:var(--bg-elev);color:var(--text-muted)}.glossary-section{display:grid;grid-template-columns:60px 1fr;gap:1rem;margin-bottom:1.5rem;align-items:start}.glossary-letter{font-size:2.25rem;font-weight:600;color:var(--text-muted);line-height:1;position:sticky;top:4.5rem;letter-spacing:-.03em}.glossary-list{display:flex;flex-direction:column;gap:.6rem}.glossary-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1.1rem}.glossary-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.glossary-term{font-weight:700;font-size:1.02rem}.glossary-item p{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.progress-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.4rem;margin-bottom:1.5rem}.progress-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.65rem}.progress-percent{font-weight:600;color:var(--text);font-size:1.5rem;letter-spacing:-.02em}.progress-bar{height:6px;background:var(--bg-elev);border-radius:980px;overflow:hidden}.progress-fill{height:100%;background:var(--text);transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem}.checklist-group{margin-bottom:1.75rem}.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.checklist-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:opacity .15s ease}.checklist-item label{display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:.75rem 1rem;cursor:pointer;align-items:start}.checklist-item input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.check-box{width:1.35rem;height:1.35rem;border:1.5px solid var(--border-strong);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;color:var(--bg);background:transparent;flex-shrink:0;margin-top:.1rem;transition:all .2s ease}.checklist-item.done .check-box{background:#34c759;border-color:#34c759}.checklist-item.done .check-title{text-decoration:line-through;color:var(--text-muted)}.checklist-item.done{opacity:.7}.check-content{display:flex;flex-direction:column;gap:.15rem}.check-title{font-weight:600}.check-detail{color:var(--text-muted);font-size:.9rem;line-height:1.45}.trouble-list{display:flex;flex-direction:column;gap:.6rem}.trouble-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s ease}.trouble-card:hover,.trouble-card.open{border-color:var(--border-strong)}.trouble-head{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:.75rem;width:100%;background:transparent;border:none;padding:.85rem 1rem;cursor:pointer;font-family:inherit;font-size:1rem;text-align:left;color:var(--text)}.trouble-icon{font-size:1.2rem}.trouble-symptom{font-weight:600}.trouble-body{padding:0 1rem 1rem;display:grid;gap:.85rem}.trouble-block{background:var(--bg-elev);border-radius:var(--radius);padding:.85rem 1.1rem}.trouble-block h4{margin:0 0 .4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.trouble-block ul,.trouble-block ol{margin:0;padding-left:1.2rem;line-height:1.55;font-size:.93rem}.quiz-stats{display:flex;gap:.85rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1.1rem;text-align:center;min-width:90px}.stat-num{font-size:1.6rem;font-weight:600;color:var(--text);line-height:1.1;letter-spacing:-.02em}.stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}.quiz-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 1.75rem;text-align:center}.quiz-prompt{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}.quiz-keys{display:flex;justify-content:center;margin:.5rem 0 .75rem;font-size:1.4rem}.quiz-keys .kbd{font-size:1.1rem;min-width:2.4rem;padding:.45rem .8rem}.quiz-group-tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-elev);padding:.22rem .75rem;border-radius:980px;margin-bottom:1.5rem;font-weight:500}.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-top:.5rem}.quiz-option{background:var(--bg-card);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius);padding:.95rem 1.1rem;font-size:.95rem;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s ease}.quiz-option:hover:not(:disabled){border-color:var(--text);background:var(--bg-elev)}.quiz-option:disabled{cursor:default}.quiz-option.correct{background:color-mix(in srgb,#34c759 12%,var(--bg-card));border-color:#34c759;color:var(--text);font-weight:500}.quiz-option.wrong{background:color-mix(in srgb,#ff3b30 10%,var(--bg-card));border-color:#ff3b30}.quiz-option.dimmed{opacity:.4}.quiz-feedback{margin-top:1.25rem;padding:.75rem 1rem;border-radius:8px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem}.quiz-feedback.good{background:color-mix(in srgb,#34c759 12%,transparent);color:#248a3d}.quiz-feedback.bad{background:color-mix(in srgb,#ff3b30 10%,transparent);color:#c00f00}[data-theme=dark] .quiz-feedback.good{color:#30d158}[data-theme=dark] .quiz-feedback.bad{color:#ff6961}.missed-list{display:flex;flex-direction:column;gap:.5rem}.missed-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .95rem}.missed-action{font-weight:500}.missed-count{color:var(--text-muted);font-size:.85rem}.footer{border-top:1px solid var(--border);padding:1rem 1.25rem;text-align:center;color:var(--text-muted);font-size:.85rem}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.container{max-width:none;padding:0}.shortcut-table{border:1px solid #999}.shortcut-table th,.shortcut-table td{border-color:#ccc}.kbd{box-shadow:none;border:1px solid #888;background:#fff;color:#000}.shortcut-group{break-inside:avoid}h2{break-after:avoid}a{color:#000;text-decoration:none}}@media (max-width: 600px){.hero h1{font-size:1.7rem}.nav-inner{gap:.5rem}.nav-links a{padding:.35rem .55rem;font-size:.88rem}.shortcut-table td.keys{width:45%}.folder-card-head{grid-template-columns:6px auto auto 1fr auto;gap:.5rem}.folder-short{display:none}.folder-card-body{padding-left:1rem}.do-dont,.quiz-options,.glossary-section{grid-template-columns:1fr}.glossary-letter{position:static;font-size:1.5rem}}.star-btn{background:none;border:none;cursor:pointer;color:var(--border-strong);font-size:1.15rem;line-height:1;padding:.2rem .35rem;border-radius:6px;transition:color .15s ease,background .15s ease,transform .1s ease}.star-btn:hover{color:#ff9500;background:var(--bg-elev)}.star-btn.active{color:#fc0}.star-btn.active:hover{color:#fa0}.star-btn.sm{font-size:.95rem;padding:.1rem .3rem}.star-btn:active{transform:scale(.92)}.nav-dropdown{position:relative;display:inline-block}.nav-dd-btn{background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:.92rem;color:var(--text-muted);padding:.45rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.25rem;transition:color .15s ease,background .15s ease}.nav-dd-btn:hover,.nav-dd-btn.open{color:var(--text);background:var(--bg-elev)}.nav-dd-caret{font-size:.7rem;opacity:.7}.nav-dd-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.4rem;display:flex;flex-direction:column;gap:.1rem}.nav-dd-item{display:block;padding:.55rem .75rem;border-radius:8px;font-size:.9rem;color:var(--text);text-decoration:none}.nav-dd-item:hover{background:var(--bg-elev)}.nav-dd-item.active{background:color-mix(in srgb,var(--accent-blue) 12%,transparent);color:var(--accent-blue);font-weight:600}.nav-star{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:980px;background:var(--bg-elev);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:600;border:1px solid var(--border);transition:color .15s ease,background .15s ease}.nav-star:hover{color:#ff9500}.nav-star.active{color:#ff9500;border-color:#fc0}.nav-star-count{font-size:.75rem;opacity:.8}.bookmark-section{margin-bottom:2rem}.bookmark-list{display:flex;flex-direction:column;gap:.5rem}.bookmark-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .9rem}.bookmark-label{flex:1;font-weight:500;min-width:200px}.bookmark-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1.1rem}.bookmark-card-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem;flex-wrap:wrap}.bookmark-card p{margin:.3rem 0 0;color:var(--text-muted);font-size:.92rem}.empty-state{text-align:center;padding:3rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.empty-icon{font-size:4rem;color:var(--border-strong);line-height:1}.empty-state h2{border:none;margin-top:.5rem}.empty-state p{color:var(--text-muted)}.kbmap-wrap{overflow-x:auto;padding:.5rem 0;margin-bottom:1rem}.kbmap{display:inline-flex;flex-direction:column;gap:4px;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.kbmap-row{display:flex;gap:4px}.kbmap-key{height:44px;min-width:44px;background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--text-muted);padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;cursor:default;transition:transform .1s ease,box-shadow .15s ease}.kbmap-key.active{cursor:pointer;color:#fff;box-shadow:var(--shadow)}.kbmap-key.active:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kbmap-info{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:.5rem;min-height:3.6rem}.tour-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.25rem}.tour-tab{background:transparent;border:1.5px solid var(--border-strong);border-radius:980px;padding:.45rem 1rem;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;color:var(--text-muted);transition:all .15s ease}.tour-tab:hover{color:var(--text);border-color:var(--text-muted)}.tour-tab.active{font-weight:700}.tour-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.tour-intro h2{border:none;margin-top:0}.tour-intro p{color:var(--text-muted)}.tour-layout{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;margin:1rem 0 1.5rem}.tour-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}.tour-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.tour-toggle input{accent-color:var(--accent-blue);cursor:pointer}.tour-hint{font-size:.82rem;color:var(--text-muted)}.tour-hint code{background:var(--bg-elev);padding:.1rem .4rem;border-radius:4px;font-size:.78rem}.tour-canvas{position:relative;aspect-ratio:16 / 10;background:var(--bg-elev);background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tour-canvas.has-image{background-color:#000;border-color:var(--border-strong)}.tour-zone{position:absolute;border:1.5px solid;border-radius:8px;padding:.45rem .6rem;font-size:.78rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;gap:.45rem;overflow:hidden}.tour-zone.on-image{border-width:2px;background:transparent;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85)}.tour-zone.on-image .tour-zone-name{background:#0000008c;padding:.15rem .45rem;border-radius:4px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tour-zone.on-image.hover{background:color-mix(in srgb,currentColor 25%,transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 35%,transparent),var(--shadow-lg)}.tour-zone.minimal .tour-zone-name{display:none}.tour-zone.hover{transform:scale(1.03);z-index:5;box-shadow:var(--shadow-lg)}.tour-zone-num{color:#fff;font-weight:700;min-width:1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;flex-shrink:0}.tour-zone-name{font-weight:600;line-height:1.2}.tour-side{background:var(--bg-elev);border-radius:var(--radius);padding:1rem 1.1rem}.tour-side h4{margin:0 0 .5rem;font-size:.95rem}.tour-side p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.55}.tour-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tour-meta-block{background:var(--bg-elev);border-radius:var(--radius);padding:.9rem 1.1rem}.tour-meta-block h4{margin:0 0 .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.tour-meta-block ul{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.55}.template-name-row{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;flex-wrap:wrap}.template-name-row label{font-weight:600;color:var(--text-muted)}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.template-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:border-color .15s ease,transform .15s ease}.template-card:hover{border-color:var(--border-strong)}.template-head{display:flex;gap:.85rem;align-items:flex-start}.template-icon{font-size:2.2rem;line-height:1}.template-tree summary{cursor:pointer;color:var(--text-muted);font-size:.85rem;padding:.3rem 0}.template-tree summary:hover{color:var(--text)}.template-tree ul{margin:.5rem 0 0;padding-left:1.2rem;font-size:.82rem;color:var(--text-muted);max-height:200px;overflow-y:auto;list-style:none}.template-tree code{font-size:.78rem}.sim-stats{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:1.25rem}.sim-layout{display:grid;grid-template-columns:1fr 2fr;gap:1.25rem}.sim-clips{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem}.sim-clip-list{display:flex;flex-direction:column;gap:.4rem}.sim-clip{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.55rem;font-size:.85rem;transition:border-color .15s ease,background .15s ease,transform .1s ease}.sim-clip:hover{border-color:var(--border-strong)}.sim-clip:active{cursor:grabbing;transform:scale(.98)}.sim-clip[data-active=true]{border-color:var(--accent-blue);background:color-mix(in srgb,var(--accent-blue) 12%,var(--bg-elev))}.sim-clip-icon{font-size:1rem;opacity:.7}.sim-bins{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.sim-bin{border:2px dashed;border-radius:var(--radius);display:flex;flex-direction:column;min-height:140px;background:var(--bg-card);transition:background .15s ease}.sim-bin:hover{background:var(--bg-elev)}.sim-bin-head{padding:.55rem .85rem;display:flex;align-items:center;gap:.55rem;border-radius:calc(var(--radius) - 4px) calc(var(--radius) - 4px) 0 0;font-size:.85rem;font-weight:600}.sim-bin-body{padding:.6rem;display:flex;flex-direction:column;gap:.3rem;flex:1}.sim-placed{font-size:.78rem;padding:.3rem .55rem;border-radius:6px}.sim-placed.good{background:color-mix(in srgb,#34c759 14%,transparent);color:#1f7a35}.sim-placed.bad{background:color-mix(in srgb,#ff3b30 14%,transparent);color:#c00f00}.preset-grid{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;align-items:start}.preset-list{display:flex;flex-direction:column;gap:.35rem}.preset-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;cursor:pointer;text-align:left;color:var(--text);font-family:inherit;font-size:.9rem;display:flex;align-items:center;gap:.65rem;transition:border-color .15s ease,background .15s ease}.preset-item:hover{border-color:var(--border-strong)}.preset-item.active{border-width:2px;padding:calc(.7rem - 1px) calc(.85rem - 1px);font-weight:600}.preset-icon{font-size:1.3rem;line-height:1}.preset-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.preset-detail-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.preset-detail-head h2{border:none;margin:0}.preset-settings{display:grid;gap:.4rem;margin-top:.85rem}.preset-row{display:grid;grid-template-columns:200px 1fr;gap:.85rem;padding:.55rem .85rem;background:var(--bg-elev);border-radius:8px;font-size:.92rem;align-items:baseline}.preset-key{color:var(--text-muted);font-size:.85rem}.preset-val{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.preset-notes{margin:.5rem 0 0;padding-left:1.2rem;font-size:.9rem;color:var(--text-muted);line-height:1.6}.preset-notes code{background:var(--bg-elev);padding:.05rem .35rem;border-radius:4px;font-size:.85rem}.tut-list-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.tut-item-v2{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease}.tut-item-v2:hover{border-color:var(--border-strong);transform:translateY(-2px)}.tut-thumb{position:relative;aspect-ratio:16 / 9;background:var(--bg-elev);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.3rem}.tut-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tut-thumb iframe{width:100%;height:100%;border:0}.tut-thumb-link{text-decoration:none;color:var(--text-muted)}.tut-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;border:none;width:56px;height:56px;border-radius:50%;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-left:4px;transition:background .15s ease,transform .1s ease}.tut-thumb:hover .tut-play{background:#ff0000d9;transform:translate(-50%,-50%) scale(1.08)}.tut-body{padding:.85rem 1rem 1rem}.tut-title-link{font-weight:600;color:var(--text);text-decoration:none;font-size:1rem;line-height:1.3;display:block;margin-bottom:.3rem}.tut-title-link:hover{color:var(--accent-blue)}.tut-meta{color:var(--text-muted);font-size:.8rem;margin-bottom:.4rem}.tut-desc{font-size:.9rem;color:var(--text-muted);line-height:1.45}.tut-level{margin-bottom:2rem}.tut-level h2{margin-bottom:1rem}.quiz-group-tag{display:inline-block;margin:.4rem auto .8rem;padding:.2rem .7rem;border-radius:980px;background:var(--bg-elev);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.quiz-feedback.bad{background:color-mix(in srgb,#ff3b30 12%,transparent);color:#c00f00}@media (max-width: 720px){.tour-layout,.tour-meta,.preset-grid{grid-template-columns:1fr}.preset-row{grid-template-columns:1fr;gap:.2rem;padding:.5rem .7rem}.sim-layout{grid-template-columns:1fr}.nav-dd-menu{left:auto;right:0}}.tour-zone-mini{list-style:none;padding:0;margin:.85rem 0 0;display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.tour-zone-mini li{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer;transition:background .15s ease}.tour-zone-mini li:hover{background:var(--bg-card)}.tour-zone-num.sm{min-width:1.1rem;height:1.1rem;font-size:.65rem}
