/* DG Fegyvervizsga 0.12.0 – presentation layer.
   Dullet charcoal/yellow, Bullseye hierarchy, Aimgun action blocks,
   Fire Rangers modular rhythm, Calibr restrained product presentation.
   No theme runtime, external fonts, analytics or question-engine overrides. */
:root{--ink:#272b2e;--ink-strong:#191c1f;--ink-soft:#606568;--paper:#f9f8f5;--warm:#efeee8;--mist:#f3f1e9;--line:#deded6;--line-strong:#bdbeb4;--accent:#89700b;--accent-dark:#554500;--accent-soft:#fff5c4;--success:#246244;--danger:#9d352d;--shadow:0 12px 38px #11151b0a;--radius:10px;--shell:1260px;--design-yellow:#ffdb4d;--design-dark:#191c1f;--design-border:#34383a;--design-text:#eef0eb}
.dgf-design{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}
.dgf-design::before{display:none}
.dgf-design [hidden]{display:none!important}
.dgf-design .shell{width:calc(100% - 80px);max-width:1260px;margin-inline:auto}
.dgf-design #app{min-height:45vh}
.dgf-design :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:-.035em;color:var(--ink-strong)}
.dgf-design #app :is(h1,h2,h3,.question-copy){color:var(--ink-strong)}
.dgf-design p{overflow-wrap:break-word}
.dgf-design :focus-visible{outline:3px solid #b78700;outline-offset:4px}
.dgf-design a{transition:color .15s,background-color .15s,border-color .15s}
.dgf-design .dgf-icon{display:inline-block;flex:none;vertical-align:middle;max-width:none}
.dgf-design .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;font-size:14px;line-height:1.4;font-weight:750;border-radius:6px;padding:14px 22px;text-decoration:none;box-shadow:none;white-space:normal;cursor:pointer}
.dgf-design .button-primary,.dgf-design .button-primary:visited{background:var(--design-yellow);border:1px solid var(--design-yellow);color:#1c1e1e}
.dgf-design .button-primary:hover{background:#ffe575;border-color:#ffe575;color:#111}
.dgf-design .button-ghost{background:transparent;border:1px solid #bcbdb5;color:#292c2d}
.dgf-design .button-ghost:hover{background:#eeede8;border-color:#72756b;color:#171a1c}
.dgf-design .button:disabled,.dgf-design [aria-disabled=true]{cursor:default;opacity:.5}
.dgf-design .design-button-dark{background:#191c1f;border:1px solid #191c1f;color:#fff}
.dgf-design .design-button-dark:hover{background:#363b3f;color:#fff}
.dgf-design .eyebrow{color:#796019;font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.5;margin:0 0 14px}
.dgf-design .lead{color:#666966;font-size:17px;line-height:1.8}
.dgf-design .text-link{color:#584800;text-underline-offset:5px;font-weight:650}
.dgf-design .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.dgf-design .section{padding-block:76px}
.dgf-design .section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.dgf-design .section-heading h2{font-size:clamp(29px,3vw,41px);line-height:1.15;margin:0}
.dgf-design .section-heading>p{max-width:410px;font-size:15px;color:#676c6a;line-height:1.7;margin:0}
.dgf-design .design-arrow-link{display:inline-flex;align-items:center;gap:15px;justify-content:space-between;font-weight:750;font-size:14px;color:#232724;text-decoration:none}
.dgf-design .design-arrow-link:hover{color:#826000}
.dgf-design .design-arrow-link .dgf-icon{width:21px;height:21px}
/* Header: a compact desktop bar, accessible checkbox menu on narrow screens. */
.design-topbar{background:#101315;color:#c3c6c2;border-bottom:1px solid #333739;font-size:11px;letter-spacing:.025em}
.design-topbar>.shell{display:flex;align-items:center;justify-content:space-between;min-height:35px;gap:18px}
.design-topbar span{display:inline-flex;align-items:center;gap:10px}
.design-topbar .dgf-icon{width:15px;height:15px;color:var(--design-yellow)}
.design-topbar i{font-style:normal;color:#73776d;margin:0 3px}
.dgf-design .site-header{background:#191c1f;border-bottom:1px solid #34383a;position:relative!important;box-shadow:none;z-index:30}
.dgf-design .site-header__inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 80px);max-width:1260px}
.dgf-design .site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:17px;font-weight:800;letter-spacing:.045em;white-space:nowrap;color:#f5f5f0;flex:none;line-height:1.25}
.dgf-design .site-brand:hover{color:var(--design-yellow)}
.dgf-design .site-brand small{display:block;font-size:8px;letter-spacing:.23em;font-weight:500;color:#bbc0ba;margin-top:7px}
.dgf-design .dgf-mark{position:relative;width:48px;height:48px;border:1px solid var(--design-yellow);background:var(--design-yellow);border-radius:5px;font-size:22px;font-weight:900;letter-spacing:-.08em;color:#191c1f;display:grid;place-items:center}
.dgf-design .dgf-mark>span{position:absolute;right:2px;top:0;font-size:12px;letter-spacing:0}
.dgf-design .site-nav{display:flex;flex:1;gap:25px;align-items:center;justify-content:flex-end}
.dgf-design .site-nav a{color:#dfe1d9;font-size:13px;font-weight:600;white-space:nowrap;padding:14px 0;text-decoration:none;position:relative}
.dgf-design .site-nav a:not(.design-nav-cta):hover,.dgf-design .site-nav a[aria-current=page]:not(.design-nav-cta){color:var(--design-yellow)}
.dgf-design .site-nav a[aria-current=page]:not(.design-nav-cta)::after{content:"";position:absolute;bottom:3px;left:0;width:18px;height:2px;background:var(--design-yellow)}
.dgf-design .site-nav .design-nav-cta{display:flex;align-items:center;gap:10px;padding:13px 17px;background:var(--design-yellow);border-radius:5px;color:#171b1b;font-weight:800;margin-left:6px}
.dgf-design .design-nav-cta .dgf-icon{width:19px;height:19px}
.dgf-design .site-nav .design-nav-cta:hover{background:#ffe885;color:#171b1b}
.dgf-design .site-nav .design-nav-cta[aria-current=page]{box-shadow:0 0 0 2px #191c1f,0 0 0 3px var(--design-yellow)}
.dgf-design .nav-toggle-control{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none}
.dgf-design .nav-toggle{display:none!important}
.dgf-design .nav-toggle-control:focus-visible+.nav-toggle{outline:3px solid var(--design-yellow);outline-offset:4px}
/* Homepage: dark editorial opening, actual learning media, no fake club data. */
.dgf-design .design-hero{background:#191c1f;color:#f6f5ee;padding:64px 0 80px;overflow:hidden;position:relative}
.design-hero::before{content:"";position:absolute;width:480px;height:480px;border:1px solid #373c3b;border-radius:50%;right:-170px;top:30px;box-shadow:0 0 0 65px #191c1f,0 0 0 66px #2d3131;pointer-events:none}
.design-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:74px;align-items:center;position:relative}
.design-kicker{font-size:10px;font-weight:750;letter-spacing:.12em;color:#cbcfc2;display:flex;gap:9px;align-items:center;margin:0 0 22px;line-height:1.6}
.design-kicker>span{width:6px;height:6px;background:var(--design-yellow);flex:none}
.dgf-design #app .design-hero h1{color:#f8f8f1;font-size:clamp(43px,4.5vw,65px);line-height:1.08;letter-spacing:-.052em;font-weight:800;margin:0 0 25px;max-width:610px}
.dgf-design #app .design-hero h1>span{display:block;color:var(--design-yellow);font-size:.65em;line-height:1.16;letter-spacing:-.025em;margin-top:17px;max-width:520px}
.design-hero-lead{font-size:16px;line-height:1.9;color:#b8c0bb;max-width:535px;margin:0 0 30px}
.design-hero .button-ghost{border-color:#737b76;color:#f7f8ef}
.design-hero .button-ghost:hover{background:#2f3534;border-color:#b8b9a9}
.design-trust{display:flex;gap:22px;flex-wrap:wrap;color:#c5ccc3;font-size:12px;margin-top:25px}
.design-trust>span{display:flex;align-items:center;gap:7px}
.design-trust .dgf-icon{width:15px;height:15px;color:var(--design-yellow)}
.design-hero-visual{position:relative;border:1px solid #535851;background:#25292a;box-shadow:0 18px 50px #0003;border-radius:8px;margin:0 0 16px}
.design-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c9ccc4;font-size:8px;letter-spacing:.08em;padding:15px 18px;border-bottom:1px solid #555851}
.design-preview-top>span:last-child{color:#92988d;font-size:8px}
.design-hero-photo{display:block;aspect-ratio:4/3;background:#e9e9e7;position:relative}
.design-hero-photo img{display:block;width:100%;height:100%;object-fit:contain}
.design-preview-chip{position:absolute;bottom:12px;left:14px;font-size:9px;padding:4px 8px;border:1px solid #c6c9c4;border-radius:3px;background:#fffffff0;color:#454c45;line-height:1.5}
.design-preview-bottom{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:20px 24px 25px}
.design-small-label{font-size:9px;font-weight:700;letter-spacing:.12em;color:#adb5a9}
.dgf-design #app .design-preview-bottom h2{font-size:19px;line-height:1.35;letter-spacing:-.02em;color:#fff;margin:5px 0 0;max-width:305px}
.design-circle-link{width:46px;height:46px;display:grid;place-items:center;background:var(--design-yellow);color:#212723;border-radius:50%;flex:none}
.design-circle-link:hover{background:#fff;color:#1b1e19}
.design-picture-tab{position:absolute;right:-18px;bottom:-22px;background:var(--design-yellow);color:#242822;border-radius:4px;padding:10px 17px;font-size:11px;display:flex;gap:9px;align-items:center;box-shadow:0 4px 12px #0002}
.design-picture-tab .dgf-icon{width:18px;height:18px}.design-picture-tab strong{font-size:19px;font-weight:800}
.design-metrics{background:#f0efe8;border-bottom:1px solid #dfdfd4}
.design-metrics>.shell{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0}
.design-metrics .shell>div{display:flex;align-items:center;justify-content:center;gap:15px;padding:6px 20px;border-right:1px solid #cdcec2}
.design-metrics .shell>div:first-child{justify-content:flex-start;padding-left:0}
.design-metrics .shell>div:last-child{border-right:0}
.design-metrics strong{font-size:38px;line-height:1.1;letter-spacing:-.04em;color:#252923;font-weight:800;font-variant-numeric:tabular-nums}
.design-metrics span{font-size:12px;max-width:95px;color:#63675f;line-height:1.6}
.design-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.design-route-card{border:1px solid #dfe1d9;background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,border-color .2s}
.design-route-card:hover{box-shadow:0 10px 30px #2025200d;border-color:#a0a693}
.design-route-image{display:block;aspect-ratio:16/9;background:#efefec;position:relative;overflow:hidden}
.design-route-image img{width:100%;height:100%;object-fit:contain}
.design-route-image>span{position:absolute;top:13px;left:15px;color:#191e19;background:var(--design-yellow);border-radius:3px;padding:4px 9px;font-size:10px;font-weight:800}
.design-route-body{padding:0 26px 27px;position:relative;display:flex;flex:1;flex-direction:column;align-items:start}
.design-route-icon{display:grid;place-items:center;position:relative;margin-top:-24px;width:48px;height:48px;background:#23282a;color:var(--design-yellow);border-radius:6px;box-shadow:0 0 0 5px #fff}
.dgf-design #app .design-route-body h3{font-size:22px;font-weight:750;line-height:1.25;margin:21px 0 10px}
.design-route-body p{font-size:15px;color:#6a706b;line-height:1.8;margin:0 0 22px;flex:1}
.design-route-body .design-arrow-link{width:100%;border-top:1px solid #e6e7df;padding-top:17px}
.design-module-section{background:#eeeee8;border-top:1px solid #e2e3d9;border-bottom:1px solid #e2e3d9}
.dgf-design .design-modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dgf-design .design-module{padding:0!important;background:#fafbf7;border:1px solid #d9dcd0;border-radius:8px;box-shadow:none;transform:none}
.design-module-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:26px 25px 0}
.design-module-icon{width:47px;height:47px;border:1px solid #d2d7c8;border-radius:8px;background:#efefe5;color:#4d5442;display:grid;place-items:center}
.design-count{font-size:27px;letter-spacing:-.035em;font-weight:800;color:#292e28;text-align:right;line-height:1}
.design-count small{display:block;color:#747a6c;font-size:10px;font-weight:500;letter-spacing:.02em;margin-top:6px}
.dgf-design .design-module .module-card-body{padding:22px 25px 26px!important}
.dgf-design .design-module .design-card-label{font-size:8px;font-weight:750;line-height:1.7;letter-spacing:.07em;color:#747963;flex:none;margin:0 0 9px}
.dgf-design .design-module .module-card-body h2{font-size:21px;line-height:1.3;margin:0 0 12px!important;letter-spacing:-.03em}
.dgf-design .design-module .module-card-body>p:not(.design-card-label){font-size:14px;line-height:1.8;margin:0 0 19px;color:#64695e}
.design-module-links{margin-top:auto;padding-top:18px;border-top:1px solid #dfe2d6;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.design-module-links>a:not(.design-arrow-link){font-size:12px;color:#5d6455;text-decoration:none}
.design-module-links>.design-arrow-link{margin-right:auto;width:100%}
.design-learning{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:80px;align-items:center}
.design-learning-photo{background:#eeeee9;border:1px solid #dbded2;position:relative;border-radius:8px;overflow:hidden}
.design-learning-photo img{width:100%;height:auto}
.design-learning-photo>span{display:block;padding:16px 20px;font-size:9px;font-weight:700;letter-spacing:.1em;background:#242a29;color:#d6dbcd}
.dgf-design #app .design-learning h2{font-size:clamp(28px,3vw,43px);line-height:1.15;margin:0 0 21px}
.design-steps{display:grid;gap:18px;margin:26px 0}
.design-steps>div{display:flex;gap:17px;align-items:flex-start;border-top:1px solid #dde0d4;padding-top:18px}
.design-steps b{font-size:12px;color:#767044;font-weight:700;margin-top:3px}
.design-steps strong{display:block;font-size:16px;color:#2b3126;line-height:1.5}
.design-steps small{display:block;font-size:13px;color:#727765;line-height:1.7;margin-top:4px}
.design-cta{background:var(--design-yellow);color:#20241d;padding:42px 0}
.design-cta>.shell{display:flex;gap:40px;align-items:center;justify-content:space-between}
.design-cta .eyebrow{color:#514918;font-size:10px;margin:0 0 8px}
.dgf-design #app .design-cta h2{font-size:clamp(27px,2.8vw,39px);line-height:1.2;color:#20241d;margin:0 0 10px}
.design-cta p:not(.eyebrow){font-size:14px;margin:0;color:#595122}.design-cta .button{flex:none}
.design-media-empty{display:grid;place-content:center;min-height:200px;padding:20px;gap:12px;background:#e8e9e1;color:#4e5947;font-size:13px;text-align:center}
/* Study pages, headings, forms and module components share the same visual system. */
.dgf-design .page-hero,.dgf-design .module-hero{background:#edece5;border-bottom:1px solid #d9dccc;padding:54px 0;background-image:none!important}
.dgf-design .page-hero h1,.dgf-design .module-hero h1{font-size:clamp(31px,3.7vw,47px);line-height:1.2;font-weight:780;letter-spacing:-.04em}
.dgf-design .page-hero .lead{max-width:780px}
.dgf-design .module-hero .hero-grid{border:0!important;background:none!important;box-shadow:none!important;padding:0!important}
.dgf-design :is(.question-card,.category-card,.action-card,.study-card){border:1px solid #dddfd4;border-radius:10px;box-shadow:0 3px 15px #151b1504;background:#fff}
.dgf-design .question-copy{font-size:19px;line-height:1.75}
.dgf-design .question-detail-heading{font-size:clamp(25px,3vw,36px);line-height:1.35}
.dgf-design .question-meta>span,.dgf-design .category-chip{color:#555e49;background:#f0f1e8;border-color:#d6dac9;border-radius:5px;font-size:11px;line-height:1.6}
.dgf-design .learning-support{background:#f5f3e7;border:1px solid #dcd7b9;border-radius:8px;color:#4e523e}
.dgf-design .notice,.dgf-design .source-caution{background:#fff8de;border:1px solid #e1d5a1;color:#5b512e;border-radius:7px;line-height:1.7}
.dgf-design .dgf-source-meta{background:#f4f4ef;border-color:#dbded0;color:#555f49}
.dgf-design .dgf-source-meta summary{color:#3a452f}
.dgf-design .source-answer{font-size:17px;line-height:1.9}
.dgf-design .source-answer a,.dgf-design .dgf-article a:not(.button),.dgf-design .source-text a{text-decoration:underline;color:#5c510f}
.dgf-design :is(input[type=search],input[type=text],input[type=password],textarea,select){border:1px solid #c9cec0;background:#fff;color:#2d3425;border-radius:6px;min-height:48px}
.dgf-design textarea{line-height:1.7;padding:14px}
.dgf-design :is(input,select,textarea):focus{outline:2px solid #b7901f;outline-offset:2px}
.dgf-design .dgf-article{max-width:880px;padding-top:50px;padding-bottom:68px;font-size:17px;line-height:1.95}
.dgf-design .dgf-article h2{margin-top:1.6em;font-size:27px;line-height:1.3}
.dgf-design .breadcrumbs{font-size:13px;line-height:1.7;color:#6d7562;gap:9px;flex-wrap:wrap}
.dgf-design .breadcrumbs a{color:#5c644e}
.design-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.design-lesson-card{background:#fff;border:1px solid #d9ddcf;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.design-lesson-photo{display:block;aspect-ratio:16/10;background:#f0f0eb}
.design-lesson-photo img{width:100%;height:100%;object-fit:contain}
.design-lesson-card>div{padding:25px;display:flex;flex:1;flex-direction:column;align-items:start}
.dgf-design .design-lesson-card .eyebrow{font-size:9px;line-height:1.7}
.dgf-design #app .design-lesson-card h2{font-size:23px;line-height:1.25;margin:0 0 16px}
.design-lesson-card h2>a{text-decoration:none;color:inherit}
.design-lesson-card p:not(.eyebrow){font-size:15px;color:#6b735f;line-height:1.75;margin:0 0 20px;flex:1}
.design-lesson-card .design-arrow-link{width:100%;border-top:1px solid #e0e3d8;padding-top:18px}
/* Library and game landing pages. */
.dgf-design .image-library{padding-top:48px;padding-bottom:65px}
.dgf-design .image-library-intro{gap:55px;margin-bottom:35px}
.dgf-design .image-library-intro h1{font-size:clamp(34px,3.7vw,51px)}
.dgf-design .image-library-intro h1 span{color:#76621a}
.dgf-design .library-guide{background:#202628;border:1px solid #42483f;border-radius:8px;color:#c9d0c0;padding:28px}
.dgf-design #app .library-guide h2{color:#f3f5eb;font-size:24px}
.dgf-design .library-guide .eyebrow,.dgf-design .library-guide b,.dgf-design .library-guide a{color:var(--design-yellow)}
.dgf-design .library-totals strong{color:#252c1d}
.dgf-design .library-totals span{color:#637058}
.dgf-design .library-filters{border-radius:8px;border-color:#dadfd0;box-shadow:0 4px 22px #1b231005;padding:24px;background:#fff}
.dgf-design .library-filters label{font-size:13px;color:#3e4931;gap:9px}
.dgf-design .library-filters :is(input,select){border-color:#c5ccba;border-radius:5px;min-height:49px}
.dgf-design .library-resultbar{margin:25px 0}
.dgf-design .library-grid{gap:25px}
.dgf-design .library-card{border-radius:8px;border-color:#daddd0;box-shadow:0 3px 12px #15221005;transition:border-color .2s,box-shadow .2s}
.dgf-design .library-card:hover{border-color:#9ca58d;box-shadow:0 9px 24px #1822100a}
.dgf-design .library-image{background:#eeeee8}
.dgf-design .library-image span{background:#202628ed;color:#fff;border-color:#555f4b;border-radius:4px;min-height:30px;display:flex;align-items:center;padding:5px 11px;font-size:11px}
.dgf-design .library-card h2{font-size:20px;line-height:1.35}
.dgf-design .library-card-body{padding:24px}
.dgf-design .library-origin{background:#f3eed7;color:#695815;border-radius:3px;letter-spacing:.04em;font-size:9px}
.dgf-design .library-origin.is-real{background:#edf2ee;color:#365841}
.dgf-design .library-categories{color:#626b57;font-size:12px;line-height:1.7}
.dgf-design .library-answer{background:#f6f4e8;color:#37462b;border:1px solid #e4e2d3;border-radius:6px}
.dgf-design .library-card-actions .button{font-size:13px;min-height:45px}
.dgf-design .game-shell{padding-top:45px;padding-bottom:65px}
.dgf-design .game-intro{gap:50px;margin-bottom:30px}
.dgf-design .game-intro h1{font-size:clamp(33px,3.6vw,51px);letter-spacing:-.04em}
.dgf-design .game-intro h1 span{color:#76621a}
.dgf-design .game-lead{font-size:16px;line-height:1.8;color:#647056}
.dgf-design .game-tags{gap:8px}
.dgf-design .game-tags>span{border-radius:4px;border:1px solid #d8ddcd;background:#eeefe7;color:#5d674e;font-size:10px;padding:5px 8px}
.dgf-design .game-scorecard{border:1px solid #424b3c;border-radius:9px;background:#22282a;color:#e9eede;padding:26px 30px;box-shadow:6px 6px 0 #ffdb4d}
.dgf-design .game-scorecard .eyebrow{color:#c2cbb7;font-size:9px}
.dgf-design .game-scorecard>strong{color:var(--design-yellow);font-size:45px}
.dgf-design .game-scorecard p{color:#c1cab4;font-size:13px}
.dgf-design .game-scorecard .game-muted{color:#b4bfa6}
.dgf-design .game-medal{color:#22282a;background:var(--design-yellow);border-radius:6px;border:0}
.dgf-design progress{accent-color:#ddbb3b;border-radius:8px;overflow:hidden}
.dgf-design progress::-webkit-progress-value{background:#ddbb3b}.dgf-design progress::-moz-progress-bar{background:#ddbb3b}
.dgf-design .game-daily{background:#efeddf;border:1px solid #d5d7c4;border-radius:8px;padding:25px 30px;box-shadow:none}
.dgf-design .game-daily .daily-number{background:#23292a;color:var(--design-yellow);border-radius:6px;border:0}
.dgf-design .game-daily h2{font-size:23px;letter-spacing:-.035em}
.dgf-design .game-daily .eyebrow{font-size:10px;color:#76651e}
.dgf-design .game-daily p{color:#626e53}
.dgf-design .game-section-title h2{font-size:27px;letter-spacing:-.035em}
.dgf-design .game-modes{gap:18px}
.dgf-design .game-mode{border:1px solid #d1d7c6;border-radius:8px;background:#fff;padding:24px;box-shadow:none;min-height:175px;color:#2e3824}
.dgf-design .game-mode:hover{border-color:#827341;background:#fffef8}
.dgf-design .game-mode.is-selected{border:2px solid #b9961b;padding:23px;background:#fff7d7;box-shadow:none}
.dgf-design .game-mode-number{color:#7c702e;background:#f3f0de;font-size:10px;border-radius:4px}
.dgf-design .game-mode.is-selected .game-mode-number{background:var(--design-yellow);color:#2c351f}
.dgf-design .game-mode strong{font-size:18px;letter-spacing:-.02em;color:#2e3923}
.dgf-design .game-mode>span:not(.game-mode-number):not(.game-mode-check){font-size:13px;line-height:1.6;color:#626f51}
.dgf-design .game-mode-check{color:#6e5d15}
.dgf-design .game-start-panel{background:#fff;border:1px solid #d5dcc9;border-radius:9px;padding:27px;margin-top:22px}
.dgf-design .game-settings :is(label,select){font-size:13px;color:#3d4e2d}
.dgf-design .game-settings select{min-height:50px;border-radius:5px;border-color:#bfc9b1;background:#fbfcf8}
.dgf-design .game-resume{background:#fffae4;border-color:#d3c58e;border-radius:7px}
/* Active tasks: calm reading surface, no cropped illustrations, meaningful states. */
.dgf-design .game-task{background:#fff;border:1px solid #d8decd;border-radius:12px;box-shadow:0 12px 34px #19230c08;padding:36px}
.dgf-design .game-topline{border-bottom:1px solid #d9e0cc;padding-bottom:19px;gap:15px}
.dgf-design .game-task h1{font-size:clamp(25px,2.5vw,34px);line-height:1.3;letter-spacing:-.035em}
.dgf-design .game-progress{border-radius:7px;background:#e8ecde}
.dgf-design .game-progress>span{background:#ceaa2a;border-radius:7px}
.dgf-design .game-kind{background:#f7edbf;color:#6b5613;border-color:#e0d59e;border-radius:5px}
.dgf-design .game-media-open{background:#f0f0eb;border:1px solid #d7dccb;border-radius:7px}
.dgf-design .game-media-open img{object-fit:contain!important;max-height:480px;background:#f0f0eb}
.dgf-design .game-media-zoom-label{background:#202628f0;border:1px solid #616d54;border-radius:4px;color:#f4f6ef;font-size:12px}
.dgf-design .game-bookmark{background:#f3f5eb;border-color:#c5d0b7;border-radius:5px;font-size:12px;min-height:44px;color:#475737}
.dgf-design .game-bookmark[aria-pressed=true]{background:#fff2b3;border-color:#c8ab36;color:#655211}
.dgf-design .game-media figcaption p{line-height:1.8;color:#4e5e3a}
.dgf-design .response-option{background:#fbfcf7;border:1px solid #cdd7be;border-radius:7px;color:#303e22;padding:16px 18px;gap:14px;min-height:55px;box-shadow:none}
.dgf-design .response-option:hover{background:#f6f7ed;border-color:#929e7c;box-shadow:none}
.dgf-design .response-option:has(input:checked){background:#fff8da;border-color:#ab8e27;box-shadow:inset 3px 0 0 #b28b12}
.dgf-design .response-option input{width:19px;height:19px;margin-top:4px;accent-color:#776016;flex:none}
.dgf-design .response-option>span{font-size:16px;line-height:1.65;color:#334526}
.dgf-design .response-check{border-radius:6px;min-height:49px;background:var(--design-yellow);border:1px solid #f1cc37;color:#2c351e;font-weight:750;font-size:15px}
.dgf-design .game-confidence{background:#f4f6ed;border:1px solid #d5ddc7;border-radius:7px}
.dgf-design .game-confidence button{background:#fff;border-color:#becbab;color:#41552d;border-radius:5px;font-size:12px;min-height:44px}
.dgf-design .game-confidence button[aria-pressed=true]{background:#fff2bd;border-color:#b49d37;color:#604f11}
.dgf-design .game-feedback.is-correct{background:#f0f7ec;border:1px solid #a3c393;border-radius:9px;color:#324f22}
.dgf-design .game-feedback.is-review{background:#fff3ed;border:1px solid #d9b79d;border-radius:9px;color:#67422d}
.dgf-design .game-feedback :is(h2,h3){color:inherit!important}
.dgf-design .game-feedback p{font-size:16px;line-height:1.85}
.dgf-design .pair-row,.dgf-design .pair-option{border-radius:7px;border-color:#c8d3b8;background:#f9faf3;color:#364a26;min-height:77px}
.dgf-design .pair-option{background:#fff}
.dgf-design .pair-row[aria-pressed=true]{border-color:#b39726;background:#fff5c8;box-shadow:inset 0 0 0 1px #b39726}
.dgf-design .pair-row.is-filled:not([aria-pressed=true]){background:#f1f5e9;border-color:#aebb94}
.dgf-design .pair-option:hover:not(:disabled){background:#fff5ca;border-color:#bda245}
.dgf-design .pair-index,.dgf-design .pair-letter{border-radius:4px;background:#e9eddd;color:#52613c}
.dgf-design .game-navigation{gap:12px;border-top:1px solid #d4dec3;padding-top:24px}
.dgf-design .game-card-front{background:#f6f5e9;border:1px dashed #bfcba9;border-radius:9px;padding:32px}
.dgf-design .game-card-back{background:#fbfcf6;border-color:#d4ddc3;border-radius:8px}
.dgf-design .game-finish{border-color:#d0dbbf;border-radius:10px;background:#f8fbf2;color:#364b23}
.dgf-design .game-progress-panel,.dgf-design .game-paused{border:1px solid #d1dcc1;border-radius:8px;background:#fff}
.dgf-design .game-topic{border-radius:7px;background:#f8fbf3;border-color:#d4dec6}
.dgf-design .game-achievements span{border-radius:6px}
.dgf-design .game-image-dialog{border-color:#768568;border-radius:10px}
.dgf-design .game-image-dialog::backdrop{background:#121712e6}
.dgf-design .game-image-dialog header{background:#e9eddf;border-bottom-color:#ccd7bc}
.dgf-design .game-image-dialog button{border-radius:5px;border-color:#9fae8d;min-height:44px;background:#fff;color:#304422}
/* Footer is deliberately secondary to the learning UI. */
.dgf-design .dgf-save-bar{border:0;padding:32px 0;gap:20px;align-items:center}
.dgf-design .dgf-save-bar>div:nth-child(2){flex:1;min-width:0}
.dgf-design .dgf-save-bar strong{font-size:16px;color:#2e3826}
.dgf-design .dgf-save-bar p{font-size:12px;color:#637157;line-height:1.7}
.design-save-icon{display:grid;place-items:center;border:1px solid #d4ddc7;width:48px;height:48px;border-radius:50%;background:#eef2e6;color:#556845;flex:none}
.dgf-design .site-footer{background:#191c1f;color:#d1d7cd;padding:56px 0 0}
.design-footer-grid{display:grid;grid-template-columns:1.5fr .85fr .85fr 1.05fr;gap:40px}
.dgf-design .site-footer .site-brand{font-size:14px;line-height:1.3;gap:10px;margin-bottom:22px}
.dgf-design .site-footer .site-brand small{font-size:7px}
.dgf-design .site-footer .dgf-mark{width:39px;height:39px;font-size:18px}
.dgf-design .site-footer p{color:#aeb8a6;line-height:1.9;font-size:12px;margin:10px 0}
.dgf-design .site-footer nav{display:flex;flex-direction:column;gap:12px;align-items:start}
.dgf-design .site-footer nav>strong{font-size:9px;font-weight:750;letter-spacing:.12em;color:#dce2d4;margin:0 0 8px}
.dgf-design .site-footer a{font-size:12px;color:#b6c0ad;text-decoration:none}
.dgf-design .site-footer a:hover{color:var(--design-yellow)}
.design-footer-note{border:1px solid #3c4735;background:#242b25;border-radius:6px;padding:20px}
.design-footer-note>.dgf-icon{color:var(--design-yellow);width:23px;height:23px;margin-bottom:10px}
.design-footer-note>strong{display:block;font-size:14px;color:#e8eddf}
.dgf-design .dgf-version{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding:24px 0;border-top:1px solid #394332;color:#9fab91;font-size:10px;line-height:1.7}
.dgf-design .dgf-version>span:last-child{display:flex;gap:20px;flex-wrap:wrap}
.dgf-design .dgf-version a{font-size:10px;color:#a9b69a}
/* Responsive rules never crop an educational image. */
@media(min-width:1450px){.design-hero-grid{gap:85px}.design-hero{padding-block:76px 84px}}
@media(max-width:1150px){.dgf-design .site-nav{gap:19px}.dgf-design .site-nav a{font-size:12px}.dgf-design .site-brand{font-size:14px}.dgf-design .site-nav .design-nav-cta{padding:12px;gap:7px}.design-nav-cta>.dgf-icon:last-child{display:none}.design-hero-grid{gap:40px}.design-learning{gap:45px}.design-footer-grid{gap:25px;grid-template-columns:1.25fr .8fr .8fr}.design-footer-note{grid-column:1/-1;display:flex;gap:18px;align-items:center}.design-footer-note>.dgf-icon{margin:0}.design-footer-note>strong{white-space:nowrap}.design-footer-note p{margin:0!important}.design-metrics .shell>div{gap:10px;padding-inline:15px}.design-metrics strong{font-size:34px}}
@media(max-width:960px){.dgf-design .shell,.dgf-design .site-header__inner{width:calc(100% - 48px)}.dgf-design .site-header__inner{min-height:79px;flex-wrap:wrap;gap:0;position:relative}.dgf-design .site-brand{font-size:16px}.dgf-design .site-header .nav-toggle{display:flex!important;align-items:center;gap:10px;padding:9px 12px;margin-left:auto;min-height:42px;background:#252a2b;border:1px solid #656e61;border-radius:4px;color:#e1e9d6;font-size:12px;cursor:pointer}.design-menu-lines{width:16px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}.design-menu-lines::after{content:"";position:absolute;top:5px;left:0;right:0;border-top:1px solid currentColor}.dgf-design .site-header .site-nav{display:none;flex:0 0 100%;padding:15px 0 23px;gap:4px;border-top:1px solid #3b4534;width:100%;align-items:stretch;flex-direction:column}.dgf-design .nav-toggle-control:checked~.site-nav,.dgf-design .site-header.is-menu-open .site-nav{display:flex}.dgf-design .site-nav a{font-size:14px;padding:13px 8px;white-space:normal}.dgf-design .site-nav .design-nav-cta{padding:13px 16px;justify-content:center;margin:10px 0 0}.dgf-design .nav-toggle-control{display:block;pointer-events:auto}.design-topbar>.shell{font-size:10px;min-height:31px}.design-hero-grid{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.dgf-design #app .design-hero h1{font-size:44px}.design-hero-lead{font-size:14px;line-height:1.9}.design-hero .button{font-size:12px;padding:12px 15px;min-height:46px}.design-preview-bottom{padding:15px 18px}.dgf-design #app .design-preview-bottom h2{font-size:16px}.design-picture-tab{right:0;bottom:-24px;font-size:10px;padding:9px 12px}.design-kicker{font-size:8px}.design-route-grid,.design-lesson-grid{gap:19px}.design-route-body{padding-inline:20px}.dgf-design #app .design-route-body h3{font-size:21px}.dgf-design .design-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.design-learning{gap:35px}.design-metrics strong{font-size:29px}.design-metrics span{font-size:10px}.dgf-design .game-intro{gap:30px}.dgf-design .image-library-intro{gap:30px}.dgf-design .dgf-save-bar{flex-wrap:wrap}.dgf-design .dgf-save-bar .hero-actions{margin-left:auto}}
@media(max-width:740px){.dgf-design .shell,.dgf-design .site-header__inner{width:calc(100% - 36px)}.design-topbar span:last-child{display:none}.design-topbar>.shell{justify-content:center}.design-hero-grid{grid-template-columns:1fr;gap:35px}.dgf-design .design-hero{padding:38px 0 50px}.design-hero-copy{max-width:580px}.dgf-design #app .design-hero h1{font-size:47px;margin-bottom:19px;max-width:600px}.dgf-design #app .design-hero h1>span{font-size:.6em;max-width:380px;margin-top:13px}.design-hero-lead{font-size:15px;margin-bottom:25px;max-width:550px}.design-kicker{font-size:9px;letter-spacing:.06em;margin-bottom:18px}.design-hero .button{font-size:13px;padding:13px 17px;min-height:48px}.design-trust{margin-top:20px;font-size:11px;gap:15px}.design-hero-visual{max-width:500px;width:100%;margin:0 auto 10px}.design-hero-photo{aspect-ratio:16/10}.design-preview-top>span:last-child{display:none}.design-preview-top{font-size:8px;padding:12px 15px}.design-preview-bottom{padding:17px 18px 24px}.dgf-design #app .design-preview-bottom h2{font-size:18px;max-width:270px}.design-picture-tab{right:14px;bottom:-20px}.design-metrics>.shell{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:15px}.design-metrics .shell>div{padding:14px 12px;justify-content:flex-start!important;gap:13px;border:0}.design-metrics .shell>div:first-child{padding-left:12px}.design-metrics .shell>div:nth-child(odd){border-right:1px solid #d0d7c3}.design-metrics strong{font-size:32px;min-width:59px}.design-metrics span{font-size:11px}.dgf-design .section{padding-block:47px}.dgf-design .section-heading{display:block;margin-bottom:27px}.dgf-design .section-heading h2{font-size:31px;line-height:1.18}.dgf-design .section-heading>p{margin-top:16px;max-width:100%;font-size:14px}.dgf-design .section-heading>.design-arrow-link{margin-top:17px}.design-route-grid{grid-template-columns:1fr}.design-route-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}.design-route-image{height:100%;aspect-ratio:auto;min-height:180px}.design-route-image img{object-fit:contain}.design-route-body{padding:21px}.design-route-icon{margin:0;width:33px;height:33px;box-shadow:none}.design-route-icon svg{width:19px;height:19px}.dgf-design #app .design-route-body h3{margin-top:13px;font-size:20px}.design-route-body p{font-size:13px;line-height:1.65;margin-bottom:17px}.design-route-body .design-arrow-link{font-size:12px;gap:8px;padding-top:12px}.design-learning{grid-template-columns:1fr;gap:31px}.design-learning-photo{max-width:520px}.design-learning-photo img{max-height:300px;object-fit:contain}.design-cta{padding:35px 0}.design-cta>.shell{display:block}.design-cta .button{margin-top:23px}.design-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.design-lesson-card>div{padding:20px}.dgf-design #app .design-lesson-card h2{font-size:21px}.design-lesson-card p:not(.eyebrow){font-size:14px}.design-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.design-footer-grid>div:first-child{grid-column:1/-1}.design-footer-note{display:block;padding:22px}.design-footer-note>strong{margin:8px 0}.dgf-design .site-footer .site-brand{font-size:16px}.dgf-design .site-footer p{font-size:13px}.dgf-design .site-footer a{font-size:13px}.dgf-design .dgf-version{margin-top:28px;padding-block:22px}.dgf-design .page-hero,.dgf-design .module-hero{padding:34px 0}.dgf-design .game-shell,.dgf-design .image-library{padding-top:30px}.dgf-design .game-intro{grid-template-columns:1fr!important;gap:25px}.dgf-design .game-scorecard{max-width:100%;padding:20px 25px}.dgf-design .game-scorecard>strong{font-size:39px}.dgf-design .game-daily{padding:21px;gap:15px}.dgf-design .game-daily h2{font-size:21px}.dgf-design .game-modes{gap:13px}.dgf-design .game-mode{padding:19px;min-height:169px}.dgf-design .game-mode.is-selected{padding:18px}.dgf-design .game-mode strong{font-size:17px}.dgf-design .game-mode>span:not(.game-mode-number):not(.game-mode-check){font-size:12px}.dgf-design .game-start-panel{padding:21px}.dgf-design .game-task{padding:25px}.dgf-design .game-task h1{font-size:28px}.dgf-design .response-option{padding:14px;gap:12px}.dgf-design .response-option>span{font-size:15px}.dgf-design .game-media-open img{max-height:360px}.dgf-design .image-library-intro{grid-template-columns:1fr;gap:22px}.dgf-design .library-guide{padding:23px}.dgf-design .game-feedback p{font-size:15px}.dgf-design .dgf-save-bar .hero-actions{margin-left:0}.dgf-design .dgf-save-bar .button{font-size:12px;min-height:45px;padding:11px 14px}.dgf-design .dgf-article{font-size:16px;line-height:1.85;padding-top:30px}}
@media(max-width:480px){.dgf-design .site-header__inner{min-height:73px}.dgf-design .site-brand{font-size:14px;gap:9px;letter-spacing:.025em}.dgf-design .site-brand small{font-size:7px;letter-spacing:.15em}.dgf-design .dgf-mark{width:41px;height:41px;font-size:20px}.dgf-design .site-header .nav-toggle{gap:7px;padding:8px;font-size:11px;min-height:39px}.dgf-design #app .design-hero h1{font-size:41px}.dgf-design #app .design-hero h1>span{font-size:.62em}.design-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:100%}.design-hero .button{width:100%}.design-hero-photo{aspect-ratio:4/3}.design-trust{font-size:10px;gap:13px}.design-preview-top{font-size:8px}.design-picture-tab{font-size:9px}.design-preview-bottom{gap:10px;padding:17px 16px 25px}.dgf-design #app .design-preview-bottom h2{font-size:16px}.design-circle-link{width:39px;height:39px}.design-metrics strong{font-size:29px;min-width:54px}.design-metrics .shell>div{padding:12px 8px;gap:7px}.design-metrics .shell>div:first-child{padding-left:8px}.design-metrics span{font-size:10px}.design-route-card{display:flex}.design-route-image{height:auto;aspect-ratio:16/9;min-height:0}.design-route-body{padding:0 23px 24px}.design-route-icon{width:42px;height:42px;margin-top:-21px;box-shadow:0 0 0 5px #fff}.design-route-icon svg{width:23px;height:23px}.dgf-design #app .design-route-body h3{font-size:23px;margin:20px 0 10px}.design-route-body p{font-size:15px}.design-route-body .design-arrow-link{font-size:14px;padding-top:17px}.dgf-design .design-modules{grid-template-columns:1fr}.design-module-top{padding:23px 22px 0}.dgf-design .design-module .module-card-body{padding:19px 22px 23px!important}.design-module-links>a:not(.design-arrow-link){font-size:13px}.design-lesson-grid{grid-template-columns:1fr}.design-lesson-photo{aspect-ratio:16/9}.design-lesson-card>div{padding:23px}.dgf-design #app .design-lesson-card h2{font-size:24px}.dgf-design .game-intro h1,.dgf-design .image-library-intro h1{font-size:34px}.dgf-design .game-intro .eyebrow{font-size:9px}.dgf-design .game-lead{font-size:15px}.dgf-design .game-mode{padding:16px;min-height:183px}.dgf-design .game-mode.is-selected{padding:15px}.dgf-design .game-mode strong{font-size:17px;line-height:1.3}.dgf-design .game-mode>span:not(.game-mode-number):not(.game-mode-check){font-size:12px}.dgf-design .game-start-panel{padding:18px}.dgf-design .game-task{padding:21px 17px}.dgf-design .game-task h1{font-size:24px}.dgf-design .game-feedback p{font-size:15px}.dgf-design .pair-row,.dgf-design .pair-option{padding:12px 10px;font-size:13px}.dgf-design .game-media-zoom-label{font-size:10px}.dgf-design .game-media-open img{max-height:315px}.dgf-design .library-filters{padding:19px}.dgf-design .library-card-body{padding:22px}.dgf-design .library-guide p{font-size:14px}.dgf-design .question-copy{font-size:17px}.dgf-design .design-cta h2{font-size:28px}.dgf-design .design-cta .button{width:100%}.dgf-design .dgf-save-bar{gap:12px}.design-save-icon{width:39px;height:39px}.dgf-design .dgf-save-bar .hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.dgf-design .dgf-version>span:last-child{gap:13px}.design-footer-grid{gap:27px}.design-footer-note{grid-column:1/-1}.dgf-design .site-footer{padding-top:38px}}
@media(prefers-reduced-motion:reduce){.dgf-design *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.design-topbar,.dgf-design .site-header,.dgf-design .site-footer,.dgf-design .dgf-save-bar,.design-cta,.design-trust{display:none!important}.dgf-design{background:#fff!important;color:#000!important}.dgf-design .shell{width:100%;max-width:none}.dgf-design :is(.page-hero,.module-hero,.design-hero,.design-module-section,.game-task,.library-card){background:#fff!important;color:#000!important;box-shadow:none!important}.dgf-design #app h1,.dgf-design #app h1>span{color:#000!important}.dgf-design .game-media-open img{max-height:300px}.design-hero-grid{display:block}.design-hero-visual{display:none}.dgf-design .design-modules{display:block}.design-module{break-inside:avoid;margin-bottom:20px}}
.dgf-design .design-media-note{color:#6a7163;font-size:11px;line-height:1.75;margin:20px 0 0}
/* Fit both pagination actions at small widths without hiding overflow. */
@media(max-width:600px){.dgf-design .pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px}.dgf-design .pagination>.button{width:100%;min-width:0;padding:11px 8px;font-size:12px;gap:5px}.dgf-design .pagination>.button .ui-icon{width:16px;height:16px;flex:none}.dgf-design .pagination>span{font-size:12px;white-space:nowrap}}
.dgf-design .game-scorecard progress::-webkit-progress-bar{background:#495247}.dgf-design .game-scorecard progress{background:#495247}
