@charset "UTF-8";
:root {
  --primary: #0D68FF;
  --bg: #f8fafc;
  --danger: #ef4444;
  --warning: #f97316;
  --dark: #1e293b;
  --border: #e2e8f0; }

label {
  display: block;
  font-size: 83%;
  font-weight: bold;
  margin-bottom: 0.5em; }

textarea {
  width: 100%;
  height: 200px;
  padding: 1em;
  border: 1px solid var(--border);
  border-radius: 0.5em;
  font-family: monospace;
  font-size: 83%;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  margin-bottom: 15px; }
  textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(13, 104, 255, 0.1); }

textarea[readonly] {
  background: #f1f5f9;
  color: #333; }

.options-group {
  background: #f8fafc;
  padding: 1em;
  border-radius: 0.5em;
  margin-bottom: 2em;
  border: 1px solid var(--border); }
  .options-group label {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #475569;
    font-weight: normal;
    margin-bottom: 0; }
    .options-group label br {
      display: none; }
  .options-group input[type="checkbox"] {
    border: 1px solid #333;
    display: block;
    margin-right: 0.75em;
    position: relative;
    width: 1em;
    height: 1em; }
    .options-group input[type="checkbox"]:checked::after {
      border-right: 0.25em solid var(--primary-color);
      border-bottom: 0.25em solid var(--primary-color);
      content: '';
      display: block;
      height: 1.2em;
      margin-top: -1em;
      opacity: 1;
      position: absolute;
      top: 64%;
      left: 8%;
      transform: rotate(45deg) scale(0.7);
      transition: transform .2s ease-in-out, opacity .2s ease-in-out;
      width: 0.5em; }

.btn-group {
  display: flex;
  gap: 1em;
  margin-bottom: 2em; }

.btn {
  padding: 1em 2em;
  border-radius: 0.5em;
  font-weight: bold;
  cursor: pointer;
  border: none;
  color: #fff;
  font-size: 83%; }

.btn-warning {
  background: var(--primary); }
  .btn-warning:disabled {
    background: #cbd5e1;
    cursor: not-allowed; }

.btn-clear {
  background: #EEE;
  color: #666; }
  .btn-clear:hover {
    background: #DDD; }

.result-box {
  border-top: 2px dashed var(--border);
  padding-top: 2em; }

.stats {
  margin-bottom: 1em;
  font-size: 83%;
  color: #64748b; }
  .stats strong {
    color: var(--primary);
    font-size: 180%; }

.toast-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999; }

.toast-bnr {
  background: var(--dark);
  color: #fff;
  padding: 1em 2em;
  border-radius: 1em;
  margin-bottom: 1em;
  border-left: 5px solid var(--primary);
  font-size: 83%; }

@media screen and (max-width: 480px) {
  /* 480px以下 */
  textarea {
    height: 180px; }

  .options-group label br {
    display: block; } }
