@import"https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&family=Cinzel:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap";.diagnostic-json{color:#d7ecdc;background:#1d2b25;white-space:normal}.diagnostic-json .json-row{margin-left:10px;min-height:1.45em}.diagnostic-json .json-node{margin:0}.diagnostic-json .json-summary{align-items:baseline;cursor:pointer;list-style-position:outside;-webkit-user-select:none;user-select:none}.diagnostic-json .json-children{margin-left:4px;border-left:1px solid rgba(215,236,220,.18)}.diagnostic-json .json-key{color:#8ec5ff}.diagnostic-json .json-string{color:#9cdc7c}.diagnostic-json .json-number{color:#f7c56b}.diagnostic-json .json-boolean{color:#ff8ec7}.diagnostic-json .json-null{color:#a8a39a}.diagnostic-json .json-punctuation{color:#f0d28a}.diagnostic-json .json-meta{color:#9bb3a4;font-style:italic}:root{color-scheme:light;--ink: #20302f;--muted-ink: #5a6660;--paper: #e7dab4;--paper-deep: #c7ab6e;--panel: #f2ecd6;--panel-line: #b69a5c;--ember: #b25738;--teal: #1f6f7a;--violet: #5d507f;--gold: #c4981f;--warm-wood: #80664a;--warm-wood-deep: #5c4630;--shadow: rgba(16, 34, 38, .28);--radius: 8px;--portal-tilt-duration: .98s;--ink-sepia: #38291a;--ink-sepia-70: rgba(56, 41, 26, .7);--ink-sepia-45: rgba(56, 41, 26, .45);--ink-sepia-20: rgba(56, 41, 26, .2);--chrome-glass: rgba(244, 236, 214, .42);--chrome-glass-strong: rgba(244, 236, 214, .85);--drawer-glass: rgba(237, 228, 202, .72);--drawer-blur: 22px;--drawer-shadow: 0 18px 70px rgba(36, 27, 22, .32);--chrome-btn-bg: rgba(56, 41, 26, .9);--chrome-btn-bg-hover: rgba(40, 29, 18, 1);--chrome-btn-fg: var(--panel);--chrome-btn-gold: rgba(168, 138, 74, .68);--chrome-btn-border: rgba(168, 138, 74, .48);--chrome-btn-radius: 0;--chrome-btn-bezel: inset 0 0 0 1px rgba(18, 11, 4, .5), 0 1px 3px rgba(28, 18, 8, .3);--chrome-btn-inset: 1.5px;--chrome-btn-corners: linear-gradient( to top right, transparent calc(50% - .6px) , var(--chrome-btn-gold) calc(50% - .6px) calc(50% + .6px) , transparent calc(50% + .6px) ) top left / var(--chrome-btn-inset) var(--chrome-btn-inset) no-repeat, linear-gradient( to top left, transparent calc(50% - .6px) , var(--chrome-btn-gold) calc(50% - .6px) calc(50% + .6px) , transparent calc(50% + .6px) ) top right / var(--chrome-btn-inset) var(--chrome-btn-inset) no-repeat, linear-gradient( to top left, transparent calc(50% - .6px) , var(--chrome-btn-gold) calc(50% - .6px) calc(50% + .6px) , transparent calc(50% + .6px) ) bottom left / var(--chrome-btn-inset) var(--chrome-btn-inset) no-repeat, linear-gradient( to top right, transparent calc(50% - .6px) , var(--chrome-btn-gold) calc(50% - .6px) calc(50% + .6px) , transparent calc(50% + .6px) ) bottom right / var(--chrome-btn-inset) var(--chrome-btn-inset) no-repeat;--frame-width: clamp(12px, 1vw, 20px);--chrome-gap: clamp(12px, 1.5vw, 26px);--chrome-inset-x: calc(var(--frame-width) + var(--chrome-gap));--chrome-inset-y: var(--chrome-gap)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:IM Fell English,Georgia,serif;color:var(--ink);background:#132328}button,input{font:inherit}button{min-height:36px;border:1px solid rgba(32,48,47,.26);border-radius:6px;padding:0 14px;color:var(--ink);background:#f4ebcd;box-shadow:0 1px #fff6 inset;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48;transform:none}select,textarea{font:inherit}.select-control{min-height:36px;border:1px solid rgba(32,48,47,.26);border-radius:6px;padding:0 12px;color:var(--ink);background:#f4ebcd}.text-control{min-width:0;width:100%;min-height:36px;border:1px solid rgba(32,48,47,.26);border-radius:6px;padding:0 12px;color:var(--ink);background:#f4ebcd}button:hover{background:#ecdfb6}button:active{transform:translateY(1px)}.toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid rgba(36,27,22,.2);border-radius:6px;padding:0 12px;background:#ffffff57}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;order:2;width:38px;height:20px;flex:0 0 auto;border-radius:999px;background:#241b163d;box-shadow:inset 0 0 0 1px #241b1633}.toggle input:before{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:999px;background:#fffbe9;transition:transform .14s ease}.toggle input:checked{background:var(--warm-wood);box-shadow:inset 0 0 0 1px var(--warm-wood-deep)}.toggle input:checked:before{transform:translate(18px)}.app-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:24px;display:flex;flex-direction:column}body:not(.sigil-maker-page) .app-shell{height:100vh;overflow:hidden}.workspace{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,2.2fr) minmax(280px,1fr);gap:18px;align-items:stretch;flex:1 1 auto;min-height:0}.eyebrow{margin:0 0 6px;font-family:Cinzel,serif;color:var(--gold);font-size:13px;letter-spacing:0;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:10px}.canvas-panel,.side-panel{border:1px solid rgba(245,240,219,.26);border-radius:var(--radius);background:#f2ecd6e6;box-shadow:0 18px 45px var(--shadow)}.canvas-panel{min-width:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;background:var(--paper)}.side-panel{min-width:0;padding:14px}.toolbar{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px;border-bottom:1px solid rgba(36,27,22,.16);background:#eee7cfeb}@media(min-width:1051px){.workspace{grid-template-columns:minmax(230px,.85fr) minmax(0,2.2fr) minmax(280px,1.05fr)}.canvas-panel{aspect-ratio:1 / 1;width:100%;height:auto;align-self:start}.workspace.canvas-height-matched{grid-template-columns:minmax(230px,.85fr) auto minmax(280px,1.05fr)}.workspace.canvas-height-matched .canvas-panel{width:auto;height:100%;align-self:stretch}}@media(max-width:1050px){body:not(.sigil-maker-page) .app-shell{height:auto;overflow:visible}.workspace{grid-template-columns:1fr;align-items:start}.canvas-panel{display:block}.side-panel{order:2}}@media(max-width:640px){.app-shell{padding:12px}.toolbar{flex-wrap:wrap}.toolbar button,.toggle{flex:1 1 120px;justify-content:center}}.canvas-shell{position:relative;width:100%;height:100%;max-height:none;flex:1 1 auto;background:var(--paper);touch-action:none;overflow:hidden;transition:background var(--portal-tilt-duration) ease}.canvas-shell canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}#glyphCanvas,#labGlyphCanvas{z-index:1;transform-origin:50% calc(50% + 14% * var(--portal-fit, 1));transform-style:preserve-3d;will-change:transform,filter,box-shadow;transition:transform var(--portal-tilt-duration) cubic-bezier(.16,.78,.18,1),filter var(--portal-tilt-duration) ease,box-shadow var(--portal-tilt-duration) ease}.canvas-shell.portal-active{background:#3a332b}.canvas-shell.portal-active #glyphCanvas,.canvas-shell.portal-active #labGlyphCanvas{transform:perspective(850px) translateY(calc(10% * var(--portal-fit, 1))) rotateX(62deg) scale(.45);box-shadow:0 1px #fffbe985 inset,0 28px 38px #241b164d;filter:drop-shadow(0 30px 24px rgba(36,27,22,.34))}#glyphCanvas.locked{cursor:not-allowed}#effectCanvas,#labEffectCanvas{z-index:2;pointer-events:none;mix-blend-mode:normal}#effectCanvas{transform-origin:center center;transition:transform .22s cubic-bezier(.25,1,.5,1);will-change:transform}@media(min-width:1051px){.canvas-shell{width:100%;height:auto;aspect-ratio:1 / 1}.workspace.canvas-height-matched .canvas-shell{width:auto;height:100%}}@media(max-width:1050px){.canvas-shell{width:100%;height:auto;max-height:none;aspect-ratio:1 / 1}}.reference-card{border:1px solid rgba(36,27,22,.14);border-radius:6px;padding:9px;background:#fffbe9d1}.reference-card.has-template{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;align-items:center}.reference-preview{width:82px;aspect-ratio:1 / 1;border:1px solid rgba(36,27,22,.14);border-radius:6px;background:#f4eed8}.reference-preview svg{display:block;width:100%;height:100%}.reference-preview polyline{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.reference-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.reference-card-header strong{font-size:14px}.reference-card-header span{color:var(--muted-ink);font-size:12px;text-transform:capitalize}.reference-card-description{margin:0 0 8px;color:var(--muted-ink);font-size:12px;line-height:1.4}.reference-card dl{display:grid;gap:4px;margin:0}.reference-card dl div{display:flex;justify-content:space-between;gap:12px}.reference-card dt{color:var(--muted-ink);font-size:12px}.reference-card dd{margin:0;text-align:right;font-size:12px}.reference-panel,.diagnostics-panel{border-top:1px solid rgba(36,27,22,.16);padding-top:14px}.reference-panel,.dictionary-panel .diagnostics-panel{border-top:0;padding-top:0}.reference-tabs,.diagnostics-tabs{display:grid;grid-template-columns:repeat(3,1fr);align-self:stretch;gap:4px;margin-bottom:12px;border:1px solid rgba(36,27,22,.12);border-radius:6px;padding:3px;background:#241b160a}.dictionary-tab-button,.diagnostic-tab-button{min-width:0;padding:0 8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--muted-ink)}.dictionary-tab-button.active,.diagnostic-tab-button.active{color:var(--ink);background:#fffbe98f;border-bottom-color:var(--teal)}.dictionary-tab-button:hover,.diagnostic-tab-button:hover{background:#fff2c5a3}.dictionary-tab-button,.diagnostic-tab-button{min-height:28px;border-bottom:0;border-radius:4px;padding:0 10px;font-size:13px;line-height:1.1;text-align:center}.dictionary-tab-button.active,.diagnostic-tab-button.active{border-bottom-color:transparent;background:#fffbe9b8;box-shadow:0 1px #ffffff7a inset}#dictionaryRootPanel,#diagnosticRootPanel,#shapesRootPanel,.reference-panel,.diagnostics-panel{min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.label{color:var(--muted-ink);font-size:13px}.panel-description{margin:0 0 10px;color:var(--muted-ink);font-size:12px;line-height:1.35}.diagnostic-block{min-width:0}.diagnostic-block h2{margin:0 0 8px;font-family:Cinzel,serif;font-size:15px;letter-spacing:0}.diagnostic-output{max-height:none;overflow-y:auto;overflow-x:auto;scrollbar-gutter:stable;margin:0;border:1px solid rgba(36,27,22,.16);border-radius:6px;padding:10px;color:#2b211a;background:#fffbe9;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap}.shape-palette,.reference-list,.diagnostic-output{scrollbar-width:thin;scrollbar-color:var(--ink-sepia-45) transparent}.shape-palette::-webkit-scrollbar,.reference-list::-webkit-scrollbar,.diagnostic-output::-webkit-scrollbar{width:8px;height:8px}.shape-palette::-webkit-scrollbar-thumb,.reference-list::-webkit-scrollbar-thumb,.diagnostic-output::-webkit-scrollbar-thumb{background:var(--ink-sepia-45);border:2px solid transparent;border-radius:999px;background-clip:padding-box}.shape-palette::-webkit-scrollbar-thumb:hover,.reference-list::-webkit-scrollbar-thumb:hover,.diagnostic-output::-webkit-scrollbar-thumb:hover{background:var(--ink-sepia-70);background-clip:padding-box}.shape-palette::-webkit-scrollbar-track,.reference-list::-webkit-scrollbar-track,.diagnostic-output::-webkit-scrollbar-track{background:transparent}.template-output{width:100%;min-height:48vh;resize:vertical;border:1px solid rgba(36,27,22,.16);border-radius:6px;padding:10px;color:#2b211a;background:#fffbe9;font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.45}.app-background.svelte-12qhfyh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(#11282e57,#0f212780),url(../../../images/app-background.webp) center / cover no-repeat;opacity:.82}.app-content.svelte-12qhfyh{position:relative;z-index:1;min-height:100vh}@media(prefers-reduced-data:reduce){.app-background.svelte-12qhfyh{background:linear-gradient(#11282ef0,#0d1e24eb)}}
