/* 電卓dn 1.0.0 | GPL-2.0-or-later. All selectors are scoped to this plugin. */
.calculator-dn {
  --cdn-bg:#ffffff; --cdn-ink:#153b3a; --cdn-muted:#566f6d; --cdn-line:#dbe7e4;
  --cdn-panel:#eef6f3; --cdn-key:#f2f6f4; --cdn-hover:#e2ede8; --cdn-accent:#176c56;
  --cdn-op:#dcefe5; --cdn-danger:#a12e35; --cdn-clear:#fbebea;
  box-sizing:border-box; width:100%; max-width:440px; margin:24px auto; padding:24px;
  background:var(--cdn-bg); color:var(--cdn-ink); border:1px solid var(--cdn-line);
  border-radius:24px; box-shadow:0 16px 44px rgba(25,65,50,.08);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
  font-size:15px; line-height:1.6; text-align:left; color-scheme:light;
}
.calculator-dn[data-theme="dark"] {
  --cdn-bg:#162925; --cdn-ink:#edf8f2; --cdn-muted:#b2ccc1; --cdn-line:#3b5147;
  --cdn-panel:#0f201b; --cdn-key:#263b32; --cdn-hover:#354e42; --cdn-accent:#176c56;
  --cdn-op:#315044; --cdn-danger:#ffb5b7; --cdn-clear:#4a3031; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
  .calculator-dn[data-theme="auto"] {
    --cdn-bg:#162925; --cdn-ink:#edf8f2; --cdn-muted:#b2ccc1; --cdn-line:#3b5147;
    --cdn-panel:#0f201b; --cdn-key:#263b32; --cdn-hover:#354e42; --cdn-accent:#176c56;
    --cdn-op:#315044; --cdn-danger:#ffb5b7; --cdn-clear:#4a3031; color-scheme:dark;
  }
}
.calculator-dn *, .calculator-dn *::before, .calculator-dn *::after {box-sizing:border-box;}
.calculator-dn [hidden] {display:none !important;}
.calculator-dn .calculator-dn__header {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px;}
.calculator-dn .calculator-dn__eyebrow {display:block; font-size:10px; font-weight:700; letter-spacing:.14em; color:var(--cdn-muted);}
.calculator-dn h2 {margin:3px 0 0; padding:0; font-size:24px; font-weight:700; line-height:1.35; letter-spacing:0; color:var(--cdn-ink); overflow-wrap:anywhere; border:0; background:none;}
.calculator-dn h2::before, .calculator-dn h2::after {display:none;}
.calculator-dn .calculator-dn__badge {display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border:1px solid var(--cdn-line); border-radius:50%; font-weight:700; font-size:14px; color:var(--cdn-muted);}
.calculator-dn .calculator-dn__display {padding:16px; background:var(--cdn-panel); border:1px solid var(--cdn-line); border-radius:16px;}
.calculator-dn .calculator-dn__display label {display:block; color:var(--cdn-muted); font-size:11px; font-weight:600; margin:0 0 4px;}
.calculator-dn input.calculator-dn__input {display:block; width:100%; max-width:none; min-width:0; min-height:44px; margin:0; padding:8px 0; border:0; border-bottom:1px solid var(--cdn-line); border-radius:0; background:transparent; color:var(--cdn-ink); box-shadow:none; font-family:inherit; font-size:18px; line-height:1.5; text-align:right; letter-spacing:0;}
.calculator-dn input.calculator-dn__input::placeholder {font-size:14px; color:var(--cdn-muted); opacity:1;}
.calculator-dn .calculator-dn__result-row {display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-top:12px;}
.calculator-dn .calculator-dn__result-row>span {flex-shrink:0; color:var(--cdn-muted); font-size:11px;}
.calculator-dn .calculator-dn__result {display:block; min-width:0; font-family:inherit; font-size:32px; font-variant-numeric:tabular-nums; font-weight:650; line-height:1.3; text-align:right; overflow-wrap:anywhere; color:var(--cdn-ink);}
.calculator-dn .calculator-dn__status {min-height:36px; padding-top:8px; font-size:11px; line-height:1.5; color:var(--cdn-muted); overflow-wrap:anywhere;}
.calculator-dn.calculator-dn--error .calculator-dn__status {color:var(--cdn-danger);}
.calculator-dn button {appearance:none; -webkit-appearance:none; display:block; margin:0; padding:10px 4px; width:auto; min-width:0; max-width:none; min-height:44px; border:0; border-radius:10px; background:var(--cdn-key); color:var(--cdn-ink); box-shadow:none; font:inherit; font-weight:600; line-height:1.2; text-align:center; text-transform:none; letter-spacing:0; text-decoration:none; cursor:pointer; touch-action:manipulation; transition:background .12s, transform .12s;}
.calculator-dn button:hover:not(:disabled) {background:var(--cdn-hover); color:var(--cdn-ink);}
.calculator-dn button:active:not(:disabled) {transform:translateY(1px);}
.calculator-dn button:disabled {opacity:.45; cursor:default;}
.calculator-dn button:focus-visible, .calculator-dn input:focus-visible, .calculator-dn summary:focus-visible {outline:3px solid #458fdb; outline-offset:3px; box-shadow:none;}
.calculator-dn .calculator-dn__memory, .calculator-dn .calculator-dn__keys, .calculator-dn .calculator-dn__extras {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;}
.calculator-dn .calculator-dn__memory {margin-top:12px; gap:6px;}
.calculator-dn .calculator-dn__memory button {background:transparent; border:1px solid var(--cdn-line); font-size:12px;}
.calculator-dn .calculator-dn__memory-value {margin:5px 0 10px; color:var(--cdn-muted); font-size:11px; text-align:right; overflow-wrap:anywhere;}
.calculator-dn button.calculator-dn__key {min-height:54px; font-size:21px; font-variant-numeric:tabular-nums;}
.calculator-dn button.calculator-dn__key--operator {background:var(--cdn-op);}
.calculator-dn button.calculator-dn__key--utility {font-size:18px;}
.calculator-dn button.calculator-dn__key--clear {background:var(--cdn-clear); color:var(--cdn-danger); font-size:16px;}
.calculator-dn button.calculator-dn__key--equals {background:var(--cdn-accent); color:#fff;}
.calculator-dn button.calculator-dn__key--equals:hover {background:#115441; color:#fff;}
.calculator-dn .calculator-dn__extras {margin:8px 0 12px;}
.calculator-dn .calculator-dn__extras button {font-size:17px; color:var(--cdn-muted);}
.calculator-dn button.calculator-dn__copy {width:100%; border:1px solid var(--cdn-line); background:transparent; font-size:13px;}
.calculator-dn .calculator-dn__hint {margin:12px 0 0; padding:0; color:var(--cdn-muted); font-size:11px; line-height:1.8;}
.calculator-dn .calculator-dn__history {margin-top:18px; padding-top:16px; border-top:1px solid var(--cdn-line);}
.calculator-dn summary {cursor:pointer; min-height:32px; font-size:13px; font-weight:600; color:var(--cdn-ink);}
.calculator-dn .calculator-dn__count {margin-left:5px; border-radius:12px; background:var(--cdn-panel); padding:2px 7px; font-size:11px;}
.calculator-dn .calculator-dn__history-note, .calculator-dn .calculator-dn__empty {margin:8px 0; padding:0; color:var(--cdn-muted); font-size:11px;}
.calculator-dn .calculator-dn__history-list {margin:8px 0; padding:0; list-style:none; max-height:280px; overflow-y:auto;}
.calculator-dn .calculator-dn__history-list li {margin:0 0 6px; padding:0; list-style:none;}
.calculator-dn .calculator-dn__history-list button {width:100%; padding:12px; font-size:12px; text-align:left; font-weight:400;}
.calculator-dn .calculator-dn__history-list span, .calculator-dn .calculator-dn__history-list strong {display:block; overflow-wrap:anywhere;}
.calculator-dn .calculator-dn__history-list strong {margin-top:4px; text-align:right; font-size:16px;}
.calculator-dn button.calculator-dn__history-clear {width:100%; background:transparent; font-size:12px; color:var(--cdn-muted);}
.calculator-dn-admin .calculator-dn-admin__layout {display:grid; grid-template-columns:minmax(300px,440px) minmax(280px,560px); gap:32px; align-items:start;}
.calculator-dn-admin .calculator-dn-admin__guide {margin-top:24px; background:#fff; padding:24px; border:1px solid #dbe7e4; border-radius:16px;}
.calculator-dn-admin .calculator-dn-admin__guide code {overflow-wrap:anywhere;}
@media(max-width:900px) {.calculator-dn-admin .calculator-dn-admin__layout {grid-template-columns:1fr; gap:0;}}
@media(max-width:380px) {
  .calculator-dn {padding:16px; border-radius:18px;}
  .calculator-dn .calculator-dn__keys, .calculator-dn .calculator-dn__extras {gap:6px;}
  .calculator-dn .calculator-dn__result {font-size:27px;}
}
@media(prefers-reduced-motion:reduce) {.calculator-dn button {transition:none;}}
