:root{--jc-bg0: #1a1520;--jc-bg1: #2a2133;--jc-fg: #f4eef8;--jc-muted: #b9aec4;--jc-accent: #c4789a;--jc-line: rgba(244, 238, 248, .14);--jc-font: "Hiragino Sans", "Noto Sans JP", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--jc-font);color:var(--jc-fg);background:radial-gradient(1200px 600px at 10% -10%,#3a2a45 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#4a2f3f 0%,transparent 50%),linear-gradient(165deg,var(--jc-bg0),var(--jc-bg1))}a{color:var(--jc-accent);text-decoration:none}a:hover{text-decoration:underline}.jc-shell{max-width:920px;margin:0 auto;padding:20px 16px 48px}.jc-header{display:grid;gap:8px}.jc-brand-logo{display:block;width:auto;height:auto;max-width:min(100%,520px);max-height:120px;object-fit:contain;object-position:left center;border-radius:10px}@media(max-width:480px){.jc-brand-logo{max-height:84px;max-width:100%}}.jc-muted{color:var(--jc-muted);font-size:.92rem}.jc-nav{display:flex;flex-wrap:wrap;gap:12px 16px;margin:18px 0 28px;padding-bottom:14px;border-bottom:1px solid var(--jc-line)}.jc-nav a{color:var(--jc-fg);opacity:.85}.jc-nav a.active{color:var(--jc-accent);opacity:1;font-weight:600}.jc-page h1{font-size:1.45rem;margin:0 0 8px}.jc-page h2{font-size:1.1rem;margin:24px 0 8px}.jc-stack{display:grid;gap:12px}.jc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.jc-input,.jc-select,.jc-textarea{width:100%;max-width:420px;padding:10px 12px;border-radius:8px;border:1px solid var(--jc-line);background:#00000040;color:var(--jc-fg);font:inherit}.jc-textarea{min-height:88px;resize:vertical}.jc-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--jc-line);background:#ffffff0f;color:var(--jc-fg);padding:9px 14px;border-radius:8px;font:inherit;cursor:pointer}.jc-btn.primary{background:var(--jc-accent);border-color:transparent;color:#1a1520;font-weight:600}.jc-btn:disabled{opacity:.45;cursor:not-allowed}.jc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.jc-list li{padding:12px 0;border-bottom:1px solid var(--jc-line)}.jc-error{color:#f0a0a8;font-size:.92rem}.jc-badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--jc-line);font-size:.78rem;color:var(--jc-muted)}
