.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-card{min-height:0;padding:0;display:block;overflow:hidden;background:#17161c;box-shadow:0 18px 50px rgba(0,0,0,.22);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.work-card.is-playable{cursor:pointer}.work-card.is-playable:hover{transform:translateY(-3px);border-color:#6f5941;box-shadow:0 24px 64px rgba(0,0,0,.38)}.work-card.is-playable:focus-visible{outline:2px solid #d89a53;outline-offset:3px}.work-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(209,145,70,.18),transparent 32%),linear-gradient(145deg,#1d1b22,#100f13)}.work-media.ratio-portrait{aspect-ratio:4/3}.work-media video{display:block;width:100%;height:100%;object-fit:cover;background:#09090b;transition:transform .45s ease,filter .3s ease}.work-card:hover .work-media video{transform:scale(1.025)}.work-media:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(7,7,9,.7));pointer-events:none}.work-play{position:absolute;left:50%;top:50%;z-index:2;width:48px;height:48px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(17,16,20,.68);backdrop-filter:blur(8px);color:#fff;opacity:.92;transition:transform .2s ease,background .2s ease}.work-play:before{content:"";margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}.work-card:hover .work-play{transform:translate(-50%,-50%) scale(1.08);background:#c98943;color:#16100a}.work-badge{position:absolute;left:12px;top:12px;z-index:2;padding:6px 8px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(15,14,18,.7);backdrop-filter:blur(8px);color:#e8e2da;font:600 9px "IBM Plex Mono",monospace}.work-duration{position:absolute;right:12px;bottom:10px;z-index:2;padding:4px 6px;border-radius:5px;background:rgba(0,0,0,.7);color:#fff;font:600 9px "IBM Plex Mono",monospace}.work-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#827f88}.work-placeholder div{display:grid;place-items:center;gap:9px}.work-placeholder i{width:44px;height:34px;border:1px solid #494650;border-radius:8px;position:relative}.work-placeholder i:after{content:"";position:absolute;left:17px;top:10px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #6e6974}.work-placeholder strong{font-size:11px;color:#aaa6af}.work-placeholder small{font-size:9px}.work-card-body{padding:15px 16px 17px}.work-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.work-card time{font:600 9px "IBM Plex Mono",monospace;color:#d79a51}.work-card-meta{color:#85818a;font:500 9px "IBM Plex Mono",monospace}.work-card h3{min-height:42px;margin:0;font-size:14px;line-height:1.5;font-weight:550;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:11px;border-top:1px solid #2e2c33;color:#8f8b94;font-size:10px}.work-card-footer span:last-child{color:#b8b2ba}.work-preview-dialog{width:min(1040px,92vw);max-height:92vh;padding:0;overflow:hidden;border-color:#45414a;background:#111014}.work-preview-dialog::backdrop{background:rgba(3,3,5,.82);backdrop-filter:blur(10px)}.work-preview-dialog .dialog-close{z-index:5;right:16px;top:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(12,11,14,.65);color:#fff;line-height:1}.work-dialog-video{display:block;width:100%;max-height:68vh;aspect-ratio:16/9;object-fit:contain;background:#050506}.work-dialog-info{padding:20px 22px 22px}.work-dialog-info>small{color:#d39750;font:600 9px "IBM Plex Mono",monospace}.work-dialog-info h2{max-width:800px;margin:7px 0 15px;font-size:20px;line-height:1.45;font-weight:550}.work-dialog-footer{display:flex;align-items:center;gap:9px}.work-dialog-footer a,.work-dialog-footer button{padding:10px 13px;border:1px solid #55515a;border-radius:8px;background:#242228;color:#f2ece5;text-decoration:none;cursor:pointer;font-size:11px}.work-dialog-footer a{background:#cb8d48;border-color:#d69b59;color:#171007;font-weight:650}.work-dialog-footer span{margin-left:auto;color:#918d96;font-size:10px}@media(max-width:980px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.works-grid{grid-template-columns:1fr}.work-preview-dialog{width:96vw}.work-dialog-footer{flex-wrap:wrap}.work-dialog-footer span{width:100%;margin-left:0}.work-card h3{min-height:auto}}@media(prefers-reduced-motion:reduce){.work-card,.work-media video,.work-play{transition:none}}
