/* Sunbreak Damage Lab / EXTERNAL ONLY / v0.6.0.
   Compiled Vinext CSS is delivered separately at /__public/base-v060.css.
   This file overrides presentation only; never changes calculations or data. */
:root {
  --paper:#f5f3ed; --panel:#fffdfa; --navy:#152c3d; --navy-2:#213a4e;
  --navy-3:#2b5873; --gold:#c69b4c; --line:#e1e4e7;
  --ink:#172c3b; --ink-soft:#617487; --blue-light:#eef5fa;
  --shadow:0 10px 28px rgba(18,43,62,.065);
}
html {scroll-padding-top:82px}
body {background:#f5f4f0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic UI","Hiragino Kaku Gothic ProN",system-ui,sans-serif;line-height:1.65}
.topbar {background:#142d40;border-bottom:1px solid rgba(255,255,255,.14);min-height:70px;position:relative;z-index:2}
.brand {min-width:0}
.brand-mark {border-radius:10px;background:linear-gradient(135deg,#e6c987,#bd8a38);box-shadow:0 2px 13px rgba(0,0,0,.12);color:#173247}
.brand strong {letter-spacing:.005em;font-size:clamp(16px,1.6vw,21px);line-height:1.25}
.topbar .brand small,.topbar .version-badge,.topbar [data-build-version],.runtime-mode-panel {display:none!important}
.header-badges {gap:7px}
.data-badge {border-color:rgba(255,255,255,.17);background:rgba(255,255,255,.055);color:#dfeaf3}
.font-size-control {border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.font-size-control button.is-active {background:#d6b369;color:#162c3c}
.hero {isolation:isolate;min-height:280px;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:20px;align-items:center;overflow:hidden;
  background:linear-gradient(90deg,#172d40 0%,#1c374d 55%,#284861 100%);
  padding:44px max(4vw,calc((100vw - 1480px)/2));position:relative}
.hero::before {content:"";position:absolute;z-index:-1;inset:0 0 0 41%;
  background:linear-gradient(90deg,#172d40 0%,rgba(23,45,64,.48) 24%,rgba(23,45,64,.06) 100%),url('/__public/hero-v060.webp') right center / cover no-repeat;
  opacity:.82;pointer-events:none}
.hero::after {width:500px;height:500px;right:-180px;top:-320px;border-color:rgba(212,187,129,.2);pointer-events:none}
.hero h1 {font-size:clamp(29px,3.6vw,49px);line-height:1.2;letter-spacing:.012em;font-weight:700;max-width:850px;
  text-shadow:0 2px 10px rgba(0,0,0,.15)}
.hero h1::after {content:"装備・スキル・肉質・バフを設定して、期待ダメージを計算・比較。";
  display:block;font-family:"Noto Sans JP","Yu Gothic UI",system-ui,sans-serif;font-size:clamp(13px,1.3vw,17px);font-weight:400;
  line-height:1.8;letter-spacing:0;color:#e0e9ef;margin-top:17px;text-shadow:none}
.hero .eyebrow {color:#e2c07f;letter-spacing:.14em;font-size:11px;margin-bottom:12px}
.hero .hero-formula {background:rgba(11,30,43,.62);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:17px 13px;backdrop-filter:blur(6px)}
.hero .hero-formula span {font-size:12px;color:#ebf2f6}
.hero .hero-formula i {color:#eac17c}
.hero .compact-help summary {color:#dfeaf2;opacity:.85}
.sbdl-ad {display:flex;align-items:center;justify-content:center;min-height:88px;max-width:1380px;margin:18px auto;
  background:#f7f9fb;border:1px dashed #b5c8d8;border-radius:13px;color:#6b8094;font:13px/1.5 "Noto Sans JP",system-ui,sans-serif;text-align:center}
.sbdl-ad::before {content:"▧";color:#7891a7;font-size:18px;margin-right:12px}
.sbdl-ad small {font-size:11px;margin-top:4px;display:block;color:#8a9baa}
.sbdl-ad-side {min-height:215px;margin:20px 0 0;max-width:100%}
.sbdl-ad-bottom {min-height:95px;margin:30px auto 12px}
.tabbar {background:#fff;box-shadow:0 4px 20px rgba(34,54,67,.04);border-bottom:1px solid #e8e5df;top:0}
.tabbar button {font-size:13px;padding:15px 20px 13px;min-width:160px;color:#53677a;transition:color .15s,background .15s}
.tabbar button:hover {background:#f5f8fb;color:#17364d}
.tabbar button.is-active {border-bottom-color:#c99d50;color:#152f45;background:#fffbf5}
.workspace {max-width:1540px;padding:24px 24px 56px}
.calculator-grid {grid-template-columns:minmax(0,1.34fr) minmax(320px,.80fr);gap:21px}
.input-column,.result-column {gap:18px}
.panel,.result-card {background:#fff;border:1px solid #e4e6e8;border-radius:17px;box-shadow:var(--shadow)}
.panel {padding:22px}
.panel-heading {border-color:#e8ebed;margin-bottom:17px}
.panel-heading h2 {font-size:clamp(17px,1.6vw,20px);color:#183348}
.step-number {color:#b88a3d}
.source-chip {background:#edf4f8;color:#385a72;border:none;border-radius:22px;padding:5px 10px}
.panel-note {color:#536d81;font-size:13px}
.build-preset-panel,.myset-four-compare {position:relative;overflow:visible}
.build-preset-panel::before,.myset-four-compare::before {content:"";position:absolute;left:0;top:24px;height:32px;width:4px;border-radius:0 4px 4px 0;background:#caa157}
.build-save-row {gap:10px;align-items:center}
.build-save-row input {border:1px solid #ced9e1;background:#fff;border-radius:9px;min-height:43px}
.build-save-row .primary-button,.primary-button {background:#1b3a50;border-radius:9px;border:1px solid #1b3a50;color:white;box-shadow:none}
.build-save-row .primary-button:hover,.primary-button:hover {background:#27516f}
.empty-build-message {background:#f3f7fa;border:1px solid #e4eef4;border-radius:12px;color:#577085;padding:16px}
.build-preset-item {border:1px solid #dce5ec;border-radius:9px;background:#fff}
.myset-four-compare {margin-top:0}
.myset-result-dashboard {background:#f2f7fb;border:1px solid #c9dce9;border-radius:14px;padding:15px}
.myset-result-title h3 {color:#1d4159}
.myset-result-cards {gap:10px}
.myset-result-card {background:#fff;border:1px solid #dbe5ed;border-radius:12px;padding:15px;box-shadow:0 4px 10px rgba(14,52,79,.03)}
.myset-result-card-head strong {font-size:13px;color:#1b374b}
.myset-result-damage>span {font-size:clamp(27px,3vw,35px);color:#183e59}
.myset-compare-bar-track {height:11px;border-radius:20px;background:#e5ebf1;margin:10px 0}
.myset-compare-bar {background:linear-gradient(90deg,#cba357,#4f87a4);border-radius:20px}
.myset-best-label {background:#e6f4df;color:#366a28}
.myset-result-delta {color:#2f5c79;font-weight:700}
.myset-result-details {border-top:1px solid #e6edf2;margin-top:8px;padding-top:9px}
.myset-result-details summary {color:#355b76}
.myset-result-footnote {color:#667c8d}
.myset-compare-shared-settings {background:#f5f9fc;border:1px solid #d4e5f0;border-radius:13px}
.myset-compare-slot {background:#f8fafc;border:1px solid #e2eaf0;border-radius:11px}
.myset-compare-grid {gap:12px}
.myset-compare-run {min-height:43px;font-weight:700}
input,select,textarea {accent-color:#3774a6}
button {transition:filter .16s ease}
button:hover {filter:brightness(1.035)}
/* Floating public backup: keep keyboard focus and preserve all functionality. */
.sbdl-public-tools {right:16px;bottom:16px;max-width:min(400px,calc(100vw - 24px));border-radius:13px;
  border:1px solid #40566a;background:#132c40;box-shadow:0 14px 40px rgba(10,32,46,.28);color:#ecf3f7}
.sbdl-public-tools summary {font-size:12px}
.sbdl-public-tools button {font-size:12px}
.sbdl-public-tools input {color:#172c3b;background:#fff}
.sbdl-public-tools .status {color:#b9e4ca}
@media(min-width:1540px) {
  .workspace {max-width:1560px}
  .myset-result-cards:has(>.myset-result-card:nth-child(4)) {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1000px) {
  .header-badges .data-badge {display:none}
  .hero {grid-template-columns:1fr;min-height:230px;padding:30px 5vw}
  .hero .hero-formula {max-width:600px}
  .calculator-grid {grid-template-columns:minmax(0,1fr)}
  .result-column {position:static}
  .workspace {padding:20px 16px 40px}
}
@media(max-width:650px) {
  .topbar {min-height:62px;padding:10px 14px;gap:8px;flex-wrap:wrap}
  .brand strong {font-size:17px}
  .brand-mark {width:40px;height:40px;font-size:15px}
  .hero {padding:29px 17px;min-height:238px}
  .hero::before {inset:0 0 0 24%;opacity:.42}
  .hero h1 {font-size:29px}
  .hero h1::after {font-size:13px;margin-top:12px}
  .hero .hero-formula {gap:3px;padding:9px 4px;border-radius:10px}
  .hero .hero-formula span,.hero .hero-formula i {font-size:10px}
  .sbdl-ad {margin:13px 12px;min-height:75px;font-size:12px}
  .tabbar {justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain}
  .tabbar button {min-width:130px;flex-shrink:0;padding:13px 10px 11px;font-size:12px}
  .workspace {padding:14px 12px 30px}
  .panel {padding:15px;border-radius:13px}
  .panel-heading h2 {font-size:17px}
  .myset-result-cards,.myset-compare-grid {grid-template-columns:1fr}
  .build-save-row {flex-wrap:wrap}
  .build-save-row input,.build-save-row button {width:100%}
  .sbdl-public-tools {right:8px;bottom:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
