/* === pakapaka GPB RTDN デコーダー ツールUI (gpb-rtdn-decoder) === */
.gpb-tool{max-width:720px;margin:1.4em 0;padding:18px;border-radius:10px;background:#f6f9fd;border:1px solid #cfd8e6;}
.gpb-tool .gpb-label{font-weight:bold;margin:0 0 6px;}
.gpb-tool .gpb-input{width:100%;box-sizing:border-box;font-family:monospace;font-size:.9em;padding:10px;border:1px solid #aab;border-radius:6px;min-height:110px;resize:vertical;word-break:break-all;background:#fff;}
.gpb-tool .gpb-input:focus{outline:none;border-color:#2f6fd0;box-shadow:0 0 0 3px rgba(47,111,208,.15);}
.gpb-tool .gpb-actions{margin:8px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.gpb-tool .gpb-btn{background:#234e8b;color:#fff;border:0;border-radius:5px;padding:8px 14px;cursor:pointer;font-size:.9em;}
.gpb-tool .gpb-btn:hover{filter:brightness(1.08);}
.gpb-tool .gpb-btn--sub{background:#eef;color:#234e8b;border:1px solid #99c;}
.gpb-tool .gpb-detect{font-size:.85em;font-weight:bold;}
.gpb-tool .gpb-detect.ok{color:#0a7a3a;}
.gpb-tool .gpb-detect.ng{color:#c00;}

.gpb-out{margin-top:4px;}
.gpb-summary{margin:10px 0;padding:14px 16px;border-radius:8px;background:#eef5ff;border:1px solid #cfe0f5;}
.gpb-summary-kind{font-size:.85em;font-weight:700;color:#4a6285;margin-bottom:6px;}
.gpb-summary-type{font-size:1.02em;color:#1c2c44;line-height:1.7;}

.gpb-sec{margin:12px 0;border:1px solid #e3e9f2;border-radius:8px;overflow:hidden;}
.gpb-sec-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#eef3fa;font-weight:700;color:#1c4f9c;}
.gpb-sec-head .gpb-copy{background:#fff;border:1px solid #99c;border-radius:4px;padding:3px 10px;cursor:pointer;font-size:.8em;font-weight:normal;color:#234e8b;flex:none;}
.gpb-pre{margin:0;padding:12px;font-family:monospace;font-size:.9em;line-height:1.6;white-space:pre-wrap;word-break:break-all;background:#fff;color:#223;}

.gpb-table{width:100%;border-collapse:collapse;font-size:.9em;background:#fff;}
.gpb-table th,.gpb-table td{padding:8px 10px;border-bottom:1px solid #e3e9f2;text-align:left;vertical-align:top;}
.gpb-table th{background:#f3f7fc;white-space:nowrap;color:#33445a;width:11em;}
.gpb-table td{font-family:monospace;color:#223;word-break:break-all;}
.gpb-table .gpb-copy{background:#eef;border:1px solid #99c;border-radius:4px;padding:2px 8px;cursor:pointer;font-size:.82em;color:#234e8b;font-family:inherit;}

.gpb-badge{display:inline-block;padding:.1em .6em;border-radius:999px;font-size:.85em;font-weight:700;background:#dceafe;color:#1c4f9c;}
.gpb-badge--ng{background:#fde4e4;color:#c0392b;}

.gpb-err{color:#c00;margin:6px 0 0;font-size:.9em;}
.gpb-note{margin:8px 0 0;font-size:.82em;color:#777;}
