/* Field Signal V2: CSS scoped to opt-in body classes; all existing operational UI remains Classic by default. */
.dc-v2-config{width:36px;height:36px;min-width:36px;border:1px solid #8e3c53!important;border-radius:11px!important;background:#2b1a29!important;color:#ff94a7!important;display:grid;place-items:center;padding:0!important;cursor:pointer;position:relative;box-shadow:0 0 10px #ff3e6533!important}
.dc-v2-config svg{width:32px;height:32px;overflow:visible;filter:drop-shadow(0 0 6px #ff3c6ca6)}
.dc-v2-config .dc-v2-orbit{transform-origin:24px 24px;animation:dc-v2-orbit 11s linear infinite}
.dc-v2-config .dc-v2-core{transform-origin:24px 24px;animation:dc-v2-breathe 2.6s ease-in-out infinite}
.dc-v2-config.is-alert{animation:dc-v2-alert .48s ease-out 3}
.dc-v2-config.is-loading .dc-v2-core{animation-duration:.7s}
@keyframes dc-v2-orbit{to{transform:rotate(360deg)}}
@keyframes dc-v2-breathe{50%{transform:scale(1.14);opacity:.77}}
@keyframes dc-v2-alert{50%{transform:translateY(-8px)}}
.dc-v2-menu{position:fixed;right:12px;top:58px;z-index:2300;width:min(310px,calc(100vw - 24px));display:grid;gap:10px;max-height:calc(100dvh - 70px);overflow:auto;background:#11292afa;color:#edfff5;border:1px solid #50786e;border-radius:16px;padding:14px;box-shadow:0 20px 60px #0009;backdrop-filter:blur(18px)}
.dc-v2-menu[hidden]{display:none!important}
.dc-v2-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dc-v2-menu-head strong{font-size:15px}
.dc-v2-menu-head button{color:#ecfff5;background:none;border:0;font-size:22px;cursor:pointer}
.dc-v2-menu p{font-size:12px;color:#b5d2c4;line-height:1.45;margin:0}
.dc-v2-menu label{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px}
.dc-v2-menu select{min-height:36px;width:142px;padding:6px;background:#1b3935;color:#ecfff5;border:1px solid #527c70;border-radius:9px;font-size:13px}
.dc-v2-menu input[type=checkbox]{height:19px;width:19px;accent-color:#93ffc8}
.dc-v2-menu-done{padding:9px;border-radius:9px;background:#245b48;border:1px solid #5aa582;color:#f3fff9;font-weight:750}
.dc-v2-progress{position:fixed;top:5px;left:50%;transform:translateX(-50%);width:calc(min(100vw,720px) - 14px);height:4px;z-index:2800;pointer-events:none;background:#1d423c;border:1px solid #346f5c;border-radius:99px}
.dc-v2-progress[hidden]{display:none!important}
.dc-v2-progress i{display:block;width:var(--dc-v2-progress,0%);height:100%;background:linear-gradient(90deg,#9fffd0,#ff5177);box-shadow:0 0 12px #ff4266aa;transition:width .25s ease;border-radius:99px}
.dc-v2-progress b{position:absolute;top:7px;right:0;font:800 10px system-ui;padding:2px 7px;background:#0e2b27;color:#beffdd;border:1px solid #5f9c81;border-radius:8px}
body.dc-ux-signal{--dc-ux-accent:#9bf3c2;--dc-ux-panel:#10272a;--dc-ux-bg:#07191c;--dc-ux-line:#365f57;--dc-ux-text:#eafff5;background:var(--dc-ux-bg);color:var(--dc-ux-text)}
body.dc-ux-holo{--dc-ux-accent:#8fe5ff;--dc-ux-panel:#112b3b;--dc-ux-bg:#081622;--dc-ux-line:#3d6d7e;--dc-ux-text:#f0faff;background:var(--dc-ux-bg);color:var(--dc-ux-text)}
body.dc-ux-signal #main .card,body.dc-ux-holo #main .card,
body.dc-ux-signal #main .time-payout,body.dc-ux-holo #main .time-payout{
 border-color:var(--dc-ux-line);background:linear-gradient(132deg,#caffec09,transparent 63%),var(--dc-ux-panel);box-shadow:inset 0 1px #fff2,0 8px 22px #0002;
}
body.dc-ux-signal #main input,body.dc-ux-signal #main select,body.dc-ux-signal #main textarea,
body.dc-ux-holo #main input,body.dc-ux-holo #main select,body.dc-ux-holo #main textarea{background:color-mix(in srgb,var(--dc-ux-bg) 85%,var(--dc-ux-panel));border-color:var(--dc-ux-line);color:var(--dc-ux-text)}
body.dc-ux-signal #main .btn,body.dc-ux-holo #main .btn{
 background:color-mix(in srgb,var(--dc-ux-panel) 85%,var(--dc-ux-accent));color:var(--dc-ux-text);border-color:var(--dc-ux-line);transition:transform .14s ease,background .18s}
body.dc-ux-signal #main .btn.primary,body.dc-ux-holo #main .btn.primary{background:var(--dc-ux-accent);color:var(--dc-ux-bg);border-color:transparent}
body.dc-ux-signal #main .top,body.dc-ux-holo #main .top{gap:7px;margin-bottom:6px}
body.dc-ux-signal #main .top .tag,body.dc-ux-holo #main .top .tag{font-size:10px}
body.dc-ux-signal #main .counts,body.dc-ux-holo #main .counts{margin:8px 0 9px;gap:6px}
body.dc-ux-signal #main .count,body.dc-ux-holo #main .count{background:var(--dc-ux-panel);border:1px solid var(--dc-ux-line);padding:8px 5px;color:var(--dc-ux-accent);min-width:0;transition:transform .13s,box-shadow .16s}
body.dc-ux-signal #main .count b,body.dc-ux-holo #main .count b{font-variant-numeric:tabular-nums;color:var(--dc-ux-text);font-size:22px}
body.dc-ux-signal #main .count.active,body.dc-ux-holo #main .count.active{background:color-mix(in srgb,var(--dc-ux-accent) 13%,var(--dc-ux-panel));border-color:var(--dc-ux-accent)}
body.dc-ux-signal #main .icon-btn,body.dc-ux-holo #main .icon-btn{border-color:var(--dc-ux-line);background:var(--dc-ux-panel);color:var(--dc-ux-text)}
body.dc-ux-signal #main .btn:active,body.dc-ux-holo #main .btn:active,body.dc-ux-signal #main .count:active,body.dc-ux-holo #main .count:active{transform:translateY(2px) scale(.986);box-shadow:inset 0 2px 8px #0008}
@media(hover:hover){body.dc-ux-signal #main .count:hover b,body.dc-ux-holo #main .count:hover b,body.dc-ux-signal #main .time-payout:hover strong,body.dc-ux-holo #main .time-payout:hover strong{color:#ff8599;text-shadow:0 0 14px #ff527999}}
body.dc-ux-compact #main .card{padding:12px;margin:9px 0}
body.dc-ux-large{font-size:17px}
body.dc-ux-large #main button{font-size:1.04em}
body.dc-ux-hide-descriptions #main .app-credit,body.dc-ux-hide-descriptions #main .time-payout small{display:none}
body.dc-ux-signal.light-mode,body.dc-ux-holo.light-mode{--dc-ux-bg:#eef6f4;--dc-ux-panel:#fff;--dc-ux-line:#b8d9d0;--dc-ux-text:#173b36;--dc-ux-accent:#127652;background:var(--dc-ux-bg);color:var(--dc-ux-text)}
body.dc-ux-reduce .dc-v2-orbit,body.dc-ux-reduce .dc-v2-core,body.dc-ux-reduce .dc-v2-config.is-alert{animation:none!important}
@media(max-width:520px){.dc-v2-config{width:34px;height:34px;min-width:34px}.dc-v2-config svg{width:29px;height:29px}.dc-v2-menu{top:49px;right:8px}}
@media(prefers-reduced-motion:reduce){.dc-v2-orbit,.dc-v2-core,.dc-v2-config.is-alert{animation:none!important}.dc-v2-progress i{transition:none}}


/* Flick v3: keep the mascot beside the real field workflow, even in DB Chat and tech boards. */
#main .dc-v2-config{
 position:fixed;right:14px;bottom:calc(83px + env(safe-area-inset-bottom));
 top:auto;left:auto;z-index:1810;width:48px;height:48px;min-width:48px;
 background:#291826eb!important;border:1px solid #ff5c794d!important;
 border-radius:16px!important;backdrop-filter:blur(11px);
 box-shadow:0 0 20px #ff38574d,inset 0 1px #ffacc541!important;
}
#main .dc-v2-config svg{width:40px;height:40px}
.dc-v2-menu{z-index:2300}
.dc-v2-preview{background:linear-gradient(112deg,#2a584e,#6b3147);border:1px solid #a07782;border-radius:9px;color:#fff;font-size:13px;min-height:40px;font-weight:750;cursor:pointer}
.dc-v2-progress{
 position:fixed;inset:7px max(7px,calc((100vw - 720px)/2)) calc(76px + env(safe-area-inset-bottom));
 transform:none;left:max(7px,calc((100vw - 720px)/2));top:7px;width:auto;height:auto;
 z-index:1650;pointer-events:none;border:0;background:none;border-radius:15px;overflow:visible;
}
.dc-v2-progress svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 0 5px #ff426c99)}
.dc-v2-progress svg rect{fill:none;vector-effect:non-scaling-stroke}
.dc-v2-progress .dc-v2-track{stroke:#a4ffd02d;stroke-width:1.6}
.dc-v2-progress .dc-v2-trace{stroke:#ff5479;stroke-width:2.7;stroke-linecap:round;transition:stroke-dasharray .25s ease}
.dc-v2-progress b{top:6px;right:6px;padding:3px 8px;background:#122d2bfa;font-size:10px;letter-spacing:.05em}
body:has(.dc-v2-progress:not([hidden])) #loadProgress{opacity:0;pointer-events:none}
@media(max-width:520px){
 #main .dc-v2-config{right:8px;bottom:calc(84px + env(safe-area-inset-bottom));width:46px;height:46px;min-width:46px}
 .dc-v2-progress{inset:6px 6px calc(78px + env(safe-area-inset-bottom));border-radius:13px}
 .dc-v2-progress b{top:5px;right:4px}
}
@media(prefers-reduced-motion:reduce){.dc-v2-progress .dc-v2-trace{transition:none}}

#main .dc-v2-config.is-job-alert{animation:dc-v2-to-job 1.65s ease-in-out 1}
@keyframes dc-v2-to-job{0%,100%{transform:translate(0,0) scale(1)}38%,64%{transform:translate(var(--dc-alert-x,0px),var(--dc-alert-y,0px)) scale(1.15)}}
@media(prefers-reduced-motion:reduce){#main .dc-v2-config.is-job-alert{animation:none}}
body.dc-ux-reduce #main .dc-v2-config.is-job-alert{animation:none}

/* Keep the floating Flick controls adjacent to Flick, above the field bottom navigation. */
.dc-v2-menu{top:auto;bottom:calc(146px + env(safe-area-inset-bottom));max-height:calc(100dvh - 166px)}
@media(max-width:520px){.dc-v2-menu{top:auto;right:8px;bottom:calc(144px + env(safe-area-inset-bottom));max-height:calc(100dvh - 164px)}}

/* Pixel-sized SVG geometry prevents distorted corners and uneven travel. */
.dc-v2-progress .dc-v2-trace{stroke-width:2.2;transition:stroke-dasharray .65s cubic-bezier(.22,.7,.25,1)}
#main .dc-v2-config{will-change:transform}
body.dc-ux-reduce .dc-v2-progress .dc-v2-trace{transition:none!important}
@media(prefers-reduced-motion:reduce){.dc-v2-progress .dc-v2-trace{transition:none!important}}

/* Floating Flick stays distinct from the tabs beneath it. */
#main #dcV2Flick{
 width:44px!important;height:44px!important;min-width:44px!important;
 border:1px solid transparent!important;border-radius:50%!important;padding:0!important;
 background:linear-gradient(#23172a,#171b34) padding-box,linear-gradient(135deg,#ffa4c8,#bd4775 54%,#7999f2) border-box!important;
 box-shadow:0 0 16px #ff52774d,0 5px 14px #03071280!important;
}
#main #dcV2Flick:focus-visible{outline:2px solid #fbbf24;outline-offset:3px}
#main #dcV2Flick svg{width:30px;height:30px;filter:drop-shadow(0 1px 4px #ff3c6c66)}
#main #dcV2Flick.is-tab-docked svg{animation:dc-dock-float 3.8s ease-in-out 2}
@keyframes dc-dock-float{50%{transform:translateY(-2px)}}
body.dc-ux-reduce #main #dcV2Flick.is-tab-docked svg{animation:none}
@media(prefers-reduced-motion:reduce){#main #dcV2Flick.is-tab-docked svg{animation:none}}
#dcBottomNav .dc-flick-home{box-shadow:inset 0 1px #b7ffe52b,0 2px 7px #0002}
#main #dcV2Flick.is-dragging{filter:drop-shadow(0 4px 9px #ff416966)}
