/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}:root{--bg:#0b0f1d;--bg2:#121935;--panel:#161d36;--panel2:#1d2647;--line:#f3d88b2e;--gold:#f3d88b;--gold2:#c9a227;--bronze:#b9792a;--red:#c0262f;--red2:#8e0f1d;--ink:#2a1a0c;--parch:#efe2c4;--parch2:#e1cfa6;--text:#ece6d6;--muted:#9aa2c0;--ok:#6fd08c;--bad:#ff6b5e;--head:"Cinzel",Georgia,serif;--body:"Nunito",system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{height:100%}body{background:radial-gradient(1200px 700px at 70% -10%,#2a1b3f 0,transparent 60%),radial-gradient(900px 600px at -10% 110%,#3a0f1a 0,transparent 55%),var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}.muted{color:var(--muted)}.btn{border:1px solid var(--line);background:var(--panel2);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:center;align-items:center;gap:.4em;padding:.55em 1em;font-weight:700;text-decoration:none;transition:transform .12s cubic-bezier(.3,1.8,.5,1),filter .12s,box-shadow .15s;display:inline-flex}.btn:hover{filter:brightness(1.12);transform:translateY(-2px)scale(1.03)}.btn:active{transform:translateY(1px)scale(.96,.92)}.btn--gold{color:#2a1a0c;background:linear-gradient(#f8e3a2,#c9a227);border-color:#fff1c2;box-shadow:0 3px #7a5a12,0 6px 18px #c9a22759}.btn--red{color:#fff4e0;font-family:var(--head);background:linear-gradient(#e2453d,#8e0f1d);border-color:#ff8c6b;box-shadow:0 3px #4a0812,0 6px 22px #c0262f73}.btn--ghost{background:0 0}.btn--big{padding:.8em 1.3em;font-size:1.05rem}.btn--tiny{border-radius:8px;padding:.3em .65em;font-size:.8rem}.btn--danger{background:var(--red2);border-color:var(--bad);animation:shake .35s}.bar{border:1px solid var(--line);background:#00000073;height:10px;overflow:hidden}.bar,.bar__fill{border-radius:99px}.bar__fill{background:linear-gradient(90deg,#c9a227,#ffe7a0,#c9a227) 0 0/200% 100%;height:100%;transition:width .8s cubic-bezier(.3,1.5,.5,1);animation:shimmer 2.4s linear infinite;box-shadow:0 0 10px #f3d88b99}.bar--quest .bar__fill{background:linear-gradient(90deg,#8e0f1d,#ff6a3d,#8e0f1d) 0 0/200% 100%;box-shadow:0 0 10px #ff6a3d80}.hud{border-bottom:1px solid var(--line);z-index:30;background:linear-gradient(#161d36f2,#0e1326f2);gap:18px;height:58px;padding:0 16px;position:relative}.hud,.hud__logo{align-items:center;display:flex}.hud__logo{font-family:var(--head);color:var(--gold);letter-spacing:.04em;white-space:nowrap;gap:8px;font-size:1.15rem;font-weight:900;text-decoration:none}.hud__logo em{color:var(--muted);font-size:.75em;font-style:normal}.hud__helm{width:30px;height:30px;color:var(--gold);background:radial-gradient(circle,#c0262f,#4a0812);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 14px #c0262f99}.hud__rank{width:220px}.hud__rank-top{justify-content:space-between;margin-bottom:3px;font-size:.78rem;display:flex}.hud__rank-name{font-family:var(--head);color:var(--gold);font-weight:700}.hud__quest,.hud__xp{color:var(--muted)}.hud__quest{font-family:var(--head);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.sound{gap:6px;margin-left:auto;display:flex}.sound__btn{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#0000004d;border-radius:99px;padding:.35em .8em;font-size:.8rem;font-weight:700;transition:all .15s}.sound__btn:hover{color:var(--text);transform:scale(1.05)}.sound__btn.on{color:var(--gold);border-color:var(--gold2);box-shadow:0 0 12px #f3d88b40}.home{min-height:100vh;position:relative}.stars{pointer-events:none;z-index:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff8 50%,#0000 51%),radial-gradient(1px 1px at 70% 20%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 40% 80%,#fff5 50%,#0000 51%),radial-gradient(1px 1px at 85% 60%,#fff7 50%,#0000 51%),radial-gradient(1px 1px at 10% 70%,#fff5 50%,#0000 51%),radial-gradient(1.5px 1.5px at 60%,#fff4 50%,#0000 51%);background-size:400px 400px;animation:twinkle 6s ease-in-out infinite alternate;position:fixed;inset:0}.hero{z-index:1;grid-template-columns:340px 1fr;align-items:center;gap:40px;max-width:1100px;margin:0 auto;padding:48px 20px 24px;display:grid;position:relative}.hero__art{place-items:center;animation:floaty 5s ease-in-out infinite;display:grid}.hero__kicker{text-transform:uppercase;letter-spacing:.25em;color:var(--gold2);font-size:.78rem;font-weight:800}.hero__title{font-family:var(--head);color:#0000;text-shadow:0 6px 40px #f3d88b33;background:linear-gradient(#fff3c8,#f3d88b 45%,#b9792a);-webkit-background-clip:text;background-clip:text;margin:8px 0 14px;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:900;line-height:1}.hero__title em{vertical-align:middle;font-size:.5em;font-style:normal}.hero__lead{color:#d9d3c4;max-width:560px;font-size:1.12rem;line-height:1.55}.hero__how{color:var(--muted);gap:6px;margin:18px 0 26px;padding:0;list-style:none;display:grid}.hero__how li:before{content:"⚔";color:var(--red);margin-right:8px}.hero__how b{color:var(--gold)}.btn--hero{animation:pulse-red 2.2s ease-in-out infinite}.quests{z-index:1;max-width:1100px;margin:0 auto;padding:20px 20px 40px;position:relative}.quests__title{font-family:var(--head);color:var(--gold);margin:0 0 16px;font-size:1.5rem}.quests__grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.qcard{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);color:var(--text);border-radius:16px;flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:transform .2s cubic-bezier(.3,1.7,.5,1),box-shadow .2s;display:flex;position:relative}.qcard--open:hover{box-shadow:0 16px 40px #c0262f59,0 0 0 1px var(--gold2);transform:translateY(-6px)rotate(-.6deg)scale(1.02)}.qcard--locked{opacity:.55;filter:grayscale(.5)}.qcard__badge{text-transform:uppercase;letter-spacing:.15em;color:var(--ok);background:#6fd08c26;border-radius:99px;align-self:flex-start;padding:3px 8px;font-size:.68rem;font-weight:800}.qcard__badge--soon{color:var(--muted);background:#9aa2c026}.qcard__title{font-family:var(--head);color:var(--gold);font-size:1.2rem;font-weight:700}.qcard__epithet{font-size:.9rem;font-weight:700}.qcard__summary{color:var(--muted);flex:1;margin:2px 0 6px;font-size:.9rem;line-height:1.45}.qcard__meta{color:var(--muted);justify-content:space-between;font-size:.8rem;display:flex}.qcard__meta span:first-child{color:var(--red)}.foot,.qcard__progress{color:var(--muted);font-size:.78rem}.foot{text-align:center;z-index:1;padding:10px 0 30px;position:relative}.game{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.game__main{flex:1;grid-template-columns:230px 1fr 340px;min-height:0;display:grid}.palette{border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;background:linear-gradient(#161d36e6,#0b0f1de6);min-height:0}.palette,.palette__title{flex-direction:column;display:flex}.palette__title{font-family:var(--head);color:var(--gold);padding:12px 14px 8px;font-weight:700}.palette__title small{font-family:var(--body);color:var(--muted);font-size:.72rem;font-weight:600}.palette__scroll{flex:1;padding:0 10px 10px;overflow-y:auto}.palette__cat{text-transform:uppercase;letter-spacing:.16em;margin:10px 4px 6px;font-size:.68rem;font-weight:800}.palette__items{grid-template-columns:1fr 1fr;gap:6px;display:grid}.piece{touch-action:none;cursor:grab;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff12;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;transition:transform .15s cubic-bezier(.3,1.8,.5,1),border-color .15s,box-shadow .15s;display:flex;position:relative}.piece:hover{border-color:var(--node-color);box-shadow:0 0 16px var(--node-glow);transform:translateY(-3px)scale(1.05)}.piece:active{cursor:grabbing;transform:scale(.9,.86)}.piece__icon{color:var(--node-color);place-items:center;display:grid}.piece__icon--wiggle{animation:jelly .55s}.piece__label{text-align:center;font-size:.68rem;font-weight:700;line-height:1.1}.piece--spot{border-color:#ff6a3d73}.piece__ember{background:#ff8a3d;border-radius:50%;width:7px;height:7px;animation:ember 1.4s ease-in-out infinite;position:absolute;top:5px;right:5px;box-shadow:0 0 8px #ff6a3d}.palette__info{border-top:1px solid var(--line);min-height:74px;padding:10px 12px;font-size:.78rem;line-height:1.4}.palette__info b{color:var(--gold)}.ghost{z-index:200;pointer-events:none;background:var(--panel2);border:2px solid var(--node-color);color:var(--node-color);box-shadow:0 14px 30px #00000080,0 0 20px var(--node-color);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;font-size:.75rem;font-weight:800;animation:ghost-wobble .6s ease-in-out infinite alternate;display:flex;position:fixed;transform:translate(-50%,-50%)rotate(-6deg)scale(1.05)}.ghost span{color:var(--text)}.field{flex-direction:column;min-width:0;min-height:0;display:flex}.field__bar{border-bottom:1px solid var(--line);background:#0b0f1d99;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.field__title{font-family:var(--head);color:var(--gold);white-space:nowrap;font-weight:700}.field__title small{font-family:var(--body);color:var(--muted);margin-left:8px;font-size:.75rem;font-weight:600}.field__tools{gap:6px;display:flex}.field__scroll{flex:1;padding:12px;overflow:auto}.field__scroll,.field__sizer{position:relative}.field__empty{text-align:center;pointer-events:none;font-family:var(--head);color:#f3d88b73;place-content:center;gap:6px;font-size:1.3rem;display:grid;position:absolute;inset:0}.field__empty small{font-family:var(--body);color:var(--muted);font-size:.85rem}.board{transform-origin:0 0;border:1px solid var(--line);touch-action:none;background-color:#0f1530;background-image:radial-gradient(#f3d88b0f,#0000 70%),linear-gradient(#f3d88b12 1px,#0000 0),linear-gradient(90deg,#f3d88b12 1px,#0000 0);background-size:100% 100%,124px 108px,124px 108px;border-radius:18px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:inset 0 0 80px #0009,0 10px 40px #0006}.board__ghost-cell{outline-offset:-8px;background:#f3d88b1f;border-radius:14px;outline:2px dashed #f3d88b99;animation:pulse-cell .8s ease-in-out infinite alternate;position:absolute}.board__edges{position:absolute;inset:0;overflow:visible}.board__link-preview{stroke:var(--gold);stroke-width:3px;stroke-dasharray:8 8;fill:none;pointer-events:none;animation:dash .5s linear infinite}.board__trash{z-index:60;color:#fff;background:radial-gradient(circle,#e2453d,#8e0f1d);border:2px solid #ffb2a8;border-radius:50%;place-items:center;width:32px;height:32px;transition:transform .15s;animation:pop-in .3s cubic-bezier(.3,1.8,.5,1);display:grid;position:absolute;box-shadow:0 4px 12px #00000080}.board__trash:hover{transform:scale(1.15)rotate(-8deg)}.board__pending{z-index:60;background:var(--gold);color:var(--ink);white-space:nowrap;border-radius:99px;padding:3px 10px;font-size:.75rem;font-weight:800;animation:bob .8s ease-in-out infinite alternate;transform:translate(-50%)}.board__celebrate,.board__pending{pointer-events:none;position:absolute}.board__celebrate{z-index:70;background:radial-gradient(circle,#ffe7a073,#0000 60%);animation:flash 1.2s ease-out forwards;inset:0}.edge__base{fill:none;stroke:#00000073;stroke-width:9px;stroke-linecap:round}.edge__line{fill:none;stroke:var(--edge-color);stroke-width:3px;stroke-linecap:round;stroke-dasharray:10 8;opacity:.85;transition:stroke-width .15s;animation:dash .8s linear infinite}.edge--fresh .edge__line{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .55s cubic-bezier(.5,0,.3,1) forwards}.edge:hover .edge__line{stroke-width:5px;opacity:1}.edge--selected .edge__line{stroke:#fff;stroke-width:4.5px;opacity:1}.edge__packet{fill:#fff6d5;stroke:var(--edge-color);stroke-width:2px;pointer-events:none}.edge__hit{fill:none;stroke:#0000;stroke-width:20px;pointer-events:stroke;cursor:pointer}.node{touch-action:none;cursor:grab;position:absolute}.node__body{border:2px solid var(--node-color);width:100%;height:100%;box-shadow:0 6px 0 #00000073,0 0 18px var(--node-glow),inset 0 1px 0 #ffffff26;-webkit-user-select:none;user-select:none;background:linear-gradient(#26305a,#161d36);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform .18s cubic-bezier(.3,1.8,.5,1),box-shadow .2s;display:flex}.node:hover .node__body{animation:jelly .55s}.node__icon{color:var(--node-color);filter:drop-shadow(0 0 6px var(--node-glow))}.node__label{text-align:center;padding:0 4px;font-size:.72rem;font-weight:800;line-height:1.1}.node--dragging{cursor:grabbing}.node--dragging .node__body{box-shadow:0 18px 30px #0000008c,0 0 30px var(--node-glow);animation:none;transform:scale(1.1)rotate(-4deg)}.node--selected .node__body{outline:3px solid var(--gold);outline-offset:3px;animation:none}.node--selected:after{content:"";pointer-events:none;border:2px dashed #f3d88b80;border-radius:22px;animation:spin-dash 6s linear infinite;position:absolute;inset:-10px}.node--target .node__body{box-shadow:0 0 0 4px var(--gold),0 0 30px var(--gold);transform:scale(1.06)}.node--source .node__body{box-shadow:0 0 0 3px #fff,0 0 26px var(--node-glow)}.node__body--spawn{animation:spawn .55s cubic-bezier(.3,1.6,.5,1)!important}.node__body--drop{animation:squash .5s cubic-bezier(.3,1.6,.5,1)!important}.node__body--pop{animation:popb .4s cubic-bezier(.3,1.8,.5,1)!important}.node__body--shake{animation:shake .35s!important}.node__orb{background:radial-gradient(circle at 35% 35%,#fff,var(--node-color) 60%,#000 140%);width:22px;height:22px;box-shadow:0 0 10px var(--node-glow);cursor:crosshair;touch-action:none;z-index:2;border:2px solid #fff3c8;border-radius:50%;margin-top:-11px;transition:transform .15s cubic-bezier(.3,1.8,.5,1);animation:orb 1.6s ease-in-out infinite;position:absolute;top:50%;right:-11px}.node__orb:hover{transform:scale(1.4)}.node__orb:before{content:"";border-radius:50%;position:absolute;inset:-10px}.fx{pointer-events:none;z-index:40;width:0;height:0}.fx,.fx i{position:absolute}.fx i{background:var(--fx-color);--a:calc(var(--i) * 45deg);border-radius:50%;width:8px;height:8px;top:-4px;left:-4px}.fx--dust i{background:#dccdaab3;animation:dust .6s ease-out forwards}.fx--spark i{box-shadow:0 0 8px var(--fx-color);background:#fff3c8;animation:spark .6s ease-out forwards}.fx--spark:before{content:"";border:3px solid var(--fx-color);border-radius:50%;width:100px;height:100px;animation:ring .6s ease-out forwards;position:absolute;top:-50px;left:-50px}.fx--poof i{background:#a0a0b480;width:18px;height:18px;animation:spark .7s ease-out forwards;top:-9px;left:-9px}.scroll{border-left:1px solid var(--line);background:linear-gradient(#161d36e6,#0b0f1de6);flex-direction:column;min-height:0;display:flex}.scroll__toggle{display:none}.scroll__inner{background:linear-gradient(180deg,var(--parch),var(--parch2));color:var(--ink);border:1px solid #f9efd6;border-radius:14px;flex:1;margin:10px;padding:14px;overflow-y:auto;box-shadow:inset 0 0 40px #78501e59,0 8px 24px #0006}.scroll__quest-title{font-family:var(--head);font-size:1.05rem;font-weight:900}.scroll__quest-sub{color:#6b5232;margin-bottom:6px;font-size:.8rem}.scroll__quest-meta{color:#6b5232;margin-top:4px;font-size:.72rem}.scroll .bar{background:#3c280a33;border-color:#3c280a4d}.stages{gap:6px;margin:12px 0 8px;display:flex}.shield{aspect-ratio:.85;clip-path:polygon(50% 0,100% 12%,100% 55%,50% 100%,0 55%,0 12%);color:#fff3c8;font-family:var(--head);background:linear-gradient(#b9792a,#6f4313);border:none;flex:1;place-items:center;font-size:.8rem;font-weight:900;transition:transform .15s cubic-bezier(.3,1.8,.5,1),filter .15s;display:grid}.shield:hover:not(:disabled){transform:translateY(-3px)scale(1.08)}.shield--cleared{background:linear-gradient(#e2453d,#8e0f1d)}.shield--active{filter:drop-shadow(0 0 6px #ff6a3d)brightness(1.15);transform:scale(1.12)}.shield--locked{opacity:.5;cursor:not-allowed;background:linear-gradient(#8d8577,#5a5348)}.scroll__stage{font-family:var(--head);color:#5a0c14;margin:6px 0 0;font-size:1.15rem;font-weight:900}.scroll__subtitle{color:#6b5232;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700}.scroll__section{margin-top:12px}.scroll__label{font-family:var(--head);border-bottom:1px solid #3c280a40;justify-content:space-between;margin-bottom:6px;padding-bottom:3px;font-size:.85rem;font-weight:700;display:flex}.scroll__score{font-family:var(--body);color:#fff3c8;background:#5a0c14;border-radius:99px;padding:0 8px;font-size:.78rem;animation:pop-in .35s cubic-bezier(.3,1.8,.5,1)}.reqs{margin:0;padding-left:18px;font-size:.82rem;line-height:1.45;list-style:outside}.objectives{gap:6px;margin:0;padding:0;list-style:none;display:grid}.obj{background:#ffffff59;border:1px solid #3c280a26;border-radius:10px;gap:8px;padding:7px 8px;font-size:.82rem;line-height:1.35;display:flex}.obj__mark{text-align:center;flex-shrink:0;width:18px;font-weight:900}.obj--pass{background:#6fd08c47;border-color:#28783c66;animation:popb .4s}.obj--pass .obj__mark{color:#1e7a3a}.obj--fail{background:#ff6b5e2e;border-color:#a01e1459;animation:shake .35s}.obj--fail .obj__mark{color:#a01e14}.obj--bonus .obj__goal{font-style:italic}.obj__pts{color:#6b5232;font-size:.72rem;font-weight:800}.obj__hint{color:#4a3416;background:#c9a2272e;border-radius:6px;margin-top:4px;padding:4px 6px;font-size:.78rem}.obj__hint-btn{color:#8e0f1d;background:0 0;border:none;margin-top:3px;padding:0;font-size:.74rem;font-weight:800;text-decoration:underline}.scroll__best{margin-top:10px;font-size:.8rem;font-weight:700}.laurel{color:#8e0f1d;margin-left:4px}.scroll__actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.scroll__actions .btn--ghost{color:var(--ink);border-color:#3c280a4d}.dialog{z-index:150;pointer-events:none;align-items:flex-end;width:min(860px,100vw - 24px);animation:dialog-in .45s cubic-bezier(.3,1.5,.5,1);display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.dialog__portrait{z-index:2;pointer-events:none;filter:drop-shadow(0 8px 20px #0009);flex-shrink:0;margin-bottom:-6px;margin-right:-26px}.dialog__box{pointer-events:auto;cursor:pointer;border:2px solid var(--gold2);background:linear-gradient(#1d2647f7,#0e1326fa);border-radius:18px;flex:1;min-height:150px;padding:16px 20px 14px 40px;position:relative;box-shadow:0 0 0 4px #00000080,0 0 0 6px #c9a22759,0 20px 50px #0009}.dialog__name{font-family:var(--head);color:var(--red);letter-spacing:.1em;text-shadow:0 0 12px #c0262f99;font-weight:900}.dialog__name span{font-family:var(--body);letter-spacing:0;color:var(--muted);margin-left:6px;font-size:.75rem;font-weight:700}.dialog__text{min-height:3em;margin:8px 0 10px;font-size:1.05rem;line-height:1.5}.dialog__ghost{visibility:hidden}.dialog__footer{justify-content:space-between;align-items:center;display:flex}.dialog__pager{gap:5px;display:flex}.dialog__pager i{background:#ffffff26;border-radius:50%;width:8px;height:8px}.dialog__pager i.seen{background:var(--gold2)}.dialog__pager i.on{background:var(--gold);box-shadow:0 0 8px var(--gold);transform:scale(1.3)}.dialog__next{animation:bob .9s ease-in-out infinite alternate}.dialog__close{border:2px solid var(--gold);color:#fff3c8;background:radial-gradient(circle,#c0262f,#4a0812);border-radius:50%;width:34px;height:34px;font-weight:900;transition:transform .15s cubic-bezier(.3,1.8,.5,1);position:absolute;top:-14px;right:-14px;box-shadow:0 4px 12px #0009}.dialog__close:hover{transform:scale(1.18)rotate(90deg)}.dialog__close:active{transform:scale(.85)}.modal{z-index:180;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070fb3;place-items:center;padding:16px;animation:fade .25s;display:grid;position:fixed;inset:0}.modal__card{background:linear-gradient(180deg,var(--parch),var(--parch2));width:min(620px,100%);max-height:100%;color:var(--ink);border:3px solid var(--gold2);border-radius:20px;padding:22px;animation:pop-in .4s cubic-bezier(.3,1.6,.5,1);overflow-y:auto;box-shadow:0 30px 80px #0009}.quiz__head{align-items:center;gap:12px;display:flex}.quiz__kicker{text-transform:uppercase;letter-spacing:.15em;color:#8e0f1d;font-size:.7rem;font-weight:800}.quiz__prompt{font-family:var(--head);margin:4px 0 0;font-size:1.15rem;font-weight:700;line-height:1.3}.quiz__options{gap:8px;margin:16px 0 12px;display:grid}.quiz__opt{text-align:left;background:#ffffff73;border:2px solid #3c280a40;border-radius:12px;padding:10px 12px;font-weight:700;transition:transform .15s cubic-bezier(.3,1.8,.5,1),background .15s}.quiz__opt:hover:not(:disabled){background:#ffffffbf;transform:translate(6px)}.quiz__opt:disabled{cursor:default}.quiz__opt--wrong{opacity:.7;background:#ff6b5e40;border-color:#a01e14;animation:shake .35s}.quiz__opt--right{background:#6fd08c66;border-color:#1e7a3a;animation:popb .4s}.quiz__letter{color:#fff3c8;background:#5a0c14;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:6px;font-size:.8rem;display:inline-grid}.quiz__verdict{border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:.9rem;line-height:1.45}.quiz__verdict.ok{background:#6fd08c40}.quiz__verdict.bad{background:#ff6b5e33}.toasts{z-index:190;pointer-events:none;gap:6px;display:grid;position:fixed;top:70px;left:50%;transform:translate(-50%)}.toast{font-family:var(--head);color:var(--gold);text-shadow:0 0 14px #f3d88bb3,0 3px #000;text-align:center;font-size:1.3rem;font-weight:900;animation:toast 2.2s ease-out forwards}.ares{overflow:visible}.ares__aura{transform-origin:120px 130px;animation:aura 3s ease-in-out infinite}.ares__body{transform-origin:120px 280px;animation:breathe 4s ease-in-out infinite}.ares__crest{transform-origin:96px 74px;animation:crest 3.2s ease-in-out infinite}.ares__eyes{transform-origin:120px 128px;animation:blink 5s infinite}.ares__ember{animation:ember 1.8s ease-in-out infinite}.ares__mouth{transform-box:fill-box;transform-origin:50%;transform:scaleY(.6)}.ares--talking .ares__mouth{animation:talk .18s ease-in-out infinite alternate}.ares--talking .ares__head{transform-origin:120px 200px;animation:nod .9s ease-in-out infinite}.ares--pleased .ares__aura{animation-duration:1.4s}.ares--angry .ares__head{animation:shake .4s}@keyframes jelly{0%{transform:scale(1)}25%{transform:scale(1.12,.88)}45%{transform:scale(.92,1.08)}65%{transform:scale(1.04,.96)}85%{transform:scale(.99,1.01)}to{transform:scale(1)}}@keyframes spawn{0%{opacity:0;transform:scale(.2)rotate(-20deg)}55%{opacity:1;transform:scale(1.18,.86)rotate(4deg)}75%{transform:scale(.94,1.06)rotate(-2deg)}to{transform:scale(1)rotate(0)}}@keyframes squash{0%{transform:scale(1.25,.78)}40%{transform:scale(.9,1.12)}70%{transform:scale(1.04,.97)}to{transform:scale(1)}}@keyframes popb{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)rotate(-2deg)}40%{transform:translate(6px)rotate(2deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes dash{to{stroke-dashoffset:-18px}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes orb{0%,to{box-shadow:0 0 6px var(--node-glow)}50%{box-shadow:0 0 16px var(--node-color),0 0 4px #fff}}@keyframes spin-dash{to{transform:rotate(1turn)}}@keyframes dust{0%{opacity:.9;transform:translate(0)scale(1)}to{transform:translate(calc(cos(var(--a)) * 46px),calc(sin(var(--a)) * 14px - 10px)) scale(.2);opacity:0}}@keyframes spark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(calc(cos(var(--a)) * 60px),calc(sin(var(--a)) * 60px)) scale(.1);opacity:0}}@keyframes ring{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.3)}}@keyframes flash{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes pulse-cell{0%{opacity:.6}to{opacity:1}}@keyframes ghost-wobble{0%{transform:translate(-50%,-50%)rotate(-6deg)scale(1.05)}to{transform:translate(-50%,-50%)rotate(4deg)scale(1.1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade{0%{opacity:0}}@keyframes toast{0%{opacity:0;transform:translateY(20px)scale(.6)}15%{opacity:1;transform:translateY(0)scale(1.15)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-40px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes twinkle{0%{opacity:.5}to{opacity:1}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-red{0%,to{box-shadow:0 3px #4a0812,0 6px 22px #c0262f73}50%{box-shadow:0 3px #4a0812,0 6px 36px #ff6a3dbf}}@keyframes ember{0%,to{opacity:.75}50%{opacity:1;filter:brightness(1.4)}}@keyframes aura{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.01,.995)}}@keyframes crest{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes talk{0%{transform:scaleY(.5)}to{transform:scaleY(1.9)}}@keyframes nod{0%,to{transform:rotate(0)}50%{transform:rotate(1.5deg)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1100px){.game__main{grid-template-columns:200px 1fr 300px}.hud__quest{display:none}}@media (max-width:860px){.hud{gap:10px;padding:0 10px}.hud__logo>span:last-child{display:none}.hud__rank{flex:1;width:auto;min-width:90px}.sound__label,.sound__mode{display:none}.game__main{grid-template-rows:1fr auto;grid-template-columns:1fr}.field{grid-row:1}.palette{border-right:none;border-top:1px solid var(--line);grid-row:2}.field__bar{flex-wrap:wrap;padding:6px 10px}.field__scroll{padding:8px}.palette__cat,.palette__info,.palette__title{display:none}.palette__scroll{gap:6px;padding:8px;display:flex;overflow:auto hidden}.palette__group{display:contents}.palette__items{gap:6px;display:flex}.piece{flex-shrink:0;width:72px}.scroll{z-index:120;pointer-events:none;background:0 0;border:none;max-height:78dvh;transition:transform .35s cubic-bezier(.3,1.2,.5,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% - 44px))}.scroll--open{transform:translateY(0)}.scroll__toggle{pointer-events:auto;border:1px solid var(--gold2);background:linear-gradient(180deg,var(--parch),var(--parch2));color:var(--ink);font-family:var(--head);border-radius:12px 12px 0 0;align-self:flex-end;margin:0 10px -4px;padding:8px 16px;font-weight:900;display:block}.scroll__inner{pointer-events:auto;border-radius:14px 14px 0 0;margin:0}.game{padding-bottom:0}.palette{margin-bottom:44px}.hero{text-align:center;grid-template-columns:1fr;gap:10px;padding-top:24px}.hero__art svg{width:200px;height:auto}.hero__lead{margin:0 auto}.hero__how{justify-items:center}.dialog__portrait svg{width:90px;height:auto}.dialog__box{min-height:120px;padding:12px 14px 12px 26px}.dialog__text{font-size:.95rem}.dialog__name span{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}