:root{--dcg-ink: #1b1533;--dcg-ink-2: #2a2150;--dcg-gold: #e3b341;--dcg-gold-dark: #b8871b;--dcg-cream: #fbf6ea;--dcg-paper: #fffdf7;--dcg-line: #e8dcc0;--dcg-text: #221d33;--dcg-muted: #645d75;--dcg-lead: #2f5fb3;--dcg-villain: #8e2b5c;--dcg-sidekick: #2e7d5b;--dcg-mentor: #a56a12;--dcg-radius: 16px;--dcg-shadow: 0 16px 36px rgba(27, 21, 51, 0.14);--primary: #2a2150;--primary-dark: #1b1533;--border: #e8dcc0;--surface: #ffffff;--shadow-soft: 0 10px 28px rgba(27, 21, 51, 0.10);--surface-muted: #fbf6ea;--text-main: #221d33;--text-muted: #645d75;}
.dcg-bench{display: grid;grid-template-columns: minmax(400px, 580px) minmax(0, 1fr);gap: 28px;align-items: start;margin: 8px 0 56px;}
.dcg-console{position: sticky;top: 88px;background: var(--dcg-ink);color: #fff;border-radius: var(--dcg-radius);padding: 22px 20px 20px;box-shadow: var(--dcg-shadow);background-image: radial-gradient(ellipse at 85% -20%, rgba(227, 179, 65, 0.22) 0, rgba(227, 179, 65, 0) 60%);}
.dcg-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 4px 12px;font-size: 12.5px;color: rgba(255, 255, 255, 0.7);padding-bottom: 14px;margin-bottom: 16px;border-bottom: 1px dashed rgba(255, 255, 255, 0.22);}
.dcg-byline .author-link{color: var(--dcg-gold);font-weight: 700;text-decoration: underline;text-underline-offset: 3px;}
.dcg-console fieldset{border: 0;padding: 0;margin: 0;min-width: 0;}
.dcg-console legend,.dcg-toggle small{float: none;width: auto;padding: 0;margin-bottom: 8px;font-size: 11.5px;font-weight: 800;letter-spacing: .1em;text-transform: uppercase;color: rgba(255, 255, 255, 0.66);}
.dcg-eras{margin-bottom: 18px !important;}
.dcg-reel{display: grid;grid-template-columns: 1fr 1fr;gap: 6px;padding: 8px 14px;background: #0f0b20;border-radius: 10px;background-image: radial-gradient(circle, rgba(255, 255, 255, 0.18) 2.5px, transparent 3px),radial-gradient(circle, rgba(255, 255, 255, 0.18) 2.5px, transparent 3px);background-size: 8px 16px,8px 16px;background-position: 1px 0,calc(100% - 1px) 0;background-repeat: repeat-y;}
.dcg-era-stop{margin: 0;min-width: 0;}
.dcg-era-stop input,.dcg-chip input,.dcg-seg input,.dcg-toggle input{position: absolute;opacity: 0;pointer-events: none;}
.dcg-era-stop span{display: grid;grid-template-columns: 1fr auto;column-gap: 6px;padding: 8px 10px;height: 100%;border-radius: 8px;background: var(--dcg-ink-2);border: 1px solid rgba(255, 255, 255, 0.12);cursor: pointer;transition: background .15s, border-color .15s;}
.dcg-era-stop b{font-size: 13.5px;line-height: 1.25;font-weight: 700;color: #fff;}
.dcg-era-stop small{grid-column: 1;font-size: 11.5px;color: rgba(255, 255, 255, 0.6);}
.dcg-era-stop em{grid-column: 2;grid-row: 1 / span 2;align-self: center;font-style: normal;font-size: 12px;font-weight: 800;color: var(--dcg-gold);}
.dcg-era-stop span:hover{border-color: rgba(227, 179, 65, 0.7);}
.dcg-era-stop input:checked + span{background: var(--dcg-gold);border-color: var(--dcg-gold);}
.dcg-era-stop input:checked + span b,.dcg-era-stop input:checked + span em{color: var(--dcg-ink);}
.dcg-era-stop input:checked + span small{color: rgba(27, 21, 51, 0.72);}
.dcg-era-stop input:focus-visible + span,.dcg-chip input:focus-visible + span,.dcg-seg input:focus-visible + span,.dcg-toggle input:focus-visible + .dcg-switch{outline: 3px solid #9fc2ff;outline-offset: 2px;}
.dcg-row{display: grid;grid-template-columns: 1fr;gap: 16px;margin-bottom: 18px;}
.dcg-chips{display: flex;flex-wrap: wrap;gap: 6px;}
.dcg-chip{margin: 0;}
.dcg-chip span{display: inline-flex;align-items: center;gap: 6px;padding: 6px 13px;border-radius: 999px;border: 1px solid rgba(255, 255, 255, 0.28);font-size: 13.5px;font-weight: 600;cursor: pointer;}
.dcg-chip-lead span::before,.dcg-chip-villain span::before,.dcg-chip-sidekick span::before,.dcg-chip-mentor span::before{content: "";width: 8px;height: 8px;border-radius: 50%;background: var(--dot);}
.dcg-chip-lead{--dot: #7aa6f0;}
.dcg-chip-villain{--dot: #e07aae;}
.dcg-chip-sidekick{--dot: #6fcf9f;}
.dcg-chip-mentor{--dot: #f0bf5a;}
.dcg-chip span:hover{border-color: #fff;}
.dcg-chip input:checked + span{background: #fff;color: var(--dcg-ink);border-color: #fff;}
.dcg-seg{display: grid;grid-template-columns: repeat(3, 48px);background: rgba(255, 255, 255, 0.1);border-radius: 10px;padding: 4px;}
.dcg-seg label{margin: 0;}
.dcg-seg span{display: block;text-align: center;padding: 6px 0;border-radius: 7px;font-weight: 700;cursor: pointer;}
.dcg-seg input:checked + span{background: var(--dcg-gold);color: var(--dcg-ink);}
.dcg-toggle{display: flex;align-items: center;gap: 10px;margin: 0;cursor: pointer;font-weight: 700;font-size: 14.5px;}
.dcg-toggle small{display: block;margin: 2px 0 0;letter-spacing: .06em;}
.dcg-switch{position: relative;flex: 0 0 auto;width: 44px;height: 24px;border-radius: 999px;background: rgba(255, 255, 255, 0.22);transition: background .15s;}
.dcg-switch::after{content: "";position: absolute;top: 3px;left: 3px;width: 18px;height: 18px;border-radius: 50%;background: #fff;transition: transform .15s;}
.dcg-toggle input:checked + .dcg-switch{background: var(--dcg-gold);}
.dcg-toggle input:checked + .dcg-switch::after{transform: translateX(20px);}
.dcg-actions-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 14px;}
.dcg-go{flex: 1 1 100%;display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 12px 26px;border: 0;border-radius: 12px;background: var(--dcg-gold);color: var(--dcg-ink);font-size: 16px;font-weight: 800;cursor: pointer;box-shadow: 0 5px 0 var(--dcg-gold-dark);transition: transform .1s, box-shadow .1s;}
.dcg-go:hover{background: #edc25a;}
.dcg-go:active{transform: translateY(4px);box-shadow: 0 1px 0 var(--dcg-gold-dark);}
.dcg-go.is-busy{opacity: .75;cursor: wait;}
.dcg-go.is-busy i{animation: dcgSpin .8s linear infinite;}
.dcg-ghost{flex: 1 1 100%;display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 11px 18px;border-radius: 12px;border: 1px solid rgba(255, 255, 255, 0.35);background: transparent;color: #fff;font-weight: 700;cursor: pointer;}
.dcg-ghost:hover,.dcg-ghost.is-done{background: rgba(255, 255, 255, 0.12);border-color: #fff;}
.dcg-status{flex: 1 1 100%;margin: 0;font-size: 13.5px;color: rgba(255, 255, 255, 0.74);}
.dcg-status.is-error{color: #ffb4b4;font-weight: 700;}
.dcg-stage{min-width: 0;}
.dcg-cards{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));gap: 18px;}
.dcg-card{--role: var(--dcg-lead);position: relative;display: flex;flex-direction: column;background: var(--dcg-paper);border: 1px solid var(--dcg-line);border-radius: var(--dcg-radius);padding: 20px 20px 16px 24px;box-shadow: var(--shadow-soft);overflow: hidden;animation: dcgIn .35s ease both;}
.dcg-card::before{content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 6px;background: var(--role);}
.dcg-card::after{content: "";position: absolute;inset: 7px 7px 7px 13px;border: 1px solid rgba(227, 179, 65, 0.45);border-radius: 11px;pointer-events: none;}
.dcg-card:only-child{grid-column: 1 / -1;justify-self: center;width: 100%;max-width: 640px;padding: 28px 30px 22px 34px;}
.dcg-role-villain{--role: var(--dcg-villain);}
.dcg-role-sidekick{--role: var(--dcg-sidekick);}
.dcg-role-mentor{--role: var(--dcg-mentor);}
.dcg-card-top{display: flex;justify-content: space-between;align-items: baseline;gap: 10px;}
.dcg-card-era{font-size: 11.5px;font-weight: 800;letter-spacing: .1em;text-transform: uppercase;color: var(--dcg-muted);}
.dcg-card-year{font-family: Georgia, "Times New Roman", serif;font-size: 26px;font-weight: 700;color: var(--dcg-gold-dark);line-height: 1;}
.dcg-card-role{margin: 10px 0 2px;font-size: 13px;font-weight: 700;color: var(--role);}
.dcg-card-name{margin: 0;font-family: Georgia, "Times New Roman", serif;font-size: 28px;font-weight: 700;color: var(--dcg-ink);line-height: 1.15;transition: filter .2s;}
.dcg-card:only-child .dcg-card-name{font-size: 36px;}
.dcg-card-film{margin: 4px 0 14px;font-style: italic;color: var(--dcg-muted);transition: filter .2s;}
.dcg-card-meta{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin: 0 0 12px;padding: 10px 0;border-top: 1px solid var(--dcg-line);border-bottom: 1px solid var(--dcg-line);}
.dcg-card-meta dt{font-size: 11px;font-weight: 800;letter-spacing: .08em;text-transform: uppercase;color: var(--dcg-muted);}
.dcg-card-meta dd{margin: 2px 0 0;font-weight: 600;font-size: 14px;color: var(--dcg-text);}
.dcg-card-note{margin: 0 0 14px;font-size: 14.5px;line-height: 1.55;color: var(--dcg-text);transition: filter .2s;}
.dcg-card-actions{display: flex;gap: 8px;margin-top: auto;position: relative;z-index: 1;}
.dcg-mini{display: inline-flex;align-items: center;gap: 6px;padding: 6px 12px;border-radius: 8px;border: 1px solid var(--dcg-line);background: #fff;color: var(--dcg-ink);font-size: 13px;font-weight: 700;cursor: pointer;}
.dcg-mini:hover{border-color: var(--dcg-ink);}
.dcg-mini.is-done{background: var(--dcg-sidekick);border-color: var(--dcg-sidekick);color: #fff;}
.dcg-reveal{display: none;background: var(--dcg-ink);border-color: var(--dcg-ink);color: #fff;}
.dcg-cards.is-guess .dcg-card:not(.is-revealed) .dcg-hide{filter: blur(8px);user-select: none;}
.dcg-cards.is-guess .dcg-card:not(.is-revealed) .dcg-reveal{display: inline-flex;}
.dcg-history{margin-top: 18px;padding: 14px 16px;background: var(--dcg-cream);border: 1px dashed var(--dcg-line);border-radius: 12px;}
.dcg-history h3{margin: 0 0 8px;font-size: 12px;font-weight: 800;letter-spacing: .1em;text-transform: uppercase;color: var(--dcg-muted);}
.dcg-history ol{list-style: none;display: flex;flex-wrap: wrap;gap: 6px;margin: 0;padding: 0;}
.dcg-history li{padding: 3px 10px;border-radius: 999px;background: #fff;border: 1px solid var(--dcg-line);font-size: 13px;color: var(--dcg-text);}
.dcg-read{margin: 0 auto 52px;color: var(--dcg-text);}
.dcg-read h2,.dcg-limits h2{font-family: Georgia, "Times New Roman", serif;font-size: 28px;font-weight: 700;color: var(--dcg-ink);margin-bottom: 12px;}
.dcg-read > p{font-size: 16.5px;line-height: 1.7;}
.dcg-timeline{list-style: none;margin: 22px 0 0;padding: 0 0 0 26px;border-left: 3px solid var(--dcg-line);}
.dcg-timeline li{position: relative;padding: 0 0 22px;}
.dcg-timeline li::before{content: "";position: absolute;left: -35px;top: 5px;width: 15px;height: 15px;border-radius: 50%;background: var(--dcg-gold);border: 3px solid var(--dcg-paper);box-shadow: 0 0 0 2px var(--dcg-gold-dark);}
.dcg-timeline li[data-era="pixar"]::before{background: var(--dcg-lead);box-shadow: 0 0 0 2px var(--dcg-lead);}
.dcg-timeline h3{font-size: 19px;font-weight: 700;margin: 0 0 6px;color: var(--dcg-ink);}
.dcg-timeline h3 span{display: block;margin-top: 2px;font-size: 13px;font-weight: 600;color: var(--dcg-muted);}
.dcg-timeline p{margin: 0;line-height: 1.65;}
.dcg-games{display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;margin-top: 18px;}
.dcg-game{background: var(--dcg-paper);border: 1px solid var(--dcg-line);border-radius: 14px;padding: 18px 20px;}
.dcg-game-tag{display: inline-block;margin: 0 0 8px;padding: 3px 10px;border-radius: 999px;background: var(--dcg-ink);color: var(--dcg-gold);font-size: 12px;font-weight: 700;}
.dcg-game h3{font-size: 19px;font-weight: 700;color: var(--dcg-ink);margin: 0 0 6px;}
.dcg-game p{line-height: 1.6;margin-bottom: 8px;}
.dcg-game-tip{margin: 0 !important;padding-top: 8px;border-top: 1px dashed var(--dcg-line);font-size: 14px;color: var(--dcg-muted);}
.dcg-table-wrap{overflow-x: auto;margin: 16px 0 12px;border: 1px solid var(--dcg-line);border-radius: 12px;}
.dcg-table{width: 100%;border-collapse: collapse;background: #fff;font-size: 15px;}
.dcg-table th,.dcg-table td{padding: 11px 14px;border-bottom: 1px solid var(--dcg-line);text-align: left;vertical-align: top;}
.dcg-table thead th{background: var(--dcg-ink);color: #fff;font-size: 12.5px;letter-spacing: .06em;text-transform: uppercase;}
.dcg-table tbody th{white-space: nowrap;color: var(--dcg-ink);}
.dcg-table tbody tr:last-child th,.dcg-table tbody tr:last-child td{border-bottom: 0;}
.dcg-aside{font-size: 14.5px;color: var(--dcg-muted);}
.dcg-limits{max-width: 900px;margin: 0 auto 52px;padding: 24px 26px;background: var(--dcg-cream);border: 1px solid var(--dcg-line);border-left: 6px solid var(--dcg-villain);border-radius: 14px;}
.dcg-limits ul{margin: 0;padding-left: 18px;}
.dcg-limits li{margin-bottom: 10px;line-height: 1.6;}
.dcg-disclaimer{margin: 14px 0 0;font-size: 13px;color: var(--dcg-muted);}
@keyframes dcgIn{from{opacity: 0;transform: translateY(8px);}to{opacity: 1;transform: none;}}
@keyframes dcgSpin{to{transform: rotate(360deg);}}
@media (max-width: 991px){.dcg-bench{grid-template-columns: 1fr;}.dcg-console{position: static;}}
@media (max-width: 860px){.dcg-games{grid-template-columns: 1fr;}}
@media (max-width: 576px){.dcg-console{padding: 18px 16px;}.dcg-card:only-child{padding: 22px 20px 18px 26px;}.dcg-card:only-child .dcg-card-name{font-size: 30px;}.dcg-read h2,.dcg-limits h2{font-size: 24px;}.dcg-limits{padding: 20px 18px;}}
@media (prefers-reduced-motion: reduce){.dcg-card{animation: none;}.dcg-go.is-busy i{animation: none;}}