
:root{
  --bg:#0b1020;
  --card:#111831;
  --muted:#9fb3c8;
  --text:#eaf2ff;
  --accent:#6aa9ff;
  --accent-2:#86efac;
  --border:rgba(255,255,255,.10);
  --shadow:0 8px 32px rgba(0,0,0,.35);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#0b1020,#0e1730 60%);color:var(--text);font-family:Inter,'Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.app-root{min-height:100svh;display:flex}
/* Sidebar */
.sidebar{background:rgba(11,16,32,.6);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:16px;transition:width .25s ease;position:sticky;top:0;height:100svh}
.sidebar .brand{display:flex;align-items:center;gap:8px;color:#8ab8ff;font-weight:800}
.sidebar .nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.nav button{display:flex;gap:10px;align-items:center;background:transparent;color:var(--text);border:1px solid transparent;padding:10px 12px;border-radius:12px;cursor:pointer}
.nav button.active{color:#8ab8ff;background:rgba(255,255,255,.05);border-color:var(--border)}
.sidebar .foot{margin-top:auto;color:var(--muted);font-size:12px;border-top:1px solid var(--border);padding-top:10px}
/* Main */
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{position:sticky;top:0;background:rgba(11,16,48,.6);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:10}
.topbar .inner{width:min(1120px,92%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.badge{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:4px 8px;border-radius:999px}
.container{width:min(1120px,92%);margin-inline:auto;padding:24px 0}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:1.1fr .9fr}
@media (max-width: 900px){.grid.cols-2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:18px;font-weight:800}
.card-sub{color:var(--muted);font-size:13px}
.card-body{padding:18px}
.input{width:100%;min-height:160px;background:#0d1330;border:1px solid var(--border);color:var(--text);padding:14px;border-radius:12px;resize:vertical;outline:none}
.options{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.opt{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.05);padding:8px 10px;border-radius:10px;border:1px solid var(--border)}
.buttons{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn{appearance:none;border:none;cursor:pointer;padding:10px 14px;border-radius:12px;font-weight:800}
.btn-primary{background:var(--accent)}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost{background:transparent;color:var(--muted)}
.result{white-space:pre-wrap;line-height:1.9}
.history{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow:auto}
.history-item{padding:12px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px}
.small{font-size:12px;color:var(--muted)}
.sep{border:0;border-top:1px dashed var(--border);margin:14px 0}
.pricing{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.pill{background:rgba(255,255,255,.05);border:1px solid var(--border);padding:6px 10px;border-radius:999px}
.toggle{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:10px;padding:6px;cursor:pointer}
.icon{width:18px;height:18px;display:inline-block}
.w-64{width:256px}.w-20{width:80px}
