/* 判定・計算ツールの共通部品 */
:root{--gj-ok:#17693a;--gj-ok-bg:#e8f4ec;--gj-warn:#8a5a00;--gj-warn-bg:#fdf3dc;--gj-ng:#b3261e;--gj-ng-bg:#fbe9e7;--gj-info:#3f4f58;--gj-info-bg:#eef1f3}
@media (prefers-color-scheme:dark){:root{--gj-ok:#7fd6a0;--gj-ok-bg:#16291e;--gj-warn:#f0c464;--gj-warn-bg:#2d2412;--gj-ng:#f59a92;--gj-ng-bg:#321a18;--gj-info:#bcc9d0;--gj-info-bg:#23292c}}
.gj-form{margin:.8rem 0}
.gj-form label.gj-f,.gj-f{display:block;margin:.7rem 0;font-weight:600;font-size:.9rem}
.gj-f input:not([type=checkbox]):not([type=radio]),.gj-f select{display:block;width:100%;min-height:44px;margin-top:.2rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font-weight:400;font-size:16px;line-height:1.4}
.gj-two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.gj-two .gj-f{margin:.3rem 0}
.gj-seg{display:flex;margin:.25rem 0 0;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.gj-seg label{flex:1;margin:0;font-weight:400;min-width:0}
.gj-seg input{position:absolute;opacity:0;width:1px;height:1px}
.gj-seg span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.2rem .3rem;font-size:.86rem;text-align:center;line-height:1.25;cursor:pointer}
.gj-seg label+label span{border-left:1px solid var(--line)}
.gj-seg input:checked+span{background:var(--ink);color:var(--bg);font-weight:700}
.gj-seg input:focus-visible+span{outline:2px solid var(--main);outline-offset:-2px}
.gj-c{display:flex;align-items:flex-start;gap:.5rem;margin:.35rem 0;min-height:32px;font-size:.88rem;font-weight:400}
.gj-c input{flex:0 0 22px;width:22px;height:22px;margin:.05rem 0 0}
.gj-hint{margin:.2rem 0;color:var(--muted);font-size:.78rem;font-weight:400}
.gj-box{margin:.9rem 0;padding:.3rem .8rem .5rem;border:1px solid var(--line);border-radius:4px}
.gj-box>h2,.gj-box>summary{margin:.4rem 0;padding:0;border:0;font-size:.92rem;font-weight:700;cursor:pointer}
.gj-add{display:flex;gap:.4rem;align-items:flex-end;flex-wrap:wrap}
.gj-add .gj-f{flex:1 1 8.5rem;margin:.2rem 0}
.gj-add button{min-height:44px;padding:0 .9rem;border:1px solid var(--ink);border-radius:4px;background:var(--bg);color:var(--fg);font-size:.86rem;font-weight:600;cursor:pointer}
.gj-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0;padding:0;list-style:none}
.gj-tags li{display:flex;align-items:center;gap:.2rem;padding:.1rem .1rem .1rem .55rem;border:1px solid var(--line);border-radius:14px;background:var(--soft);font-size:.8rem}
.gj-tags button{min-width:32px;min-height:32px;padding:0;border:0;background:none;color:var(--muted);font-size:1rem;cursor:pointer}
.gj-mt{width:100%;border-collapse:collapse;font-size:.86rem}
.gj-mt th,.gj-mt td{padding:.2rem .25rem;border-bottom:1px solid var(--line);white-space:nowrap}
.gj-mt input{width:100%;min-height:40px;padding:.2rem .4rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font-size:16px;text-align:right}
.gj-mt tr.gj-bad td:first-child{color:var(--gj-ng);font-weight:700}
.gj-report{display:contents}
.gj-verdict{position:sticky;bottom:0;z-index:4;margin:.9rem 0 .6rem;padding:.75rem .9rem;border-left:6px solid var(--gj-info);background:var(--gj-info-bg)}
.gj-verdict b{display:block;font-size:1.22rem;line-height:1.45;color:var(--gj-info)}
.gj-verdict p{margin:.25rem 0 0;font-size:.88rem;line-height:1.6}
.gj-v-ok{border-color:var(--gj-ok);background:var(--gj-ok-bg)}.gj-v-ok b{color:var(--gj-ok)}
.gj-v-warn{border-color:var(--gj-warn);background:var(--gj-warn-bg)}.gj-v-warn b{color:var(--gj-warn)}
.gj-v-ng{border-color:var(--gj-ng);background:var(--gj-ng-bg)}.gj-v-ng b{color:var(--gj-ng)}
.gj-items{margin:.6rem 0;padding:0;list-style:none}
.gj-items li{margin:0;padding:.55rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.gj-items b{display:block;font-size:.95rem;line-height:1.5}
.gj-tag{display:inline-block;margin-right:.4rem;padding:0 .4rem;border-radius:3px;font-size:.74rem;font-weight:700;vertical-align:.08em;color:#fff;background:var(--gj-info)}
.gj-t-ok{background:#17693a}.gj-t-warn{background:#8a5a00}.gj-t-ng{background:#b3261e}.gj-t-info{background:#3f4f58}
.gj-items p{margin:.2rem 0 0;font-size:.86rem;line-height:1.65}
.gj-items .gj-basis{color:var(--muted);font-size:.76rem}
.gj-table{overflow-x:auto;margin:.7rem 0}
.gj-table table{font-size:.82rem}
.gj-table td,.gj-table th{white-space:normal}
.gj-table caption{margin:.2rem 0;font-size:.82rem;font-weight:700;text-align:left}
.gj-table .gj-n{text-align:right;white-space:nowrap}
.gj-table tr.gj-row-ng td{background:var(--gj-ng-bg)}
.gj-table tr.gj-row-next td{background:var(--gj-warn-bg);font-weight:700}
.gj-src{margin:.8rem 0;font-size:.76rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.gj-src ul{margin:.1rem 0;padding-left:1.1rem}
.gj-src a{color:inherit}
.gj-print-only{display:none}
.gj-acts{display:flex;gap:.4rem;margin:1rem -.2rem;padding:.5rem .2rem;background:var(--bg);border-top:1px solid var(--line)}
.gj-acts button{flex:1;min-height:46px;padding:0 .3rem;border:1px solid var(--ink);border-radius:4px;background:var(--bg);color:var(--fg);font-weight:600;font-size:.86rem;cursor:pointer}
.gj-acts .gj-primary{border-color:var(--cta);background:var(--cta);color:var(--cta-fg)}
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#fff!important}
  body *{visibility:hidden}
  .gj-report,.gj-report *{visibility:visible}
  .gj-report{display:block;position:absolute;left:0;top:0;width:100%;margin:0;padding:0;color:#111;font-size:9.5pt;line-height:1.4}
  .gj-report details{display:block}
  .gj-print-only{display:block}
  .gj-print-only h2{margin:0 0 .2em;padding:0;border:0;color:#111;font-size:13pt}
  .gj-print-only p{margin:0;font-size:8.5pt}
  .gj-print-only table{margin:.3em 0;width:100%;border-collapse:collapse;font-size:8.5pt}
  .gj-print-only th,.gj-print-only td{padding:.1em .3em;border:1px solid #666;color:#111;white-space:normal}
  .gj-print-only th{width:32%;background:#eee!important;font-weight:700}
  .gj-verdict{position:static;margin:.3em 0;padding:.3em .5em;border:1.5px solid #111;border-left:5px solid #111;background:#fff!important}
  .gj-verdict b{color:#111!important;font-size:12pt}
  .gj-verdict p{margin:.1em 0 0;font-size:9pt;color:#111;line-height:1.35}
  .gj-items{margin:.2em 0}
  .gj-items li{padding:.2em 0;border-color:#999;break-inside:avoid}
  .gj-items b{font-size:9.5pt;color:#111;line-height:1.3}
  .gj-items p{margin:0;font-size:8.5pt;line-height:1.3;color:#111}
  .gj-items .gj-basis{color:#333;font-size:7.5pt}
  .gj-tag{padding:0;border:0;background:none!important;color:#111!important;font-size:8.5pt}
  .gj-tag::before{content:"["}.gj-tag::after{content:"]"}
  .gj-table{margin:.3em 0;overflow:visible}
  .gj-table table{width:100%;font-size:8pt}
  .gj-table td,.gj-table th{padding:.03em .3em;border:1px solid #777;color:#111;background:#fff!important;line-height:1.15}
  .gj-table tr.gj-row-next td{font-weight:700}
  .gj-src{margin:.3em 0 0;font-size:7pt;color:#222;line-height:1.25}
  .gj-src a{text-decoration:none}
  .top,.nav,.foot,.crumb,.pr,.gj-form,.gj-acts,.gj-noprint,.cta,.author,.share,.list{display:none!important}
}
[hidden]{display:none!important}
