@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;600&display=swap";:root{font-family:Space Grotesk,sans-serif;--ink: #1e1b16;--muted: #6b6257;--accent: #c0622a;--accent-2: #2f6c75;--card: #ffffffcc;--border: #d6cbbd;--shadow: 0 20px 40px rgba(30, 27, 22, .08);--bg: #f4f1ea;--bg-2: #efe7d9;--panel: #fff9f2}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,#fff4dff2,#f4f1eaf2 35%,#efe7d9f2),repeating-linear-gradient(135deg,#00000008,#00000008 6px,#00000004 6px,#00000004 12px);background-color:var(--bg)}body[data-theme=light]{color-scheme:light;--ink: #1e1b16;--muted: #6b6257;--accent: #c0622a;--accent-2: #2f6c75;--card: #ffffffcc;--border: #d6cbbd;--shadow: 0 20px 40px rgba(30, 27, 22, .08);--bg: #f4f1ea;--bg-2: #efe7d9;--panel: #fff9f2}body[data-theme=dark]{color-scheme:dark;--ink: #e6f7e6;--muted: #9fb7a1;--accent: #41c47f;--accent-2: #83f0b4;--card: rgba(14, 17, 15, .9);--border: rgba(88, 130, 102, .6);--shadow: 0 20px 40px rgba(0, 0, 0, .45);--bg: #0b0d0b;--bg-2: #0f1612;--panel: #0f1713}body[data-theme=dark]{background:radial-gradient(circle at top left,#0c140ef2,#080a08f2 35%,#040604f2),repeating-linear-gradient(135deg,#41c47f0a,#41c47f0a 6px,#0000001a 6px,#0000001a 12px)}.app{min-height:100vh;padding:32px 40px 48px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.app-header h1{font-size:32px;margin:0 0 8px}.app-header p{margin:0;color:var(--muted)}.toggles{display:flex;flex-direction:column;gap:8px;font-size:14px}.nav{display:flex;gap:8px}.nav .nav-active{background:var(--accent-2);color:#fff;border:none}.layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.panel{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel h2{margin-top:0;font-size:20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:14px}.field.inline{flex-direction:row;align-items:center;gap:12px}input,select,textarea,button{font-family:inherit}input,select,textarea{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--ink)}textarea{width:100%;resize:vertical;font-family:IBM Plex Mono,monospace;font-size:13px;background:var(--panel)}button{border:none;background:var(--accent);color:#fff;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600}button:hover{filter:brightness(1.05)}button.ghost{background:transparent;color:var(--accent-2);border:1px solid var(--accent-2)}.spell-list{display:grid;gap:10px;max-height:420px;overflow-y:auto;padding-right:4px}.hint{margin-top:12px;padding:10px;border-radius:12px;background:#fff3e4;border:1px solid #f0d0b3;font-size:13px;display:grid;gap:6px}.cheatsheet{padding-left:18px;font-size:13px;color:var(--muted);display:grid;gap:6px}.spell-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel);text-align:left;color:var(--ink)}.spell-card a{color:var(--ink);text-decoration:none}.spell-meta{font-size:12px;color:var(--muted)}.lines{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.line{border:1px solid transparent;border-radius:14px;padding:10px;background:var(--panel)}.line.active{border-color:var(--accent)}.line-row{display:grid;grid-template-columns:120px 1fr auto;gap:8px;margin-bottom:10px}.condition-builder{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;font-size:12px;color:var(--muted)}.templates{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:13px;color:var(--muted)}.template-buttons{display:flex;flex-wrap:wrap;gap:8px}.errors{background:#ff825833;border:1px solid rgba(255,130,88,.4);color:var(--ink);padding:10px;border-radius:12px;margin-bottom:10px;font-size:13px}.explain{margin-top:16px;background:var(--panel);border-radius:12px;padding:12px;font-size:13px;color:var(--muted)}.explain ul{margin:0;padding-left:18px}.muted{color:var(--muted)}.footer{margin-top:24px;text-align:center;font-size:13px;color:var(--muted)}@media (max-width: 960px){.app{padding:24px}.app-header{flex-direction:column}.line-row{grid-template-columns:1fr}}
