#d2-app,.d2-ov,.d2-toast{--ol:#5A5A40;--ol2:#4A4A30;--bg:#f5f5f0;--ink:#1a1a1a}
#d2-app{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5;border-radius:28px;padding:0 0 30px;max-width:1180px;margin:0 auto 30px;position:relative;text-align:left;overflow:hidden}
#d2-app *{box-sizing:border-box}
#d2-app button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;font-size:inherit;line-height:1.3;margin:0;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0}
#d2-app a{color:inherit;text-decoration:none}
#d2-app span,#d2-app strong,#d2-app b,#d2-app em,#d2-app small,#d2-app i,#d2-app label,#d2-app td,#d2-app th,#d2-app li,.d2-ov span,.d2-ov strong,.d2-ov b,.d2-ov small{color:inherit}
#d2-app h1,#d2-app h2,#d2-app h3{font-family:"Playfair Display",Georgia,"Times New Roman",serif;color:var(--ink);margin:0;line-height:1.15;text-transform:none;letter-spacing:-.01em}
#d2-app p{margin:0}
#d2-app input,#d2-app textarea{font-family:inherit;color:var(--ink)}
#d2-app .d2-boot,.d2-ov .d2-boot{text-align:center;padding:80px 0;color:var(--st5)}
#d2-app .d2-spin,.d2-ov .d2-spin{width:38px;height:38px;border:4px solid #e7e5e4;border-top-color:#5A5A40;border-radius:50%;margin:0 auto 12px;animation:d2spin .8s linear infinite}
@keyframes d2spin{to{transform:rotate(360deg)}}
#d2-app .d2-hd,.d2-ov .d2-hd{background:#fff;border-bottom:1px solid rgba(90,90,64,.1);height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:40}
#d2-app .d2-logo,.d2-ov .d2-logo{display:flex;align-items:center;gap:9px;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:20px}
#d2-app .d2-logo i,.d2-ov .d2-logo i{width:38px;height:38px;background:var(--ol);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:20px}
#d2-app .d2-nav,.d2-ov .d2-nav{display:flex;gap:22px;font-size:14px;font-weight:500;color:#6b7280}
#d2-app .d2-nav a.on,.d2-ov .d2-nav a.on{color:var(--ol);text-decoration:underline;text-underline-offset:8px}
#d2-app .d2-nav a:hover,.d2-ov .d2-nav a:hover{color:var(--ol)}
#d2-app .d2-hr,.d2-ov .d2-hr{display:flex;align-items:center;gap:10px}
#d2-app .d2-pill,.d2-ov .d2-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700}
#d2-app .d2-pill.am,.d2-ov .d2-pill.am{background:#fffbeb;color:#78350f;border:1px solid #fde68a}
#d2-app .d2-pill.ol,.d2-ov .d2-pill.ol{background:var(--ol);color:#fff;padding:8px 16px;font-size:13px;font-weight:600}
#d2-app .d2-me,.d2-ov .d2-me{text-align:right;font-size:13px;font-weight:600;line-height:1.1}#d2-app .d2-me small,.d2-ov .d2-me small{display:block;color:#9ca3af;font-weight:400;font-size:11px}
#d2-app .d2-main,.d2-ov .d2-main{padding:28px 18px 10px}
#d2-app .d2-sp,.d2-ov .d2-sp{display:flex;flex-direction:column;gap:44px}
#d2-app .d2-hero,.d2-ov .d2-hero{text-align:center}
#d2-app .d2-hero h1,.d2-ov .d2-hero h1{font-size:44px;font-weight:700;margin-bottom:12px}
#d2-app .d2-hero p,.d2-ov .d2-hero p{color:#6b7280;max-width:640px;margin:0 auto}
#d2-app .d2-vis,.d2-ov .d2-vis{background:linear-gradient(90deg,rgba(245,158,11,.1),rgba(90,90,64,.1),rgba(245,158,11,.1));border:1px solid rgba(90,90,64,.2);border-radius:24px;padding:20px 24px;max-width:780px;margin:22px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}
#d2-app .d2-vis b.t,.d2-ov .d2-vis b.t{display:inline-block;background:var(--ol);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;padding:2px 10px;border-radius:999px;letter-spacing:.06em;margin-right:6px}
#d2-app .d2-vis p,.d2-ov .d2-vis p{font-size:12px;color:#4b5563;margin-top:4px}
#d2-app .d2-btn,.d2-ov .d2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:14px;padding:11px 20px;transition:all .15s;font-size:14px;white-space:nowrap}
#d2-app .d2-btn:active,.d2-ov .d2-btn:active{transform:scale(.96)}
#d2-app .d2-btn.ol,.d2-ov .d2-btn.ol{background:var(--ol);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.08)}#d2-app .d2-btn.ol:hover,.d2-ov .d2-btn.ol:hover{background:var(--ol2)}
#d2-app .d2-btn.olo,.d2-ov .d2-btn.olo{background:#fff;color:var(--ol);border:2px solid var(--ol)}#d2-app .d2-btn.olo:hover,.d2-ov .d2-btn.olo:hover{background:var(--ol);color:#fff}
#d2-app .d2-btn.am,.d2-ov .d2-btn.am{background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;font-weight:900;box-shadow:0 4px 12px rgba(217,119,6,.25)}
#d2-app .d2-btn.wh,.d2-ov .d2-btn.wh{background:#fff;color:#57534e;border:1px solid #d6d3d1;font-size:12px;padding:9px 16px}
#d2-app .d2-btn.gh,.d2-ov .d2-btn.gh{background:#f5f5f4;color:#44403c}
#d2-app .d2-btn.re,.d2-ov .d2-btn.re{background:#dc2626;color:#fff}
#d2-app .d2-btn.sm,.d2-ov .d2-btn.sm{padding:6px 12px;font-size:12px;border-radius:10px}
#d2-app .d2-btn[disabled],.d2-ov .d2-btn[disabled]{opacity:.45;cursor:not-allowed}
#d2-app .d2-daily,.d2-ov .d2-daily{max-width:720px;margin:0 auto;background:linear-gradient(135deg,#5A5A40,#3A3A20);border-radius:40px;padding:32px;color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);position:relative;overflow:hidden;display:flex;align-items:center;gap:28px}
#d2-app .d2-daily .bg,.d2-ov .d2-daily .bg{position:absolute;right:24px;top:10px;font-size:120px;opacity:.1}
#d2-app .d2-daily .ic,.d2-ov .d2-daily .ic{width:80px;height:80px;background:rgba(255,255,255,.1);border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:40px;flex:none}
#d2-app .d2-daily h2,.d2-ov .d2-daily h2{color:#fff;font-size:30px;margin:6px 0}
#d2-app .d2-daily .tag,.d2-ov .d2-daily .tag{background:#facc15;color:#5A5A40;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border-radius:6px}
#d2-app .d2-daily .dt,.d2-ov .d2-daily .dt{color:rgba(255,255,255,.6);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-left:8px}
#d2-app .d2-daily .sub,.d2-ov .d2-daily .sub{color:rgba(255,255,255,.7);font-size:14px}
#d2-app .d2-daily .fl,.d2-ov .d2-daily .fl{display:inline-flex;align-items:center;gap:6px;background:rgba(245,158,11,.2);border:1px solid rgba(251,191,36,.3);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;color:#fde68a;margin-top:8px}
#d2-app .d2-daily .fm,.d2-ov .d2-daily .fm{font-size:11px;color:rgba(255,255,255,.8);margin-top:6px}
#d2-app .d2-daily .go,.d2-ov .d2-daily .go{background:#fff;color:var(--ol);padding:16px 30px;border-radius:16px;font-weight:700;font-size:15px;box-shadow:0 20px 25px -5px rgba(0,0,0,.2);flex:none}
#d2-app .d2-daily .go:hover,.d2-ov .d2-daily .go:hover{background:#facc15;transform:scale(1.05)}
#d2-app .d2-daily .go[disabled],.d2-ov .d2-daily .go[disabled]{background:rgba(255,255,255,.1);color:rgba(255,255,255,.45);transform:none}
#d2-app .d2-daily .rk,.d2-ov .d2-daily .rk{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.1);padding:5px 12px;border-radius:12px;font-size:12px;font-weight:700;margin-left:8px}
#d2-app .d2-sec,.d2-ov .d2-sec{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
#d2-app .d2-sec h2,.d2-ov .d2-sec h2{font-size:24px;font-weight:700}
#d2-app .d2-sec span,.d2-ov .d2-sec span{font-size:12px;font-weight:700;color:#9ca3af}
#d2-app .d2-g3,.d2-ov .d2-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
#d2-app .d2-sp-card,.d2-ov .d2-sp-card{border-radius:24px;padding:24px;color:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:250px}
#d2-app .d2-sp-card .bg,.d2-ov .d2-sp-card .bg{position:absolute;right:16px;top:8px;font-size:84px;opacity:.15;transition:transform .3s}
#d2-app .d2-sp-card:hover .bg,.d2-ov .d2-sp-card:hover .bg{transform:scale(1.1)}
#d2-app .d2-sp-card h3,.d2-ov .d2-sp-card h3{color:#fff;font-size:20px;font-weight:700;margin:10px 0 8px}
#d2-app .d2-sp-card p,.d2-ov .d2-sp-card p{font-size:12px;color:rgba(255,255,255,.85)}
#d2-app .d2-tg,.d2-ov .d2-tg{display:inline-block;background:rgba(255,255,255,.2);font-size:10px;font-weight:900;text-transform:uppercase;padding:2px 10px;border-radius:999px;letter-spacing:.06em;margin-right:6px}
#d2-app .d2-tg.nw,.d2-ov .d2-tg.nw{background:rgba(255,255,255,.85);color:#1c1917}
#d2-app .d2-sp-card .lk,.d2-ov .d2-sp-card .lk{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:9px 16px;border-radius:12px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:16px;align-self:flex-start;box-shadow:0 4px 6px rgba(0,0,0,.1)}
#d2-app .g-am,.d2-ov .g-am{background:linear-gradient(135deg,#f59e0b,#d97706)}#d2-app .g-am .lk,.d2-ov .g-am .lk{color:#78350f}
#d2-app .g-ro,.d2-ov .g-ro{background:linear-gradient(135deg,#e11d48,#b91c1c)}#d2-app .g-ro .lk,.d2-ov .g-ro .lk{color:#881337}
#d2-app .g-te,.d2-ov .g-te{background:linear-gradient(135deg,#0d9488,#047857)}#d2-app .g-te .lk,.d2-ov .g-te .lk{color:#134e4a}
#d2-app .g-br,.d2-ov .g-br{background:linear-gradient(135deg,#b45309,#78350f)}#d2-app .g-br .lk,.d2-ov .g-br .lk{color:#451a03}
#d2-app .g-pk,.d2-ov .g-pk{background:linear-gradient(135deg,#e11d48,#be185d)}#d2-app .g-pk .lk,.d2-ov .g-pk .lk{color:#4c0519}
#d2-app .g-or,.d2-ov .g-or{background:linear-gradient(135deg,#d97706,#c2410c)}#d2-app .g-or .lk,.d2-ov .g-or .lk{color:#451a03}
#d2-app .d2-diffs,.d2-ov .d2-diffs{display:flex;justify-content:center;gap:14px}
#d2-app .d2-diffs button,.d2-ov .d2-diffs button{padding:8px 24px;border-radius:999px;font-size:14px;font-weight:700;background:#fff;color:#9ca3af;border:1px solid #e5e7eb;transition:all .15s}
#d2-app .d2-diffs button.on,.d2-ov .d2-diffs button.on{background:var(--ol);color:#fff;border-color:var(--ol);box-shadow:0 10px 15px -3px rgba(0,0,0,.15);transform:scale(1.05)}
#d2-app .d2-mode,.d2-ov .d2-mode{background:#fff;border-radius:24px;padding:24px;border:1px solid rgba(90,90,64,.1);box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .2s}
#d2-app .d2-mode:hover,.d2-ov .d2-mode:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}
#d2-app .d2-mode .bg,.d2-ov .d2-mode .bg{position:absolute;right:14px;top:10px;font-size:70px;opacity:.06}
#d2-app .d2-mode .ic,.d2-ov .d2-mode .ic{width:48px;height:48px;background:var(--bg);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;transition:background .2s}
#d2-app .d2-mode:hover .ic,.d2-ov .d2-mode:hover .ic{background:var(--ol)}
#d2-app .d2-mode h3,.d2-ov .d2-mode h3{font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:700}
#d2-app .d2-mode .row,.d2-ov .d2-mode .row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
#d2-app .d2-mode p.ds,.d2-ov .d2-mode p.ds{color:#6b7280;font-size:14px;margin-bottom:16px}
#d2-app .d2-dt,.d2-ov .d2-dt{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:6px;flex:none}
#d2-app .d2-dt.easy,.d2-ov .d2-dt.easy{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}#d2-app .d2-dt.medium,.d2-ov .d2-dt.medium{background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}#d2-app .d2-dt.hard,.d2-ov .d2-dt.hard{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
#d2-app .d2-mode .pl,.d2-ov .d2-mode .pl{width:100%;padding:12px;border-radius:12px;font-weight:700;background:var(--ol);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
#d2-app .d2-mode .pl:hover,.d2-ov .d2-mode .pl:hover{background:var(--ol2)}
#d2-app .d2-mode .pl[disabled],.d2-ov .d2-mode .pl[disabled]{background:#f3f4f6;color:#9ca3af}
#d2-app .d2-top3,.d2-ov .d2-top3{border-radius:16px;padding:10px;background:#fbfbf9;border:1px solid rgba(231,229,228,.7);margin-bottom:16px}
#d2-app .d2-top3.dk,.d2-ov .d2-top3.dk{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.15);margin:10px 0 0}
#d2-app .d2-top3 .h,.d2-ov .d2-top3 .h{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#78716c;display:flex;gap:6px;align-items:center}
#d2-app .d2-top3.dk .h,.d2-ov .d2-top3.dk .h{color:rgba(255,255,255,.8)}
#d2-app .d2-top3 .r,.d2-ov .d2-top3 .r{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:12px;border:1px solid;font-size:11px;margin-top:5px}
#d2-app .d2-top3 .r b,.d2-ov .d2-top3 .r b{font-family:ui-monospace,monospace;font-size:10px}
#d2-app .d2-top3 .c1,.d2-ov .d2-top3 .c1{background:rgba(245,158,11,.1);border-color:rgba(252,211,77,.6)}#d2-app .d2-top3 .c2,.d2-ov .d2-top3 .c2{background:rgba(226,232,240,.5);border-color:rgba(203,213,225,.7)}#d2-app .d2-top3 .c3,.d2-ov .d2-top3 .c3{background:rgba(249,115,22,.1);border-color:rgba(253,186,116,.5)}
#d2-app .d2-top3.dk .r,.d2-ov .d2-top3.dk .r{background:rgba(0,0,0,.2);border-color:rgba(255,255,255,.2);color:#fff}
.d2-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.d2-md{background:#fff;border-radius:40px;padding:30px;max-width:580px;width:100%;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);position:relative;animation:d2pop .2s ease-out;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5;margin:auto}
.d2-md *{box-sizing:border-box}
@keyframes d2pop{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:none}}
.d2-md .x{position:absolute;right:20px;top:20px;color:#9ca3af;font-size:22px;padding:6px;border-radius:10px;background:none;border:0;cursor:pointer}
.d2-md h2,.d2-md h3{font-family:"Playfair Display",Georgia,serif;margin:0;color:#1a1a1a;text-transform:none;letter-spacing:-.01em;line-height:1.2}
.d2-md p{margin:0}.d2-md strong{color:inherit}
.d2-md button{font-family:inherit;cursor:pointer;border:0}
#d2-app .d2-ch,.d2-ov .d2-ch{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
#d2-app .d2-ch button,.d2-ov .d2-ch button{text-align:left;padding:20px;border-radius:24px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:all .15s}
#d2-app .d2-ch .rk,.d2-ov .d2-ch .rk{border:2px solid rgba(245,158,11,.4);background:linear-gradient(180deg,rgba(245,158,11,.1),rgba(245,158,11,.05))}#d2-app .d2-ch .rk:hover,.d2-ov .d2-ch .rk:hover{border-color:#f59e0b;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
#d2-app .d2-ch .cs,.d2-ov .d2-ch .cs{border:2px solid #e5e7eb;background:rgba(249,250,251,.7)}#d2-app .d2-ch .cs:hover,.d2-ov .d2-ch .cs:hover{border-color:var(--ol)}
#d2-app .d2-ch h3,.d2-ov .d2-ch h3{font-size:18px}
#d2-app .d2-ch p,.d2-ov .d2-ch p{font-size:12px;color:#4b5563}
#d2-app .d2-ch .ft,.d2-ov .d2-ch .ft{font-size:12px;font-weight:900;display:flex;justify-content:space-between}
#d2-app .d2-bdg,.d2-ov .d2-bdg{font-size:10px;font-weight:900;text-transform:uppercase;padding:2px 10px;border-radius:999px}
#d2-app .d2-wrap,.d2-ov .d2-wrap{max-width:900px;margin:0 auto}
#d2-app .d2-wrap,.d2-ov .d2-wrap{display:flex;flex-direction:column;gap:18px}
#d2-app .d2-rb,.d2-ov .d2-rb{background:rgba(255,255,255,.95);border-radius:24px;padding:14px 16px;border:1px solid rgba(245,158,11,.25);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:0 1px 2px rgba(0,0,0,.05)}
#d2-app .d2-rb .t,.d2-ov .d2-rb .t{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#78350f}
#d2-app .d2-rb .n,.d2-ov .d2-rb .n{background:#fef3c7;color:#78350f;font-size:10px;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid #fde68a;margin-left:6px}
#d2-app .d2-rb small,.d2-ov .d2-rb small{display:block;font-size:11px;color:#78716c}
#d2-app .d2-dots,.d2-ov .d2-dots{display:flex;gap:5px}
#d2-app .d2-dots span,.d2-ov .d2-dots span{width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;border:1px solid #e7e5e4;background:#f5f5f4;color:#a8a29e}
#d2-app .d2-dots .w,.d2-ov .d2-dots .w{background:#10b981;border-color:#059669;color:#fff}#d2-app .d2-dots .l,.d2-ov .d2-dots .l{background:#f43f5e;border-color:#e11d48;color:#fff}#d2-app .d2-dots .c,.d2-ov .d2-dots .c{background:#f59e0b;border-color:#d97706;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px #fcd34d;animation:d2pulse 1.4s infinite}
@keyframes d2pulse{50%{opacity:.6}}
#d2-app .d2-ss,.d2-ov .d2-ss{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#fffbeb,#fef3c7);padding:6px 14px;border-radius:16px;border:1px solid #fcd34d}
#d2-app .d2-ss small,.d2-ov .d2-ss small{font-size:9px;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.06em;display:block}
#d2-app .d2-ss b,.d2-ov .d2-ss b{font-family:ui-monospace,monospace;font-weight:900;color:#451a03;font-size:16px}
#d2-app .d2-cb,.d2-ov .d2-cb{background:rgba(250,250,249,.95);border-radius:16px;padding:10px 16px;border:1px solid #e7e5e4;display:flex;align-items:center;justify-content:space-between;gap:10px}
#d2-app .d2-cb b,.d2-ov .d2-cb b{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#292524}
#d2-app .d2-cb span.s,.d2-ov .d2-cb span.s{font-size:12px;color:#78716c;margin-left:8px}
#d2-app .d2-cb i,.d2-ov .d2-cb i{font-style:normal;font-size:10px;font-weight:700;background:#fff;color:#57534e;border:1px solid #e7e5e4;padding:2px 10px;border-radius:999px}
#d2-app .d2-gh,.d2-ov .d2-gh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#d2-app .d2-back,.d2-ov .d2-back{display:flex;align-items:center;gap:8px;color:#6b7280;font-weight:500}#d2-app .d2-back:hover,.d2-ov .d2-back:hover{color:var(--ol)}
#d2-app .d2-ghr,.d2-ov .d2-ghr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#d2-app .d2-rep,.d2-ov .d2-rep{color:#6b7280;background:#fff;border:1px solid #e5e7eb!important;padding:8px 12px;border-radius:16px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}
#d2-app .d2-rep:hover,.d2-ov .d2-rep:hover{color:#92400e;background:#fffbeb}
#d2-app .d2-max,.d2-ov .d2-max{display:flex;align-items:center;gap:6px;background:#fffbeb;padding:8px 14px;border-radius:16px;border:1px solid #fde68a;font-family:ui-monospace,monospace;font-weight:700;color:#78350f}
#d2-app .d2-mal,.d2-ov .d2-mal{padding:6px 10px;border-radius:16px;font-weight:700;font-size:12px}
#d2-app .d2-mal.e,.d2-ov .d2-mal.e{background:#fff1f2;color:#e11d48;border:1px solid #ffe4e6}#d2-app .d2-mal.h,.d2-ov .d2-mal.h{background:#fffbeb;color:#b45309;border:1px solid #fef3c7}
#d2-app .d2-tm,.d2-ov .d2-tm{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 16px;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid rgba(90,90,64,.1);font-family:ui-monospace,monospace;font-weight:700}
#d2-app .d2-arena,.d2-ov .d2-arena{background:#fff;border-radius:40px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);border:1px solid rgba(90,90,64,.1);padding:26px;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
#d2-app .d2-arena.end,.d2-ov .d2-arena.end{min-height:0}
#d2-app .d2-cv,.d2-ov .d2-cv{max-width:100%;max-height:420px;border-radius:16px;box-shadow:inset 0 2px 4px rgba(0,0,0,.06);display:block;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
#d2-app .d2-blurbox,.d2-ov .d2-blurbox{width:100%;max-width:520px;aspect-ratio:1/1;max-height:420px;border-radius:16px;background:rgba(245,245,244,.6);padding:12px;display:flex;align-items:center;justify-content:center}
#d2-app .d2-blurbox canvas,.d2-ov .d2-blurbox canvas{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:12px;box-shadow:none}
#d2-app .d2-zoombox,.d2-ov .d2-zoombox{border-radius:16px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;max-height:420px}
#d2-app .d2-det,.d2-ov .d2-det{width:100%;max-width:580px;display:flex;flex-direction:column;align-items:center}
#d2-app .d2-det .bar,.d2-ov .d2-det .bar{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:12px;padding:10px 16px;background:rgba(245,245,244,.9);border-radius:16px;border:1px solid #e7e5e4;font-size:12px;font-weight:700;color:#44403c}
#d2-app .d2-det .bar b,.d2-ov .d2-det .bar b{color:var(--ol);font-weight:900;font-size:14px}
#d2-app .d2-det .bar i,.d2-ov .d2-det .bar i{font-style:normal;color:#78716c;font-size:11px;background:#fff;padding:2px 10px;border-radius:6px;border:1px solid #e7e5e4}
#d2-app .d2-det .fr,.d2-ov .d2-det .fr{border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:2px solid #d6d3d1;background:#1c1917}
#d2-app .d2-exp,.d2-ov .d2-exp{width:100%;max-width:520px}
#d2-app .d2-exp .tg,.d2-ov .d2-exp .tg{text-align:center;margin-bottom:8px}
#d2-app .d2-exp .tg span,.d2-ov .d2-exp .tg span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ol);background:rgba(90,90,64,.1);padding:4px 12px;border-radius:999px}
#d2-app .d2-cl,.d2-ov .d2-cl{padding:14px;border-radius:16px;border:2px solid #f3f4f6;background:rgba(249,250,251,.7);color:#9ca3af;margin-top:10px;transition:all .2s}
#d2-app .d2-cl.ty,.d2-ov .d2-cl.ty{background:rgba(255,251,235,.6);border-color:#fbbf24}
#d2-app .d2-cl.ok,.d2-ov .d2-cl.ok{background:#fff;border-color:var(--ol)}
#d2-app .d2-cl .lb,.d2-ov .d2-cl .lb{display:flex;justify-content:space-between;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b7280;margin-bottom:4px}
#d2-app .d2-cl .lb em,.d2-ov .d2-cl .lb em{font-style:normal;font-size:9px;padding:0 6px;border-radius:4px}
#d2-app .d2-cl.ty .lb em,.d2-ov .d2-cl.ty .lb em{background:#fef3c7;color:#b45309}#d2-app .d2-cl.ok .lb em,.d2-ov .d2-cl.ok .lb em{background:#d1fae5;color:#047857}
#d2-app .d2-cl .v,.d2-ov .d2-cl .v{font-family:ui-monospace,monospace;font-weight:700;font-size:16px;color:var(--ink);min-height:24px}
#d2-app .d2-cl .v .cur,.d2-ov .d2-cl .v .cur{display:inline-block;width:8px;height:16px;background:var(--ol);margin-left:2px;vertical-align:middle;animation:d2pulse 1s infinite}
#d2-app .d2-cl .dots,.d2-ov .d2-cl .dots{color:#d1d5db;letter-spacing:.2em;font-size:13px;font-family:inherit}
#d2-app .d2-thumb,.d2-ov .d2-thumb{width:176px;aspect-ratio:1/1;border-radius:24px;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);border:4px solid #fff;margin:0 auto}
#d2-app .d2-thumb img,.d2-ov .d2-thumb img,#d2-app .d2-thumb canvas,.d2-ov .d2-thumb canvas{width:100%;height:100%;object-fit:cover;display:block}
#d2-app .d2-q,.d2-ov .d2-q{color:#6b7280;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:12px;text-align:center}
#d2-app .d2-opt2,.d2-ov .d2-opt2{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:420px;margin:0 auto}
#d2-app .d2-ob,.d2-ov .d2-ob{background:#fff;border:2px solid var(--ol)!important;color:var(--ol);padding:12px 24px;border-radius:16px;font-weight:700;font-size:18px;box-shadow:0 4px 6px rgba(0,0,0,.08);transition:all .15s}
#d2-app .d2-ob:hover,.d2-ov .d2-ob:hover{background:var(--ol);color:#fff}
#d2-app .d2-ob.v,.d2-ov .d2-ob.v{border-color:#22c55e!important;color:#16a34a}#d2-app .d2-ob.v:hover,.d2-ov .d2-ob.v:hover{background:#22c55e;color:#fff}
#d2-app .d2-ob.f,.d2-ov .d2-ob.f{border-color:#ef4444!important;color:#dc2626}#d2-app .d2-ob.f:hover,.d2-ov .d2-ob.f:hover{background:#ef4444;color:#fff}
#d2-app .d2-col,.d2-ov .d2-col{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}
#d2-app .d2-fact,.d2-ov .d2-fact{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:24px;text-align:center;line-height:1.3;padding:0 16px;max-width:560px}
#d2-app .d2-ref,.d2-ov .d2-ref{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:48px;color:var(--ol);text-align:center}
#d2-app .d2-ana,.d2-ov .d2-ana{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;max-width:760px}
#d2-app .d2-ana .w,.d2-ov .d2-ana .w{display:flex;gap:6px}
#d2-app .d2-ana .c,.d2-ov .d2-ana .c{width:46px;height:54px;background:var(--bg);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;font-family:ui-monospace,monospace;font-weight:900;border:1px solid rgba(90,90,64,.2);color:var(--ol);animation:d2in .3s both}
@keyframes d2in{from{transform:scale(0)}to{transform:scale(1)}}
#d2-app .d2-int h2,.d2-ov .d2-int h2{font-size:24px;color:var(--ol);text-align:center}
#d2-app .d2-int .sub,.d2-ov .d2-int .sub{font-size:12px;color:#6b7280;text-align:center}
#d2-app .d2-clue,.d2-ov .d2-clue{background:#fffbeb;border:1px solid #fde68a;color:#78350f;padding:8px 16px;border-radius:16px;font-size:13px;font-weight:600;text-align:center;max-width:520px}
#d2-app .d2-ig,.d2-ov .d2-ig{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:520px}
#d2-app .d2-ig.n5,.d2-ov .d2-ig.n5{grid-template-columns:1fr 1fr 1fr}
#d2-app .d2-ig.n3,.d2-ov .d2-ig.n3{grid-template-columns:1fr 1fr 1fr}
#d2-app .d2-ig button,.d2-ov .d2-ig button{aspect-ratio:1/1;background:var(--bg);border-radius:16px;overflow:hidden;border:2px solid transparent!important;box-shadow:0 4px 6px rgba(0,0,0,.08);padding:0;position:relative}
#d2-app .d2-ig button:hover,.d2-ov .d2-ig button:hover{border-color:var(--ol)!important}
#d2-app .d2-ig img,.d2-ov .d2-ig img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
#d2-app .d2-desc,.d2-ov .d2-desc{font-family:"Playfair Display",Georgia,serif;font-size:23px;line-height:1.6;color:#374151;font-style:italic;text-align:center;max-width:680px}
#d2-app .d2-punch,.d2-ov .d2-punch{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:700;text-align:center;max-width:680px}
#d2-app .d2-emo,.d2-ov .d2-emo{width:100%;max-width:560px;border-radius:24px;padding:28px;border:2px solid #fcd34d;background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(249,115,22,.1),rgba(234,179,8,.15));text-align:center}
#d2-app .d2-emo .e,.d2-ov .d2-emo .e{font-size:58px;letter-spacing:.25em;padding:14px 0;background:rgba(255,255,255,.9);border-radius:16px;margin:12px 0}
#d2-app .d2-in,.d2-ov .d2-in{max-width:680px;margin:0 auto;width:100%}
#d2-app .d2-in,.d2-ov .d2-in{display:flex;flex-direction:column;gap:14px}
#d2-app .d2-form,.d2-ov .d2-form{display:flex;gap:12px}
#d2-app .d2-form input,.d2-ov .d2-form input{flex:1;min-width:0;background:#fff;padding:14px 22px;border-radius:16px;border:2px solid transparent;outline:none;box-shadow:0 4px 6px rgba(0,0,0,.08);font-size:18px;font-weight:500;transition:border-color .15s;margin:0;height:auto}
#d2-app .d2-form input:focus,.d2-ov .d2-form input:focus{border-color:var(--ol)}
#d2-app .d2-form button,.d2-ov .d2-form button{background:var(--ol);color:#fff;padding:14px 30px;border-radius:16px;font-weight:700;font-size:18px;box-shadow:0 4px 6px rgba(0,0,0,.08)}
#d2-app .d2-shake,.d2-ov .d2-shake{animation:d2shake .5s cubic-bezier(.36,.07,.19,.97) both;border-color:#ef4444!important}
@keyframes d2shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}
#d2-app .d2-act,.d2-ov .d2-act{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
#d2-app .d2-hb,.d2-ov .d2-hb{padding:10px 16px;border-radius:16px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;border:1px solid #fcd34d!important;background:#fffbeb;color:#78350f}
#d2-app .d2-hb:hover,.d2-ov .d2-hb:hover{background:#fef3c7}
#d2-app .d2-hb[disabled],.d2-ov .d2-hb[disabled]{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb!important}
#d2-app .d2-hb i,.d2-ov .d2-hb i{font-style:normal;background:rgba(253,230,138,.6);padding:1px 6px;border-radius:999px;font-size:10px;font-weight:900}
#d2-app .d2-gu,.d2-ov .d2-gu{color:#9ca3af;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;margin-left:auto}
#d2-app .d2-gu:hover,.d2-ov .d2-gu:hover{color:#ef4444}
#d2-app .d2-hints,.d2-ov .d2-hints{background:rgba(255,251,235,.9);border:1px solid rgba(253,230,138,.8);border-radius:16px;padding:14px}
#d2-app .d2-hints .t,.d2-ov .d2-hints .t{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#78350f;text-transform:uppercase;letter-spacing:.05em}
#d2-app .d2-hints .t span,.d2-ov .d2-hints .t span{text-transform:none;letter-spacing:0;font-size:11px;color:#b45309}
#d2-app .d2-hints .g,.d2-ov .d2-hints .g{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
#d2-app .d2-hints .h,.d2-ov .d2-hints .h{background:#fff;padding:10px;border-radius:12px;border:1px solid rgba(253,230,138,.6);display:flex;gap:10px;align-items:flex-start;animation:d2pop .2s}
#d2-app .d2-hints .h small,.d2-ov .d2-hints .h small{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#92400e;background:rgba(254,243,199,.7);padding:0 6px;border-radius:4px}
#d2-app .d2-hints .h b,.d2-ov .d2-hints .h b{display:block;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#d2-app .d2-foot,.d2-ov .d2-foot{display:flex;align-items:center;justify-content:center;gap:28px;color:#9ca3af;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;flex-wrap:wrap}
#d2-app .d2-dsw,.d2-ov .d2-dsw{display:flex;gap:4px;background:rgba(255,255,255,.9);border:1px solid #e5e7eb;border-radius:12px;padding:2px}
#d2-app .d2-dsw button,.d2-ov .d2-dsw button{padding:2px 8px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}
#d2-app .d2-dsw .on.easy,.d2-ov .d2-dsw .on.easy{background:#059669;color:#fff}#d2-app .d2-dsw .on.medium,.d2-ov .d2-dsw .on.medium{background:#d97706;color:#fff}#d2-app .d2-dsw .on.hard,.d2-ov .d2-dsw .on.hard{background:#e11d48;color:#fff}
#d2-app .d2-res,.d2-ov .d2-res{width:100%;max-width:700px;text-align:center;animation:d2pop .25s}
#d2-app .d2-res .hd,.d2-ov .d2-res .hd{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}
#d2-app .d2-res .hd i,.d2-ov .d2-res .hd i{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:22px;font-weight:900}
#d2-app .d2-res .hd h2,.d2-ov .d2-res .hd h2{font-size:30px;font-weight:900}
#d2-app .d2-res .bd,.d2-ov .d2-res .bd{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-6px 0 14px}
#d2-app .d2-res .bd span,.d2-ov .d2-res .bd span{padding:4px 12px;border-radius:999px;font-size:11px;font-weight:900}
#d2-app .d2-g2,.d2-ov .d2-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;margin-bottom:16px}
#d2-app .d2-card,.d2-ov .d2-card{background:#fbfbfa;border:1px solid rgba(231,229,228,.8);border-radius:16px;padding:16px}
#d2-app .d2-card.c,.d2-ov .d2-card.c{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
#d2-app .d2-card .im,.d2-ov .d2-card .im{width:96px;height:96px;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);border:2px solid #fff;background:#f5f5f4}
#d2-app .d2-card .im img,.d2-ov .d2-card .im img{width:100%;height:100%;object-fit:cover}
#d2-app .d2-card .k,.d2-ov .d2-card .k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a8a29e}
#d2-app .d2-card h3,.d2-ov .d2-card h3{font-size:21px;font-weight:900}
#d2-app .d2-card .pu,.d2-ov .d2-card .pu{font-size:12px;font-style:italic;color:var(--ol);font-family:Georgia,serif}
#d2-app .d2-ex,.d2-ov .d2-ex{background:#fffbeb;border:1px solid rgba(253,230,138,.7);padding:8px;border-radius:12px;font-size:12px;color:#78350f;font-weight:500;width:100%}
#d2-app .d2-st4,.d2-ov .d2-st4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#fff;padding:10px;border-radius:12px;border:1px solid rgba(231,229,228,.7);text-align:center}
#d2-app .d2-st4 small,.d2-ov .d2-st4 small{display:block;font-size:9px;font-weight:700;text-transform:uppercase;color:#a8a29e}
#d2-app .d2-st4 b,.d2-ov .d2-st4 b{font-family:ui-monospace,monospace;font-size:16px}
#d2-app .d2-bk,.d2-ov .d2-bk{margin-top:10px;padding:10px;background:rgba(255,251,235,.7);border:1px solid rgba(253,230,138,.7);border-radius:12px;font-size:12px;color:#78350f}
#d2-app .d2-bk .ln,.d2-ov .d2-bk .ln{display:flex;justify-content:space-between;font-weight:700}
#d2-app .d2-bk .ch,.d2-ov .d2-bk .ch{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;font-size:10px}
#d2-app .d2-bk .ch span,.d2-ov .d2-bk .ch span{background:#fff;padding:1px 6px;border-radius:4px;border:1px solid #e7e5e4;color:#57534e}
#d2-app .d2-bk .ch .e,.d2-ov .d2-bk .ch .e{background:#ffe4e6;color:#be123c;border-color:#fecdd3;font-weight:700}#d2-app .d2-bk .ch .h,.d2-ov .d2-bk .ch .h{background:#fef3c7;color:#92400e;border-color:#fde68a;font-weight:700}
#d2-app .d2-bk .tt,.d2-ov .d2-bk .tt{border-top:1px solid rgba(253,230,138,.5);margin-top:6px;padding-top:6px;display:flex;justify-content:space-between;font-weight:700}
#d2-app .d2-bk .tt b,.d2-ov .d2-bk .tt b{font-family:ui-monospace,monospace;font-size:16px;color:#b45309}
#d2-app .d2-row,.d2-ov .d2-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}
#d2-app .d2-fiche,.d2-ov .d2-fiche{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ol);background:rgba(90,90,64,.08);padding:6px 12px;border-radius:10px}
#d2-app .d2-fiche:hover,.d2-ov .d2-fiche:hover{background:rgba(90,90,64,.16)}
.d2-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:100001;padding:9px 18px;border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.15);font-weight:900;font-size:14px;background:rgba(255,255,255,.97);border:1px solid #e7e5e4;animation:d2pop .2s;font-family:Inter,system-ui,sans-serif;max-width:92vw;text-align:center}
#d2-app .d2-gb,.d2-ov .d2-gb{max-width:580px;text-align:center;border:1px solid rgba(245,158,11,.3);overflow:hidden}
#d2-app .d2-gb:before,.d2-ov .d2-gb:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:linear-gradient(90deg,#fbbf24,#f59e0b,#eab308)}
#d2-app .d2-gb .big,.d2-ov .d2-gb .big{background:linear-gradient(180deg,#fffbeb,rgba(254,243,199,.6));border:2px solid rgba(251,191,36,.8);border-radius:24px;padding:18px;margin:16px 0}
#d2-app .d2-gb .big b,.d2-ov .d2-gb .big b{font-family:ui-monospace,monospace;font-weight:900;font-size:48px;color:#451a03}
#d2-app .d2-gb .hl,.d2-ov .d2-gb .hl{max-height:150px;overflow-y:auto;border:1px solid #f5f5f4;border-radius:16px;padding:8px;background:rgba(250,250,249,.5);text-align:left;font-size:12px;margin-top:12px}
#d2-app .d2-gb .hl div,.d2-ov .d2-gb .hl div{display:flex;justify-content:space-between;align-items:center;padding:6px;border-radius:12px;background:#fff;border:1px solid rgba(231,229,228,.6);margin-bottom:4px}
#d2-app .d2-lb,.d2-ov .d2-lb{background:#fff;border-radius:24px;border:1px solid rgba(90,90,64,.1);overflow:hidden}
#d2-app .d2-lb table,.d2-ov .d2-lb table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
#d2-app .d2-lb th,.d2-ov .d2-lb th{background:#fafaf9;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#78716c;text-align:left;padding:10px 14px;border:0}
#d2-app .d2-lb td,.d2-ov .d2-lb td{padding:10px 14px;border-top:1px solid #f5f5f4;border-left:0;border-right:0;border-bottom:0}
#d2-app .d2-lb tr.me td,.d2-ov .d2-lb tr.me td{background:#fffbeb;font-weight:700}
#d2-app .d2-tabs,.d2-ov .d2-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
#d2-app .d2-tabs button,.d2-ov .d2-tabs button{padding:6px 14px;border-radius:999px;background:#fff;border:1px solid #e7e5e4!important;font-size:13px;font-weight:600;color:#57534e}
#d2-app .d2-tabs button.on,.d2-ov .d2-tabs button.on{background:var(--ol);color:#fff;border-color:var(--ol)!important}
#d2-app .d2-sel,.d2-ov .d2-sel{padding:8px 12px;border-radius:12px;border:1px solid #e7e5e4;background:#fff;font-weight:600}
#d2-app .d2-txt,.d2-ov .d2-txt{width:100%;padding:12px 16px;border-radius:16px;border:1px solid #e5e7eb;background:rgba(249,250,251,.5);outline:none;font-size:14px;resize:none;margin:12px 0}
#d2-app .d2-txt:focus,.d2-ov .d2-txt:focus{border-color:var(--ol)}
#d2-app .d2-tut,.d2-ov .d2-tut{text-align:center}
#d2-app .d2-tut .ic,.d2-ov .d2-tut .ic{width:80px;height:80px;background:var(--bg);border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}
#d2-app .d2-tut .dt,.d2-ov .d2-tut .dt{display:flex;gap:6px;justify-content:center;margin:20px 0}
#d2-app .d2-tut .dt span,.d2-ov .d2-tut .dt span{width:8px;height:8px;border-radius:999px;background:#e5e7eb;transition:all .2s}#d2-app .d2-tut .dt span.on,.d2-ov .d2-tut .dt span.on{width:32px;background:var(--ol)}
#d2-app .d2-prof,.d2-ov .d2-prof{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
#d2-app .d2-prof div,.d2-ov .d2-prof div{background:#fff;border-radius:20px;border:1px solid rgba(90,90,64,.1);padding:16px;text-align:center}
#d2-app .d2-prof b,.d2-ov .d2-prof b{display:block;font-family:ui-monospace,monospace;font-size:26px;color:var(--ol)}
#d2-app .d2-prof small,.d2-ov .d2-prof small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#78716c;font-weight:700}
#d2-app .d2-soon,.d2-ov .d2-soon{text-align:center;padding:60px 20px;color:#78716c}
@media (max-width:900px){#d2-app .d2-g3,.d2-ov .d2-g3{grid-template-columns:1fr 1fr}#d2-app .d2-nav,.d2-ov .d2-nav{display:none}}
@media (max-width:640px){#d2-app{border-radius:18px;font-size:14px}#d2-app .d2-main,.d2-ov .d2-main{padding:20px 12px}#d2-app .d2-g3,.d2-ov .d2-g3,#d2-app .d2-ch,.d2-ov .d2-ch,#d2-app .d2-g2,.d2-ov .d2-g2{grid-template-columns:1fr}#d2-app .d2-hero h1,.d2-ov .d2-hero h1{font-size:32px}#d2-app .d2-vis,.d2-ov .d2-vis{flex-direction:column;text-align:center}#d2-app .d2-daily,.d2-ov .d2-daily{flex-direction:column;text-align:center;padding:24px;border-radius:28px;gap:16px}#d2-app .d2-daily .bg,.d2-ov .d2-daily .bg{display:none}#d2-app .d2-arena,.d2-ov .d2-arena{padding:16px;border-radius:28px;min-height:330px}#d2-app .d2-rb,.d2-ov .d2-rb{justify-content:center}#d2-app .d2-dots span,.d2-ov .d2-dots span{width:23px;height:23px}#d2-app .d2-form button,.d2-ov .d2-form button{padding:14px 18px;font-size:16px}#d2-app .d2-form input,.d2-ov .d2-form input{padding:13px 16px;font-size:16px}#d2-app .d2-hints .g,.d2-ov .d2-hints .g{grid-template-columns:1fr}#d2-app .d2-desc,.d2-ov .d2-desc{font-size:19px}#d2-app .d2-punch,.d2-ov .d2-punch{font-size:23px}#d2-app .d2-ana .c,.d2-ov .d2-ana .c{width:34px;height:44px;font-size:19px}.d2-md{padding:22px;border-radius:28px}#d2-app .d2-prof,.d2-ov .d2-prof{grid-template-columns:1fr 1fr}#d2-app .d2-me,.d2-ov .d2-me{display:none}#d2-app .d2-gb .big b,.d2-ov .d2-gb .big b{font-size:38px}#d2-app .d2-foot,.d2-ov .d2-foot{gap:12px}#d2-app .d2-emo .e,.d2-ov .d2-emo .e{font-size:40px}}
#d2-app .d2-sc,.d2-ov .d2-sc{background:#fff;border-radius:28px;border:1px solid rgba(90,90,64,.1);box-shadow:0 10px 15px -3px rgba(0,0,0,.07);padding:22px}
#d2-app .d2-sc.c,.d2-ov .d2-sc.c{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
#d2-app .d2-bigic,.d2-ov .d2-bigic{width:88px;height:88px;border-radius:26px;display:flex;align-items:center;justify-content:center;font-size:44px;box-shadow:0 10px 20px rgba(0,0,0,.15)}
#d2-app .d2-bigic.sm,.d2-ov .d2-bigic.sm{width:52px;height:52px;border-radius:16px;font-size:26px;flex:none}
#d2-app .d2-rules,.d2-ov .d2-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;text-align:left}
#d2-app .d2-rules div,.d2-ov .d2-rules div{border-radius:16px;padding:14px;font-size:12px}
#d2-app .d2-rules b,.d2-ov .d2-rules b{display:block;font-size:14px;margin-bottom:4px}
#d2-app .d2-rules .g,.d2-ov .d2-rules .g{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}#d2-app .d2-rules .r,.d2-ov .d2-rules .r{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}#d2-app .d2-rules .a,.d2-ov .d2-rules .a{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
#d2-app .d2-chh,.d2-ov .d2-chh{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
#d2-app .d2-tic,.d2-ov .d2-tic{width:48px;height:48px;border-radius:16px;background:var(--ol);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}
#d2-app .d2-tic.u,.d2-ov .d2-tic.u{background:#f43f5e;animation:d2bounce .6s infinite}
@keyframes d2bounce{50%{transform:translateY(-4px)}}
#d2-app .d2-big,.d2-ov .d2-big{font-family:ui-monospace,monospace;font-size:36px;font-weight:900;line-height:1}
#d2-app .d2-big.u,.d2-ov .d2-big.u{color:#e11d48}
#d2-app .d2-sc .k,.d2-ov .d2-sc .k,#d2-app .d2-wrap .k,.d2-ov .d2-wrap .k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}
#d2-app .d2-combo,.d2-ov .d2-combo{font-size:13px;font-weight:900;padding:2px 8px;border-radius:8px;background:#f3f4f6;color:#6b7280}
#d2-app .d2-combo.on,.d2-ov .d2-combo.on{background:#fef3c7;color:#92400e}
#d2-app .d2-score,.d2-ov .d2-score{font-family:ui-monospace,monospace;font-size:28px;font-weight:900;color:var(--ol)}
#d2-app .d2-fa,.d2-ov .d2-fa{border-left:1px solid #f3f4f6;padding-left:12px;text-align:right;font-size:12px}#d2-app .d2-fa small,.d2-ov .d2-fa small{display:block;color:#9ca3af}#d2-app .d2-fa small:first-child,.d2-ov .d2-fa small:first-child{color:#059669;font-weight:700}
#d2-app .d2-bart,.d2-ov .d2-bart{width:100%;height:10px;background:#f3f4f6;border-radius:999px;overflow:hidden}
#d2-app .d2-bart div,.d2-ov .d2-bart div{height:100%;transition:width .1s linear}#d2-app .d2-bart .g,.d2-ov .d2-bart .g{background:#10b981}#d2-app .d2-bart .a,.d2-ov .d2-bart .a{background:#f59e0b}#d2-app .d2-bart .u,.d2-ov .d2-bart .u{background:#f43f5e}
#d2-app .d2-fb,.d2-ov .d2-fb{position:absolute;right:24px;top:10px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;z-index:5}
#d2-app .d2-fbi,.d2-ov .d2-fbi{font-weight:900;font-size:24px;padding:2px 12px;border-radius:12px;animation:d2up 1.1s forwards}
#d2-app .d2-fbi.ok,.d2-ov .d2-fbi.ok{color:#10b981;background:#ecfdf5;border:1px solid #6ee7b7}#d2-app .d2-fbi.ko,.d2-ov .d2-fbi.ko{color:#f43f5e;background:#fff1f2;border:1px solid #fda4af}
@keyframes d2up{from{opacity:0;transform:translateY(15px) scale(.8)}30%{opacity:1;transform:translateY(-10px) scale(1.2)}to{opacity:0;transform:translateY(-30px) scale(1)}}
#d2-app .d2-flash,.d2-ov .d2-flash{position:fixed;inset:0;pointer-events:none;z-index:99999;animation:d2fl .26s forwards}#d2-app .d2-flash.ok,.d2-ov .d2-flash.ok{background:rgba(16,185,129,.25)}#d2-app .d2-flash.ko,.d2-ov .d2-flash.ko{background:rgba(244,63,94,.25)}
@keyframes d2fl{to{opacity:0}}
#d2-app .d2-qh,.d2-ov .d2-qh{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;flex-wrap:wrap}
#d2-app .d2-pass,.d2-ov .d2-pass{font-size:12px;font-weight:700;color:#9ca3af;padding:6px 12px;border-radius:12px;border:1px solid #e5e7eb!important}#d2-app .d2-pass:hover,.d2-ov .d2-pass:hover{color:#f43f5e;background:#fff1f2}
#d2-app .d2-clue2,.d2-ov .d2-clue2{min-height:230px;display:flex;align-items:center;justify-content:center;width:100%}
#d2-app .d2-sqc,.d2-ov .d2-sqc{width:220px;height:220px;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,.1);display:block}
#d2-app .d2-quote,.d2-ov .d2-quote{font-family:Georgia,serif;font-style:italic;font-size:24px;margin:8px 0 0;border:0;padding:0;color:var(--ink)}
#d2-app .d2-opts4,.d2-ov .d2-opts4{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
#d2-app .d2-opts4 button,.d2-ov .d2-opts4 button{background:#f8f8f5;border:1px solid rgba(229,231,235,.8)!important;border-radius:16px;padding:14px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;transition:all .12s;color:var(--ink)}
#d2-app .d2-opts4 button:hover,.d2-ov .d2-opts4 button:hover{background:var(--ol);color:#fff;border-color:var(--ol)!important}
#d2-app .d2-opts4 i,.d2-ov .d2-opts4 i{font-style:normal;width:28px;height:28px;border-radius:10px;background:#fff;color:var(--ol);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex:none;border:1px solid #e5e7eb}
#d2-app .d2-srch,.d2-ov .d2-srch{width:100%;padding:12px 16px;border-radius:14px;border:2px solid #e7e5e4;background:#fff;outline:none;font-size:15px;margin:0}
#d2-app .d2-srch:focus,.d2-ov .d2-srch:focus{border-color:var(--ol)}
#d2-app .d2-sugs,.d2-ov .d2-sugs{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border-radius:14px;box-shadow:0 10px 25px rgba(0,0,0,.15);overflow:hidden}
#d2-app .d2-sug,.d2-ov .d2-sug{display:block;width:100%;text-align:left;padding:10px 14px;font-size:14px;border-bottom:1px solid #f5f5f4!important}#d2-app .d2-sug:hover,.d2-ov .d2-sug:hover{background:#f5f5f0}
#d2-app .d2-recap,.d2-ov .d2-recap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;text-align:left}
#d2-app .d2-recap .it,.d2-ov .d2-recap .it{display:flex;gap:10px;align-items:center;padding:8px;border-radius:14px;border:1px solid}
#d2-app .d2-recap .ok,.d2-ov .d2-recap .ok{background:rgba(236,253,245,.6);border-color:#a7f3d0}#d2-app .d2-recap .ko,.d2-ov .d2-recap .ko{background:rgba(255,241,242,.7);border-color:#fecdd3}
#d2-app .d2-recap img,.d2-ov .d2-recap img{width:48px;height:48px;object-fit:cover;border-radius:10px;flex:none}
#d2-app .d2-recap small,.d2-ov .d2-recap small{font-size:10px;font-weight:800;text-transform:uppercase}#d2-app .d2-recap b,.d2-ov .d2-recap b{display:block;font-size:13px}#d2-app .d2-recap p,.d2-ov .d2-recap p{font-size:11px;color:#be123c}
#d2-app .d2-g2w,.d2-ov .d2-g2w{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:start}
#d2-app .d2-gal,.d2-ov .d2-gal{width:170px;height:200px;margin:8px auto}#d2-app .d2-gal svg,.d2-ov .d2-gal svg{width:100%;height:100%}
#d2-app .d2-pw,.d2-ov .d2-pw{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:10px 0}
#d2-app .d2-pw .w,.d2-ov .d2-pw .w{display:flex;gap:5px}
#d2-app .d2-pw .c,.d2-ov .d2-pw .c{width:30px;height:38px;border-bottom:3px solid #44403c;display:flex;align-items:flex-end;justify-content:center;font-family:ui-monospace,monospace;font-weight:900;font-size:22px;color:var(--ol)}
#d2-app .d2-pw .c.on,.d2-ov .d2-pw .c.on{border-color:#a8a29e}
#d2-app .d2-kb,.d2-ov .d2-kb{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}
#d2-app .d2-kb button,.d2-ov .d2-kb button{width:36px;height:40px;border-radius:10px;background:#f5f5f0;border:1px solid #e7e5e4!important;font-weight:900;font-size:15px;color:var(--ol)}
#d2-app .d2-kb button:hover,.d2-ov .d2-kb button:hover{background:var(--ol);color:#fff}
#d2-app .d2-kb button.ok,.d2-ov .d2-kb button.ok{background:#10b981;color:#fff;opacity:1}#d2-app .d2-kb button.ko,.d2-ov .d2-kb button.ko{background:#f43f5e;color:#fff;opacity:.85}
#d2-app .d2-ph,.d2-ov .d2-ph{padding:10px 12px;border-radius:14px;background:#f5f5f4;border:1px solid #e7e5e4;margin-bottom:8px;color:#a8a29e}
#d2-app .d2-ph.on,.d2-ov .d2-ph.on{background:#fffbeb;border-color:#fde68a;color:#1c1917}
#d2-app .d2-ph small,.d2-ov .d2-ph small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#92400e}
#d2-app .d2-ph b,.d2-ov .d2-ph b{font-size:13px}
#d2-app .d2-tlh,.d2-ov .d2-tlh{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:#78716c;margin-bottom:10px}
#d2-app .d2-tl,.d2-ov .d2-tl{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
#d2-app .d2-tc,.d2-ov .d2-tc{background:#fafaf9;border:2px solid #e7e5e4;border-radius:18px;padding:10px;text-align:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;position:relative;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;align-items:center;gap:6px}
#d2-app .d2-tl.done .d2-tc,.d2-ov .d2-tl.done .d2-tc{cursor:default;touch-action:auto}
#d2-app .d2-tc:hover,.d2-ov .d2-tc:hover{border-color:#0d9488;box-shadow:0 8px 16px rgba(0,0,0,.08)}
#d2-app .d2-tc.drag,.d2-ov .d2-tc.drag{opacity:.35}
#d2-app .d2-tc.ghost,.d2-ov .d2-tc.ghost{position:fixed;z-index:100003;pointer-events:none;box-shadow:0 20px 40px rgba(0,0,0,.25);transform:rotate(-2deg);opacity:.95;margin:0}
#d2-app .d2-tc.ok,.d2-ov .d2-tc.ok{border-color:#10b981;background:#ecfdf5}#d2-app .d2-tc.ko,.d2-ov .d2-tc.ko{border-color:#f43f5e;background:#fff1f2}
#d2-app .d2-tc .n,.d2-ov .d2-tc .n{position:absolute;left:8px;top:8px;width:22px;height:22px;border-radius:50%;background:#0d9488;color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
#d2-app .d2-tc .im,.d2-ov .d2-tc .im{width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#e7e5e4}
#d2-app .d2-tc .im img,.d2-ov .d2-tc .im img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
#d2-app .d2-tc b,.d2-ov .d2-tc b{font-size:12px;line-height:1.2;min-height:30px}
#d2-app .d2-tc .y,.d2-ov .d2-tc .y{font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:900;color:#0f766e}
#d2-app .d2-tc .mv,.d2-ov .d2-tc .mv{display:flex;align-items:center;justify-content:space-between;width:100%;color:#a8a29e}
#d2-app .d2-tc .mv button,.d2-ov .d2-tc .mv button{width:30px;height:28px;border-radius:8px;background:#fff;border:1px solid #e7e5e4!important;font-size:12px;color:#0f766e}
#d2-app .d2-mg,.d2-ov .d2-mg{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:20px;overflow:hidden;position:relative;aspect-ratio:1/1;max-width:520px;margin:0 auto;box-shadow:0 20px 30px rgba(0,0,0,.18)}
#d2-app .d2-mq,.d2-ov .d2-mq{position:relative;cursor:pointer;overflow:hidden}
#d2-app .d2-mq canvas,.d2-ov .d2-mq canvas{width:100%;height:100%;display:block}
#d2-app .d2-mq.sel,.d2-ov .d2-mq.sel{box-shadow:inset 0 0 0 4px #fbbf24;z-index:2}
#d2-app .d2-mq.sel canvas,.d2-ov .d2-mq.sel canvas{filter:brightness(1.08)}
#d2-app .d2-mq .b,.d2-ov .d2-mq .b{position:absolute;left:8px;top:8px;width:26px;height:26px;border-radius:8px;color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4);z-index:3}
#d2-app .d2-mq .ov,.d2-ov .d2-mq .ov{position:absolute;inset:0;background:rgba(5,150,105,.4);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px;font-weight:900;font-size:12px;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.5)}
#d2-app .d2-mq .ov b,.d2-ov .d2-mq .ov b{font-size:26px}
#d2-app .d2-mx,.d2-ov .d2-mx,#d2-app .d2-my,.d2-ov .d2-my{position:absolute;background:rgba(28,25,23,.9);pointer-events:none;z-index:4}#d2-app .d2-mx,.d2-ov .d2-mx{top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%)}#d2-app .d2-my,.d2-ov .d2-my{left:0;right:0;top:50%;height:3px;transform:translateY(-50%)}
#d2-app .d2-mc,.d2-ov .d2-mc{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:#1c1917;border:2px solid #fbbf24;z-index:5;display:flex;align-items:center;justify-content:center;font-size:12px;pointer-events:none}
#d2-app .d2-loupe,.d2-ov .d2-loupe{width:120px;height:120px;border-radius:14px;overflow:hidden;border:2px solid #d6d3d1;background:#0c0a09;flex:none}#d2-app .d2-loupe canvas,.d2-ov .d2-loupe canvas{width:100%;height:100%;display:block}
#d2-app .d2-dbar,.d2-ov .d2-dbar{height:8px;background:#ffe4e6;border-radius:999px;overflow:hidden;margin-top:10px}#d2-app .d2-dbar div,.d2-ov .d2-dbar div{height:100%;background:linear-gradient(90deg,#f43f5e,#ec4899);transition:width .3s}
#d2-app .d2-duo,.d2-ov .d2-duo{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
#d2-app .d2-duo .vs,.d2-ov .d2-duo .vs{font-family:"Playfair Display",Georgia,serif;font-weight:900;font-size:28px;color:#e11d48}
#d2-app .d2-dc,.d2-ov .d2-dc{position:relative;background:#fafaf9;border:2px solid #e7e5e4;border-radius:24px;padding:14px;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .15s}
#d2-app .d2-dc:hover,.d2-ov .d2-dc:hover{border-color:#e11d48;box-shadow:0 15px 25px rgba(225,29,72,.15);transform:translateY(-2px)}
#d2-app .d2-dc.king,.d2-ov .d2-dc.king{border-color:#fbbf24;background:#fffbeb}
#d2-app .d2-dc .cr,.d2-ov .d2-dc .cr{position:absolute;left:12px;top:12px;background:#f59e0b;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;padding:3px 9px;border-radius:999px;z-index:2}
#d2-app .d2-dc .cr.ch,.d2-ov .d2-dc .cr.ch{background:#e11d48}
#d2-app .d2-dc .fv,.d2-ov .d2-dc .fv{position:absolute;right:12px;top:10px;font-size:20px;z-index:2;background:rgba(255,255,255,.85);border-radius:50%;width:34px;height:34px}
#d2-app .d2-dc .im,.d2-ov .d2-dc .im{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#e7e5e4}
#d2-app .d2-dc .im img,.d2-ov .d2-dc .im img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
#d2-app .d2-dc b,.d2-ov .d2-dc b{font-size:16px;line-height:1.2}
#d2-app .d2-dc small,.d2-ov .d2-dc small{font-size:12px;color:#78716c}
#d2-app .d2-dc .elo,.d2-ov .d2-dc .elo{font-size:11px;font-family:ui-monospace,monospace;color:#a8a29e}
#d2-app .d2-dc .vt,.d2-ov .d2-dc .vt{margin-top:4px;background:#e11d48;color:#fff;font-weight:800;font-size:13px;padding:9px 14px;border-radius:12px;width:100%}
.d2-md.d2-wide{max-width:760px}
#d2-app .d2-dav,.d2-ov .d2-dav{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:560px}
#d2-app .d2-dav button,.d2-ov .d2-dav button{background:#fafaf9;border:2px solid #e7e5e4!important;border-radius:18px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:13px;line-height:1.2;color:var(--ink)}
#d2-app .d2-dav button:hover,.d2-ov .d2-dav button:hover{border-color:#e11d48!important}
#d2-app .d2-dav img,.d2-ov .d2-dav img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block;pointer-events:none}
@media (max-width:760px){#d2-app .d2-tl,.d2-ov .d2-tl{grid-template-columns:1fr}#d2-app .d2-tc,.d2-ov .d2-tc{flex-direction:row;text-align:left}#d2-app .d2-tc .im,.d2-ov .d2-tc .im{width:64px;flex:none}#d2-app .d2-tc b,.d2-ov .d2-tc b{flex:1;min-height:0}#d2-app .d2-tc .mv,.d2-ov .d2-tc .mv{width:auto;flex-direction:column}#d2-app .d2-tc .mv span,.d2-ov .d2-tc .mv span{display:none}#d2-app .d2-tc .mv button:first-child,.d2-ov .d2-tc .mv button:first-child{transform:rotate(90deg)}#d2-app .d2-tc .mv button:last-child,.d2-ov .d2-tc .mv button:last-child{transform:rotate(90deg)}#d2-app .d2-tc .n,.d2-ov .d2-tc .n{position:static}#d2-app .d2-g2w,.d2-ov .d2-g2w{grid-template-columns:1fr}#d2-app .d2-rules,.d2-ov .d2-rules{grid-template-columns:1fr}#d2-app .d2-recap,.d2-ov .d2-recap{grid-template-columns:1fr}#d2-app .d2-opts4,.d2-ov .d2-opts4{grid-template-columns:1fr}#d2-app .d2-duo,.d2-ov .d2-duo{grid-template-columns:1fr 1fr;gap:8px}#d2-app .d2-duo .vs,.d2-ov .d2-duo .vs{display:none}#d2-app .d2-dc,.d2-ov .d2-dc{padding:8px;border-radius:18px}#d2-app .d2-dc b,.d2-ov .d2-dc b{font-size:13px}#d2-app .d2-dc .vt,.d2-ov .d2-dc .vt{font-size:11px;padding:7px}#d2-app .d2-dc small,.d2-ov .d2-dc small{display:none}#d2-app .d2-big,.d2-ov .d2-big{font-size:28px}#d2-app .d2-sc,.d2-ov .d2-sc{padding:16px;border-radius:22px}}
#d2-app .d2-badge,.d2-ov .d2-badge{width:52px;height:52px;border-radius:16px;background:#f5f5f4;color:#a8a29e;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;border:1px solid rgba(0,0,0,.05)}
#d2-app .d2-badge.big,.d2-ov .d2-badge.big{width:96px;height:96px;border-radius:28px;font-size:48px;box-shadow:0 10px 25px rgba(0,0,0,.12)}
#d2-app .d2-rankb,.d2-ov .d2-rankb{background:linear-gradient(135deg,#5A5A40,#3A3A20);color:#fff;border-radius:16px;padding:10px 16px;text-align:right}
#d2-app .d2-rankb small,.d2-ov .d2-rankb small{display:block;font-size:10px;opacity:.75;text-transform:uppercase;letter-spacing:.05em}#d2-app .d2-rankb b,.d2-ov .d2-rankb b{font-family:"Playfair Display",Georgia,serif;font-size:18px}
#d2-app .d2-achc,.d2-ov .d2-achc{margin-top:14px}
#d2-app .d2-achc .t,.d2-ov .d2-achc .t{display:flex;justify-content:space-between;font-weight:800;font-size:14px;margin-bottom:8px}#d2-app .d2-achc .t small,.d2-ov .d2-achc .t small{color:#a8a29e}
#d2-app .d2-achc .g,.d2-ov .d2-achc .g{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
#d2-app .d2-achi,.d2-ov .d2-achi{display:flex;gap:10px;align-items:center;padding:8px;border-radius:14px;background:#fafaf9;border:1px solid #f5f5f4;opacity:.65}
#d2-app .d2-achi.on,.d2-ov .d2-achi.on{opacity:1;background:#fff;border-color:#e7e5e4;box-shadow:0 1px 3px rgba(0,0,0,.05)}
#d2-app .d2-achi b,.d2-ov .d2-achi b{display:block;font-size:13px}#d2-app .d2-achi p,.d2-ov .d2-achi p{font-size:11px;color:#78716c;line-height:1.3}#d2-app .d2-achi small,.d2-ov .d2-achi small{font-size:10px;font-weight:800}
#d2-app .d2-code,.d2-ov .d2-code{font-family:ui-monospace,monospace;font-weight:900;font-size:18px;letter-spacing:.2em;background:#1c1917;color:#fbbf24;padding:6px 12px;border-radius:12px}
#d2-app .d2-code.big,.d2-ov .d2-code.big{font-size:44px;padding:12px 26px;border-radius:20px}
#d2-app .d2-pl,.d2-ov .d2-pl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
#d2-app .d2-pl .it,.d2-ov .d2-pl .it{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:8px 12px;border-radius:12px;background:#fafaf9;border:1px solid #f5f5f4;font-size:13px;font-weight:600}
#d2-app .d2-pl .it.me,.d2-ov .d2-pl .it.me{background:#fffbeb;border-color:#fde68a}#d2-app .d2-pl .it.off,.d2-ov .d2-pl .it.off{opacity:.45}
#d2-app .d2-pl .it small,.d2-ov .d2-pl .it small{font-size:11px;color:#78716c}#d2-app .d2-pl .it b,.d2-ov .d2-pl .it b{font-family:ui-monospace,monospace}
#d2-app .d2-pl .kick,.d2-ov .d2-pl .kick{color:#e11d48;font-weight:900;padding:0 6px}
#d2-app .d2-podium,.d2-ov .d2-podium{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end;width:100%;max-width:520px}
#d2-app .d2-podium .pd,.d2-ov .d2-podium .pd{display:flex;flex-direction:column;align-items:center;gap:2px}
#d2-app .d2-podium .pd span,.d2-ov .d2-podium .pd span{font-size:30px}#d2-app .d2-podium .pd b,.d2-ov .d2-podium .pd b{font-size:14px}#d2-app .d2-podium .pd small,.d2-ov .d2-podium .pd small{font-size:11px;color:#78716c}
#d2-app .d2-podium .st,.d2-ov .d2-podium .st{width:100%;border-radius:12px 12px 0 0;background:linear-gradient(180deg,#fbbf24,#d97706);color:#fff;font-weight:900;font-size:22px;display:flex;align-items:center;justify-content:center;margin-top:6px}
#d2-app .d2-podium .p1 .st,.d2-ov .d2-podium .p1 .st{height:110px}#d2-app .d2-podium .p2 .st,.d2-ov .d2-podium .p2 .st{height:80px;background:linear-gradient(180deg,#cbd5e1,#64748b)}#d2-app .d2-podium .p3 .st,.d2-ov .d2-podium .p3 .st{height:60px;background:linear-gradient(180deg,#fdba74,#c2410c)}
@media (max-width:760px){#d2-app .d2-achc .g,.d2-ov .d2-achc .g,#d2-app .d2-pl,.d2-ov .d2-pl{grid-template-columns:1fr}#d2-app .d2-code.big,.d2-ov .d2-code.big{font-size:32px}}
@media (max-width:640px){#d2-app .d2-hd,.d2-ov .d2-hd{padding:0 10px;height:56px}#d2-app .d2-logo,.d2-ov .d2-logo{font-size:17px;gap:6px}#d2-app .d2-logo i,.d2-ov .d2-logo i{width:32px;height:32px;font-size:17px}#d2-app .d2-pill,.d2-ov .d2-pill{padding:5px 9px;font-size:11px;white-space:nowrap}#d2-app .d2-pill.ol,.d2-ov .d2-pill.ol{padding:7px 10px;font-size:11px}#d2-app .d2-pill.am small,.d2-ov .d2-pill.am small{display:none}#d2-app .d2-hr,.d2-ov .d2-hr{gap:6px}}
#d2-app p,#d2-app li,#d2-app blockquote,#d2-app div,.d2-ov p,.d2-ov div{color:inherit}
#d2-app .d2-punch,.d2-ov .d2-punch,#d2-app .d2-fact,.d2-ov .d2-fact,#d2-app .d2-quote,.d2-ov .d2-quote{color:#1a1a1a}
#d2-app .d2-desc,.d2-ov .d2-desc{color:#374151}
#d2-app .d2-rules p,.d2-ov .d2-rules p{color:inherit;opacity:.9}
#d2-app .d2-thumb img,.d2-ov .d2-thumb img,#d2-app .d2-thumb canvas,.d2-ov .d2-thumb canvas,#d2-app .d2-ig img,.d2-ov .d2-ig img,#d2-app .d2-dav img,.d2-ov .d2-dav img,#d2-app .d2-tc .im img,.d2-ov .d2-tc .im img,#d2-app .d2-dc .im img,.d2-ov .d2-dc .im img,#d2-app .d2-card .im img,.d2-ov .d2-card .im img,#d2-app .d2-recap img,.d2-ov .d2-recap img,#d2-app .d2-dc .im img,.d2-ov .d2-dc .im img{object-fit:contain!important;background:#f5f5f4}
#d2-app .d2-ig button,.d2-ov .d2-ig button,#d2-app .d2-thumb,.d2-ov .d2-thumb{background:#f5f5f4}
#d2-app .d2-av,.d2-ov .d2-av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex:none;box-shadow:0 2px 6px rgba(0,0,0,.15);vertical-align:middle;line-height:1}
#d2-app .d2-icb,.d2-ov .d2-icb{width:34px;height:34px;border-radius:50%;background:#f5f5f0;font-size:16px;display:inline-flex;align-items:center;justify-content:center}
#d2-app .d2-avc,.d2-ov .d2-avc{display:flex;flex-wrap:wrap;gap:8px}#d2-app .d2-avc button,.d2-ov .d2-avc button{width:34px;height:34px;border-radius:50%;border:3px solid #fff!important;box-shadow:0 0 0 1px #e7e5e4}#d2-app .d2-avc button.on,.d2-ov .d2-avc button.on{box-shadow:0 0 0 3px #1a1a1a}
#d2-app .d2-avi,.d2-ov .d2-avi{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}#d2-app .d2-avi button,.d2-ov .d2-avi button{font-size:22px;padding:6px;border-radius:12px;background:#f5f5f4}#d2-app .d2-avi button.on,.d2-ov .d2-avi button.on{background:#5A5A40;box-shadow:0 0 0 2px #fbbf24}
@media (max-width:640px){#d2-app .d2-icb,.d2-ov .d2-icb{width:30px;height:30px;font-size:14px}#d2-app .d2-avi,.d2-ov .d2-avi{grid-template-columns:repeat(6,1fr)}}