/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) 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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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:ui-sans-serif,system-ui,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;--spacing:.25rem;--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%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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{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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-\[9999\]{z-index:9999}.hidden{display:none}.h-screen{height:100vh}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.overflow-hidden{overflow:hidden}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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,)}}@media (hover:hover) and (pointer:fine){*,body{cursor:none!important}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Barlow+Condensed:wght@400;500;600&family=Barlow:wght@300;400;500;600&display=swap");:root{--glow:#ffc27a;--glow-rgb:255,194,122;--bone:#e9e2d6;--bone-2:rgba(233,226,214,0.62);--bone-3:rgba(233,226,214,0.34);--bone-4:rgba(233,226,214,0.16);--ink-0:#05080a;--ink-1:#0a0f13;--ink-2:#111820;--edge:rgba(233,226,214,0.14);--edge-lit:rgba(var(--glow-rgb),0.42);--display:"Cormorant Garamond",Georgia,serif;--label:"Barlow Condensed","Barlow",sans-serif;--body:"Barlow",system-ui,sans-serif;--cut:13px;--clip:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));--clip-sm:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--ink-0);font-family:var(--body);color:var(--bone);cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}#game-canvas{position:fixed;inset:0;z-index:1}#ui-layer{position:fixed;inset:0;pointer-events:none;z-index:10}.frame{padding:1px;background:linear-gradient(150deg,var(--edge-lit),var(--edge) 35%,rgba(233,226,214,.05) 75%)}.frame,.frame>.frame-in{position:relative;clip-path:var(--clip)}.frame>.frame-in{background:radial-gradient(ellipse 130% 80% at 50% -10%,rgba(var(--glow-rgb),.08),transparent 62%),linear-gradient(165deg,var(--ink-2) 0,var(--ink-1) 45%,var(--ink-0) 100%)}.frame>.frame-in:after{content:"";inset:0;background-image:var(--grain);opacity:.28;mix-blend-mode:overlay}.corners>i,.frame>.frame-in:after{position:absolute;pointer-events:none}.corners>i{width:11px;height:11px;border:1px solid rgba(var(--glow-rgb),.55)}.corners>i:first-child{top:7px;left:7px;border-right:0;border-bottom:0}.corners>i:nth-child(2){top:7px;right:7px;border-left:0;border-bottom:0}.corners>i:nth-child(3){bottom:7px;left:7px;border-right:0;border-top:0}.corners>i:nth-child(4){bottom:7px;right:7px;border-left:0;border-top:0}.rule{height:1px;background:linear-gradient(90deg,transparent,rgba(var(--glow-rgb),.5),transparent)}.t-display{font-family:var(--display);font-weight:400;letter-spacing:.02em;color:var(--bone)}.t-label{font-family:var(--label);text-transform:uppercase;letter-spacing:.22em;font-weight:500;font-size:.7rem;color:var(--bone-3)}#hud-identity{position:absolute;top:26px;left:30px;display:flex;align-items:center;gap:14px}#hud-sigil{position:relative;width:42px;height:42px;flex:none}#hud-sigil:after,#hud-sigil:before{content:"";position:absolute;inset:0;border:1px solid rgba(var(--glow-rgb),.4);transform:rotate(45deg)}#hud-sigil:after{inset:9px;background:radial-gradient(circle at 34% 32%,#fff,rgba(var(--glow-rgb),.75));border:0;box-shadow:0 0 16px rgba(var(--glow-rgb),.5);animation:sigilPulse 4.5s ease-in-out infinite}@keyframes sigilPulse{0%,to{opacity:.85;transform:rotate(45deg) scale(1)}50%{opacity:1;transform:rotate(45deg) scale(1.1)}}#hud-identity h1{margin:0;font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.1;letter-spacing:.06em;color:var(--bone)}#hud-identity .role{font-family:var(--label);font-size:.63rem;letter-spacing:.28em;text-transform:uppercase;color:var(--bone-3);margin-top:2px}#essence-meter{margin-top:8px;display:flex;align-items:center;gap:8px}#essence-bar{display:flex;gap:2px}#essence-bar span{width:7px;height:3px;background:var(--bone-4);transition:background .45s ease,box-shadow .45s ease}#essence-bar span.on{background:var(--glow);box-shadow:0 0 7px rgba(var(--glow-rgb),.85)}#essence-count{font-family:var(--label);font-size:.66rem;letter-spacing:.16em;color:var(--bone-2);font-variant-numeric:tabular-nums}#objectives{position:absolute;top:26px;right:30px;width:236px}#objectives,#objectives .frame-in{padding:14px 15px 13px}#objectives h3{margin:0 0 10px;font-family:var(--label);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(var(--glow-rgb),.75)}.objective{display:grid;grid-template-columns:13px 1fr;gap:9px;align-items:start;margin-bottom:8px;font-size:.76rem;line-height:1.35;color:var(--bone-3);transition:color .5s ease}.objective:last-child{margin-bottom:0}.objective .mark{position:relative;width:9px;height:9px;margin-top:4px;border:1px solid var(--bone-4);transform:rotate(45deg);transition:all .5s ease}.objective.done{color:var(--bone)}.objective.done .mark{border-color:var(--glow);background:var(--glow);box-shadow:0 0 10px rgba(var(--glow-rgb),.8)}.objective.done span{text-decoration:line-through;text-decoration-color:var(--bone-4)}#prompt{position:absolute;left:50%;bottom:16%;transform:translate(-50%,14px);display:flex;align-items:center;gap:12px;padding:9px 20px 9px 11px;opacity:0;transition:opacity .25s ease,transform .25s cubic-bezier(.2,.9,.3,1)}#prompt.on{opacity:1;transform:translate(-50%)}#prompt .frame-in{display:flex;align-items:center;gap:12px;padding:8px 20px 8px 10px}.keycap{min-width:26px;height:24px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--label);font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--ink-0);background:var(--bone);clip-path:var(--clip-sm);box-shadow:0 0 14px rgba(var(--glow-rgb),.35)}#prompt .text{font-family:var(--display);font-size:1.02rem;letter-spacing:.05em;color:var(--bone)}#minimap{position:absolute;bottom:26px;left:30px;width:176px;pointer-events:auto}#minimap .frame-in{padding:8px}#minimap canvas{display:block;width:160px;height:160px}#minimap .cap{margin-bottom:6px;padding:0 1px}#minimap .cap b{display:block;font-size:.58rem;letter-spacing:.28em;color:rgba(var(--glow-rgb),.7);font-weight:500}#minimap .cap b,#minimap .foot{font-family:var(--label);text-transform:uppercase}#minimap .foot{margin-top:7px;font-size:.5rem;letter-spacing:.06em;color:var(--bone-3);text-align:center;white-space:nowrap}#settings-toggle{position:absolute;bottom:26px;right:30px;width:38px;height:38px;pointer-events:auto;cursor:none;border:0;padding:1px;background:linear-gradient(150deg,var(--edge-lit),var(--edge));clip-path:var(--clip-sm)}#settings-toggle i{display:block;width:100%;height:100%;background:var(--ink-1);clip-path:var(--clip-sm);position:relative}#settings-toggle i:before{content:"";position:absolute;left:11px;right:11px;top:12px;height:1px;background:var(--bone-2);box-shadow:0 5px 0 var(--bone-2),0 10px 0 var(--bone-2);transition:background .3s,box-shadow .3s}#settings-toggle:hover i:before{background:var(--glow);box-shadow:0 5px 0 var(--glow),0 10px 0 var(--glow)}#settings-panel{position:absolute;bottom:74px;right:30px;width:208px;pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;visibility:hidden}#settings-panel.on{opacity:1;transform:translateY(0);visibility:visible}#settings-panel .frame-in{padding:14px 15px}#settings-panel h4{margin:0 0 10px;font-family:var(--label);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(var(--glow-rgb),.75);font-weight:500}.setting-row{margin-bottom:13px}.setting-row:last-child{margin-bottom:0}.setting-row>.t-label{display:block;margin-bottom:6px;font-size:.58rem}.seg{display:flex;gap:1px;background:var(--edge);padding:1px;clip-path:var(--clip-sm)}.seg button{flex:1;border:0;background:var(--ink-1);color:var(--bone-3);font-family:var(--label);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 2px;cursor:none;transition:background .25s,color .25s}.seg button:hover{color:var(--bone);background:var(--ink-2)}.seg button.on{background:rgba(var(--glow-rgb),.9);color:var(--ink-0);font-weight:600}.overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overflow-x:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s ease,visibility .42s;background:radial-gradient(ellipse 90% 60% at 50% 22%,rgba(var(--glow-rgb),.07),transparent 65%),rgba(4,7,10,.93);backdrop-filter:blur(9px)}.overlay.on{opacity:1;visibility:visible;pointer-events:auto}.overlay-inner{width:96%;max-width:1180px;padding:54px 26px 90px;transform:translateY(18px) scale(.985);opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s ease}.overlay.on .overlay-inner{transform:none;opacity:1;transition-delay:.06s}.stagger{opacity:0;transform:translateY(14px)}.overlay.on .stagger{opacity:1;transform:none;transition:opacity .5s ease,transform .55s cubic-bezier(.16,1,.3,1);transition-delay:calc(.14s + var(--i, 0) * 55ms)}.overlay-header{text-align:center;margin-bottom:42px;position:relative}.overlay-header .eyebrow{font-family:var(--label);font-size:.6rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(var(--glow-rgb),.7);margin-bottom:10px}.overlay-header h1{margin:0;font-size:clamp(2rem,5vw,3.1rem);letter-spacing:.06em;color:var(--bone);text-shadow:0 0 46px rgba(var(--glow-rgb),.28)}.overlay-header .sub,.overlay-header h1{font-family:var(--display);font-weight:300}.overlay-header .sub{margin-top:8px;font-style:italic;font-size:.98rem;color:var(--bone-3)}.overlay-header .rule{width:min(320px,60%);margin:20px auto 0}.close-btn{position:absolute;top:-14px;right:0;width:36px;height:36px;pointer-events:auto;cursor:none;border:1px solid var(--edge);background:transparent;clip-path:var(--clip-sm);transition:border-color .3s,background .3s}.close-btn:after,.close-btn:before{content:"";position:absolute;left:50%;top:50%;width:15px;height:1px;background:var(--bone-2);transition:background .3s}.close-btn:before{transform:translate(-50%,-50%) rotate(45deg)}.close-btn:after{transform:translate(-50%,-50%) rotate(-45deg)}.close-btn:hover{border-color:rgba(var(--glow-rgb),.6);background:rgba(var(--glow-rgb),.07)}.close-btn:hover:after,.close-btn:hover:before{background:var(--glow)}.overlay-hint{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;font-family:var(--label);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--bone-3)}.overlay-hint .keycap{height:20px;min-width:22px;font-size:.6rem;background:var(--bone-3)}#inscription .overlay-inner{max-width:660px;padding-top:13vh}.scroll-body{padding:44px 46px 40px;text-align:center}.scroll-body .glyph{width:54px;height:54px;margin:0 auto 22px;position:relative}.scroll-body .glyph:after,.scroll-body .glyph:before{content:"";position:absolute;inset:0;border:1px solid rgba(var(--glow-rgb),.45);transform:rotate(45deg)}.scroll-body .glyph:after{inset:15px;border:0;background:radial-gradient(circle at 35% 32%,#fff,rgba(var(--glow-rgb),.7));box-shadow:0 0 26px rgba(var(--glow-rgb),.6)}.scroll-body h2{margin:0 0 6px;font-family:var(--display);font-weight:300;font-size:2.3rem;letter-spacing:.05em}.scroll-body .kicker{font-family:var(--label);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(var(--glow-rgb),.75);margin-bottom:26px}.scroll-body .prose{font-size:.98rem;line-height:1.85;color:var(--bone-2);text-align:left}.scroll-body .prose p{margin:0 0 14px}.scroll-body .prose p:last-child{margin-bottom:0}.scroll-body .prose .aside{font-family:var(--display);font-style:italic;color:var(--bone-3);font-size:1.02rem}.rune-list{list-style:none;padding:0;margin:0;text-align:left}.rune-list li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid var(--edge)}.rune-list li:last-child{border-bottom:0}.rune-list a{font-family:var(--display);font-size:1.18rem;color:var(--bone);text-decoration:none;position:relative;pointer-events:auto;cursor:none;transition:color .28s}.rune-list a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:var(--glow);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}.rune-list a:hover{color:var(--glow)}.rune-list a:hover:after{transform:scaleX(1)}.rune-list span{font-family:var(--label);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-3);flex:none}#archive .overlay-inner{padding-bottom:46px}#archive .overlay-header{margin-bottom:24px}#archive .overlay-hint{position:static;transform:none;justify-content:center;margin:20px auto 0}#tree-wrap{position:relative;display:flex;justify-content:center}#skill-svg{width:100%;height:auto;max-height:min(60vh,600px);display:block;overflow:visible}.tree-link{fill:none;stroke:var(--edge);stroke-width:1.2;transition:stroke .5s ease}.tree-link.lit{stroke:rgba(var(--glow-rgb),.45)}.tree-spine{fill:none;stroke-width:2;stroke-linecap:round;transition:stroke .6s ease}.node{cursor:none;pointer-events:auto}.node .plate{fill:var(--ink-1);stroke:var(--bone-4);stroke-width:1.2;transition:stroke .35s,fill .35s}.node.unlocked .plate{stroke:rgba(var(--glow-rgb),.55);fill:#0c1218}.node.unlocked .core{fill:var(--glow)}.node .core{fill:var(--bone-4);transition:fill .4s}.node:hover .plate{stroke:var(--glow);fill:#131c24}.node .label{font-family:var(--label);font-size:12px;letter-spacing:.13em;text-transform:uppercase;fill:var(--bone-3);transition:fill .3s;pointer-events:none}.node.unlocked .label{fill:var(--bone)}.node:hover .label{fill:var(--glow)}.node .halo{fill:none;stroke:rgba(var(--glow-rgb),.35);opacity:0;transition:opacity .35s}.node.unlocked .halo{opacity:1;animation:haloBreathe 3.6s ease-in-out infinite}@keyframes haloBreathe{0%,to{opacity:.28;r:15}50%{opacity:.6;r:18}}.hub{cursor:none;pointer-events:auto}.hub .ring{fill:rgba(6,10,13,.9);stroke:rgba(var(--glow-rgb),.6);stroke-width:1.4;transition:stroke .3s,fill .3s}.hub:hover .ring{stroke:var(--glow);fill:rgba(var(--glow-rgb),.1)}.hub .name{font-family:var(--display);font-size:17px;letter-spacing:.05em;fill:var(--bone);text-anchor:middle}.hub .disc{font-family:var(--label);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;fill:rgba(var(--glow-rgb),.85);text-anchor:middle}.tree-core .seal{fill:rgba(5,8,10,.95);stroke:rgba(var(--glow-rgb),.5);stroke-width:1.4}.tree-core .pct{font-family:var(--display);font-size:26px;fill:var(--bone);text-anchor:middle}.tree-core .pct-label{font-family:var(--label);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;fill:var(--bone-3);text-anchor:middle}#node-readout{margin-top:26px;min-height:62px;display:flex;justify-content:center}#node-readout .frame-in{padding:13px 26px;min-width:300px;text-align:center}#node-readout .rd-title{font-family:var(--display);font-size:1.22rem;letter-spacing:.04em;color:var(--bone)}#node-readout .rd-note{font-family:var(--body);font-size:.8rem;color:var(--bone-3);margin-top:3px}#node-readout .rd-locked{font-family:var(--label);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(var(--glow-rgb),.7);margin-top:6px}.relic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px}.relic{pointer-events:auto;transition:transform .45s cubic-bezier(.16,1,.3,1)}.relic:hover{transform:translateY(-6px)}.relic .frame-in{display:flex;flex-direction:column;height:100%}.relic-sigil{height:132px;position:relative;overflow:hidden;background:radial-gradient(ellipse 80% 100% at 50% 118%,rgba(var(--glow-rgb),.22),transparent 70%),linear-gradient(170deg,rgba(255,255,255,.035),transparent 60%);display:flex;align-items:center;justify-content:center}.relic-sigil .crest{width:62px;height:62px;position:relative}.relic-sigil .crest:after,.relic-sigil .crest:before{content:"";position:absolute;inset:0;border:1px solid rgba(var(--glow-rgb),.5);transform:rotate(45deg)}.relic-sigil .crest:after{inset:17px;border:0;background:radial-gradient(circle at 34% 32%,#fff,rgba(var(--glow-rgb),.6));box-shadow:0 0 24px rgba(var(--glow-rgb),.55)}.relic-sigil .scan{position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 18px,rgba(var(--glow-rgb),.045) 18px 19px);pointer-events:none}.relic-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:9px;flex:1}.rarity{display:inline-flex;align-items:center;gap:6px;font-family:var(--label);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(var(--glow-rgb),.85)}.rarity i{width:5px;height:5px;background:var(--glow);transform:rotate(45deg);box-shadow:0 0 8px rgba(var(--glow-rgb),.9)}.relic h3{margin:0;font-weight:400;font-size:1.4rem;letter-spacing:.03em;color:var(--bone)}.relic .tagline,.relic h3{font-family:var(--display)}.relic .tagline{font-style:italic;font-size:.95rem;color:var(--bone-3);margin:-4px 0 2px}.relic p{margin:0;font-size:.86rem;line-height:1.6;color:var(--bone-2)}.stack{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.stack span{font-family:var(--label);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;color:var(--bone-2);border:1px solid var(--edge);clip-path:var(--clip-sm)}.relic-links{display:flex;gap:8px;margin-top:auto;padding-top:12px}.relic-links a{font-family:var(--label);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;padding:7px 15px;text-decoration:none;color:var(--bone);border:1px solid rgba(var(--glow-rgb),.4);clip-path:var(--clip-sm);transition:background .25s,border-color .25s,color .25s;cursor:none}.relic-links a:hover{background:rgba(var(--glow-rgb),.9);border-color:var(--glow);color:var(--ink-0)}.codex-list{display:flex;flex-direction:column;gap:10px}.codex-row{pointer-events:auto;display:grid;grid-template-columns:46px 1fr auto;gap:16px;align-items:center;transition:transform .35s cubic-bezier(.16,1,.3,1)}.codex-row:hover{transform:translateX(6px)}.codex-row .frame-in{display:grid;grid-template-columns:46px 1fr auto;gap:16px;align-items:center;padding:14px 18px}.codex-mark{width:34px;height:34px;position:relative;justify-self:center}.codex-mark:before{inset:0;border:1px solid rgba(var(--glow-rgb),.45)}.codex-mark:after,.codex-mark:before{content:"";position:absolute;transform:rotate(45deg)}.codex-mark:after{inset:12px;background:var(--glow);box-shadow:0 0 12px rgba(var(--glow-rgb),.8)}.codex-row h4{margin:0 0 2px;font-family:var(--display);font-weight:400;font-size:1.1rem;letter-spacing:.03em}.codex-row p{margin:0;font-size:.79rem;color:var(--bone-3)}.empty-state{text-align:center;padding:60px 20px 40px}.empty-plinth{width:120px;height:120px;margin:0 auto 26px;position:relative;opacity:.75}.empty-plinth i{position:absolute;left:50%;top:50%;border:1px solid rgba(var(--glow-rgb),.28);transform:translate(-50%,-50%) rotate(45deg)}.empty-plinth i:first-child{width:96px;height:96px;animation:driftA 9s ease-in-out infinite}.empty-plinth i:nth-child(2){width:62px;height:62px;animation:driftB 7s ease-in-out infinite}.empty-plinth i:nth-child(3){width:18px;height:18px;border:0;background:radial-gradient(circle at 35% 32%,#fff,rgba(var(--glow-rgb),.6));box-shadow:0 0 30px rgba(var(--glow-rgb),.6);animation:driftB 4.5s ease-in-out infinite}@keyframes driftA{0%,to{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) rotate(60deg) scale(1.06);opacity:.9}}@keyframes driftB{0%,to{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) rotate(30deg) scale(.94);opacity:.6}}.empty-state h3{margin:0 0 8px;font-family:var(--display);font-weight:300;font-size:1.7rem;letter-spacing:.05em;color:var(--bone-2)}.empty-state p{margin:0 auto;max-width:420px;font-family:var(--display);font-style:italic;font-size:1rem;line-height:1.7;color:var(--bone-3)}#achievement{position:fixed;top:26px;left:50%;transform:translate(-50%,-160%);z-index:9000;min-width:322px;pointer-events:none;transition:transform .7s cubic-bezier(.16,1,.3,1)}#achievement.on{transform:translate(-50%)}#achievement .frame-in{display:flex;align-items:center;gap:15px;padding:14px 24px 14px 16px}#achievement .medal{width:38px;height:38px;position:relative;flex:none}#achievement .medal:before{content:"";position:absolute;inset:0;border:1px solid rgba(var(--glow-rgb),.55);transform:rotate(45deg)}#achievement .medal:after{content:"";position:absolute;inset:11px;background:radial-gradient(circle at 34% 32%,#fff,rgba(var(--glow-rgb),.7));transform:rotate(45deg);box-shadow:0 0 18px rgba(var(--glow-rgb),.75)}#achievement .lbl{font-family:var(--label);font-size:.55rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(var(--glow-rgb),.8)}#achievement .ttl{font-family:var(--display);font-size:1.12rem;letter-spacing:.03em;color:var(--bone);margin-top:1px}#achievement .dsc{font-size:.76rem;color:var(--bone-3);margin-top:1px}#biome-card{position:fixed;top:32%;left:50%;transform:translate(-50%,-50%);z-index:60;text-align:center;pointer-events:none;opacity:0;transition:opacity .9s ease}#biome-card.on{opacity:1}#biome-card .name{font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,4.6vw,2.8rem);letter-spacing:.22em;text-transform:uppercase;color:var(--bone);text-shadow:0 0 50px rgba(var(--glow-rgb),.55)}#biome-card .line{width:0;height:1px;margin:14px auto 12px;background:linear-gradient(90deg,transparent,var(--glow),transparent);transition:width 1.1s cubic-bezier(.16,1,.3,1)}#biome-card.on .line{width:240px}#biome-card .tag{font-family:var(--display);font-style:italic;font-size:.95rem;color:var(--bone-3);opacity:0;transition:opacity .7s ease .35s}#biome-card.on .tag{opacity:1}#title-screen{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse 62% 52% at 50% 44%,#0d1a1c 0,#04070a 72%);transition:opacity 1.3s ease,visibility 1.3s}#title-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}#title-screen .mark{width:66px;height:66px;position:relative;margin-bottom:30px;opacity:0;animation:fadeUp 1.6s ease .2s forwards}#title-screen .mark:after,#title-screen .mark:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,194,122,.4);transform:rotate(45deg)}#title-screen .mark:after{inset:19px;border:0;background:radial-gradient(circle at 35% 32%,#fff,rgba(255,194,122,.7));box-shadow:0 0 40px rgba(255,194,122,.6);animation:sigilPulse 4s ease-in-out infinite}#title-screen h1{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(2.2rem,7vw,4.4rem);letter-spacing:.28em;text-indent:.28em;color:#f2ece1;text-shadow:0 0 70px rgba(255,194,122,.35);opacity:0;animation:fadeUp 1.8s ease .5s forwards}#title-screen .deco{width:220px;height:1px;margin:22px 0 16px;background:linear-gradient(90deg,transparent,rgba(255,194,122,.55),transparent);opacity:0;animation:fadeUp 1.6s ease 1.1s forwards}#title-screen .role{font-family:var(--label);font-size:clamp(.68rem,1.7vw,.82rem);letter-spacing:.42em;text-transform:uppercase;color:rgba(233,226,214,.6);opacity:0;animation:fadeUp 1.6s ease 1.4s forwards}#title-screen .flavour{margin-top:10px;font-family:var(--display);font-style:italic;font-size:1rem;color:rgba(233,226,214,.34);opacity:0;animation:fadeUp 1.6s ease 1.8s forwards}#title-controls{display:flex;gap:26px;margin-top:44px;opacity:0;animation:fadeUp 1.6s ease 2.3s forwards}#title-controls div{display:flex;align-items:center;gap:8px}#title-controls .keycap{background:transparent;color:rgba(233,226,214,.75);border:1px solid rgba(233,226,214,.3);box-shadow:none;clip-path:none}#title-controls em{font-style:normal;font-size:.62rem;letter-spacing:.2em;color:rgba(233,226,214,.42)}#title-begin,#title-controls em{font-family:var(--label);text-transform:uppercase}#title-begin{margin-top:52px;font-size:.66rem;letter-spacing:.34em;color:rgba(233,226,214,.4);opacity:0;animation:fadeUp 1.4s ease 3s forwards,beat 3s ease-in-out 4.4s infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes beat{0%,to{opacity:.32}50%{opacity:.72}}#bash-hint{position:fixed;left:50%;bottom:26%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .3s ease;pointer-events:none}#bash-hint.on{opacity:1}#bash-hint .aim-note{font-family:var(--label);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bone-2)}#touch-controls{display:none}@media (hover:none) and (pointer:coarse){body{cursor:auto}#touch-controls{display:block;position:fixed;inset:0;z-index:50;pointer-events:none}#objectives{display:none}#settings-panel,#settings-toggle{bottom:auto;top:26px;right:20px}#minimap{width:128px;bottom:20px;left:20px}#minimap canvas{width:112px;height:112px}#prompt{bottom:32%}#stick{left:28px;bottom:34px;width:132px;height:132px;border:1px solid rgba(233,226,214,.16);pointer-events:auto;touch-action:none}#stick,#stick i{position:absolute;border-radius:50%}#stick i{left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;background:rgba(233,226,214,.12);border:1px solid rgba(var(--glow-rgb),.5);box-shadow:0 0 18px rgba(var(--glow-rgb),.22)}.touch-btn{position:absolute;width:74px;height:74px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(var(--glow-rgb),.45);background:rgba(6,10,14,.65);color:var(--bone);font-family:var(--label);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;pointer-events:auto;touch-action:none}#btn-act{right:30px;bottom:96px}#btn-bash{right:112px;bottom:34px;width:64px;height:64px}.touch-btn:active{background:rgba(var(--glow-rgb),.85);color:var(--ink-0)}}@media (max-width:720px){#hud-identity h1{font-size:1.15rem}.overlay-inner{padding:40px 16px 110px}.relic-grid{grid-template-columns:1fr}.codex-row .frame-in{grid-template-columns:38px 1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.06s!important}}