.dGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px}@media (max-width:1100px){.dGrid.grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.dGrid.grid{grid-template-columns:1fr 1fr;gap:12px}}@media (max-width:520px){.dGrid.grid{gap:10px}.dTx{padding:12px}.dKind{font-size:9px;letter-spacing:.08em}.dKind em{display:block;margin-top:2px}.dTx h3{font-size:var(--t-base);margin-top:6px}.dTx p{font-size:var(--t-sm);margin-top:4px;line-height:1.45}.dActs{gap:6px;margin-top:10px;padding-top:10px}.dBtn{padding:0 6px;font-size:var(--t-sm);gap:5px;min-height:40px}.dActs .dBtn svg{display:none}.dShot img{top:10px;height:calc(100% - 10px);max-width:calc(100% - 20px)}.dCard.land .dShot img{width:calc(100% - 20px)}.dPages{right:6px;top:6px;padding:4px 6px;font-size:9px}}@media (max-width:360px){.dGrid.grid{grid-template-columns:1fr}}.dGrid.row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.dGrid.row .dCard{flex:0 0 272px;scroll-snap-align:start}@media (max-width:820px){.dGrid.row{margin:0 -20px;padding:4px 20px 16px;gap:12px}.dGrid.row .dCard{flex-basis:76vw;max-width:300px}}.dCard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);overflow:hidden;transition:box-shadow .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.dCard:hover{border-color:var(--line-warm);box-shadow:0 26px 50px -36px rgba(21,17,13,.55);transform:translateY(-2px)}.onDark .dCard{background:var(--ink-raised);border-color:var(--line-dark)}.onDark .dCard:hover{border-color:hsla(0,0%,100%,.26);box-shadow:0 30px 60px -36px rgba(0,0,0,.8)}.dShot{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:none;background:var(--bg-sunk);cursor:pointer;overflow:hidden;text-align:left}.onDark .dShot{background:var(--ink)}.dShot img{position:absolute;left:50%;top:14px;transform:translateX(-50%);height:calc(100% - 14px);width:auto;max-width:calc(100% - 28px);object-fit:cover;object-position:top;box-shadow:0 8px 24px -10px rgba(21,17,13,.4);background:#fff;transition:transform .5s var(--ease)}.dCard.land .dShot img{top:50%;transform:translate(-50%,-50%);height:auto;width:calc(100% - 28px)}.dShot:hover img{transform:translateX(-50%) scale(1.02)}.dCard.land .dShot:hover img{transform:translate(-50%,-50%) scale(1.02)}.dShot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(21,17,13,.16));opacity:0;transition:opacity .3s var(--ease)}.dShot:hover:after{opacity:1}.dZoom{position:absolute;left:50%;bottom:14px;transform:translate(-50%,6px);display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}.dZoom svg{width:15px;height:15px}.dShot:focus-visible .dZoom,.dShot:hover .dZoom{opacity:1;transform:translate(-50%)}.dPages{position:absolute;right:10px;top:10px;padding:5px 9px;background:rgba(21,17,13,.82);color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-radius:var(--r-sm)}.dTx{display:flex;flex-direction:column;flex:1 1;padding:16px 18px 18px}.dKind{font-size:var(--t-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--red)}.dKind em{font-style:normal;color:var(--text-faint);font-weight:700;letter-spacing:.08em}.onDark .dKind{color:var(--amber)}.onDark .dKind em{color:var(--on-dark-4)}.dTx h3{margin-top:8px;font-weight:800;font-size:var(--t-lg);letter-spacing:-.02em;line-height:1.18;color:var(--text)}.onDark .dTx h3{color:#fff}.dTx p{margin-top:6px;font-size:var(--t-md);line-height:1.55;color:var(--text-body);flex:1 1}.onDark .dTx p{color:var(--on-dark-3)}.dActs{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.onDark .dActs{border-top-color:var(--line-dark)}.dBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:transparent;color:var(--text);font-family:inherit;font-size:var(--t-md);font-weight:700;cursor:pointer;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);flex:1 1}.dBtn svg{width:16px;height:16px;flex:none}.dBtn:hover{background:var(--text);color:#fff;border-color:var(--text)}.dBtn.solid{background:var(--red);border-color:var(--red);color:#fff}.dBtn.solid:hover{background:var(--red-dark);border-color:var(--red-dark)}.dBtn.wide{width:100%}.onDark .dBtn{border-color:hsla(0,0%,100%,.28);color:#fff}.onDark .dBtn:hover{background:#fff;color:var(--text);border-color:#fff}.onDark .dBtn.solid{background:var(--amber);border-color:var(--amber);color:var(--ink)}.onDark .dBtn.solid:hover{background:#fff;border-color:#fff}@media (max-width:820px){.dBtn{min-height:44px}}.dView{position:fixed;inset:0;margin:auto;width:min(1180px,calc(100vw - 32px));max-width:none;height:min(92vh,980px);max-height:none;padding:0;border:none;border-radius:var(--r-lg);background:var(--bg);color:var(--text);box-shadow:0 40px 90px -30px rgba(0,0,0,.6);overflow:hidden}.dView::-webkit-backdrop{background:rgba(15,12,9,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dView::backdrop{background:rgba(15,12,9,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dvIn{display:flex;flex-direction:column;height:100%}.dvHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line-strong);background:var(--surface)}.dvKind{display:block;font-size:var(--t-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--red)}.dvTitle h2{margin-top:4px;font-weight:800;font-size:var(--t-xl);letter-spacing:-.025em;line-height:1.1}.dvTitle p{margin-top:4px;font-size:var(--t-sm);color:var(--text-muted)}.dvActs{display:flex;align-items:center;gap:8px}.dvActs,.dvActs .dBtn{flex:none}.dvClose{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--text);cursor:pointer;margin-left:4px}.dvClose svg{width:18px;height:18px}.dvClose:hover{background:var(--text);color:#fff;border-color:var(--text)}.dvBody{display:grid;grid-template-columns:minmax(0,1fr) 320px;flex:1 1;min-height:0}.dvPages{overflow-y:auto;padding:22px;background:var(--ink);display:flex;flex-direction:column;align-items:center;gap:22px}.dvPage{margin:0;max-width:820px;width:100%}.dvPage img{width:100%;height:auto;background:#fff;box-shadow:0 20px 50px -20px rgba(0,0,0,.7)}.dvPage figcaption{margin-top:8px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--t-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--on-dark-4)}.dvSide{overflow-y:auto;padding:22px;border-left:1px solid var(--line-strong);background:var(--surface)}.dvSum{font-size:var(--t-base);line-height:1.65;color:var(--text-body)}.dvFacts{margin-top:18px;border-top:1px solid var(--line-strong)}.dvFacts>div{padding:10px 0;border-bottom:1px solid var(--line)}.dvFacts dt{font-size:var(--t-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--text-faint)}.dvFacts dd{margin-top:3px;font-size:var(--t-sm);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);line-height:1.5}.dvSide .dBtn.wide{margin-top:18px}@media (max-width:900px){.dView{width:100vw;height:100dvh;border-radius:0}.dvHead{padding:12px 14px;align-items:center}.dvTitle h2{font-size:var(--t-lg)}.dvActs .dBtn span,.dvTitle p{display:none}.dvActs .dBtn{width:44px;padding:0}.dvBody{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.dvPages{padding:14px;gap:14px}.dvSide{border-left:none;border-top:1px solid var(--line-strong);max-height:38vh;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}.dvSum{font-size:var(--t-md)}.dvFacts{margin-top:12px}.dvFacts>div{padding:7px 0}}