/* ============================================================
   IconToGo · Design System (Soba-style)  © 2026 CCC Studio
   ============================================================ */
:root{
  --font-sans:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display',system-ui,'Segoe UI',sans-serif;
  --font-mono:'SF Mono',ui-monospace,Menlo,Consolas,monospace;
  --accent:#99FF00; --accent-dim:#8BE800; --accent-tint:rgba(153,255,0,.22);
  --bg:#F6F6F6; --surface:rgba(255,255,255,.66); --bg-subtle:rgba(0,0,0,.05);
  --text:#000000; --text-2:#5c5c5c; --text-3:#9a9a9a;
  --border:rgba(0,0,0,.08); --border-strong:rgba(0,0,0,.20);
  --shadow:0 18px 50px rgba(0,0,0,.07);
  --shadow-lg:0 10px 40px rgba(0,0,0,.14);
  --r:7px; --r-lg:12px;
  --bg-blur:rgba(246,246,246,.86);
  --ok:#1a7f37; --warn:#9a6700; --danger:#cf222e;
}
[data-theme="dark"]{
  --accent:#99FF00; --accent-dim:#A8FF26; --accent-tint:rgba(153,255,0,.14);
  --bg:#0F0F0F; --surface:rgba(30,30,30,.62); --bg-subtle:rgba(255,255,255,.06);
  --text:#F2F2F2; --text-2:#A3A3A3; --text-3:#6E6E6E;
  --border:rgba(255,255,255,.10); --border-strong:rgba(255,255,255,.24);
  --shadow:0 18px 50px rgba(0,0,0,.4);
  --shadow-lg:0 10px 40px rgba(0,0,0,.6);
  --bg-blur:rgba(15,15,15,.88);
  --ok:#3fb950; --warn:#d29922; --danger:#f85149;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-sans);font-size:14px;background:var(--bg);color:var(--text);min-height:100vh;transition:background .25s,color .25s}
button{font-family:inherit;cursor:pointer}
a{color:inherit}
svg.i{width:1.1em;height:1.1em;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.17em}

body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(120% 85% at 50% -10%, #ffffff 0%, rgba(255,255,255,0) 58%),
  radial-gradient(85% 65% at 10% 112%, rgba(186,190,197,.55) 0%, rgba(186,190,197,0) 62%),
  radial-gradient(85% 65% at 92% 105%, rgba(211,208,200,.6) 0%, rgba(211,208,200,0) 62%),
  linear-gradient(180deg,#F8F8F8 0%,#EAEAEA 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
  background-size:160px 160px}
[data-theme="dark"] body::before{background:
  radial-gradient(120% 85% at 50% -10%, rgba(255,255,255,.07) 0%, transparent 58%),
  radial-gradient(85% 65% at 10% 112%, rgba(110,120,140,.16) 0%, transparent 62%),
  radial-gradient(85% 65% at 92% 105%, rgba(90,95,90,.14) 0%, transparent 62%),
  linear-gradient(180deg,#141414 0%,#0A0A0A 100%)}

header.site{position:sticky;top:0;z-index:50;background:var(--bg-blur);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1120px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;gap:20px}
.logo{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--text);text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:8px}
.logo-badge{display:inline-flex;align-items:center;justify-content:center;height:21px;padding:0 7px;border-radius:6px;background:var(--accent);color:#000;font-size:10.5px;font-weight:700;letter-spacing:.03em}
nav.site-nav{display:flex;gap:2px;flex:1;overflow:hidden}
nav.site-nav a{color:var(--text-2);text-decoration:none;font-size:13px;font-weight:500;padding:6px 10px;border-radius:var(--r);transition:.15s;white-space:nowrap}
nav.site-nav a:hover,nav.site-nav a.on{color:var(--text);background:var(--bg-subtle)}
.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.icon-btn{min-width:32px;height:32px;padding:0 8px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:.15s}
.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}
@media(max-width:900px){nav.site-nav{display:none}}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.hero{text-align:center;padding:56px 0 8px}
.hero.compact{padding:40px 0 4px}
.hero .kicker{font-size:12px;font-weight:500;color:var(--text-3);letter-spacing:.02em;margin-bottom:16px;display:block}
.hero h1{font-size:clamp(26px,4vw,38px);font-weight:600;letter-spacing:-.8px;line-height:1.18}
.hero h1 em{font-style:normal;background:var(--accent);color:#000;padding:1px 8px;border-radius:6px}
.hero .sub{margin:16px auto 0;max-width:620px;color:var(--text-2);font-size:15px;line-height:1.65}
.trust-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px 0 0}
.trust{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-2)}
.trust strong{color:var(--text)}

.dropzone{margin:28px auto 0;max-width:720px;border:1.5px dashed var(--border-strong);border-radius:16px;background:var(--surface);backdrop-filter:blur(12px);padding:36px 24px;text-align:center;cursor:pointer;transition:.2s}
.dropzone:hover,.dropzone.drag{border-color:#000;background:rgba(153,255,0,.12);box-shadow:var(--shadow)}
[data-theme="dark"] .dropzone:hover,[data-theme="dark"] .dropzone.drag{border-color:var(--accent)}
.dropzone .dz-icon{font-size:28px;margin-bottom:10px;opacity:.85}
.dropzone h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin-bottom:6px}
.dropzone p{color:var(--text-2);font-size:13px}
.dz-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;transition:.15s}
.btn:hover{border-color:var(--border-strong)}
.btn.primary{background:var(--accent);border-color:transparent;color:#000}
.btn.primary:hover{background:var(--accent-dim)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.privacy-line{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px 0 0;color:var(--text-2);font-size:12.5px;font-weight:500}
.formats{text-align:center;margin:8px 0 0;color:var(--text-3);font-size:12px}

.panel{display:none;margin:28px auto 0;max-width:860px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:22px}
.panel.show{display:block}
.panel-top{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.preview-box{width:96px;height:96px;border-radius:14px;border:1px solid var(--border);background:
  linear-gradient(45deg,#ddd 25%,transparent 25%),
  linear-gradient(-45deg,#ddd 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#ddd 75%),
  linear-gradient(-45deg,transparent 75%,#ddd 75%);
  background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;display:flex;align-items:center;justify-content:center;overflow:hidden}
[data-theme="dark"] .preview-box{background:
  linear-gradient(45deg,#333 25%,transparent 25%),
  linear-gradient(-45deg,#333 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#333 75%),
  linear-gradient(-45deg,transparent 75%,#333 75%);
  background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}
.preview-box img{max-width:100%;max-height:100%;display:block}
.meta{flex:1;min-width:200px}
.meta h3{font-size:16px;font-weight:600;margin-bottom:4px;word-break:break-all}
.meta p{color:var(--text-2);font-size:13px;line-height:1.5}
.size-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.size-grid label{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg-subtle);font-size:12.5px;font-weight:600;cursor:pointer;user-select:none}
.size-grid input{accent-color:#6abf00}
.opts{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.opts label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);font-weight:500}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.status{margin-top:12px;font-size:12.5px;color:var(--text-2);min-height:1.2em}
.status.err{color:var(--danger)}
.status.ok{color:var(--ok)}

.snippet-wrap{margin-top:18px}
.snippet-wrap h4{font-size:13px;font-weight:600;margin-bottom:8px}
.snippet{width:100%;min-height:110px;resize:vertical;font-family:var(--font-mono);font-size:12px;line-height:1.5;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pv{text-align:center}
.pv canvas,.pv img{width:48px;height:48px;image-rendering:pixelated;border-radius:8px;border:1px solid var(--border);background:#fff}
.pv span{display:block;margin-top:4px;font-size:11px;color:var(--text-3)}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:48px 0 8px}
@media(max-width:900px){.features{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.features{grid-template-columns:1fr}}
.feature{padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.feature h3{font-size:14px;font-weight:600;margin:8px 0 6px}
.feature p{font-size:13px;color:var(--text-2);line-height:1.55}
.f-icon{width:28px;height:28px;border-radius:8px;background:var(--accent);color:#000;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}

.section-title{margin:48px 0 14px;font-size:18px;font-weight:600;letter-spacing:-.3px;text-align:center}
.faq{max-width:760px;margin:0 auto 24px}
.faq details{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;font-size:14px}
.faq details p{margin-top:10px;color:var(--text-2);font-size:13.5px;line-height:1.65}
.prose{max-width:720px;margin:24px auto 40px;color:var(--text-2);font-size:14px;line-height:1.7}
.prose h1{color:var(--text);font-size:28px;margin-bottom:12px}
.prose h2{color:var(--text);font-size:18px;margin:28px 0 10px}
.prose a{color:var(--text);font-weight:600;text-decoration:none;border-bottom:2px solid var(--accent)}

footer.site{margin-top:64px;padding:28px 24px 40px;border-top:1px solid var(--border);text-align:center}
.f-links{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;margin-bottom:12px}
.f-links a{color:var(--text-2);text-decoration:none;font-size:12.5px;font-weight:500}
.f-links a:hover{color:var(--text)}
.f-note{color:var(--text-3);font-size:12px;line-height:1.5}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#111;color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.2s;z-index:100}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
[data-theme="dark"] .toast{background:#eee;color:#111}
