:root{
  --bg:#031116;--text:#f4fbff;--muted:#c9dfe8;--muted2:#91b4c3;
  --green:#25f08b;--soft-green:#8ff0b2;--cyan:#28d9ff;--orange:#f2994a;--warn:#ffc65c;
  --panel:linear-gradient(145deg,rgba(67,105,135,.64),rgba(38,75,103,.66));
  --panel-deep:linear-gradient(145deg,rgba(8,30,39,.94),rgba(5,22,30,.96));
  --line:rgba(128,198,226,.28);--line-soft:rgba(128,198,226,.15);
  --dashboard-bg-image:url('./img/bg/bg01.jpg');--dashboard-bg-opacity-pc:.20;--dashboard-bg-brightness-pc:.70;
  --shadow:0 12px 28px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--text)}
button,input,select{font:inherit}button{color:inherit}
#fit{width:100vw;height:100vh;position:relative;overflow:hidden;background:#031116}
.dashboard{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform-origin:center center;overflow:hidden;background:radial-gradient(850px 420px at 68% 16%,rgba(0,255,210,.10),transparent 62%),radial-gradient(900px 520px at 22% 68%,rgba(0,190,255,.06),transparent 65%),linear-gradient(180deg,#071b24,#041720 72%,#04151d);box-shadow:0 0 60px rgba(0,0,0,.65)}
.dashboard::before{content:"";position:absolute;inset:0;background:var(--dashboard-bg-image) center center/cover no-repeat;opacity:var(--dashboard-bg-opacity-pc);filter:brightness(var(--dashboard-bg-brightness-pc));pointer-events:none}

/* =========================================================
   EP CUBE page-side header foundation
   The shared epcube-header.css intentionally layers on top of
   these base .topbar/.brand/.datetime primitives, just like
   detail.html / economics.html and the other public pages.
   ========================================================= */
.topbar{
  position:absolute;
  left:0;right:0;top:0;
  height:78px;
  display:flex;
  align-items:center;
  padding:0 46px;
  background:linear-gradient(180deg,#24475f,#19384f);
  border-bottom:1px solid rgba(135,205,238,.28);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  z-index:300;
}
.brand{
  color:#fff;
  text-decoration:none;
  font-size:40px;
  line-height:1;
  font-weight:850;
  letter-spacing:.03em;
  text-shadow:0 0 8px rgba(255,255,255,.18);
}
.mode{
  margin-left:58px;
  color:#eefaff;
  font-size:28px;
  font-weight:750;
  letter-spacing:.08em;
}
.datetime{
  margin-left:auto;
  color:#e9fbff;
  font-size:27px;
  line-height:1.1;
  font-weight:650;
  letter-spacing:.03em;
  font-variant-numeric:tabular-nums;
}

/* Live clock visibility guard: page JS updates #datetime every second. */
html body .topbar.epcube-shared-header .datetime.epcube-header-datetime{
  display:block!important;
  visibility:visible!important;
  opacity:.96!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

.ha-status{
  position:absolute;
  right:52px;
  top:86px;
  z-index:290;
  color:#91d6e9;
  font-size:14px;
  opacity:.82;
}

.content{position:absolute;left:0;right:0;top:98px;bottom:82px;overflow-y:auto;overflow-x:hidden;padding:22px 44px 42px;z-index:3;scrollbar-color:#2fffd0 rgba(255,255,255,.08)}
.content::-webkit-scrollbar{width:12px}.content::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:10px}.content::-webkit-scrollbar-thumb{background:#2fffd0;border-radius:10px;box-shadow:0 0 10px rgba(47,255,208,.7)}
.content-inner{position:relative;min-height:3050px}
.page-kicker{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 16px}.page-kicker-left{min-width:0}.eyebrow{color:var(--soft-green);font-size:17px;font-weight:860;letter-spacing:.14em}.page-title{margin:4px 0 0;font-size:36px;line-height:1.2;font-weight:900;letter-spacing:.035em}.page-sub{max-width:980px;margin:7px 0 0;color:#c8dce5;font-size:17px;line-height:1.65;font-weight:620}.source-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:510px}.source-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border:1px solid rgba(143,240,178,.24);border-radius:999px;background:rgba(7,31,40,.64);color:#dfffee;font-size:14px;font-weight:800;white-space:nowrap}.source-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--soft-green);box-shadow:0 0 9px rgba(143,240,178,.8)}.source-pill b{font-size:16px}.source-pill.privacy::before{background:var(--cyan);box-shadow:0 0 9px rgba(40,217,255,.8)}
.card{border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),var(--shadow);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.workflow-strip{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr 40px 1fr;align-items:center;padding:15px 22px;margin-bottom:18px;background:linear-gradient(145deg,rgba(23,58,77,.86),rgba(12,39,54,.88))}.workflow-step{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;min-height:54px;color:#a8c3ce}.workflow-step>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#173b4d;color:#b7d3dc;font-size:17px;font-weight:900}.workflow-step b{font-size:17px;line-height:1.25}.workflow-step small{margin-top:3px;color:#7fa2b1;font-size:12px;font-weight:700}.workflow-step.is-active{color:#effff6}.workflow-step.is-active>span{background:var(--soft-green);color:#06271c;box-shadow:0 0 14px rgba(37,240,139,.34)}.workflow-step.is-active b{color:var(--soft-green)}.workflow-arrow{text-align:center;color:#5f8999;font-size:32px;font-weight:300}
.section-card{padding:22px 24px;margin-top:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.section-head.compact{align-items:center}.section-number{color:var(--soft-green);font-size:14px;font-weight:900;letter-spacing:.14em}.card-title{margin:4px 0 0;font-size:30px;line-height:1.25;font-weight:900;letter-spacing:.035em}.card-desc{max-width:1060px;margin:7px 0 0;color:#bdd4dd;font-size:17px;line-height:1.65;font-weight:600}.selection-summary{flex:0 0 auto;min-width:140px;text-align:center;padding:10px 14px;border:1px solid rgba(143,240,178,.22);border-radius:10px;background:rgba(3,24,33,.42)}.selection-summary strong{display:block;color:var(--soft-green);font-size:30px;line-height:1;font-weight:900}.selection-summary span{display:block;margin-top:6px;color:#aac4ce;font-size:13px;font-weight:750}
.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.preset-card{min-height:94px;display:flex;align-items:center;gap:14px;text-align:left;padding:15px 17px;border:1px solid rgba(143,210,234,.22);border-radius:9px;background:rgba(3,24,33,.46);cursor:pointer;transition:.16s ease}.preset-card:hover{border-color:rgba(143,240,178,.45);background:rgba(17,70,66,.24);transform:translateY(-1px)}.preset-card.is-active{border-color:rgba(143,240,178,.72);background:linear-gradient(120deg,rgba(37,240,139,.13),rgba(40,217,255,.06));box-shadow:0 0 0 1px rgba(143,240,178,.08),0 0 18px rgba(37,240,139,.08)}.preset-card.all{grid-column:1/-1;min-height:78px}.preset-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#13394a;color:#84f7d2;font-size:22px;font-weight:900}.preset-card b{display:block;color:#f6fbff;font-size:18px;font-weight:900}.preset-card small{display:block;margin-top:5px;color:#9dbbc7;font-size:14px;line-height:1.45;font-weight:650}
.selected-zone{margin-top:18px;padding:14px 16px;border:1px solid rgba(128,198,226,.16);border-radius:9px;background:rgba(3,24,33,.32)}.selected-zone-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.selected-zone-head b{font-size:16px}.text-btn{border:0;background:transparent;color:#9ff7c0;font-size:14px;font-weight:800;cursor:pointer}.selected-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.selected-chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid rgba(143,240,178,.24);border-radius:999px;background:rgba(11,51,56,.56);font-size:13px;font-weight:760;color:#e6fff0}.selected-chip button{width:19px;height:19px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#adc6cf;cursor:pointer;line-height:1}
.field-browser-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:22px 0 12px}.field-browser-head h3{margin:0;font-size:23px;font-weight:900}.field-browser-head p{margin:5px 0 0;color:#9ebbc6;font-size:14px;line-height:1.55}.field-search{width:420px;height:44px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid rgba(143,210,234,.25);border-radius:8px;background:rgba(2,20,28,.66)}.field-search span{font-size:20px;color:var(--cyan)}.field-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:15px}.field-search input::placeholder{color:#6d94a4}
.dataset-list{display:grid;gap:10px}.dataset-block{border:1px solid rgba(143,210,234,.19);border-radius:9px;background:rgba(3,24,33,.40);overflow:hidden}.dataset-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dataset-title{display:flex;align-items:center;gap:12px;min-width:0}.dataset-chevron{width:25px;height:25px;display:grid;place-items:center;border-radius:6px;background:rgba(143,210,234,.08);color:#9ed7e7;font-size:16px;transition:transform .16s}.dataset-block.is-open .dataset-chevron{transform:rotate(90deg)}.dataset-name{font-size:18px;font-weight:900}.dataset-meta{margin-top:3px;color:#87a9b6;font-size:13px}.dataset-badge{flex:0 0 auto;display:inline-flex;align-items:center;height:28px;padding:0 9px;border:1px solid rgba(143,240,178,.20);border-radius:999px;background:rgba(37,240,139,.06);color:#a5f9c5;font-size:12px;font-weight:850}.dataset-badge.pending{border-color:rgba(255,198,92,.20);background:rgba(255,198,92,.06);color:#ffd27e}.dataset-fields{display:none;padding:0 14px 14px}.dataset-block.is-open .dataset-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.field-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto 34px;gap:9px;align-items:center;min-height:62px;padding:9px 10px;border:1px solid rgba(128,198,226,.10);border-radius:8px;background:rgba(2,20,28,.42)}.field-row:hover{border-color:rgba(143,240,178,.22);background:rgba(8,42,45,.44)}.field-row.is-disabled{opacity:.50}.field-check{display:grid;place-items:center}.field-check input{width:18px;height:18px;accent-color:var(--green)}.field-main{min-width:0}.field-main b{display:block;font-size:15px;line-height:1.35;font-weight:850}.field-main code{display:block;margin-top:4px;color:#79a0af;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-sample{text-align:right}.field-sample b{display:block;color:#d9f9e6;font-size:14px;white-space:nowrap}.field-sample small{display:block;margin-top:3px;color:#6f94a3;font-size:10px;white-space:nowrap}.info-btn{width:32px;height:32px;border:1px solid rgba(143,240,178,.28);border-radius:50%;background:rgba(5,34,43,.68);color:#9ff7c0;font-size:16px;font-weight:900;cursor:pointer}.loading-line{height:66px;border-radius:9px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.08),rgba(255,255,255,.03));background-size:200% 100%;animation:shimmer 1.4s infinite}.loading-line.short{width:70%}@keyframes shimmer{to{background-position:-200% 0}}
.condition-status,.state-pill{flex:0 0 auto;display:inline-flex;align-items:center;height:34px;padding:0 12px;border:1px solid rgba(143,210,234,.22);border-radius:999px;background:rgba(3,24,33,.44);color:#a7c3cd;font-size:13px;font-weight:800}.state-pill.is-ok{border-color:rgba(143,240,178,.30);color:#a8f9c6;background:rgba(37,240,139,.06)}.state-pill.is-busy{border-color:rgba(40,217,255,.30);color:#a8eaff;background:rgba(40,217,255,.05)}
.condition-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:stretch}.condition-main{padding:18px;border:1px solid rgba(128,198,226,.13);border-radius:9px;background:rgba(3,24,33,.30)}.quick-range{display:flex;flex-wrap:wrap;gap:8px}.quick-range button{height:38px;padding:0 14px;border:1px solid rgba(143,210,234,.22);border-radius:999px;background:rgba(3,24,33,.52);color:#bdd4dd;font-size:14px;font-weight:800;cursor:pointer}.quick-range button:hover,.quick-range button.is-active{border-color:rgba(143,240,178,.55);color:#a9ffd0;background:rgba(37,240,139,.07)}.date-row{display:grid;grid-template-columns:1fr 36px 1fr;gap:10px;align-items:end;margin-top:16px}.date-row label span{display:block;margin:0 0 6px 2px;color:#aec8d2;font-size:14px;font-weight:800}.date-row input{width:100%;height:48px;padding:0 12px;border:1px solid rgba(143,210,234,.25);border-radius:8px;background:rgba(2,20,28,.72);color:#fff;font-size:16px;font-weight:750;color-scheme:dark}.date-separator{height:48px;display:grid;place-items:center;color:#77a1b0;font-size:22px}.interval-group{border:0;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.interval-group legend{margin:0 0 8px 2px;color:#aec8d2;font-size:14px;font-weight:800}.interval-group label{position:relative}.interval-group input{position:absolute;opacity:0}.interval-group span{display:block;padding:11px 8px;text-align:center;border:1px solid rgba(143,210,234,.20);border-radius:8px;background:rgba(3,24,33,.46);cursor:pointer}.interval-group span b{display:block;font-size:16px}.interval-group span small{display:block;margin-top:3px;color:#809fac;font-size:11px}.interval-group input:checked+span{border-color:rgba(143,240,178,.68);background:rgba(37,240,139,.09);color:#caffdd}.condition-notice{margin-top:12px;padding:11px 13px;border-left:3px solid var(--warn);border-radius:0 8px 8px 0;background:rgba(255,198,92,.08);color:#ffe0a0;font-size:14px;line-height:1.55}.estimate-panel{display:flex;flex-direction:column;justify-content:space-between;padding:19px;border:1px solid rgba(143,240,178,.19);border-radius:9px;background:linear-gradient(145deg,rgba(13,52,57,.60),rgba(4,31,40,.60))}.estimate-label{color:#b7d7df;font-size:15px;font-weight:850}.estimate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.estimate-grid div{padding:12px 8px;text-align:center;border:1px solid rgba(128,198,226,.12);border-radius:8px;background:rgba(2,20,28,.40)}.estimate-grid span{display:block;color:#85a6b3;font-size:11px}.estimate-grid b{display:block;margin-top:6px;color:#fff;font-size:20px;font-weight:900;white-space:nowrap}.primary-btn{height:52px;border:1px solid rgba(143,240,178,.56);border-radius:8px;background:linear-gradient(90deg,rgba(37,240,139,.19),rgba(40,217,255,.12));color:#b8ffd3;font-size:17px;font-weight:900;cursor:pointer}.primary-btn:hover:not(:disabled){filter:brightness(1.10);box-shadow:0 0 18px rgba(37,240,139,.12)}.primary-btn:disabled{opacity:.40;cursor:not-allowed}.primary-btn span{margin-right:7px}
.preview-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 20px;border:1px solid rgba(128,198,226,.12);border-radius:9px;background:rgba(3,24,33,.26)}.empty-mark{font-size:58px;line-height:1;color:rgba(40,217,255,.32)}.preview-empty h3{margin:15px 0 7px;font-size:23px}.preview-empty p{max-width:760px;margin:0;color:#abc6d0;font-size:15px;line-height:1.7}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:12px}.summary-grid div{padding:13px 12px;border:1px solid rgba(128,198,226,.14);border-radius:8px;background:rgba(3,24,33,.36)}.summary-grid span{display:block;color:#89aab6;font-size:12px}.summary-grid b{display:block;margin-top:6px;color:#f8fcff;font-size:18px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warning-box{margin-bottom:12px;padding:11px 13px;border-left:3px solid var(--warn);border-radius:0 8px 8px 0;background:rgba(255,198,92,.08);color:#ffe0a0;font-size:14px;line-height:1.55}.chart-shell{padding:17px 18px;border:1px solid rgba(128,198,226,.13);border-radius:9px;background:rgba(3,20,28,.40)}.chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:10px}.chart-head h3{margin:2px 0 0;font-size:23px}.mini-eyebrow{color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:.14em}.chart-select{display:flex;align-items:center;gap:9px;color:#abc5cf;font-size:13px;font-weight:800}.chart-select select{height:38px;min-width:260px;padding:0 34px 0 11px;border:1px solid rgba(143,210,234,.24);border-radius:7px;background:#0b2a38;color:#fff;font-size:14px}.chart-shell canvas{width:100%;height:320px;display:block}.table-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:18px 2px 8px}.table-head h3{margin:0;font-size:23px}.table-head p{margin:4px 0 0;color:#8fabB7;font-size:13px}.table-head>span{color:#789aa8;font-size:12px}.table-wrap{max-height:420px;overflow:auto;border:1px solid rgba(128,198,226,.13);border-radius:8px;background:rgba(3,20,28,.30);scrollbar-color:#2fffd0 rgba(255,255,255,.06)}table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th,td{padding:10px 11px;border-right:1px solid rgba(128,198,226,.08);border-bottom:1px solid rgba(128,198,226,.08);white-space:nowrap;text-align:right}th{position:sticky;top:0;z-index:3;background:#173d50;color:#dff9ef;font-size:13px;font-weight:850}th small{display:block;margin-top:3px;color:#84a7b4;font-size:10px;font-weight:650}th:first-child,td:first-child{text-align:left;position:sticky;left:0}th:first-child{z-index:4;background:#173d50}td:first-child{z-index:2;background:#0c2b38}tbody tr:hover td{background:rgba(47,255,208,.035)}tbody tr:hover td:first-child{background:#0f3341}
.download-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:center;background:linear-gradient(145deg,rgba(39,81,90,.70),rgba(17,54,69,.74))}.download-notes{margin:14px 0 0;padding:0 0 0 20px;color:#aec7d0;font-size:14px;line-height:1.65}.download-btn{height:82px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid rgba(143,240,178,.48);border-radius:10px;background:linear-gradient(90deg,rgba(37,240,139,.18),rgba(40,217,255,.11));cursor:pointer}.download-btn:disabled{opacity:.36;cursor:not-allowed}.download-btn:not(:disabled):hover{filter:brightness(1.11);box-shadow:0 0 20px rgba(37,240,139,.14)}.download-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--soft-green);color:#06271c;font-size:27px;font-weight:900}.download-btn b{display:block;font-size:18px}.download-btn small{display:block;margin-top:4px;color:#9ab8c3;font-size:12px}.catalog-note-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.secondary-btn{flex:0 0 auto;height:46px;padding:0 18px;border:1px solid rgba(143,240,178,.30);border-radius:8px;background:rgba(5,34,43,.64);color:#a9ffd0;font-size:15px;font-weight:850;cursor:pointer}
.toast{position:fixed;left:50%;bottom:92px;z-index:10000;transform:translate(-50%,16px);opacity:0;pointer-events:none;padding:11px 15px;border:1px solid rgba(143,240,178,.30);border-radius:9px;background:#0b2b38;color:#effff6;font-size:14px;font-weight:750;box-shadow:0 14px 36px rgba(0,0,0,.42);transition:.2s ease}.toast.is-show{opacity:1;transform:translate(-50%,0)}.drawer{position:absolute;inset:0;z-index:12000;pointer-events:none;visibility:hidden}.drawer.is-open{pointer-events:auto;visibility:visible}.drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(0,8,12,.72);opacity:0;transition:.2s}.drawer.is-open .drawer-backdrop{opacity:1}.drawer-sheet{position:absolute;right:0;top:0;height:100%;width:520px;overflow:auto;background:linear-gradient(180deg,#123649,#071b24 72%);border-left:1px solid rgba(143,240,178,.28);box-shadow:-24px 0 60px rgba(0,0,0,.45);transform:translateX(102%);transition:.24s ease}.drawer.is-open .drawer-sheet{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;gap:18px;padding:25px 24px 17px;border-bottom:1px solid rgba(128,198,226,.17)}.drawer-dataset{display:block;color:var(--soft-green);font-size:13px;font-weight:900;letter-spacing:.09em}.drawer-head h2{margin:5px 0 4px;font-size:27px}.drawer-head code{color:#79a0af;font-size:12px}.drawer-close{width:38px;height:38px;border:1px solid rgba(143,210,234,.22);border-radius:50%;background:rgba(3,19,27,.64);font-size:25px;cursor:pointer}.drawer-body{padding:20px 24px 30px}.sample-card{padding:15px;border:1px solid rgba(143,240,178,.22);border-radius:9px;background:rgba(37,240,139,.07)}.sample-card span{display:block;color:#9eb8c2;font-size:13px}.sample-card strong{display:block;margin:4px 0;color:var(--soft-green);font-size:32px}.sample-card small{color:#7f9eaa;font-size:12px}.drawer-description{margin:18px 2px;color:#d8edf2;font-size:15px;line-height:1.75}.meta-list{margin:0}.meta-list div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:12px 2px;border-top:1px solid rgba(128,198,226,.15)}.meta-list dt{color:#83a5b2;font-size:13px;font-weight:750}.meta-list dd{margin:0;color:#edf8fb;font-size:14px;line-height:1.6;word-break:break-word}.drawer-disclaimer{margin-top:8px;padding-top:14px;border-top:1px solid rgba(128,198,226,.15);color:#86a5b1;font-size:13px;line-height:1.65}
@media(max-width:760px){

  html body .topbar.epcube-shared-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    background:#1f1f1f!important;
    border-bottom:1px solid #303030!important;
    box-shadow:none!important;
    z-index:2000!important;
  }

  :root{--m-bg:#080808;--m-card:#1b1b1b;--m-line:#303030;--m-text:#f2f2f2;--m-muted:#929292;--m-green:#8ff0b2}
  html,body{width:100%;min-height:100%;overflow:hidden!important;background:var(--m-bg)!important;color:var(--m-text)!important}.dashboard{position:relative!important;left:auto!important;top:auto!important;width:100vw!important;height:100vh!important;transform:none!important;background:var(--m-bg)!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dashboard::-webkit-scrollbar{display:none}.dashboard::before{display:none!important}.content{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;overflow:visible!important;padding:14px 14px calc(106px + env(safe-area-inset-bottom))!important}.content-inner{min-height:0!important}
  .page-kicker{display:block;margin-bottom:12px}.eyebrow{font-size:12px}.page-title{font-size:27px}.page-sub{font-size:13px;line-height:1.6}.source-pills{justify-content:flex-start;margin-top:10px;max-width:none}.source-pill{height:29px;padding:0 9px;font-size:10px}.source-pill b{font-size:12px}.workflow-strip{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.workflow-arrow{display:none}.workflow-step{min-height:46px;grid-template-columns:28px 1fr;column-gap:7px}.workflow-step>span{width:28px;height:28px;font-size:12px}.workflow-step b{font-size:12px}.workflow-step small{font-size:8px}
  .card{border-radius:14px!important;background:var(--m-card)!important;border:1px solid #2e2e2e!important;box-shadow:none!important;backdrop-filter:none!important}.section-card{padding:15px 14px;margin-top:11px}.section-head{display:block;margin-bottom:13px}.section-number{font-size:10px}.card-title{font-size:21px}.card-desc{font-size:13px;line-height:1.6}.selection-summary{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;min-width:0}.selection-summary strong{font-size:22px}.selection-summary span{margin:0;font-size:10px}.preset-grid{grid-template-columns:1fr;gap:7px}.preset-card,.preset-card.all{grid-column:auto;min-height:68px;padding:11px 12px}.preset-icon{width:35px;height:35px;flex-basis:35px;font-size:18px}.preset-card b{font-size:15px}.preset-card small{font-size:11px}.selected-zone{margin-top:12px;padding:11px}.selected-zone-head b{font-size:13px}.text-btn{font-size:12px}.selected-chip{font-size:11px;min-height:29px}.field-browser-head{display:block;margin:17px 0 9px}.field-browser-head h3{font-size:18px}.field-browser-head p{font-size:11px}.field-search{width:100%;height:42px;margin-top:9px}.field-search input{font-size:14px}.dataset-head{padding:12px}.dataset-name{font-size:15px}.dataset-meta{font-size:10px}.dataset-badge{font-size:9px;height:24px}.dataset-block.is-open .dataset-fields{grid-template-columns:1fr;padding:0 9px 10px}.field-row{grid-template-columns:26px minmax(0,1fr) 32px;min-height:58px}.field-main b{font-size:14px}.field-main code{font-size:10px}.field-sample{display:none}.info-btn{width:30px;height:30px;font-size:14px}
  .condition-status,.state-pill{margin-top:10px;height:29px;font-size:10px}.condition-layout{display:block}.condition-main{padding:12px}.quick-range{gap:6px}.quick-range button{height:34px;padding:0 10px;font-size:11px}.date-row{grid-template-columns:1fr;gap:8px}.date-separator{display:none}.date-row label span{font-size:11px}.date-row input{height:44px;font-size:14px}.interval-group{grid-template-columns:1fr 1fr;gap:7px}.interval-group legend{font-size:11px}.interval-group span b{font-size:14px}.estimate-panel{margin-top:10px;padding:13px}.estimate-label{font-size:12px}.estimate-grid b{font-size:17px}.estimate-grid span{font-size:9px}.primary-btn{height:48px;font-size:15px}.condition-notice{font-size:11px}
  .preview-empty{min-height:230px;padding:24px 12px}.empty-mark{font-size:44px}.preview-empty h3{font-size:18px}.preview-empty p{font-size:12px}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid span{font-size:10px}.summary-grid b{font-size:15px}.warning-box{font-size:11px}.chart-shell{padding:12px}.chart-head{display:block}.chart-head h3{font-size:18px}.chart-select{margin-top:8px;display:block;font-size:10px}.chart-select select{width:100%;min-width:0;margin-top:5px;font-size:13px}.chart-shell canvas{height:240px}.table-head{display:block}.table-head h3{font-size:18px}.table-head p,.table-head>span{font-size:10px}.table-wrap{max-height:340px}table{font-size:11px}th,td{padding:8px}.download-card{display:block}.download-notes{font-size:11px}.download-btn{width:100%;height:66px;margin-top:14px}.download-btn b{font-size:15px}.catalog-note-card{display:block}.secondary-btn{width:100%;margin-top:12px;font-size:13px}.drawer{position:fixed}.drawer-sheet{width:min(92vw,480px)}.drawer-head h2{font-size:22px}.drawer-description{font-size:13px}.meta-list div{grid-template-columns:105px 1fr}.meta-list dt{font-size:11px}.meta-list dd{font-size:12px}.toast{font-size:12px;bottom:96px}
}
@media(max-width:390px){.summary-grid{grid-template-columns:1fr 1fr}.estimate-grid{grid-template-columns:1fr 1fr 1fr}.source-pill.privacy{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* =========================================================
   Category-only / step-by-step download workflow v1
   ========================================================= */
[hidden]{display:none!important}

/* Sticky workflow immediately below the shared header while .content scrolls. */
.workflow-strip{
  position:sticky!important;
  top:0!important;
  z-index:180!important;
  margin-top:0!important;
  margin-bottom:20px!important;
  border-color:rgba(143,240,178,.22)!important;
  background:linear-gradient(180deg,rgba(14,48,64,.97),rgba(8,35,49,.97))!important;
  box-shadow:0 9px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.workflow-step{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
.workflow-step:disabled{cursor:default;opacity:.62}
.workflow-step.is-current{
  color:#f3fff8!important;
  background:rgba(37,240,139,.075)!important;
  box-shadow:inset 0 -4px 0 #25f08b!important;
}
.workflow-step.is-current>span{
  background:#8ff0b2!important;
  color:#06271c!important;
  box-shadow:0 0 18px rgba(37,240,139,.44)!important;
}
.workflow-step.is-current b{color:#8ff0b2!important}
.workflow-step.is-done{color:#dff9e9!important}
.workflow-step.is-done>span{
  background:rgba(143,240,178,.18)!important;
  color:#8ff0b2!important;
  border:1px solid rgba(143,240,178,.38);
}
.workflow-step.is-done b{color:#dff9e9!important}

/* Make each section's STEP label unmistakable. */
.section-number{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 13px!important;
  border:1px solid rgba(143,240,178,.36)!important;
  border-radius:999px!important;
  background:rgba(37,240,139,.075)!important;
  color:#9ff7c0!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.10em!important;
  text-shadow:0 0 12px rgba(37,240,139,.16);
}
.card-title{margin-top:9px!important}
.section-card{scroll-margin-top:94px}

/* Category-only selection */
.category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.category-card{
  position:relative;
  min-width:0;
  border:1px solid rgba(143,210,234,.22);
  border-radius:11px;
  background:rgba(3,24,33,.46);
  overflow:hidden;
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.category-card:hover{
  border-color:rgba(143,240,178,.46);
  background:rgba(17,70,66,.23);
  transform:translateY(-1px);
}
.category-card.is-selected{
  border-color:rgba(143,240,178,.82);
  background:linear-gradient(120deg,rgba(37,240,139,.15),rgba(40,217,255,.065));
  box-shadow:0 0 0 1px rgba(143,240,178,.08),0 0 22px rgba(37,240,139,.10);
}
.category-card.category-all{grid-column:1/-1}
.category-select{
  width:100%;
  min-height:108px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:17px 72px 17px 18px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.category-all .category-select{min-height:88px}
.category-copy{min-width:0;display:block}
.category-copy b{
  display:block;
  color:#f7fcff;
  font-size:19px;
  line-height:1.25;
  font-weight:900;
}
.category-copy small{
  display:block;
  margin-top:6px;
  color:#a1bdc8;
  font-size:14px;
  line-height:1.45;
  font-weight:650;
}
.category-copy em{
  display:block;
  margin-top:6px;
  color:#79a7b7;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:800;
}
.category-help{
  position:absolute;
  right:14px;
  top:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(143,240,178,.40);
  border-radius:50%;
  background:rgba(5,34,43,.82);
  color:#9ff7c0;
  font-size:20px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
  z-index:2;
  transition:.16s ease;
}
.category-help:hover{
  background:rgba(37,240,139,.16);
  box-shadow:0 0 16px rgba(37,240,139,.20);
  transform:scale(1.05);
}
.category-selected-mark{
  position:absolute;
  right:14px;
  bottom:13px;
  display:none;
  align-items:center;
  gap:4px;
  color:#9ff7c0;
  font-size:12px;
  font-weight:900;
}
.category-card.is-selected .category-selected-mark{display:inline-flex}

.step-action-row{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(128,198,226,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.step-selection-text{
  color:#cae2ea;
  font-size:16px;
  font-weight:780;
}
.next-step-btn{
  width:auto!important;
  min-width:240px;
  padding:0 24px!important;
}
.next-step-btn>span:last-child{font-size:26px;line-height:1;margin-left:6px}

/* Step 3 is shown only once preview is requested. No empty placeholder. */
.preview-card{position:relative}
.preview-loading{
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#e7fff2;
  font-size:20px;
  font-weight:850;
  letter-spacing:.04em;
  border:1px solid rgba(143,240,178,.13);
  border-radius:10px;
  background:rgba(2,20,28,.34);
}
.chart-spinner{
  width:52px;
  height:52px;
  border:4px solid rgba(143,240,178,.14);
  border-top-color:#8ff0b2;
  border-right-color:#28d9ff;
  border-radius:50%;
  box-shadow:0 0 18px rgba(37,240,139,.16);
  animation:downloadChartSpin .82s linear infinite;
}
@keyframes downloadChartSpin{to{transform:rotate(360deg)}}

/* Time-series hover guide / translucent tooltip */
.chart-canvas-wrap{
  position:relative;
  width:100%;
  height:320px;
}
.chart-canvas-wrap canvas{
  width:100%;
  height:320px;
  display:block;
  cursor:crosshair;
}
.chart-crosshair{
  position:absolute;
  width:1px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(143,240,178,.18),rgba(143,240,178,.90),rgba(143,240,178,.18));
  box-shadow:0 0 9px rgba(143,240,178,.45);
  transform:translateX(-.5px);
  z-index:5;
}
.chart-tooltip{
  position:absolute;
  z-index:8;
  min-width:220px;
  max-width:320px;
  padding:12px 14px;
  border:1px solid rgba(143,240,178,.34);
  border-radius:10px;
  background:rgba(4,25,34,.78);
  color:#f3fbff;
  box-shadow:0 12px 28px rgba(0,0,0,.32);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  pointer-events:none;
}
.chart-tooltip-time{
  margin-bottom:5px;
  color:#9dbbc6;
  font-size:13px;
  font-weight:750;
}
.chart-tooltip-label{
  color:#e9fff2;
  font-size:15px;
  font-weight:850;
}
.chart-tooltip-value{
  margin-top:5px;
  color:#8ff0b2;
  font-size:24px;
  line-height:1.1;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.chart-tooltip-value small{font-size:13px;color:#b7d4de;font-weight:750}

/* CSV preview readability */
.table-wrap{max-height:460px!important}
#previewTable{font-size:16px!important}
#previewTable th,
#previewTable td{
  padding:12px 13px!important;
  font-size:15px!important;
  line-height:1.35!important;
}
#previewTable th{
  font-size:15px!important;
}
#previewTable th small{
  margin-top:4px!important;
  font-size:11px!important;
  line-height:1.25!important;
}
#previewTable td{
  font-size:15px!important;
  font-variant-numeric:tabular-nums;
}
.preview-next-row{
  margin-top:16px;
}
.preview-next-row>span{
  color:#9dbbc7;
  font-size:14px;
  font-weight:700;
}

/* Category detail drawer */
.drawer-category-meta{
  margin-top:6px;
  color:#89aab6;
  font-size:14px;
  font-weight:750;
}
.drawer-field-list{
  display:grid;
  gap:12px;
}
.drawer-field-card{
  padding:15px 16px;
  border:1px solid rgba(128,198,226,.16);
  border-radius:10px;
  background:rgba(3,22,30,.50);
}
.drawer-field-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.drawer-field-name{min-width:0}
.drawer-field-name b{
  display:block;
  color:#f4fbff;
  font-size:17px;
  line-height:1.35;
  font-weight:900;
}
.drawer-field-name code{
  display:block;
  margin-top:4px;
  color:#79a0af;
  font-size:11px;
  line-height:1.35;
  word-break:break-all;
}
.drawer-field-sample{
  flex:0 0 auto;
  min-width:105px;
  text-align:right;
}
.drawer-field-sample span{
  display:block;
  color:#789aa8;
  font-size:10px;
  font-weight:750;
}
.drawer-field-sample strong{
  display:inline-block;
  margin-top:2px;
  color:#8ff0b2;
  font-size:18px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
.drawer-field-sample small{
  margin-left:4px;
  color:#91afb9;
  font-size:11px;
}
.drawer-field-card>p{
  margin:11px 0 12px;
  color:#c7dce4;
  font-size:13px;
  line-height:1.65;
}
.drawer-field-card dl{
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 14px;
}
.drawer-field-card dl>div{
  min-width:0;
  padding-top:7px;
  border-top:1px solid rgba(128,198,226,.10);
}
.drawer-field-card dt{
  color:#7598a6;
  font-size:10px;
  font-weight:750;
}
.drawer-field-card dd{
  margin:3px 0 0;
  color:#e2f1f5;
  font-size:12px;
  line-height:1.45;
  word-break:break-word;
}

/* Download thank-you dialog: same interaction pattern as detail.html */
.download-thanks-overlay{
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.54);
  z-index:13000;
}
.download-thanks-overlay.show{display:flex}
.download-thanks-modal{
  width:720px;
  max-width:calc(100% - 48px);
  padding:28px 30px 26px;
  border:1px solid rgba(143,240,178,.24);
  border-radius:18px;
  background:rgba(25,35,39,.97);
  box-shadow:0 24px 74px rgba(0,0,0,.52);
}
.download-thanks-title{
  color:#f2fff7;
  font-size:26px;
  line-height:1.35;
  font-weight:950;
}
.download-thanks-text{
  margin-top:14px;
  color:#c7d9de;
  font-size:17px;
  line-height:1.75;
  font-weight:650;
}
.download-thanks-actions{
  margin-top:24px;
  display:flex;
  justify-content:flex-end;
  gap:12px;
}
.download-thanks-btn{
  min-width:150px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid rgba(143,240,178,.42);
  border-radius:999px;
  background:rgba(143,240,178,.11);
  color:#9ff7c0;
  text-decoration:none;
  font-size:15px;
  font-weight:850;
  cursor:pointer;
}
.download-thanks-btn.secondary{
  border-color:rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  color:#d6e3e7;
}

@media(max-width:760px){
  .workflow-strip{
    top:74px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    padding:5px 4px!important;
    margin:0 -18px 12px!important;
    border-radius:0!important;
  }
  .workflow-arrow{display:none!important}
  .workflow-step{
    min-height:58px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    padding:4px 2px!important;
    text-align:center!important;
  }
  .workflow-step>span{
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
    font-size:11px!important;
  }
  .workflow-step b{font-size:10px!important;line-height:1.15!important}
  .workflow-step small{display:none!important}
  .workflow-step.is-current{box-shadow:inset 0 -3px 0 #25f08b!important}

  .section-number{
    min-height:30px!important;
    padding:0 11px!important;
    font-size:15px!important;
  }
  .section-card{scroll-margin-top:146px!important}
  .category-grid{grid-template-columns:1fr!important;gap:8px!important}
  .category-card.category-all{grid-column:auto!important}
  .category-select{
    min-height:82px!important;
    padding:12px 60px 12px 12px!important;
  }
  .category-copy b{font-size:16px!important}
  .category-copy small{font-size:12px!important}
  .category-copy em{font-size:10px!important}
  .category-help{
    right:11px!important;
    top:11px!important;
    width:34px!important;
    height:34px!important;
    font-size:17px!important;
  }
  .category-selected-mark{
    right:11px!important;
    bottom:9px!important;
    font-size:10px!important;
  }
  .step-action-row{
    display:block!important;
  }
  .step-selection-text{
    font-size:13px!important;
    margin-bottom:10px!important;
  }
  .next-step-btn{
    width:100%!important;
    min-width:0!important;
  }

  .preview-loading{
    min-height:220px!important;
    font-size:15px!important;
    text-align:center!important;
  }
  .chart-spinner{width:44px!important;height:44px!important}
  .chart-canvas-wrap{height:240px!important}
  .chart-canvas-wrap canvas{height:240px!important}
  .chart-tooltip{
    min-width:170px!important;
    max-width:230px!important;
    padding:9px 10px!important;
  }
  .chart-tooltip-time{font-size:10px!important}
  .chart-tooltip-label{font-size:12px!important}
  .chart-tooltip-value{font-size:19px!important}

  #previewTable{font-size:13px!important}
  #previewTable th,#previewTable td{
    padding:10px!important;
    font-size:13px!important;
  }
  #previewTable th small{font-size:10px!important}
  .preview-next-row>span{font-size:12px!important}

  .drawer-field-head{display:block!important}
  .drawer-field-sample{
    margin-top:8px!important;
    text-align:left!important;
  }
  .drawer-field-card dl{grid-template-columns:1fr!important}
  .drawer-field-name b{font-size:15px!important}

  .download-thanks-overlay{position:fixed!important}
  .download-thanks-modal{
    width:min(92vw,560px)!important;
    max-width:none!important;
    padding:22px 20px!important;
  }
  .download-thanks-title{font-size:21px!important}
  .download-thanks-text{font-size:14px!important}
  .download-thanks-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .download-thanks-btn{min-width:0!important;font-size:13px!important}
}


/* ===== CHART READABILITY PATCH 20260916 START ===== */

/* 表示項目一式を既存EP CUBEの可読サイズへ */
.chart-select{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}

.chart-select > span{
  color:#d5e9f0!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}

.chart-select select{
  min-width:310px!important;
  height:48px!important;
  padding:0 44px 0 15px!important;

  border:1px solid rgba(135,205,238,.32)!important;
  border-radius:9px!important;

  background-color:rgba(5,31,42,.82)!important;
  color:#f4fbff!important;

  font-size:16px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

.chart-select select option{
  font-size:16px!important;
  color:#f4fbff!important;
  background:#0b2a38!important;
}

/* Canvas自体はCSSローカル座標を明確に維持 */
.chart-canvas-wrap{
  overflow:hidden!important;
}

#previewChart{
  width:100%!important;
  height:320px!important;
  display:block!important;
}

/* クロスヘアを細く鮮明に */
.chart-crosshair{
  width:1px!important;
  transform:translateX(-0.5px)!important;
  background:
    linear-gradient(
      180deg,
      rgba(143,240,178,.10),
      rgba(143,240,178,.95) 18%,
      rgba(143,240,178,.95) 82%,
      rgba(143,240,178,.10)
    )!important;
  box-shadow:0 0 5px rgba(143,240,178,.38)!important;
}

@media(max-width:760px){
  .chart-select{
    width:100%!important;
    margin-top:10px!important;
    align-items:center!important;
  }

  .chart-select > span{
    font-size:14px!important;
  }

  .chart-select select{
    flex:1 1 auto!important;
    min-width:0!important;
    height:44px!important;
    font-size:14px!important;
  }

  .chart-select select option{
    font-size:14px!important;
  }

  #previewChart{
    height:240px!important;
  }
}

/* ===== CHART READABILITY PATCH 20260916 END ===== */


/* ===== SVG CHART SHARPNESS PATCH 20260916 START ===== */

#previewChart{
  width:100%!important;
  height:320px!important;
  display:block!important;
  overflow:visible!important;

  shape-rendering:geometricPrecision;
  text-rendering:geometricPrecision;
}

#previewChart text{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

.chart-canvas-wrap{
  position:relative!important;
  height:320px!important;
  overflow:hidden!important;
}

/* 旧HTML crosshairはSVG版で置き換えたため非表示 */
#chartCrosshair{
  display:none!important;
}

/* 表示項目 */
.chart-select{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}

.chart-select > span{
  font-size:17px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#e1f1f5!important;
}

.chart-select select{
  min-width:310px!important;
  height:48px!important;
  padding:0 42px 0 16px!important;

  border:1px solid rgba(135,205,238,.34)!important;
  border-radius:9px!important;

  background-color:rgba(5,31,42,.86)!important;
  color:#f5fbff!important;

  font-size:17px!important;
  line-height:1.2!important;
  font-weight:850!important;
}

.chart-select select option{
  font-size:16px!important;
  background:#0b2a38!important;
  color:#f4fbff!important;
}

/* Tooltip */
.chart-tooltip{
  background:rgba(5,27,36,.82)!important;
  border-color:rgba(143,240,178,.42)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

@media(max-width:760px){

  #previewChart{
    height:240px!important;
  }

  .chart-canvas-wrap{
    height:240px!important;
  }

  .chart-select{
    width:100%!important;
    margin-top:10px!important;
  }

  .chart-select > span{
    font-size:14px!important;
  }

  .chart-select select{
    flex:1 1 auto!important;
    min-width:0!important;
    height:44px!important;
    font-size:14px!important;
  }
}

/* ===== SVG CHART SHARPNESS PATCH 20260916 END ===== */


/* ===== DETAIL CSV THANKS EXACT START ===== */
.today-history-contact-overlay{
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.48);
  z-index:105;
}
.today-history-contact-overlay.show{display:flex}
.today-history-contact-modal{
  width:720px;
  border-radius:18px;
  background:rgba(28,34,36,.97);
  border:1px solid rgba(143,240,178,.22);
  box-shadow:0 24px 74px rgba(0,0,0,.55);
  overflow:hidden;
  color:#f2fbff;
}
.today-history-contact-title{
  padding:34px 48px 20px;
  font-size:30px;
  font-weight:850;
  letter-spacing:.04em;
  color:#dfffee;
  text-align:center;
}
.today-history-contact-text{
  padding:0 56px 28px;
  font-size:22px;
  font-weight:650;
  line-height:1.75;
  color:rgba(255,255,255,.82);
  text-align:center;
}
.today-history-contact-actions{
  display:flex;
  justify-content:center;
  gap:18px;
  padding:0 48px 38px;
}
.today-history-contact-btn{
  min-width:200px;
  height:58px;
  border-radius:999px;
  border:2px solid rgba(143,240,178,.55);
  background:rgba(143,240,178,.09);
  color:#8ff0b2;
  font-size:19px;
  font-weight:820;
  cursor:pointer;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
.today-history-contact-btn.secondary{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.76);
}
.today-history-contact-btn:active{transform:scale(.98)}
@media (max-width:760px){
.today-history-contact-overlay{position:fixed!important}
.today-history-contact-modal{width:calc(100vw - 32px)!important;border-radius:16px!important}
.today-history-contact-title{padding:26px 24px 14px!important;font-size:23px!important}
.today-history-contact-text{padding:0 24px 22px!important;font-size:15px!important;line-height:1.7!important}
.today-history-contact-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:0 24px 26px!important}
.today-history-contact-btn{width:100%!important;height:48px!important;font-size:16px!important}
}
/* ===== DETAIL CSV THANKS EXACT END ===== */


/* ===== DOWNLOAD HELP READABILITY START ===== */

/* ? ヘルプ：全体を一段読みやすく */
.drawer-head{
  padding:24px 22px 17px!important;
}

.drawer-dataset{
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:.11em!important;
}

.drawer-head h2{
  margin-top:5px!important;
  font-size:27px!important;
  line-height:1.30!important;
}

.drawer-category-meta{
  margin-top:8px!important;
  font-size:15px!important;
  line-height:1.45!important;
}

.drawer-description{
  margin:17px 2px!important;
  font-size:16px!important;
  line-height:1.80!important;
}

.drawer-field-card{
  padding:17px 18px!important;
}

.drawer-field-name b{
  font-size:19px!important;
  line-height:1.40!important;
}

.drawer-field-name code{
  margin-top:5px!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.drawer-field-sample span{
  font-size:12px!important;
}

.drawer-field-sample strong{
  font-size:21px!important;
}

.drawer-field-sample small{
  font-size:13px!important;
}

.drawer-field-card>p{
  margin:13px 0 14px!important;
  font-size:15px!important;
  line-height:1.75!important;
}

.drawer-field-card dt{
  font-size:12px!important;
  line-height:1.4!important;
}

.drawer-field-card dd{
  margin-top:4px!important;
  font-size:14px!important;
  line-height:1.60!important;
}

.drawer-disclaimer{
  font-size:13px!important;
  line-height:1.75!important;
}

.drawer-close{
  font-size:25px!important;
}

/* EP CUBEグリーンのスクロールバー */
.drawer-sheet{
  scrollbar-width:thin!important;
  scrollbar-color:#25f08b rgba(5,28,37,.55)!important;
}

.drawer-sheet::-webkit-scrollbar{
  width:10px!important;
}

.drawer-sheet::-webkit-scrollbar-track{
  background:rgba(5,28,37,.55)!important;
  border-radius:999px!important;
}

.drawer-sheet::-webkit-scrollbar-thumb{
  background:linear-gradient(
    180deg,
    #8ff0b2,
    #25f08b
  )!important;
  border:2px solid rgba(5,28,37,.65)!important;
  border-radius:999px!important;
  box-shadow:0 0 10px rgba(37,240,139,.28)!important;
}

.drawer-sheet::-webkit-scrollbar-thumb:hover{
  background:#8ff0b2!important;
}

@media(max-width:760px){
  .drawer-head h2{
    font-size:23px!important;
  }

  .drawer-description{
    font-size:15px!important;
  }

  .drawer-field-name b{
    font-size:17px!important;
  }

  .drawer-field-card>p{
    font-size:14px!important;
  }

  .drawer-field-card dt{
    font-size:11px!important;
  }

  .drawer-field-card dd{
    font-size:13px!important;
  }

  .drawer-disclaimer{
    font-size:12px!important;
  }
}

/* ===== DOWNLOAD HELP READABILITY END ===== */


/* ===== STEP4 NOTES 20260916 START ===== */

.download-notes{
  margin-top:18px!important;
  padding-left:27px!important;
  color:#d5e6ec!important;

  font-size:17px!important;
  line-height:1.85!important;
  font-weight:650!important;
}

.download-notes li{
  margin:9px 0!important;
  padding-left:5px!important;
}

.download-notes li::marker{
  color:#8ff0b2!important;
  font-size:1.08em!important;
}

@media(max-width:760px){
  .download-notes{
    padding-left:23px!important;
    font-size:14px!important;
    line-height:1.8!important;
  }
}

/* ===== STEP4 NOTES 20260916 END ===== */


/* ===== HELP SAMPLE CLEANUP 20260916 START ===== */

.drawer-field-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:18px!important;
}

.drawer-field-name{
  min-width:0!important;
}

.drawer-field-name b{
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
}

.drawer-field-sample{
  min-width:100px!important;
  max-width:210px!important;
  text-align:right!important;
}

/* sample.display に既に単位が含まれるため重複表示しない */
.drawer-field-sample small{
  display:none!important;
}

.drawer-field-sample strong{
  display:block!important;
  max-width:210px!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

@media(max-width:760px){

  .drawer-field-head{
    display:block!important;
  }

  .drawer-field-sample{
    min-width:0!important;
    max-width:none!important;
    margin-top:10px!important;
    text-align:left!important;
  }

  .drawer-field-sample strong{
    max-width:none!important;
  }
}

/* ===== HELP SAMPLE CLEANUP 20260916 END ===== */


/* ===== MOBILE STEP HELP FIX 20260916 START ===== */

@media(max-width:760px){

  /*
   * Help drawerはdrawer-sheet自体をスクロールさせるが、
   * headerだけその先頭へsticky固定する。
   */
  .drawer-sheet{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;

    scrollbar-width:thin!important;
    scrollbar-color:#25f08b rgba(5,28,37,.55)!important;
  }

  .drawer-head{
    position:sticky!important;
    top:0!important;

    z-index:50!important;

    margin:0!important;

    background:
      linear-gradient(
        180deg,
        rgba(18,54,73,.995) 0%,
        rgba(15,48,65,.995) 100%
      )!important;

    border-bottom:
      1px solid rgba(135,205,238,.22)!important;

    box-shadow:
      0 10px 24px rgba(0,0,0,.24)!important;

    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }

  /*
   * ×ボタンはheader内に固定されたまま常時操作可能。
   */
  .drawer-close{
    position:relative!important;
    z-index:51!important;

    flex:0 0 auto!important;
  }

  /*
   * sticky headerの下をカードが自然に流れる。
   */
  .drawer-body{
    position:relative!important;
    z-index:1!important;
  }

  /*
   * Mobile scrollbarもEP CUBE Green。
   */
  .drawer-sheet::-webkit-scrollbar{
    width:8px!important;
  }

  .drawer-sheet::-webkit-scrollbar-track{
    background:rgba(5,28,37,.55)!important;
  }

  .drawer-sheet::-webkit-scrollbar-thumb{
    background:
      linear-gradient(
        180deg,
        #8ff0b2,
        #25f08b
      )!important;

    border:1px solid rgba(5,28,37,.60)!important;
    border-radius:999px!important;
  }
}

/* ===== MOBILE STEP HELP FIX 20260916 END ===== */
