:root{--taiko-black:#1a1a1a;--dojo-cream:#e8dcc8;--warrior-red:#a0352f;--surface-0:#111111;--surface-1:#1a1a1a;--surface-2:#242424;--text-primary:#e8dcc8;--text-muted:#b8a890;--border-subtle:#3a3a3a;--radius-md:10px;--surface-card:#1e1b19;--surface-card-border:#2e2a27;--surface-nav:#1c1a18;--warrior-red-light:#c04040;--warrior-red-dim:rgba(160,53,47,0.18);--border-form:#5a4f45;--border-focus:var(--warrior-red);--focus-glow:rgba(160,53,47,0.22);--belt-white:#e8dcc8;--belt-blue:#1a4fa0;--belt-purple:#6b3fa0;--belt-brown:#6b3a2a;--belt-black:#1a1a1a;--radius-sm:6px;--radius-lg:14px;--radius-pill:999px;--state-encoding:#f0b429}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;background:var(--surface-0);color:var(--text-primary);background-image:radial-gradient(circle at 10% 0,rgba(160,53,47,.14),transparent 44%),radial-gradient(circle at 100% 10%,rgba(232,220,200,.08),transparent 35%),url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='0.4' opacity='0.04'%3E%3Crect width='40' height='40'/%3E%3Cpath d='M20 0v40M0 20h40'/%3E%3C/g%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}.taiko-link{color:var(--dojo-cream);text-decoration:underline;-webkit-text-decoration-color:rgba(232,220,200,.55);text-decoration-color:rgba(232,220,200,.55);text-decoration-thickness:1.5px;text-underline-offset:2px;transition:color .14s ease,-webkit-text-decoration-color .14s ease;transition:color .14s ease,text-decoration-color .14s ease;transition:color .14s ease,text-decoration-color .14s ease,-webkit-text-decoration-color .14s ease}.taiko-link:focus-visible,.taiko-link:hover{color:var(--warrior-red);-webkit-text-decoration-color:var(--warrior-red);text-decoration-color:var(--warrior-red)}main{width:min(1024px,100%);margin:0 auto;padding:2rem 1rem 2.5rem}.page-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(232,220,200,.12)}.page-title{margin:0;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:800;letter-spacing:-.01em}.page-subtitle{margin:.35rem 0 0;color:var(--text-muted)}.nav-strip{display:flex;align-items:center;gap:0;margin-bottom:1.3rem;background:var(--surface-nav);border-bottom:1px solid var(--surface-card-border);border-radius:var(--radius-md);overflow-x:auto;scrollbar-width:none}.nav-strip:before{content:"TAIKO BJJ";font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--warrior-red);padding:.68rem 1rem;border-right:1px solid var(--surface-card-border);white-space:nowrap;flex-shrink:0}.nav-link{border:none;border-radius:0;padding:.68rem .9rem;background:transparent;color:var(--text-muted);font-weight:500;font-size:.88rem;position:relative;white-space:nowrap;transition:color .14s ease,background .14s ease}.nav-link:hover{color:var(--text-primary);background:rgba(255,255,255,.04)}.nav-link[data-active=true]{color:var(--text-primary);font-weight:600}.nav-link[data-active=true]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--warrior-red);border-radius:2px 2px 0 0}.stack{display:grid;grid-gap:1.1rem;gap:1.1rem}.stack>section+section{border-top:1px solid rgba(232,220,200,.07);padding-top:.5rem}.card{background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:14px;padding:1.05rem}.card:hover{border-color:rgba(232,220,200,.12);transition:border-color .14s ease}.card--active{border-left:3px solid var(--warrior-red)}.card-title{margin:0;font-size:1.03rem;font-weight:700;letter-spacing:-.005em}.card-subtitle{margin:.3rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.4}.coach-notes-view{white-space:pre-wrap;background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:8px;padding:.65rem .85rem;font-size:.9rem;line-height:1.5;color:var(--text-primary);min-height:2.4rem}.form-grid{display:grid;grid-gap:.88rem;gap:.88rem}.field{display:grid;grid-gap:.35rem;gap:.35rem}.field-label{font-size:.82rem;color:var(--text-muted);letter-spacing:.03em}input,select,textarea{width:100%;border-radius:12px;border:1px solid #5a4f45;background:linear-gradient(180deg,#1b1a18,#141311);color:var(--text-primary);padding:.7rem .78rem;font:inherit;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23b8a890' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;padding-right:2.2rem}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer;opacity:.7}.select-compact{min-height:2.05rem;padding:.38rem .55rem;border-radius:9px;font-size:.9rem}.select-compact-tight{min-height:1.9rem;padding:.3rem .48rem;border-radius:8px;font-size:.86rem}input::placeholder,textarea::placeholder{color:#7a7060}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-glow)}label.field{position:relative}.form-grid .field-label{font-weight:600;letter-spacing:.06em}.form-hint{color:var(--text-muted);font-size:.78rem;line-height:1.35}.form-hint.danger{background:var(--warrior-red-dim);padding:.45rem .65rem;border-left:3px solid var(--warrior-red);border-radius:0 6px 6px 0}textarea{resize:vertical;min-height:90px}a.btn-muted,a.btn-primary,button{border:1px solid transparent;border-radius:10px;padding:.54rem 1rem;background:transparent;color:var(--text-primary);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--warrior-red);border-color:var(--warrior-red);color:#fff5ef}.btn-primary:not(:disabled):hover{background:var(--warrior-red-light);border-color:var(--warrior-red-light);box-shadow:0 2px 8px rgba(160,53,47,.35)}.btn-muted{background:#272320;border-color:#4d443b}.btn-muted:not(:disabled):hover{border-color:var(--dojo-cream);color:var(--dojo-cream)}.btn-ghost{background:transparent;border:none;color:var(--text-muted)}.btn-ghost:not(:disabled):hover{text-decoration:underline;-webkit-text-decoration-color:var(--warrior-red);text-decoration-color:var(--warrior-red);color:var(--text-primary)}.chips button,.tech-search-categories button{padding:.3rem .72rem;border-radius:var(--radius-pill);font-size:.8rem}.chips .btn-muted,.tech-search-categories .btn-muted{background:rgba(255,255,255,.04);border-color:var(--surface-card-border)}.action-row{display:flex;flex-wrap:wrap;gap:.55rem}.form-actions{display:flex;justify-content:flex-end;gap:.55rem}.inline-grid{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr))}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #564b41;background:rgba(255,255,255,.04);padding:.2rem .58rem;font-size:.78rem;color:var(--text-muted)}.item-list{display:grid;grid-gap:.75rem;gap:.75rem}.item-list>.card{box-shadow:0 6px 16px rgba(0,0,0,.18)}.worked-grouped{display:grid;grid-gap:1.25rem;gap:1.25rem}.game-category-group{display:grid;grid-gap:.5rem;gap:.5rem}.game-category-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.25rem 0;border-bottom:1px solid var(--surface-card-border);margin:0}.game-group{display:grid;grid-gap:.25rem;gap:.25rem;padding-left:1.25rem;border-left:2px solid rgba(232,220,200,.08)}.game-group .item-list{padding-left:.5rem}.game-group-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.35rem .25rem;cursor:pointer;color:var(--text-primary);font-size:.85rem;width:100%;text-align:left;border-radius:4px}.game-group-toggle:hover{background:rgba(255,255,255,.04)}.game-group-toggle .chevron{transition:transform .2s ease;flex-shrink:0;color:var(--text-muted)}.game-group-toggle .chevron-open{transform:rotate(90deg)}.game-group-name{font-weight:500}.game-group-count{font-size:.75rem;color:var(--text-muted);background:rgba(255,255,255,.06);padding:.1rem .4rem;border-radius:8px}.sub-game-group{display:grid;grid-gap:.25rem;gap:.25rem;padding-left:1rem;border-left:2px solid rgba(232,220,200,.06)}.sub-game-group .item-list{padding-left:.5rem}.sub-game-group-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.3rem .25rem;cursor:pointer;color:var(--text-primary);font-size:.8rem;width:100%;text-align:left;border-radius:4px}.sub-game-group-toggle:hover{background:rgba(255,255,255,.04)}.sub-game-group-toggle .chevron{transition:transform .2s ease;flex-shrink:0;color:var(--text-muted)}.sub-game-group-toggle .chevron-open{transform:rotate(90deg)}.category-group{display:grid;grid-gap:.25rem;gap:.25rem}.category-group+.category-group{margin-top:1rem}.category-heading{font-size:1rem;font-weight:600;margin:0;padding:.25rem 0;border-bottom:1px solid var(--surface-card-border)}.category-heading-toggle{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:inherit;padding:.4rem .25rem;border-bottom:1px solid var(--surface-card-border);text-align:left}.category-heading-toggle:hover{background:rgba(255,255,255,.04)}.category-heading-toggle .chevron{transition:transform .2s ease;flex-shrink:0;margin-right:.15rem}.category-heading-toggle .chevron-open{transform:rotate(90deg)}.category-count{font-weight:400;color:var(--text-muted)}.games-recent-section{padding-bottom:1rem;border-bottom:1px solid rgba(232,220,200,.1);margin-bottom:.5rem}.games-categories,.games-category-list{display:grid;grid-gap:.25rem;gap:.25rem}.games-category-list{padding-left:.5rem}.games-block{display:grid;grid-gap:0;gap:0}.games-block-row{padding:.15rem 0}.games-block-sub{padding:.5rem 0 .15rem .75rem;margin-top:.25rem;border-top:1px solid rgba(232,220,200,.06)}.games-tree-hint{font-size:.84rem;color:var(--text-muted);padding:.5rem .65rem;border-left:3px solid var(--warrior-red);border-radius:0 6px 6px 0;background:rgba(160,53,47,.06);line-height:1.45}.games-tree-node{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:8px;border:2px solid transparent;cursor:-webkit-grab;cursor:grab;transition:opacity .15s ease,border-color .15s ease,background .15s ease;position:relative;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}.games-tree-node:hover{background:rgba(255,255,255,.04)}.games-tree-node--child{padding-left:2rem}.games-tree-node--dragging{opacity:.3}.games-tree-node--drop-ready{border-color:rgba(160,53,47,.35);background:rgba(160,53,47,.04)}.games-tree-node--drop-active{border-color:var(--warrior-red);background:var(--warrior-red-dim);box-shadow:0 0 0 2px rgba(160,53,47,.25)}.category-heading-toggle--drop-ready{border:2px solid rgba(160,53,47,.35);background:rgba(160,53,47,.04);border-radius:6px;position:relative}.category-heading-toggle--drop-active{border:2px solid var(--warrior-red)!important;background:var(--warrior-red-dim)!important;border-radius:6px;position:relative}.games-tree-ghost{background:var(--surface-2);color:var(--text-primary);border:2px solid var(--warrior-red);border-radius:8px;padding:.35rem .75rem;font-size:.88rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.4)}.games-tree-drag-handle,.games-tree-ghost{-webkit-user-select:none;-moz-user-select:none;user-select:none}.games-tree-drag-handle{color:var(--text-muted);font-size:1rem;line-height:1;cursor:-webkit-grab;cursor:grab;padding:.15rem .1rem;border-radius:4px;transition:color .12s ease,background .12s ease}.games-tree-drag-handle:hover{color:var(--text-primary);background:rgba(255,255,255,.08)}.games-tree-name{flex:1 1;font-size:.95rem;font-weight:500;min-width:0;overflow-wrap:anywhere}.games-tree-create-row{display:flex;gap:.5rem;align-items:center;padding:.35rem .6rem;margin-top:.25rem}.games-tree-create-row input{flex:1 1;min-height:2rem;padding:.35rem .55rem;border-radius:8px;font-size:.88rem}.games-tree-create-row .btn-primary{padding:.35rem .75rem;font-size:.82rem}.week-divider{border:none;border-top:1px solid var(--surface-card-border);margin:.25rem 0}.tech-row-list,.tech-toolbar{display:grid;grid-gap:.55rem;gap:.55rem}.tech-search-inline{max-width:36rem}.tech-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.82rem .96rem;border:1px solid var(--border-subtle);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.tech-row:hover{border-color:#5e5348;box-shadow:0 8px 18px rgba(0,0,0,.24);transform:translateY(-1px)}.tech-row-thumb-wrap{display:flex;align-items:center}.tech-row-thumb{width:7rem;height:4.2rem;border-radius:10px;border:1px solid #564b41;object-fit:cover}.placeholder-thumb{background:linear-gradient(145deg,rgba(160,53,47,.28),rgba(26,26,26,.92));color:var(--dojo-cream);display:flex;align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.tech-row-main{min-width:0;display:grid;grid-gap:.28rem;gap:.28rem}.tech-row-title{margin:0;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.tech-row-title .taiko-link,.tech-row-title a{color:var(--warrior-red);font-weight:700;text-decoration:none;transition:color .14s ease}.tech-row-title .taiko-link:hover,.tech-row-title a:hover{color:var(--warrior-red-light);text-decoration:underline}.tech-row-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.22rem .65rem;gap:.22rem .65rem}.tech-row-meta .card-subtitle{margin:0;overflow-wrap:anywhere}.tech-row-link{word-break:break-all}.tech-row-grid{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;align-items:center;grid-gap:.8rem;gap:.8rem}.tech-row-grid:hover{border-color:#4a403a;box-shadow:0 6px 14px rgba(0,0,0,.28)}.tech-detail-head{display:flex;align-items:center}.tech-back-link.taiko-link{color:var(--text-muted);font-size:.84rem;text-decoration:none}.tech-back-link.taiko-link:before{content:"← "}.tech-back-link.taiko-link:hover{color:var(--text-primary)}.tech-meta-dl{display:grid;grid-template-columns:auto 1fr;grid-gap:.45rem 1rem;gap:.45rem 1rem;align-items:baseline;margin:0}.tech-meta-dl dt{color:var(--text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tech-meta-dl dd{margin:0;font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.meta-separator{grid-column:1/-1;border-top:1px solid var(--surface-card-border);margin:.3rem 0}.tech-detail-actions{margin-top:.1rem}.notes-list{gap:.6rem}.note-item{border-left:3px solid var(--warrior-red)}.note-meta{font-size:.82rem;letter-spacing:.01em}.note-content{color:var(--text-primary);line-height:1.5}.tech-row-actions{display:flex;align-items:center;justify-content:flex-end}.tech-row-actions-stack{display:grid;grid-gap:.45rem;gap:.45rem}.tech-row-footer{grid-column:1/-1}.tech-count{margin:0;color:var(--text-muted);font-size:.84rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.section-title{margin:0;font-size:.95rem;letter-spacing:.03em;color:rgba(232,220,200,.55)}.empty-state{margin:0;border:1px dashed rgba(100,90,80,.55);border-radius:10px;padding:.75rem .85rem;font-size:.92rem;font-style:italic;text-align:center}.empty-state,.muted{color:var(--text-muted)}.danger{color:var(--warrior-red)}.drag-over{outline:2px dashed var(--warrior-red);border-radius:8px;background:var(--warrior-red-dim)}.belt-badge{display:inline-block;padding:.14rem .55rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;text-transform:uppercase;background:var(--dojo-cream);color:#1a1a1a}.belt-badge[data-belt=Blue]{background:var(--belt-blue);color:#d0e4ff}.belt-badge[data-belt=Purple]{background:var(--belt-purple);color:#e8d8ff}.belt-badge[data-belt=Brown]{background:var(--belt-brown);color:#e8d4c0}.belt-badge[data-belt=Black]{background:var(--belt-black);border:1px solid var(--dojo-cream);color:var(--dojo-cream)}.lesson-type-badge{display:inline-block;padding:.1rem .45rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-left:.35rem}.lesson-type-badge--group{background:rgba(160,53,47,.2);color:var(--warrior-red);border:1px solid rgba(160,53,47,.3)}.lesson-type-badge--private{background:rgba(26,79,160,.2);color:#7aaeff;border:1px solid rgba(26,79,160,.3)}.card--past-this-week{opacity:.55}.card--next{border-left:4px solid var(--warrior-red)}.next-badge{display:inline-block;padding:.08rem .4rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-left:.35rem;background:var(--warrior-red);color:var(--dojo-cream)}.expand-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;margin-left:.3rem;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:transform .2s ease,color .15s ease,background .15s ease;flex-shrink:0}.expand-chevron:hover{color:var(--text-primary);background:rgba(255,255,255,.08)}.expand-chevron--open{transform:rotate(180deg)}.expand-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid var(--text-muted);border-top:1.5px solid transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.teaching-notes-callout{margin-top:.35rem;padding:.4rem .6rem;border-left:3px solid var(--warrior-red);border-radius:var(--radius-sm);background:rgba(160,53,47,.06)}.teaching-notes-callout .field-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.teaching-notes-text{margin:.15rem 0 0;font-size:.88rem;color:var(--text-primary);white-space:pre-wrap;line-height:1.45}.technique-inline-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.technique-inline-item{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.3rem .55rem;border-radius:var(--radius-sm);background:rgba(255,255,255,.03);border-left:3px solid var(--border-subtle);font-size:.88rem}.technique-inline-item--done{border-left-color:#3a9a5c}.technique-inline-item--removed{border-left-color:var(--warrior-red);opacity:.6}.technique-inline-title{color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.technique-inline-meta{color:var(--text-muted);font-size:.78rem;white-space:nowrap;flex-shrink:0}.entity-title{margin:0 0 1.25rem;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:800;letter-spacing:-.01em;color:var(--text-primary);border-bottom:2px solid var(--warrior-red);padding-bottom:.6rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.55rem}.admin-status-list{gap:.45rem}.admin-progress-list{margin-top:.4rem;display:grid;grid-gap:.2rem;gap:.2rem}.private-lessons-form{gap:.7rem}.private-lessons-form .field{gap:.25rem}.private-lessons-form .field-label{font-size:.76rem}.technique-search-field{position:relative}.tech-search-wide{grid-column:span 2}.tech-search-head{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:minmax(0,1fr)}.tech-search-categories{display:flex;flex-wrap:wrap;gap:.45rem}.tech-search-categories button{padding:.3rem .72rem;border-radius:var(--radius-pill);font-size:.8rem}.tech-search-input{min-height:2.35rem}.tech-search-dropdown{position:relative;margin-top:.35rem;padding:.65rem;background:#181614;border-color:#52483f;box-shadow:0 14px 28px rgba(0,0,0,.42)}.tech-search-list{display:grid;grid-gap:.45rem;gap:.45rem}.tech-search-scroll{max-height:18rem;overflow:auto}.tech-search-row{display:flex;align-items:center;justify-content:space-between;gap:.55rem;border:1px solid var(--border-subtle);border-radius:10px;padding:.5rem .6rem;background:rgba(255,255,255,.02)}.tech-search-meta{min-width:0}.tech-search-title{margin:0;font-size:.92rem;font-weight:600;line-height:1.3}.technique-results-panel{margin-top:.35rem;background:#181614;border-color:#52483f}.game-filter-toggle{display:flex;align-items:center}.game-combobox{display:flex;flex-direction:column;gap:.35rem}.game-suggestions{display:flex;flex-wrap:wrap;gap:.35rem}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table td,.data-table th{padding:.55rem .8rem;text-align:left}.data-table th{color:var(--text-muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}.data-table td{border-bottom:1px solid rgba(232,220,200,.05)}.data-table tr:last-child td{border-bottom:none}@media (max-width:760px){.nav-strip:before{display:none}.inline-grid,.tech-row{grid-template-columns:1fr}.tech-row{align-items:start}.tech-row-grid,.tech-row-meta{grid-template-columns:1fr}.tech-row-actions{justify-content:flex-start}.page-title{line-height:1.2}.tech-search-head{grid-template-columns:1fr}.tech-search-wide{grid-column:span 1}.tech-row-thumb{max-width:100%}}@media (max-width:480px){main{padding-left:.6rem;padding-right:.6rem}.tech-row{padding:.6rem;gap:.6rem}.tech-row-thumb{width:5rem;height:3rem}}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.media-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--surface-card-border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s}.media-card:hover{border-color:var(--warrior-red)}.media-card-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}.media-card-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem}.media-card-info{padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem}.media-card-title{font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card-duration{font-size:.75rem;color:var(--text-muted)}.media-detail-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:1.5rem;gap:1.5rem;align-items:start}.media-detail-main{min-width:0}.media-detail-sidebar{display:grid;grid-gap:.75rem;gap:.75rem}.media-detail-sidebar-heading{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0}.media-detail-sidebar-label{font-size:.82rem;color:var(--text-muted);margin:0}.state-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:500}.state-badge--encoding{background:rgba(255,200,50,.12);color:var(--state-encoding);border:1px solid rgba(240,180,41,.3)}.state-badge--error{background:rgba(160,53,47,.15);color:var(--warrior-red-light);border:1px solid rgba(160,53,47,.3)}@media (max-width:760px){.media-detail-layout{grid-template-columns:1fr}}