[hidden]{display:none!important}
.tw{overflow-x:auto}
.comp-form>*{min-width:0}
.comp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.comp-form label{display:block;font-weight:900;font-size:14px}
.comp-form input,.comp-form select{display:block;width:100%;margin-top:4px;font:inherit;font-size:18px;padding:8px 10px;border:3px solid var(--ink);background:#fff;border-radius:0}
.comp-form .wide{grid-column:1/-1}
.comp-form button{grid-column:1/-1;font:inherit;font-size:20px;font-weight:900;padding:10px 14px;border:3px solid var(--ink);background:var(--red);color:#fff;box-shadow:5px 5px 0 var(--ink);cursor:pointer}
.comp-form button:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.comp-form small{display:block;font-weight:400;font-size:12px;margin-top:3px}
#msg{color:var(--red);font-weight:900;min-height:1.4em;margin:0}
.comp-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.comp-out>div{border:3px solid var(--ink);padding:8px 10px;background:#fff}
.comp-out>div:first-child{grid-column:1/-1;background:var(--yel);box-shadow:5px 5px 0 var(--ink)}
.comp-out b{display:block;font-size:13px}
.comp-out span{display:block;font-size:28px;line-height:1.15;font-family:"Dela Gothic One","Hiragino Kaku Gothic ProN",sans-serif}
.comp-out>div:first-child span{font-size:40px}
.comp-out p{margin:4px 0 0;font-size:14px;font-weight:700}
table.stat{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px}
table.stat th,table.stat td{border:3px solid var(--ink);padding:5px 8px;text-align:right}
table.stat th:first-child,table.stat td:first-child{text-align:left}
table.stat thead th{background:var(--ink);color:#fff}
.src{border:3px solid var(--ink);padding:10px 12px;margin:14px 0;background:#fff}
.src h3{margin:0 0 4px;font-size:16px;line-height:1.35}
.src .meta{font-size:12px;margin:0 0 8px}
.src blockquote{margin:8px 0;padding:6px 10px;border-left:6px solid var(--yel);background:#fffbe0;font-size:14px}
.src blockquote+blockquote{margin-top:6px}
.qlist{list-style:none;margin:12px 0;padding:0;display:grid;gap:10px}
.qlist a{display:block;border:3px solid var(--ink);padding:10px 12px;font-weight:900;text-decoration:none;background:#fff;box-shadow:4px 4px 0 var(--ink)}
.qlist a:hover{background:var(--yel)}
.ans p{font-size:17px;line-height:1.7}
@media(min-width:640px){.comp-form{grid-template-columns:repeat(3,minmax(0,1fr))}.comp-out{grid-template-columns:repeat(3,minmax(0,1fr))}}
