.app-shell{background:color-mix(in srgb, var(--panel) 90%, white 10%);border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);width:min(980px,100%);box-shadow:var(--shadow);animation:.65s rise-in;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(#fffffff2,#ffffffb8);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.brand-wrap{align-items:center;gap:12px;display:flex}.logo{color:#fff;background:linear-gradient(135deg, var(--accent), #22a522);border-radius:11px;place-items:center;width:36px;height:36px;font-family:IBM Plex Mono,monospace;display:grid;box-shadow:0 8px 20px #00800059}.brand{letter-spacing:.02em;font-weight:700}.meta{color:var(--muted);border:1px dashed var(--line);background:#ffffffa6;border-radius:999px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.layout{grid-template-columns:1.2fr .8fr;display:grid}.main{border-right:1px solid var(--line);padding:28px}.title{letter-spacing:-.02em;max-width:18ch;margin:0;font-size:clamp(24px,4vw,40px);line-height:1}.subtitle{color:var(--muted);max-width:56ch;margin:14px 0 24px;font-size:15px}.tabs{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;padding:4px;display:inline-flex}.tab{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;border-radius:8px;padding:10px 14px}.tab.active{background:var(--ink);color:#fff}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px}.form{gap:14px;display:grid}label{color:var(--muted);font-size:13px;font-weight:500}textarea,input{width:100%;font:inherit;color:var(--ink);background:#fffdf7;border:1px solid #c8c2b2;border-radius:12px;padding:12px 13px}textarea{resize:vertical;min-height:130px;line-height:1.5}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{cursor:pointer;font:inherit;border:none;border-radius:12px;padding:11px 16px;font-weight:600;text-decoration:none}.btn.primary{color:#fff;background:linear-gradient(135deg, var(--accent), #22a522)}.btn.secondary{color:var(--ink);background:#e9f0ff;border:1px solid #c8d9ff}.btn:disabled{opacity:.7;cursor:not-allowed}.hint{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.error{color:#cc3d3d;margin:0;font-size:13px}.user-notes{color:#7a4a00;background:#fff7e9;border:1px solid #f6ca79;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45}.user-notes p{margin:0}.result{border:1px dashed var(--line);background:#fffaef;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:none}.result.visible{display:flex}.key{color:var(--accent-2);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:500}.aside{background:linear-gradient(#1248ff0a,#1248ff00),#fff;align-content:start;gap:16px;padding:26px;display:grid}.stack{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.stack h3{margin:0 0 8px;font-size:14px}.stack p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.pill{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;display:inline-flex}.pill.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok), white 50%);background:color-mix(in srgb, var(--ok), white 92%)}.pill.warn{color:var(--warn);background:#fff7e9;border-color:#f6ca79}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:860px){.layout{grid-template-columns:1fr}.main{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:520px){.main,.aside{padding:16px}.topbar{padding:12px 14px}.meta{display:none}.tabs{width:100%}.tab{flex:1}}
