@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cinzel+Decorative:wght@400;700&family=IM+Fell+English:ital@0;1&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-tracking: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;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--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;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--tracking-wider:.05em;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gold:#c9a84c;--color-silver:#8ba7c8;--color-silver-glow:#b8d4f0;--color-elvish:#6bc5ff;--color-elvish-glow:#a0dfff;--color-stone:#111827;--color-rune-border:#2a3a5c;--color-parchment:#d4c9a8;--color-dim:#7a8a9a;--color-danger:#c0392b;--radius-rune:6px}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.z-\[2\]{z-index:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing)*4)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.min-h-\[100dvh\]{min-height:100dvh}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1200px\]{max-width:1200px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing)*0)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.rounded-\[3px\]{border-radius:3px}.rounded-rune{border-radius:var(--radius-rune)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-danger\/30{border-color:#c0392b4d}@supports (color:color-mix(in lab, red, red)){.border-danger\/30{border-color:color-mix(in oklab,var(--color-danger)30%,transparent)}}.border-rune-border{border-color:var(--color-rune-border)}.bg-stone{background-color:var(--color-stone)}.bg-transparent{background-color:#0000}.p-12{padding:calc(var(--spacing)*12)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.3rem\]{font-size:1.3rem}.text-\[1\.4rem\]{font-size:1.4rem}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.text-\[\#c05050\]{color:#c05050}.text-dim{color:var(--color-dim)}.text-elvish{color:var(--color-elvish)}.text-elvish-glow{color:var(--color-elvish-glow)}.text-gold{color:var(--color-gold)}.text-silver{color:var(--color-silver)}.text-silver-glow{color:var(--color-silver-glow)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);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);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:border-danger:hover{border-color:var(--color-danger)}.hover\:text-\[\#e06060\]:hover{color:#e06060}.hover\:text-parchment:hover{color:var(--color-parchment)}}.active\:scale-\[0\.97\]:active{scale:.97}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#050810;--bg-main:#0a0e1a;--bg-stone:#111827;--bg-card:#161d30;--border-rune:#2a3a5c;--gold:#c9a84c;--gold-glow:#f0c060;--gold-dim:#7a6030;--silver:#8ba7c8;--silver-glow:#b8d4f0;--elvish:#6bc5ff;--elvish-glow:#a0dfff;--danger:#c0392b;--success:#27ae60;--text-primary:#d4c9a8;--text-dim:#7a8a9a;--mist:#6482b414;--radius:6px}html{scroll-behavior:smooth}body{background-color:var(--bg-deep);color:var(--text-primary);min-height:100vh;font-family:IM Fell English,Georgia,serif;font-size:16px;line-height:1.6;position:relative;overflow-x:hidden}#stars-particles,#ember-particles{pointer-events:none;z-index:0;inset:0;position:fixed!important}#stars-particles{height:75vh}#stars-particles canvas,#ember-particles canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.mist-layer{pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#0a142d4d 50%,#14234699 100%);height:180px;animation:12s ease-in-out infinite alternate mistDrift;position:fixed;bottom:0;left:0;right:0}@keyframes mistDrift{0%{opacity:.7;transform:scaleX(1)translate(0)}50%{opacity:1;transform:scaleX(1.03)translate(10px)}to{opacity:.8;transform:scaleX(.97)translate(-10px)}}.page-wrapper{z-index:2;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem 6rem;display:flex;position:relative}.page-wrapper:has(.home-layout){height:100dvh;min-height:0;padding:1rem;overflow:hidden}.home-layout{justify-content:center;align-items:center;gap:0;width:100%;max-width:1100px;height:100%;max-height:100dvh;display:flex}.center-column{scrollbar-width:none;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;max-height:100%;display:flex;overflow:hidden auto}.center-column::-webkit-scrollbar{display:none}.pillar{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1.5rem;width:110px;padding:2rem 0;display:flex;position:relative}.pillar:before{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#0d152599 15%,#0d1525cc 50%,#0d152599 85%,#0000 100%);border-radius:4px;position:absolute;inset:1rem 0}.pillar-left:after,.pillar-right:after{content:"";background:linear-gradient(#0000 0%,#2a3a5c80 20%,#c9a84c33 50%,#2a3a5c80 80%,#0000 100%);width:1px;position:absolute;top:15%;bottom:15%}.pillar-left:after{right:0}.pillar-right:after{left:0}.pillar-runes{color:var(--elvish);letter-spacing:.3em;opacity:.35;text-align:center;z-index:1;font-family:serif;font-size:.7rem;animation:4s ease-in-out infinite runeFlicker;position:relative}.pillar-links{z-index:1;flex-direction:column;gap:1rem;display:flex;position:relative}.pillar-link{color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:inherit;background:#111827b3;border:1px solid #2a3a5c80;border-radius:6px;flex-direction:column;align-items:center;gap:.4rem;width:90px;padding:.8rem .6rem;text-decoration:none;transition:all .35s;display:flex;position:relative;overflow:hidden}.pillar-link:before{content:"";pointer-events:none;border:1px solid #c9a84c0f;border-radius:4px;transition:border-color .35s;position:absolute;inset:3px}.pillar-link:hover{border-color:var(--border-rune);color:var(--silver-glow);transform:translateY(-2px);box-shadow:0 0 16px #6bc5ff1f,inset 0 1px #ffffff0a}.pillar-link:hover:before{border-color:#c9a84c26}.pillar-link-icon{opacity:.7;font-size:1.1rem;transition:opacity .3s}.pillar-link:hover .pillar-link-icon{opacity:1}.pillar-link-label{letter-spacing:.12em;text-transform:uppercase;text-align:center;font-family:Cinzel,serif;font-size:.6rem}.pillar-link-elvish{color:var(--elvish);border-color:#6bc5ff40}.pillar-link-elvish:hover{color:var(--elvish-glow);border-color:#6bc5ff80;box-shadow:0 0 20px #6bc5ff26}.stat-runes{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.stat-rune{color:var(--text-dim);letter-spacing:.06em;white-space:nowrap;font-family:Cinzel,serif;font-size:.65rem}.stat-separator{color:var(--border-rune);opacity:.5;font-size:.5rem}.auth-hint{text-align:center;color:var(--text-dim);padding:1rem 0;font-size:.88rem;font-style:italic;line-height:1.7}.door-container{filter:drop-shadow(0 0 40px #64a0ff1f);cursor:pointer;width:min(340px,55vw,48vh);margin:0 auto 1rem;position:relative}.door-svg{width:100%;height:auto;display:block}.arch-stone{fill:#0d1525;stroke:#2a3a5c;stroke-width:1.5px}.arch-outer{fill:none;stroke:#3a5080;stroke-width:2px}.arch-inner{fill:none;stroke:var(--gold);stroke-width:1px;opacity:.7}.rune-line{fill:none;stroke:var(--elvish);stroke-width:1.5px;filter:url(#glow-elvish);opacity:0;animation:3s forwards runeAppear}.star-of-durin{fill:none;stroke:var(--silver-glow);stroke-width:1.5px;filter:url(#glow-silver)}@keyframes runeAppear{0%{opacity:0;stroke-dashoffset:500px;stroke-dasharray:500}60%{opacity:1}to{opacity:.8;stroke-dashoffset:0;stroke-dasharray:500}}.door-glow{pointer-events:none;background:radial-gradient(60% 80%,#6bc5ff00 0% 100%);border-radius:50%;transition:background 1.2s;position:absolute;inset:0}.door-container:hover .door-glow,.door-container.active .door-glow{background:radial-gradient(60% 80%,#6bc5ff2e 0%,#6bc5ff00 70%)}.door-container.dragging-over .door-glow{background:radial-gradient(60% 80%,#6bc5ff59 0%,#6bc5ff1a 70%)}.door-container.upload-done .door-glow{background:radial-gradient(60% 80%,#c9a84c4d 0%,#c9a84c00 70%)}.rune-text{fill:var(--elvish);filter:url(#glow-elvish);font-family:serif;font-size:14px;animation:4s ease-in-out infinite runeFlicker}@keyframes runeFlicker{0%,to{opacity:.8}25%{opacity:.4}50%{opacity:1}75%{opacity:.6}}.door-upload-overlay{pointer-events:none;z-index:5;opacity:0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.door-container.dragging-over .door-upload-overlay{opacity:1}.upload-overlay-text{color:var(--elvish-glow);text-shadow:0 0 20px #6bc5ffe6,0 0 40px #6bc5ff80;text-align:center;letter-spacing:.1em;padding:1rem;font-family:Cinzel,serif;font-size:.95rem;line-height:1.6}@keyframes handshakeRune{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.site-title{text-align:center;color:var(--gold);text-shadow:0 0 20px #c9a84ccc,0 0 40px #c9a84c66,0 0 80px #c9a84c33;letter-spacing:.08em;margin-bottom:.3rem;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700}.site-subtitle{color:var(--silver);text-align:center;text-shadow:0 0 10px #8ba7c880;letter-spacing:.04em;margin-bottom:1rem;font-family:IM Fell English,Georgia,serif;font-size:clamp(.85rem,2vw,1rem);font-style:italic}.stone-tablets{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:2rem 0;display:flex}.stone-tablet{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);text-align:center;min-width:140px;padding:1.2rem 2rem;position:relative;box-shadow:inset 0 1px #ffffff0a,0 4px 20px #0006}.stone-tablet:before{content:"";border-radius:calc(var(--radius) - 2px);pointer-events:none;border:1px solid #c9a84c1a;position:absolute;inset:3px}.tablet-value{color:var(--gold);text-shadow:0 0 12px #c9a84c99;font-family:Cinzel,serif;font-size:2rem;font-weight:600;line-height:1;display:block}.tablet-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;margin-top:.4rem;font-size:.75rem;display:block}.download-card{background:var(--bg-card);border:1px solid var(--border-rune);border-radius:calc(var(--radius)*2);width:min(520px,95vw);margin:0 auto;padding:2.5rem;position:relative;box-shadow:0 0 0 1px #2a3a5c80,0 20px 60px #0009,inset 0 1px #ffffff0a}.download-card:before{content:"";border-radius:calc(var(--radius)*2 + 1px);pointer-events:none;background:linear-gradient(135deg,#c9a84c26 0%,#0000 50%,#6bc5ff14 100%);position:absolute;inset:-1px}.file-icon{text-align:center;filter:drop-shadow(0 0 8px #c9a84c66);margin-bottom:1rem;font-size:3rem;display:block}.file-name{color:var(--gold);text-align:center;word-break:break-all;text-shadow:0 0 8px #c9a84c66;margin-bottom:1.5rem;font-family:Cinzel,serif;font-size:1.1rem}.meta-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;display:grid}.meta-item{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);flex-direction:column;gap:.2rem;padding:.75rem 1rem;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-size:.65rem}.meta-value{color:var(--silver-glow);font-family:Cinzel,serif;font-size:.9rem}.password-section{margin-bottom:1.5rem}.password-section label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.8rem;display:block}.rune-input{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem;font-family:IM Fell English,Georgia,serif;font-size:1rem;transition:border-color .3s,box-shadow .3s}.rune-input:focus{border-color:var(--elvish);box-shadow:0 0 0 2px #6bc5ff26,0 0 20px #6bc5ff1a}.rune-input::placeholder{color:var(--text-dim);font-style:italic}.error-rune{color:#e06060;margin-top:.4rem;font-size:.85rem;font-style:italic}.btn-portal{border:1px solid var(--gold-dim);border-radius:var(--radius);width:100%;color:var(--gold);letter-spacing:.08em;cursor:pointer;background:linear-gradient(135deg,#c9a84c26 0%,#c9a84c14 100%);justify-content:center;align-items:center;gap:.6rem;padding:1rem 1.5rem;font-family:Cinzel,serif;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 0 20px #c9a84c1a,inset 0 1px #ffffff0d}.btn-portal:before{content:"";background:linear-gradient(135deg,#c9a84c00 0%,#c9a84c26 50%,#c9a84c00 100%);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.btn-portal:hover:before{transform:translate(100%)}.btn-portal:hover,.btn-portal:focus{border-color:var(--gold);color:var(--gold-glow);transform:translateY(-1px);box-shadow:0 0 30px #c9a84c4d,0 0 60px #c9a84c26,inset 0 1px #ffffff14}.btn-portal:active{transform:translateY(0)}.btn-portal:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-rune{filter:drop-shadow(0 0 4px #c9a84ccc);font-size:1.3rem}.btn-silver{border-radius:var(--radius);color:var(--silver);letter-spacing:.08em;cursor:pointer;background:linear-gradient(135deg,#8ba7c81f 0%,#8ba7c80f 100%);border:1px solid #8ba7c84d;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-family:Cinzel,serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.btn-silver:hover{border-color:var(--silver);color:var(--silver-glow);transform:translateY(-1px);box-shadow:0 0 20px #8ba7c833}.btn-elvish{border-radius:var(--radius);color:var(--elvish);letter-spacing:.08em;cursor:pointer;background:linear-gradient(135deg,#6bc5ff1f 0%,#6bc5ff0f 100%);border:1px solid #6bc5ff4d;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-family:Cinzel,serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.btn-elvish:hover{border-color:var(--elvish);color:var(--elvish-glow);transform:translateY(-1px);box-shadow:0 0 20px #6bc5ff40}.download-progress{margin-top:1.2rem;display:none}.download-progress.visible{display:block}.progress-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem;font-size:.75rem}.progress-bar-track{background:var(--bg-stone);border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--elvish),var(--gold));border-radius:2px;width:0%;height:100%;transition:width .3s;animation:1.5s ease-in-out infinite progressGlow;box-shadow:0 0 8px #6bc5ff80}@keyframes progressGlow{0%,to{box-shadow:0 0 8px #6bc5ff80}50%{box-shadow:0 0 16px #6bc5ffe6}}.gallery-wrapper{z-index:2;max-width:1100px;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 7rem;position:relative}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-arch-icon{opacity:.75;margin:0 auto 1.5rem;display:block}.gallery-title{color:var(--gold);text-shadow:0 0 20px #c9a84cb3,0 0 50px #c9a84c4d;letter-spacing:.1em;margin-bottom:.6rem;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700}.gallery-subtitle{color:var(--text-dim);font-family:IM Fell English,Georgia,serif;font-size:clamp(.85rem,2vw,1rem);font-style:italic}.gallery-rune-bar{text-align:center;color:var(--border-rune);letter-spacing:.4em;opacity:.7;margin:1.5rem auto 0;font-size:.8rem}.scroll-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.8rem;margin-top:2.5rem;display:grid}.scroll-card{background:var(--bg-card);border:1px solid var(--border-rune);cursor:pointer;color:inherit;border-radius:8px;padding:0;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0a}.scroll-card:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(135deg,#c9a84c1f 0%,#0000 50%,#6bc5ff0f 100%);border-radius:9px;transition:opacity .3s;position:absolute;inset:-1px}.scroll-card:hover{border-color:#2a3a5ce6;transform:translateY(-3px);box-shadow:0 12px 40px #00000080,0 0 20px #c9a84c14,inset 0 1px #ffffff0f}.scroll-card:hover:before{opacity:1}.scroll-top{background:linear-gradient(#1e2c4899 0%,#16203266 100%);border-bottom:1px solid #2a3a5c99;align-items:center;gap:.7rem;padding:.9rem 1.2rem .7rem;display:flex;position:relative}.scroll-top:after{content:"";background:linear-gradient(90deg,#0000,#c9a84c4d,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.scroll-file-icon{filter:drop-shadow(0 0 6px #c9a84c4d);flex-shrink:0;font-size:1.5rem}.scroll-filename{color:var(--gold);letter-spacing:.04em;word-break:break-all;text-shadow:0 0 8px #c9a84c4d;flex:1;min-width:0;font-family:Cinzel,serif;font-size:.85rem;line-height:1.3}.scroll-body{grid-template-columns:1fr 1fr;gap:.7rem;padding:1rem 1.2rem 1.1rem;display:grid}.scroll-stat{flex-direction:column;gap:.15rem;display:flex}.scroll-stat-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-size:.62rem}.scroll-stat-value{color:var(--silver-glow);font-family:Cinzel,serif;font-size:.88rem}.scroll-stat-value.expiry-warn{color:#e09050}.scroll-stat-value.expiry-fresh{color:#5dca85}.scroll-footer{border-top:1px solid #2a3a5c66;justify-content:space-between;align-items:center;padding:.55rem 1.2rem;display:flex}.scroll-rune-bar{color:var(--border-rune);letter-spacing:.3em;opacity:.6;font-size:.65rem}.scroll-enter-hint{color:var(--text-dim);font-size:.7rem;font-style:italic;transition:color .2s}.scroll-card:hover .scroll-enter-hint{color:var(--silver)}.scroll-lock{color:var(--gold-dim);letter-spacing:.05em;background:#c9a84c1f;border:1px solid #c9a84c40;border-radius:3px;padding:.15rem .4rem;font-size:.7rem;position:absolute;top:.7rem;right:.8rem}.vault-empty{text-align:center;padding:5rem 2rem}.vault-empty-glyph{opacity:.25;margin-bottom:1.5rem;font-size:5rem;display:block}.vault-empty-title{color:var(--text-dim);margin-bottom:.8rem;font-family:Cinzel,serif;font-size:1.4rem}.vault-empty-sub{color:var(--text-dim);opacity:.6;font-size:.9rem;font-style:italic;line-height:1.8}.gallery-nav,.guide-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.gallery-back,.guide-back{color:var(--text-dim);letter-spacing:.08em;opacity:.65;font-family:Cinzel,serif;font-size:.82rem;text-decoration:none;transition:opacity .2s,color .2s}.gallery-back:hover,.guide-back:hover{opacity:1;color:var(--silver)}.share-count-badge{background:var(--bg-stone);border:1px solid var(--border-rune);color:var(--text-dim);letter-spacing:.08em;border-radius:3px;padding:.25rem .7rem;font-family:Cinzel,serif;font-size:.72rem}.share-count-badge strong{color:var(--gold)}.guide-wrapper{z-index:2;max-width:820px;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 8rem;position:relative}.manuscript{background:linear-gradient(160deg,#0f1828 0%,#111c30 30%,#0d1622 60%,#0c1520 100%);border:1px solid #2a3a5cb3;border-radius:8px;padding:3rem clamp(1.5rem,5vw,4rem);position:relative;box-shadow:0 0 0 1px #2a3a5c66,0 20px 60px #000000b3,inset 0 1px #ffffff0a}.manuscript:before,.manuscript:after{content:"✦";color:#c9a84c40;font-size:.9rem;position:absolute}.manuscript:before{top:1.2rem;left:1.4rem}.manuscript:after{bottom:1.2rem;right:1.4rem}.ms-border-top,.ms-border-bot{background:linear-gradient(90deg,#0000 0%,#c9a84c59 30%,#6bc5ff40 70%,#0000 100%);height:1px;margin:0 -1rem 2.5rem}.ms-border-bot{margin:2.5rem -1rem 0}.ms-chapter{color:var(--gold);text-shadow:0 0 15px #c9a84c80;letter-spacing:.08em;text-align:center;margin-bottom:.3rem;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(1.3rem,3.5vw,2rem);font-weight:700}.ms-chapter-sub{color:var(--text-dim);text-align:center;margin-bottom:2rem;font-family:IM Fell English,Georgia,serif;font-size:.88rem;font-style:italic}.ms-rune-divider{text-align:center;color:var(--border-rune);letter-spacing:.35em;opacity:.7;margin:2rem 0;font-size:.78rem}.ms-section{margin-bottom:2.5rem}.ms-heading{color:var(--silver-glow);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #2a3a5c99;align-items:center;gap:.6rem;margin-bottom:1rem;padding-bottom:.5rem;font-family:Cinzel,serif;font-size:clamp(.95rem,2.2vw,1.15rem);display:flex}.ms-heading-rune{color:var(--elvish);opacity:.8;font-size:1rem}.ms-body{color:var(--text-primary);margin-bottom:1.2rem;font-family:IM Fell English,Georgia,serif;font-size:clamp(.9rem,2vw,1rem);line-height:1.9}.ms-body em{color:var(--silver-glow)}.ms-body strong{color:var(--gold)}.stone-code{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:6px;margin:1.2rem 0;padding:1.2rem 1.5rem;position:relative;overflow-x:auto}.stone-code:before{content:attr(data-label);background:var(--bg-stone);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;padding:0 .5rem;font-family:Cinzel,serif;font-size:.65rem;position:absolute;top:-.5rem;left:1rem}.stone-code code{color:var(--elvish);white-space:pre;font-family:Courier New,monospace;font-size:.85rem;display:block}.ms-list{margin:.8rem 0 1.2rem;padding:0;list-style:none}.ms-list li{color:var(--text-primary);border-bottom:1px solid #2a3a5c33;padding:.4rem 0 .4rem 1.8rem;font-family:IM Fell English,Georgia,serif;font-size:.95rem;line-height:1.7;position:relative}.ms-list li:last-child{border-bottom:none}.ms-list li:before{content:attr(data-rune);color:var(--elvish);opacity:.8;font-size:.85rem;position:absolute;left:0}.ms-list li strong{color:var(--gold)}.shield-box{background:#27ae600f;border:1px solid #27ae6033;border-radius:6px;align-items:flex-start;gap:1rem;margin:1.2rem 0;padding:1.2rem 1.5rem;display:flex}.shield-box-icon{flex-shrink:0;font-size:1.6rem}.shield-box-text{color:#a0c88ce6;font-family:IM Fell English,Georgia,serif;font-size:.9rem;line-height:1.8}.shield-box-text strong{color:#5dca85}.ms-steps{counter-reset:step-counter;margin:1rem 0;padding:0;list-style:none}.ms-steps li{counter-increment:step-counter;border-bottom:1px solid #2a3a5c40;align-items:flex-start;gap:1.2rem;padding:.9rem 0;display:flex}.ms-steps li:last-child{border-bottom:none}.ms-steps li:before{content:counter(step-counter);color:var(--gold);background:#c9a84c1a;border:1px solid #c9a84c40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:.15rem;font-family:Cinzel,serif;font-size:.85rem;display:flex}.ms-steps li .step-body{color:var(--text-primary);font-family:IM Fell English,Georgia,serif;font-size:.93rem;line-height:1.8}.ms-steps li .step-body strong{color:var(--silver-glow)}.ms-footer-quote{text-align:center;color:var(--text-dim);opacity:.65;margin-top:1rem;font-family:IM Fell English,Georgia,serif;font-size:.9rem;font-style:italic;line-height:1.8}.auth-card{background:var(--bg-card);border:1px solid var(--border-rune);border-radius:calc(var(--radius)*2);width:min(440px,95vw);margin:0 auto;padding:2.5rem;position:relative;box-shadow:0 0 0 1px #2a3a5c80,0 20px 60px #0009,inset 0 1px #ffffff0a}.auth-card:before{content:"";border-radius:calc(var(--radius)*2 + 1px);pointer-events:none;background:linear-gradient(135deg,#c9a84c1f 0%,#0000 50%,#6bc5ff0f 100%);position:absolute;inset:-1px}.auth-title{color:var(--gold);text-align:center;text-shadow:0 0 12px #c9a84c80;margin-bottom:.4rem;font-family:Cinzel,serif;font-size:1.4rem}.auth-subtitle{color:var(--text-dim);text-align:center;margin-bottom:2rem;font-family:IM Fell English,Georgia,serif;font-size:.9rem;font-style:italic}.form-group{margin-bottom:1.2rem}.form-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem;display:block}.auth-link{color:var(--silver);font-size:.85rem;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--silver-glow)}.share-url-box{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);align-items:center;gap:.5rem;margin:1rem 0;padding:.6rem .8rem;display:flex}.share-url-box input{color:var(--elvish);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:Courier New,monospace;font-size:.8rem}.copy-btn{border:1px solid var(--border-rune);color:var(--text-dim);border-radius:calc(var(--radius) - 2px);cursor:pointer;white-space:nowrap;background:0 0;padding:.3rem .7rem;font-size:.75rem;transition:all .2s}.copy-btn:hover{border-color:var(--gold);color:var(--gold)}.hall-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;margin-top:2.8rem;display:flex}.hall-link{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;background:#11182799;border:1px solid #2a3a5c80;border-radius:4px;padding:.5rem 1.2rem;font-family:Cinzel,serif;font-size:.78rem;text-decoration:none;transition:all .35s;position:relative;overflow:hidden}.hall-link:before{content:"";opacity:0;background:linear-gradient(135deg,#6bc5ff00 0%,#6bc5ff12 100%);transition:opacity .35s;position:absolute;inset:0}.hall-link:hover{color:var(--silver-glow);border-color:var(--border-rune);transform:translateY(-1px);box-shadow:0 0 14px #6bc5ff1f,inset 0 1px #ffffff0a}.hall-link:hover:before{opacity:1}.hall-link-rune{opacity:.6;margin-right:.4em}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;display:inline-flex}.badge-active{color:#5dca85;background:#27ae6026;border:1px solid #27ae604d}.badge-expired{color:#e06060;background:#c0392b26;border:1px solid #c0392b4d}.badge-locked{color:var(--gold);background:#c9a84c26;border:1px solid #c9a84c4d}.badge-waiting{color:var(--elvish);background:#6bc5ff26;border:1px solid #6bc5ff4d}.options-panel{background:var(--bg-card);border:1px solid var(--border-rune);border-radius:calc(var(--radius)*2);width:min(420px,90vw);margin:.8rem auto 0;padding:1.5rem;position:relative;box-shadow:0 20px 60px #00000080}.options-panel:before{content:"";border-radius:calc(var(--radius)*2 + 1px);pointer-events:none;background:linear-gradient(135deg,#c9a84c1a 0%,#0000 60%);position:absolute;inset:-1px}.options-file-name{color:var(--gold);text-align:center;word-break:break-all;border-bottom:1px solid var(--border-rune);margin-bottom:1.5rem;padding-bottom:1rem;font-family:Cinzel,serif;font-size:1rem}.options-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.rune-select{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;outline:none;padding:.65rem .8rem;font-family:IM Fell English,Georgia,serif;font-size:.9rem;transition:border-color .3s}.rune-select:focus{border-color:var(--elvish)}.rune-select option{background:var(--bg-stone)}.rune-divider{text-align:center;color:var(--border-rune);letter-spacing:.3em;opacity:.7;margin:1.5rem 0;font-size:.75rem}.handshake-card{background:var(--bg-card);border:1px solid var(--border-rune);border-radius:calc(var(--radius)*2);text-align:center;width:min(540px,95vw);margin:0 auto;padding:2.5rem;position:relative;box-shadow:0 0 0 1px #2a3a5c80,0 20px 60px #0009,inset 0 1px #ffffff0a}.handshake-card:before{content:"";border-radius:calc(var(--radius)*2 + 1px);pointer-events:none;background:linear-gradient(135deg,#6bc5ff1f 0%,#0000 50%,#c9a84c0f 100%);position:absolute;inset:-1px}.pairing-code{color:var(--elvish-glow);text-shadow:0 0 20px #6bc5ffe6,0 0 50px #6bc5ff80,0 0 100px #6bc5ff33;letter-spacing:.3em;margin:1.5rem 0;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(2rem,8vw,3.5rem);font-weight:700;animation:2.5s ease-in-out infinite codeGlow;display:block}@keyframes codeGlow{0%,to{text-shadow:0 0 20px #6bc5ffb3,0 0 50px #6bc5ff4d}50%{text-shadow:0 0 30px #6bc5ff,0 0 70px #6bc5ff99,0 0 120px #6bc5ff4d}}.waiting-runes{letter-spacing:.5rem;color:var(--elvish);margin:1rem 0;font-size:1.5rem;animation:2s ease-in-out infinite handshakeRune}.verification-box{border-radius:var(--radius);background:#6bc5ff0f;border:1px solid #6bc5ff40;margin:1.5rem 0;padding:1.5rem}.verification-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);margin-bottom:.8rem;font-size:.72rem}.verification-phrase{color:var(--elvish-glow);text-shadow:0 0 15px #6bc5ff99;letter-spacing:.05em;font-family:Cinzel,serif;font-size:clamp(1.1rem,3vw,1.5rem);line-height:1.6}.handshake-status{color:var(--text-dim);margin:1rem 0;font-family:IM Fell English,Georgia,serif;font-size:.9rem;font-style:italic}.code-input-wrap{flex-direction:column;align-items:stretch;gap:.75rem;max-width:320px;margin:1.5rem auto;display:flex}.code-input{background:var(--bg-stone);border:1px solid var(--border-rune);border-radius:var(--radius);color:var(--elvish-glow);text-align:center;letter-spacing:.3em;text-transform:uppercase;outline:none;flex:1;padding:.75rem 1rem;font-family:Cinzel,serif;font-size:1.4rem;transition:border-color .3s,box-shadow .3s}.code-input:focus{border-color:var(--elvish);box-shadow:0 0 0 2px #6bc5ff33,0 0 20px #6bc5ff26}.mountain-silhouette{pointer-events:none;z-index:1;height:130px;position:fixed;bottom:0;left:0;right:0}#balrog-overlay{z-index:1000;background:radial-gradient(at bottom,#dc3c00f2 0%,#961400e0 40%,#3c0500f7 100%);flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#balrog-overlay.active{animation:.15s balrogFlash;display:flex}@keyframes balrogFlash{0%{opacity:0}to{opacity:1}}#balrog-overlay.fade-out{animation:1.2s forwards balrogFadeOut}@keyframes balrogFadeOut{0%{opacity:1}to{opacity:0}}.balrog-text{color:#fff;text-shadow:0 0 20px #ff9600,0 0 50px #ff5000cc;letter-spacing:.05em;text-align:center;font-family:Cinzel Decorative,Cinzel,serif;font-size:clamp(2rem,8vw,5rem);font-weight:700;animation:.4s ease-in-out infinite alternate balrogPulse}@keyframes balrogPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.balrog-sub{color:#ffb432e6;text-align:center;text-shadow:0 0 15px #ff7800cc;margin-top:1.5rem;font-size:clamp(.9rem,2.5vw,1.3rem);font-style:italic}.balrog-flame{margin-top:2rem;font-size:4rem;animation:.3s ease-in-out infinite alternate balrogPulse}#mellon-message{z-index:200;text-align:center;pointer-events:none;opacity:0;transition:opacity .8s .6s;position:fixed;top:50%;left:50%;transform:translate(-50%,160px)}#mellon-message.show{opacity:1}.mellon-msg-text{color:#b8eaff;text-shadow:0 0 20px #6bc5ffe6;margin-bottom:1rem;font-size:clamp(1rem,2.5vw,1.3rem);font-style:italic;line-height:1.7}.gandalf-silhouette{opacity:.35;filter:drop-shadow(0 0 12px #6bc5ff99);font-size:3.5rem;display:block}#hidden-ring{color:#6450141f;cursor:default;z-index:50;-webkit-user-select:none;user-select:none;font-size:.85rem;line-height:1;transition:all .5s;position:fixed;bottom:18px;right:22px}#hidden-ring:hover{color:var(--gold-glow);text-shadow:0 0 8px #f0c060e6,0 0 20px #f0c06099;font-size:1.8rem}.ring-tooltip{border:1px solid var(--gold-dim);color:var(--gold);white-space:nowrap;opacity:0;pointer-events:none;background:#0a0e1af2;border-radius:4px;padding:.35rem .7rem;font-size:.82rem;font-style:italic;transition:opacity .3s .3s;position:absolute;bottom:calc(100% + 8px);right:0}#hidden-ring:hover .ring-tooltip{opacity:1}#shire-leaf{color:#3c5a321a;cursor:default;z-index:50;-webkit-user-select:none;user-select:none;font-size:.75rem;transition:color .5s;position:fixed;top:22px;left:20px}#shire-leaf:hover{color:#50a046b3}#shire-quote{color:#a0c878e6;pointer-events:none;opacity:0;z-index:51;background:#080c14f2;border:1px solid #3c5a2866;border-radius:6px;max-width:240px;padding:.8rem 1.2rem;font-size:.82rem;font-style:italic;line-height:1.7;transition:all .5s;position:fixed;top:40px;left:12px;transform:translateY(-4px)}#shire-leaf:hover~#shire-quote{opacity:1;transform:translateY(0)}.leaf-particle{pointer-events:none;z-index:52;opacity:0;font-size:.7rem;animation:3s ease-out forwards leafFloat;position:fixed}@keyframes leafFloat{0%{opacity:0;transform:translateY(0)rotate(0)}20%{opacity:.8}to{opacity:0;transform:translateY(-120px)rotate(180deg)translate(30px)}}#ring-inscription{z-index:501;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:none;position:fixed;inset:0}#ring-inscription.show{display:flex}.ring-text-line{color:var(--gold-glow);text-shadow:0 0 15px #f0c060e6,0 0 40px #f0c06080;text-align:center;letter-spacing:.08em;opacity:0;font-size:clamp(1rem,3vw,1.6rem);font-style:italic;animation:.6s forwards ringTextFade}.ring-text-line:nth-child(2){animation-delay:.3s}.ring-text-line:nth-child(3){animation-delay:.7s}.ring-text-line:nth-child(4){animation-delay:1.1s}.ring-text-line:nth-child(5){animation-delay:1.5s}@keyframes ringTextFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.speak-friend{color:var(--elvish);text-align:center;letter-spacing:.06em;text-shadow:0 0 12px #6bc5ff99,0 0 35px #6bc5ff40;margin-bottom:.5rem;font-size:clamp(.78rem,1.8vw,.92rem);font-style:italic;animation:4.5s ease-in-out infinite speakPulse}@keyframes speakPulse{0%,to{opacity:.65;text-shadow:0 0 10px #6bc5ff73}50%{opacity:1;text-shadow:0 0 22px #6bc5ffd9,0 0 55px #6bc5ff59}}@keyframes doorShimmer{0%{filter:drop-shadow(0 0 40px #64a0ff1f)}25%{filter:drop-shadow(0 0 80px #c9a84c99)drop-shadow(0 0 30px #6bc5ff66)}50%{filter:drop-shadow(0 0 100px #c9a84ccc)drop-shadow(0 0 40px #ffdc6480)}75%{filter:drop-shadow(0 0 80px #c9a84c80)drop-shadow(0 0 25px #6bc5ff4d)}to{filter:drop-shadow(0 0 40px #64a0ff1f)}}.door-shimmer{animation:2.5s ease-in-out doorShimmer!important}.rune-table{border-collapse:collapse;width:100%;margin:1.2rem 0;font-size:.85rem}.rune-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;text-align:left;border-bottom:1px solid var(--border-rune);background:#111827cc;padding:.6rem .9rem;font-family:Cinzel,serif;font-size:.65rem;font-weight:400}.rune-table td{vertical-align:top;border-bottom:1px solid #2a3a5c4d;padding:.6rem .9rem}.rune-table tr:last-child td{border-bottom:none}.rune-table tr:hover td{background:#ffffff05}.rune-table .flag-cell{color:var(--gold);white-space:nowrap;font-family:Courier New,monospace;font-size:.8rem}.rune-table .default-cell{color:#a0e090;font-family:Courier New,monospace;font-size:.78rem}.rune-table .desc-cell{color:var(--text-dim);font-size:.85rem;font-style:italic;line-height:1.5}.guide-code-block{background:var(--bg-stone);border:1px solid var(--border-rune);-webkit-overflow-scrolling:touch;border-radius:6px;margin:1.2rem 0;padding:1.2rem 1.5rem;position:relative;overflow-x:auto}.guide-code-label{background:var(--bg-stone);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;padding:0 .5rem;font-family:Cinzel,serif;font-size:.65rem;position:absolute;top:-.5rem;left:1rem}.guide-code{color:var(--elvish);white-space:pre;word-break:keep-all;font-family:Courier New,monospace;font-size:.85rem;display:block}.error-card{text-align:center;padding:2rem}.error-glyph{margin-bottom:1rem;font-size:4rem;display:block}.error-title{color:#e06060;margin-bottom:1rem;font-family:Cinzel,serif;font-size:1.4rem}.error-message{color:var(--text-dim);margin-bottom:2rem;font-style:italic}.text-center{text-align:center}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}a{color:var(--silver)}a:hover{color:var(--silver-glow)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s forwards fadeInUp}.fade-in-up-delay-1{opacity:0;animation-delay:.1s}.fade-in-up-delay-2{opacity:0;animation-delay:.2s}.fade-in-up-delay-3{opacity:0;animation-delay:.3s}.fade-in-up-delay-4{opacity:0;animation-delay:.4s}@media (max-width:700px){.pillar{display:none}.home-layout{flex-direction:column}.center-column{padding-bottom:1rem}.center-column:after{content:none}}@media (max-width:520px){.meta-grid,.options-grid{grid-template-columns:1fr}.download-card,.options-panel,.handshake-card{padding:1.5rem}.door-container{width:min(280px,80vw,50vh)}.site-title{font-size:clamp(1.2rem,5vw,1.6rem)}.guide-code-block{padding:1rem .8rem}.guide-code{font-size:.7rem}.rune-table{font-size:.75rem}.rune-table th,.rune-table td{padding:.4rem .5rem}.rune-table .flag-cell,.rune-table .default-cell{white-space:normal;word-break:break-all;font-size:.68rem}.rune-table .desc-cell{font-size:.75rem}}.mobile-nav{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.8rem;display:none}@media (max-width:700px){.mobile-nav{display:flex}}.mobile-nav-link{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#11182799;border:1px solid #2a3a5c80;border-radius:4px;padding:.35rem .8rem;font-family:Cinzel,serif;font-size:.68rem;text-decoration:none;transition:all .3s}.mobile-nav-link:hover{color:var(--silver-glow);border-color:var(--border-rune)}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
.balrog-whip-canvas{pointer-events:none;z-index:9998;width:100vw;height:100vh;position:fixed;top:0;left:0}.whip-prompt-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.4s whipPromptFadeIn;display:flex;position:fixed;inset:0}@keyframes whipPromptFadeIn{0%{opacity:0}to{opacity:1}}.whip-prompt-card{text-align:center;background:linear-gradient(135deg,#140c08f7,#0a0604fa);border:1px solid #ff500040;border-radius:12px;width:90%;max-width:420px;padding:2rem 2.5rem;box-shadow:0 0 60px #ff3c0026,inset 0 0 30px #ff28000d}.whip-prompt-icon{margin-bottom:.75rem;font-size:2.5rem}.whip-prompt-title{color:var(--gold,#c9a84c);margin-bottom:.75rem;font-family:Cinzel,serif;font-size:1.4rem}.whip-prompt-desc{color:#c8b48ccc;margin-bottom:1.25rem;font-size:.85rem;line-height:1.5}.whip-prompt-rules{text-align:left;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.whip-prompt-rule{color:#c8b496b3;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.whip-prompt-rule-icon{text-align:center;flex-shrink:0;width:1.5rem;font-size:1rem}.whip-prompt-btn{color:#ffc878f2;cursor:pointer;background:linear-gradient(135deg,#c83c004d,#b4280033);border:1px solid #ff640066;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.65rem 1.5rem;font-family:Cinzel,serif;font-size:.95rem;transition:all .2s;display:inline-flex}.whip-prompt-btn:hover{background:linear-gradient(135deg,#dc460066,#c832004d);border-color:#ff780099;box-shadow:0 0 20px #ff3c0033}.whip-prompt-key{color:#ffc878cc;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:.1rem .5rem;font-family:monospace;font-size:.75rem;display:inline-block}.whip-prompt-dismiss{color:#8c786480;font-size:.7rem}.whip-hud{z-index:9999;pointer-events:auto;align-items:center;gap:1rem;display:flex;position:fixed;top:12px;right:16px}.whip-hud-score{color:#c8a064b3;text-shadow:0 0 10px #ff50004d;font-family:Cinzel,serif;font-size:.8rem}.whip-hud-quit{color:#b48c6499;cursor:pointer;background:#28140a99;border:1px solid #7850284d;border-radius:4px;padding:.25rem .6rem;font-size:.7rem;transition:all .2s}.whip-hud-quit:hover{color:#c8a078cc;border-color:#b4783c80}.balrog-caught-overlay{z-index:9999;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow:hidden}.balrog-scene{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.balrog-ascii{color:#f40;text-shadow:0 0 8px #ff3c00e6,0 0 25px #ff1e0099,0 0 50px #c800004d;white-space:pre;text-align:center;z-index:2;margin:0;font-family:Courier New,Courier,monospace;font-size:clamp(.4rem,1.2vw,.75rem);line-height:1.15;animation:.2s ease-in-out infinite alternate asciiFireFlicker}.balrog-ascii-bg{animation:.15s ease-in-out infinite alternate asciiFireFlicker;position:absolute}@keyframes asciiFireFlicker{0%{color:#c30;text-shadow:0 0 8px #ff3200cc,0 0 25px #ff140080,0 0 50px #b400004d}to{color:#f50;text-shadow:0 0 12px #ff5000,0 0 35px #ff2800cc,0 0 70px #f006}}.gandalf-ascii{color:#b4c8e6b3;text-shadow:0 0 10px #b4c8ff4d,0 0 30px #78a0dc26;white-space:pre;text-align:center;z-index:3;margin-top:1rem;font-family:Courier New,Courier,monospace;font-size:clamp(.35rem,1vw,.6rem);line-height:1.15}.falling-ascii{color:#a08c7899;text-shadow:0 0 8px #ff3c004d;white-space:pre;text-align:center;z-index:3;font-family:Courier New,Courier,monospace;font-size:clamp(.35rem,1vw,.55rem);line-height:1.15}.balrog-fire-glow{z-index:1;background:linear-gradient(#0000 0%,#ff1e0026 60%,#ff3c0066);height:60%;animation:.3s ease-in-out infinite alternate fireGlowPulse;position:absolute;bottom:0;left:0;right:0}@keyframes fireGlowPulse{0%{opacity:.7}to{opacity:1}}.mine-text{color:#c8b48ce6;text-shadow:0 0 20px #ff640080;text-align:center;z-index:3;margin-top:2rem;font-family:Cinzel,serif;font-size:clamp(1rem,3vw,1.8rem)}.ysnp-text{color:#fff;text-shadow:0 0 10px #fff,0 0 30px #ffc864e6,0 0 60px #ff6400b3,0 0 100px #ff280080;z-index:4;text-align:center;letter-spacing:.15em;font-family:Cinzel,serif;font-size:clamp(2rem,6vw,4.5rem);font-weight:700;animation:.2s ease-in-out infinite alternate ysnpPulse}@keyframes ysnpPulse{0%{text-shadow:0 0 10px #fff,0 0 30px #ffc864e6,0 0 60px #ff6400b3}to{text-shadow:0 0 15px #fff,0 0 40px #ffdc78,0 0 80px #ff7800e6,0 0 120px #ff280099}}.caught-score{color:#c8a064b3;margin-top:1rem;font-family:Cinzel,serif;font-size:clamp(.8rem,2.5vw,1.2rem)}.falling-scene{background:linear-gradient(#0a0000 0%,#000 50% 100%)}.falling-darkness{z-index:1;background:radial-gradient(#0000 10%,#000 70%);position:absolute;inset:0}.falling-text{z-index:4;text-align:center;margin-top:2rem}.bridge-quote{color:#c8c8dce6;text-shadow:0 0 20px #b4c8ff4d;margin-bottom:.5rem;font-family:Cinzel,serif;font-size:clamp(1.2rem,4vw,2.5rem);font-style:italic}.bridge-sub{color:#8c8ca0b3;font-family:Cinzel,serif;font-size:clamp(.7rem,2vw,1rem)}.aftermath-text{z-index:3;text-align:center}.depth-lines{z-index:1;flex-direction:column;justify-content:space-around;padding:10% 0;display:flex;position:absolute;inset:0}.depth-line{background:linear-gradient(90deg,#0000 10%,#3c28144d 30%,#50321480 50%,#3c28144d 70%,#0000 90%);width:100%;height:1px;animation:2s ease-in-out infinite alternate depthLineDrift}.depth-line:nth-child(odd){animation-duration:1.5s;animation-delay:-.5s}@keyframes depthLineDrift{0%{opacity:.3;transform:scaleX(.8)translateY(-2px)}to{opacity:.7;transform:scaleX(1.1)translateY(2px)}}
