
  :root{
    --fl-bg:       #dbd8d1;
    --fl-bg-alt:   #c7c3b8;
    --fl-white:    #ffffff;
    --fl-border:   #1a1a1a;
    --fl-yellow:   #e7b923;
    --fl-yellow-dk:#cf9f12;
    --fl-text:     #1a1a1a;
    --fl-muted:    #55524a;
    --sans: Arial, Helvetica, "Liberation Sans", sans-serif;
    --mono: "Courier New", ui-monospace, Menlo, Consolas, monospace;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:var(--sans);
    color:var(--fl-text);
    font-size:14px;
    line-height:1.5;
    background:#ece8e0;
  }
  a{color:#2a5db0;}
  code{font-family:var(--mono);}

  .site{max-width:1100px;margin:34px auto 60px;padding:0 16px;}
  .card{
    display:flex;align-items:stretch;
    background:var(--fl-bg);
    border:2px solid var(--fl-border);
    box-shadow:0 8px 18px rgba(0,0,0,.25);
  }

  .rail{
    width:42px;flex-shrink:0;background:var(--fl-yellow);
    border-right:2px solid var(--fl-border);
    display:flex;align-items:center;justify-content:center;
  }
  .rail-title{
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-weight:800;letter-spacing:.09em;font-size:15px;
    white-space:nowrap;color:#171717;
  }

  .card-content{flex:1;min-width:0;padding:26px 30px 34px;}

  .intro-row{display:flex;gap:20px;margin-bottom:20px;}
  .icon-box{
    flex-shrink:0;width:104px;height:104px;
    background:#efe6d2;border:2px solid var(--fl-border);
    box-shadow:2px 2px 0 rgba(0,0,0,.28);
    display:flex;align-items:center;justify-content:center;
  }
  .icon-window{width:70px;height:52px;background:#dfe7ef;border:2px solid #23324a;position:relative;}
  .icon-window::before{content:"";position:absolute;top:0;left:0;right:0;height:13px;background:#23324a;}
  .icon-dot{position:absolute;top:3px;left:4px;width:6px;height:6px;background:#e0463f;}
  .icon-bars{position:absolute;left:8px;right:8px;bottom:7px;top:20px;display:flex;flex-direction:column;gap:4px;}
  .icon-bars span{display:block;height:5px;background:#9db2c9;}
  .icon-bars span:nth-child(2){width:70%;}
  .icon-bars span:nth-child(3){width:45%;}

  .intro-text h1{margin:0 0 8px;font-size:21px;}
  .intro-text p{margin:0 0 10px;font-size:13.5px;line-height:1.55;color:#242424;}
  .intro-text p:last-child{margin-bottom:0;}
  .intro-text code{background:#c7c7c7;border:1px solid #999;padding:1px 5px;border-radius:2px;font-size:12.5px;}

  .site-nav{display:flex;gap:16px;margin-top:12px;padding-top:10px;border-top:1px dashed #999;}
  .site-nav a{
    font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;
    color:#171717;text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;
  }
  .site-nav a:hover{border-bottom-color:var(--fl-yellow);}

  .theme-name-row{
    display:flex;align-items:center;gap:10px;
    margin:18px 0;padding:10px 14px;
    background:var(--fl-white);border:1px solid #000;
  }
  .theme-name-row label{font-weight:700;font-size:11.5px;letter-spacing:.06em;}
  .theme-name-row input[type=text]{
    flex:1;max-width:260px;font-family:var(--mono);font-size:13px;
    padding:6px 8px;border:1px solid #888;background:#fff;
  }

  .section-caption{
    text-align:center;font-size:13.5px;letter-spacing:.14em;font-weight:800;
    margin:26px 0 14px;color:#171717;
  }

  .btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:6px;}
  .btn-fl{
    font-family:var(--sans);font-weight:700;font-size:13px;
    background:var(--fl-yellow);color:#171717;
    border:2px solid #000;border-radius:5px;
    padding:9px 18px;cursor:pointer;
    box-shadow:2px 2px 0 rgba(0,0,0,.3);
    display:inline-block;
  }
  .btn-fl:hover{background:var(--fl-yellow-dk);}
  .btn-fl:active{transform:translate(2px,2px);box-shadow:none;}
  .btn-fl.btn-fl-ghost{background:#e6e6e6;}
  .btn-fl.btn-fl-ghost:hover{background:#d4d4d4;}
  input[type=file]{display:none;}

  .tabs{display:flex;gap:4px;margin:26px 0 0;padding:0 2px;}
  .tab{
    font-weight:700;font-size:12.5px;
    padding:9px 16px;background:#bdbdbd;border:2px solid #000;border-bottom:none;
    cursor:pointer;color:#3a3a3a;border-radius:5px 5px 0 0;
  }
  .tab.active{background:#ffffff;color:#000;}

  .panel{
    display:none;background:#fff;border:2px solid #000;border-top:none;
    padding:20px 22px 26px;
  }
  .panel.active{display:block;}
  .panel > .intro{font-size:13px;color:#333;margin:0 0 18px;max-width:75ch;}

  .group{margin-bottom:20px;border:1px solid #000;}
  .group:last-child{margin-bottom:4px;}
  .group h3{
    margin:0;padding:8px 12px;background:var(--fl-bg-alt);border-bottom:1px solid #000;
    font-size:12.5px;letter-spacing:.03em;font-weight:800;color:#111;
  }
  .group .group-hint{margin:0;padding:8px 12px;font-size:12px;color:#444;background:#f2f2f2;border-bottom:1px solid #000;}

  .field{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 14px;padding:10px 14px;border-top:1px solid #ddd;background:#fff;}
  .field-info{flex:1 1 220px;min-width:180px;}
  .field-info label{display:block;font-weight:700;font-size:13px;color:#111;}
  .field-info .hint{display:block;font-size:11.5px;color:#555;margin-top:3px;line-height:1.4;}
  .field-control{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;}

  .swatch-wrap{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
  .swatch{
    width:44px;height:30px;border:2px solid #000;cursor:pointer;flex-shrink:0;
    box-shadow:1px 1px 0 rgba(0,0,0,.3);
  }
  .hex-label{
    font-family:var(--mono);font-size:11.5px;font-weight:700;color:#2a2a2a;
    background:#fff;border:1px solid #999;border-radius:3px;
    padding:3px 7px;white-space:nowrap;letter-spacing:.02em;
  }
  .field-control input[type=text],
  .field-control input[type=number]{
    font-family:var(--mono);font-size:13px;padding:6px 8px;border:1px solid #888;background:#fff;width:110px;
  }
  .field-control select{
    font-family:var(--sans);font-size:13px;padding:6px 8px;border:1px solid #888;background:#fff;
  }
  .toggle{
    width:42px;height:22px;border:2px solid #000;background:#e2e2e2;
    position:relative;cursor:pointer;flex-shrink:0;border-radius:3px;
  }
  .toggle .knob{
    position:absolute;top:1px;left:1px;width:16px;height:16px;
    background:#888;transition:left .12s, background .12s;
  }
  .toggle.on{background:var(--fl-yellow);}
  .toggle.on .knob{left:22px;background:#000;}

  .preview-frame{
    margin-top:24px;border:2px solid #000;
    background:linear-gradient(135deg,#f4f0e4,#e7e2d4);
    padding:26px;display:flex;gap:24px;flex-wrap:wrap;justify-content:center;
    box-shadow:inset 0 0 30px rgba(0,0,0,.06);
  }

  .mockwin{border:2px solid #000;border-radius:3px;overflow:hidden;box-shadow:3px 3px 0 rgba(0,0,0,.3);width:260px;}
  .mockwin .titlebar{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;}
  .mockwin .titlebar .dots{display:flex;gap:5px;margin-right:6px;}
  .mockwin .titlebar .dots span{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);}
  .mockwin .body{padding:14px;font-size:12.5px;}
  .mockwin .body .row{display:flex;gap:8px;margin-bottom:10px;}
  .mockwin .fakebtn{padding:5px 12px;border-radius:3px;font-size:11.5px;display:inline-block;border:1px solid rgba(0,0,0,.25);}
  .mockwin .fakeinput{flex:1;border-radius:3px;padding:5px 8px;font-size:11.5px;border:1px solid rgba(0,0,0,.25);}

  .mockterm{border:2px solid #000;border-radius:3px;overflow:hidden;box-shadow:3px 3px 0 rgba(0,0,0,.3);width:280px;}
  .mockterm .titlebar{padding:6px 10px;font-size:11.5px;background:#3a3a3a;color:#ddd;display:flex;justify-content:space-between;}
  .mockterm .screen{padding:12px;font-size:12px;min-height:120px;font-family:var(--mono);}
  .mockterm .screen .cursor2{display:inline-block;width:7px;height:13px;vertical-align:-2px;}
  .ansi-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin-top:8px;}
  .ansi-grid div{height:16px;border-radius:2px;border:1px solid rgba(0,0,0,.2);}

  footer{
    max-width:1100px;margin:18px auto 0;padding:0 16px;
    text-align:center;font-size:12px;color:#555;font-style:italic;
  }
  footer strong{font-style:normal;}

  .overlay{
    position:fixed;inset:0;background:rgba(20,20,20,.55);
    display:none;align-items:center;justify-content:center;z-index:50;
  }
  .overlay.show{display:flex;}
  .picker{
    background:var(--fl-bg);border:2px solid #000;
    box-shadow:4px 4px 0 rgba(0,0,0,.35);
    padding:20px;width:280px;
  }
  .picker h4{margin:0 0 4px;font-size:13px;font-weight:800;color:#111;}
  .picker .picker-hint{font-size:11.5px;color:#444;margin:0 0 14px;}
  .picker canvas{display:block;margin:0 auto;cursor:crosshair;border-radius:50%;border:2px solid #000;}
  .picker .valuewrap{display:flex;align-items:center;gap:8px;margin-top:14px;}
  .picker .valuewrap label{font-size:11px;color:#444;width:52px;font-weight:700;}
  .picker input[type=range]{flex:1;}
  .picker .hexwrap{display:flex;align-items:center;gap:8px;margin-top:12px;}
  .picker .hexwrap input{
    flex:1;font-family:var(--mono);font-size:13px;padding:6px 8px;border:1px solid #888;background:#fff;
  }
  .picker .preview-chip{width:28px;height:28px;border:2px solid #000;flex-shrink:0;}
  .picker .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}

  @media (max-width: 720px){
    .site{margin:14px auto;padding:0 8px;}
    .card{flex-direction:column;box-shadow:0 6px 16px rgba(0,0,0,.25);}
    .rail{width:100%;height:32px;border-right:none;border-bottom:2px solid #000;}
    .rail-title{writing-mode:horizontal-tb;transform:none;font-size:13px;}
    .card-content{padding:16px 14px 22px;}
    .intro-row{flex-direction:column;gap:12px;}
    .icon-box{width:60px;height:60px;}
    .theme-name-row{flex-wrap:wrap;}
    .btn-row{flex-direction:column;align-items:stretch;}
    .btn-fl{text-align:center;}
    .tabs{flex-wrap:wrap;}
    .tab{flex:1 1 auto;text-align:center;}
    .field{flex-direction:column;align-items:stretch;}
    .field-control{justify-content:flex-start;}
    .preview-frame{flex-direction:column;align-items:center;padding:16px;}
    .mockterm,.mockwin{width:100%;max-width:320px;}
    .picker{width:min(280px, 90vw);}
  }
