:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button:focus,button:focus-visible{outline:none;box-shadow:none}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;padding:0;height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{display:flex;place-items:center;min-width:320px;height:100vh}#root{width:100%;height:100vh}html.oniframe-view,html.oniframe-view body{overflow:hidden;position:fixed;width:100%;height:100%;height:100dvh;-webkit-overflow-scrolling:touch}html.oniframe-view #root{height:100%;height:100dvh;overflow:hidden;display:flex;place-items:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s;-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible,button:active{outline:none;box-shadow:none}a:focus,a:focus-visible,a:active{outline:none;box-shadow:none}a{-webkit-tap-highlight-color:transparent}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes app-loading-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-loading-spinner{to{transform:rotate(360deg)}}@keyframes app-loading-pulse{0%,to{opacity:.4}50%{opacity:1}}.app-loading-wrap{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:#000;color:#ffffffb3;font-size:.95rem;animation:app-loading-fade-in .4s ease-out forwards;box-sizing:border-box}.app-loading-wrap--compact{min-height:unset}.app-loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:#ffffffb3;border-radius:50%;animation:app-loading-spinner .8s linear infinite}.app-loading-text{animation:app-loading-pulse 1.2s ease-in-out infinite}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.index-title{color:#fff;font-size:4rem;font-weight:700;margin:0;text-align:center}.user-dropdown-container{position:fixed;top:110px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:auto}.user-dropdown{background:#14141ef2;border:2px solid rgba(255,255,255,.2);border-radius:12px;min-width:220px;overflow:hidden;box-shadow:0 4px 20px #00000080,0 0 40px #00ff001a;animation:dropdown-appear .2s ease-out}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.user-dropdown-name{color:#fff;font-size:1rem;font-weight:600}.user-dropdown-email{color:#ffffff80;font-size:.85rem}.user-dropdown-divider{height:1px;background:#ffffff1a}.user-dropdown-item{width:100%;padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;background:transparent;border:none;color:#fffc;font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.user-dropdown-item:hover{background:#ffffff0d}.user-dropdown-item.logout{color:orange}.user-dropdown-item.logout:hover{background:#ffa5001a}.user-dropdown-icon{font-size:1.1rem}.spline-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:auto}.index-view{width:100%;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;position:relative}.index-view.visitor-overlay{position:fixed;top:0;left:0;z-index:2;pointer-events:none;flex-direction:column;gap:2rem}.visitor-message{position:fixed;bottom:3rem;bottom:max(3rem,env(safe-area-inset-bottom));left:1rem;right:1rem;color:#ffffffe6;font-size:clamp(1.4rem,5vw,1.75rem);font-weight:500;text-align:center;margin:0;padding:0;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,.6);pointer-events:none}.index-wizard-step1-title{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:100%;max-width:90vw;text-align:center;font-size:clamp(1.5rem,5vw,3rem);font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6);pointer-events:none;z-index:5}.index-wizard-enter-btn{position:fixed;left:50%;transform:translate(-50%);bottom:6.5rem;bottom:max(6.5rem,calc(3rem + env(safe-area-inset-bottom) + 3em));z-index:10;pointer-events:auto;width:100px;height:100px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#333;background:linear-gradient(to bottom,#f7f7f7,#e7e7e7);border:1px solid rgba(200,200,200,.8);border-radius:50%;box-shadow:0 3px 10px #00000040,inset 0 1px #fffc;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.index-wizard-enter-btn:hover{filter:brightness(1.05);transform:translate(-50%) scale(1.05);box-shadow:0 4px 14px #0000004d,inset 0 1px #ffffffe6}.index-wizard-enter-btn:active{transform:translate(-50%) scale(.98);box-shadow:0 2px 6px #0000004d}.index-wizard-step-message{bottom:6.5rem;bottom:max(6.5rem,calc(3rem + env(safe-area-inset-bottom) + 2em))}.index-wizard-step-message-wait{opacity:0}.index-wizard-step-message-fade-out{animation:index-wizard-message-fade-out .35s ease forwards}.index-wizard-step-message-fade-in{animation:index-wizard-message-fade-in .45s ease forwards}@keyframes index-wizard-message-fade-out{0%{opacity:1}to{opacity:0}}@keyframes index-wizard-message-fade-in{0%{opacity:0}to{opacity:1}}.index-wizard-black-veil{position:fixed;inset:0;z-index:50;background:#000;pointer-events:none}.index-wizard-black-veil--to-black{opacity:0;animation:index-wizard-veil-to-black .5s ease forwards}.index-wizard-black-veil--from-black{opacity:1;animation:index-wizard-veil-from-black .5s ease forwards}@keyframes index-wizard-veil-to-black{0%{opacity:0}to{opacity:1}}@keyframes index-wizard-veil-from-black{0%{opacity:1}to{opacity:0}}.index-wizard-tap-layer{position:fixed;inset:0;z-index:2;padding:0;margin:0;border:none;background:transparent;cursor:pointer;pointer-events:auto;outline:none;-webkit-tap-highlight-color:transparent}.index-wizard-tap-layer:focus,.index-wizard-tap-layer:focus-visible{outline:none;box-shadow:none}.index-wizard-debug{position:fixed;top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));z-index:100;pointer-events:auto;padding:.35rem .5rem;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:.65rem;color:#ffffff80;text-align:center}.index-wizard-debug-step{font-weight:500;line-height:1.2}.index-wizard-debug-nav{padding:.2rem;font-size:0;line-height:0;color:#ffffffb3;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease;display:inline-flex;align-items:center;justify-content:center}.index-wizard-debug-nav .index-btn-icon{font-size:1rem}.index-wizard-debug-nav:hover:not(:disabled){background:#fff3;border-color:#ffffff59;color:#fffffff2}.index-wizard-debug-nav:disabled{opacity:.4;cursor:not-allowed}.index-wizard-debug-reset{padding:.2rem .35rem;font-size:.6rem;font-weight:500;color:#fff9;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.index-wizard-debug-reset:hover{background:#fff3;border-color:#ffffff59}.index-wizard-debug-reset:active{background:#ffffff26}.index-wizard-note-btn{position:fixed;top:max(.5rem,env(safe-area-inset-top));left:max(.5rem,env(safe-area-inset-left));z-index:100;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffd9;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease;pointer-events:auto}.index-wizard-note-btn:hover{background:#0000008c;border-color:#ffffff40;color:#fff}.index-wizard-note-btn:focus,.index-wizard-note-btn:focus-visible,.index-wizard-note-btn:active{outline:none;box-shadow:none}.index-wizard-note-btn .index-btn-icon{font-size:1.25rem}.index-wizard-note-panel{position:fixed;top:max(2.5rem,calc(env(safe-area-inset-top) + 2rem));left:max(.5rem,env(safe-area-inset-left));z-index:99;width:280px;max-width:calc(100vw - 1rem);display:flex;flex-direction:column;gap:.5rem;background:#121218f5;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.75rem;box-shadow:0 8px 24px #0006;pointer-events:auto}.index-wizard-note-panel--centered{top:50%;left:50%;transform:translate(-50%,-50%);width:320px;max-width:calc(100vw - 2rem)}.index-wizard-note-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.index-wizard-note-panel-title{font-size:.8rem;font-weight:600;color:#ffffffb3}.index-wizard-note-panel-position{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}.index-wizard-note-panel-position:hover{background:#ffffff1f;border-color:#fff3;color:#ffffffe6}.index-wizard-note-panel-position:focus,.index-wizard-note-panel-position:focus-visible,.index-wizard-note-panel-position:active{outline:none;box-shadow:none}.index-wizard-note-panel-position .index-btn-icon{font-size:1rem}.index-wizard-note-textarea{width:100%;min-height:100px;padding:.6rem .75rem;font-size:.9rem;line-height:1.45;color:#ffffffe6;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;resize:vertical;outline:none;font-family:inherit;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.index-wizard-note-textarea::placeholder{color:#ffffff59}.index-wizard-note-textarea:focus{border-color:#ffffff40;background:#ffffff14}.index-metal-btn{position:fixed;left:50%;transform:translate(-50%);width:55px;height:55px;border-radius:50%;background:linear-gradient(to bottom,#f7f7f7,#e7e7e7);border:solid 1px transparent;box-shadow:0 3px 8px #aaa9,inset 0 2px 3px #fffc;cursor:pointer;padding:0;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:all .3s ease;z-index:10;pointer-events:auto;color:#a7a7a7;font-size:1.2rem;font-weight:600}.index-metal-btn:before{content:"";display:block;background:#fff;border-top:2px solid rgba(221,221,221,1);position:absolute;inset:-8px;z-index:-1;border-radius:50%;box-shadow:inset 0 8px 48px #dddc}.index-bot-btn:before{z-index:-2}.index-metal-btn:hover{filter:brightness(1.05);transform:translate(-50%) scale(1.05);color:#555}.index-top-btn:hover{background:linear-gradient(to bottom,#f5f5f5,#e5e5e5)}.index-bot-btn:hover{background-image:url(/assets/icons/games.png),linear-gradient(to bottom,#f5f5f5,#e5e5e5)}.index-metal-btn:active{box-shadow:none;border:solid 1px rgba(167,167,167,1);transform:translate(-50%) scale(.98);outline:none}.index-metal-btn:focus{outline:none}.index-metal-btn:focus-visible{outline:none}.index-top-btn{top:2rem;top:max(2rem,env(safe-area-inset-top))}.index-bot-btn{bottom:2rem;bottom:max(2rem,env(safe-area-inset-bottom));color:transparent;font-size:0}.index-bot-btn:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85%;height:85%;background-image:url(/assets/icons/games.png);background-size:contain;background-position:center;background-repeat:no-repeat;z-index:2;pointer-events:none}.index-btn-icon{font-family:Material Icons;font-size:1.5rem;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.games-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.games-modal{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000080}.games-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.games-modal-header h2{margin:0;font-size:1.5rem;color:#fff}.games-modal-close{background:none;border:none;color:#fff9;font-size:2rem;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.games-modal-close:hover{color:#fff}.games-modal-content{padding:1.5rem}.games-modal-loading,.games-modal-empty{text-align:center;color:#fff9;padding:2rem}.games-modal-list{display:flex;flex-direction:column;gap:.75rem}.games-modal-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s ease}.games-modal-item:hover{background:#ffffff14;border-color:#fff3}.games-modal-item .game-emoji{font-size:1.5rem;line-height:1}.games-modal-item .game-title{font-size:1rem;font-weight:500;color:#fff}.index-ready-content{display:flex;flex-direction:column;align-items:center;gap:2rem;position:absolute;bottom:max(env(safe-area-inset-bottom,0px) + 80px,100px);left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:400px;text-align:center}.index-ready-btn{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#0f8,#00cc6a);border:none;border-radius:12px;color:#000;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 20px #00ff884d;pointer-events:auto}.index-ready-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0f86}.index-ready-btn:active{transform:translateY(0)}.index-signup-card{background:linear-gradient(145deg,#1a1a2ef2,#16213ef2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;width:calc(100% - 2rem);max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;box-shadow:0 16px 48px #0006}.index-wizard-step--signup{align-items:center;justify-content:center;padding-top:80px;padding-bottom:40px;overflow-y:auto}.index-signup-icon{font-size:3.5rem;text-align:center;margin-bottom:.5rem}.index-signup-title{font-size:1.5rem;font-weight:700;color:#fff;text-align:center;margin:0}.index-signup-subtitle{font-size:.95rem;color:#ffffffb3;text-align:center;margin:0 0 .5rem}.index-signup-message{font-size:1rem;color:#fffc;text-align:center;margin:0}.index-signup-email{font-size:1.1rem;font-weight:600;color:#0f8;text-align:center;margin:0;word-break:break-all}.index-signup-hint{font-size:.9rem;color:#ffffff80;text-align:center;margin:0;line-height:1.5}.index-signup-error{background:#ff444426;border:1px solid rgba(255,68,68,.3);border-radius:8px;color:#ff6b6b;padding:.75rem 1rem;font-size:.9rem;text-align:center;margin:0}.index-signup-row{display:flex;gap:.75rem}.index-signup-row .index-signup-field{flex:1}.index-signup-field{display:flex;flex-direction:column;gap:.4rem}.index-signup-field label{font-size:.85rem;font-weight:500;color:#ffffffb3}.index-signup-field input{width:100%;padding:.75rem 1rem;font-size:1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;outline:none;transition:all .2s ease;box-sizing:border-box}.index-signup-field input::placeholder{color:#fff6}.index-signup-field input:focus{border-color:#00ff8880;background:#ffffff1a}.index-signup-field input:disabled{opacity:.6;cursor:not-allowed}.index-signup-submit{width:100%;padding:.875rem;font-size:1rem;font-weight:600;background:linear-gradient(135deg,#0f8,#00cc6a);border:none;border-radius:10px;color:#000;cursor:pointer;transition:all .25s ease;margin-top:.5rem}.index-signup-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00ff8859}.index-signup-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.index-signup-back{width:100%;padding:.75rem;font-size:.95rem;font-weight:500;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.index-signup-back:hover:not(:disabled){border-color:#fff6;color:#fff}.index-signup-back:disabled{opacity:.5;cursor:not-allowed}.index-signup-resend{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.index-signup-resend:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;color:#fff}.index-signup-resend:disabled{opacity:.6;cursor:not-allowed}.index-signup-resend-msg{font-size:.85rem;text-align:center;margin:0;padding:.5rem;border-radius:6px}.index-signup-resend-msg.success{color:#0f8;background:#00ff881a}.index-signup-resend-msg.error{color:#ff6b6b;background:#ff44441a}@media(max-width:480px){.index-signup-card{padding:1.5rem;border-radius:16px}.index-signup-row{flex-direction:column}.index-signup-title{font-size:1.3rem}.index-signup-icon{font-size:2.75rem}.index-ready-content{bottom:max(env(safe-area-inset-bottom,0px) + 60px,80px)}}.admin-board{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;padding:0;margin:0;box-sizing:border-box;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;position:relative;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.admin-board-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem 2rem;box-sizing:border-box;contain:style}@media(max-width:768px){.admin-board-container{padding:0 1.5rem 2rem}}@media(max-width:480px){.admin-board-container{padding:0 1rem 2rem}}.admin-counter-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;width:100%;box-sizing:border-box;contain:layout;will-change:contents}.admin-counter-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.25rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;text-align:center;box-sizing:border-box;contain:layout style;transform:translateZ(0);backface-visibility:hidden}.admin-counter-card:hover{background:#ffffff14;border-color:#00ff884d}.admin-counter-label{font-size:.85rem;color:#fff9;margin-bottom:.5rem;font-weight:500}.admin-counter-value{font-size:2rem;font-weight:700;color:#0f8;line-height:1;min-height:2rem;display:inline-block;contain:layout style}.admin-content{width:100%;display:flex;flex-direction:column;gap:2.5rem;padding-bottom:3rem;contain:style}.admin-section{margin-bottom:0;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1rem 1.25rem;display:flex;flex-direction:column;contain:style;transform:translateZ(0);backface-visibility:hidden;position:relative}.admin-section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.admin-section-title{font-size:.95rem;font-weight:600;margin:0;color:#0f8;text-transform:uppercase;letter-spacing:.05em}.admin-section-see-all{font-size:.8rem;color:#fff9;background:none;border:none;cursor:pointer;padding:.25rem .5rem;text-decoration:underline;text-underline-offset:2px}.admin-section-see-all:hover{color:#0f8}.admin-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.25rem;width:100%;box-sizing:border-box;contain:layout}.admin-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;box-sizing:border-box;width:100%;min-width:0;position:relative;display:flex;flex-direction:row;align-items:center;gap:1rem;min-height:0;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.admin-card:hover:not(.admin-card-disabled){background:#ffffff14;border-color:#00ff884d;transform:translateZ(0) translateY(-1px)}.admin-card-main{flex:1;min-width:0}.admin-card-title{font-size:1rem;font-weight:600;margin:0;color:#fff;line-height:1.35;word-wrap:break-word;overflow-wrap:break-word}.admin-card-count{flex-shrink:0;font-size:1.25rem;font-weight:700;color:#0f8;line-height:1;min-width:2.5em;text-align:right}.admin-card-has-count .admin-card-count{color:#0f8}.admin-card:not(.admin-card-has-count) .admin-card-count{color:#ffffff59;font-weight:500;font-size:1rem}.admin-card-disabled{opacity:.4;filter:grayscale(.6);cursor:default;padding:.5rem .75rem;min-height:0}.admin-card-disabled .admin-card-title{font-size:.95rem}.admin-card-support{border-color:#ff44444d}.admin-card-nexus{background:linear-gradient(135deg,#00ff8826,#00c8641a);border:2px solid rgba(0,255,136,.5);box-shadow:0 0 20px #00ff884d,0 0 40px #00ff8826,inset 0 0 20px #00ff881a;position:relative;overflow:hidden}.admin-card-nexus:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shine 3s infinite;pointer-events:none}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.admin-card-nexus:hover{background:linear-gradient(135deg,#00ff8840,#00c86433);border-color:#0f8c;box-shadow:0 0 30px #00ff8880,0 0 60px #00ff8840,inset 0 0 30px #00ff8826;transform:translateZ(0) translateY(-1px)}.admin-card-nexus .admin-card-title{color:#0f8;text-shadow:0 0 10px rgba(0,255,136,.5)}.map-selector-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}.map-selector-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.map-selector-content h2{margin:0 0 1.5rem;color:#fff;font-size:1.5rem;font-weight:600}.maps-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.map-selector-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1rem;cursor:pointer;transition:all .2s ease;color:#fff;text-decoration:none;display:block}.map-selector-item:hover{background:#ffffff14;border-color:#00ff884d}.map-selector-name{font-weight:500;margin-bottom:.25rem;display:block}.map-selector-date{font-size:.85rem;color:#fff9}.map-selector-hint{font-size:.9rem;color:#fff9;margin-top:.5rem}.map-selector-actions{display:flex;justify-content:flex-end;gap:1rem}.map-selector-cancel{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fffc;padding:.75rem 1.5rem;font-size:.9rem;cursor:pointer;transition:all .2s ease}.map-selector-cancel:hover{border-color:#fff9;color:#fff}@media(max-width:768px){.admin-board{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px));padding-left:0;padding-right:0;padding-bottom:0}.admin-board-container{width:100%;max-width:100%;padding:0 1.25rem 2rem;box-sizing:border-box}.admin-counter-cards{grid-template-columns:repeat(3,1fr);gap:.75rem}.admin-content{gap:1.5rem;padding-bottom:2rem}.admin-section{padding:.875rem 1rem}.admin-section-title{font-size:.9rem}.admin-cards-grid{grid-template-columns:repeat(2,1fr);gap:.65rem 1rem}.admin-card{padding:.65rem .9rem}.admin-card-title{font-size:.95rem}.admin-card-count{font-size:1.1rem;min-width:2.2em}.map-selector-content{padding:1.5rem;width:95%}.map-selector-content h2{font-size:1.25rem}}@media(max-width:480px){.admin-board{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px));padding-left:0;padding-right:0;padding-bottom:0}.admin-board-container{padding:.75rem 1rem 1.75rem}.admin-content{gap:1.25rem;padding-bottom:1.5rem}.admin-counter-cards{grid-template-columns:repeat(2,1fr)}.admin-section{padding:.75rem .875rem}.admin-section-title{font-size:.85rem}.admin-cards-grid{grid-template-columns:1fr;gap:.5rem}.admin-card{padding:.6rem .8rem}.admin-card-title{font-size:.95rem}.admin-card-count{font-size:1rem;min-width:2em}.admin-counter-card{padding:1rem}.admin-counter-label{font-size:.8rem}.admin-counter-value{font-size:1.75rem}}@media(min-width:481px){.admin-board{padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))!important;padding-left:0!important;padding-right:0!important;padding-bottom:0!important}.admin-board-container{max-width:1200px!important;padding:0 2rem 2rem!important}.admin-counter-value{font-size:2rem!important}}@media(min-width:769px){.admin-content{gap:2.5rem!important}.admin-cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem 1.25rem!important}}:root{--admin-nav-height: 72px;--admin-nav-spacing: 20px}@media(max-width:768px){:root{--admin-nav-height: 70px;--admin-nav-spacing: 16px}}@media(max-width:480px){:root{--admin-nav-height: 60px;--admin-nav-spacing: 12px}}.admin-nav{width:100%;padding:.75rem 0;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 8px #0000004d;margin:0;flex-shrink:0;position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--admin-nav-height);box-sizing:border-box;display:flex;align-items:center;transition:opacity .3s ease,transform .3s ease}.admin-nav-hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.admin-nav-hidden .admin-nav-content{opacity:0;pointer-events:none}.admin-nav-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:100%;padding:0 2rem;box-sizing:border-box;margin:0 auto;transition:opacity .3s ease}.admin-nav-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex:1;min-width:0}.breadcrumb-item{display:flex;align-items:center;gap:.5rem;position:relative}.breadcrumb-dropdown-container{position:relative;display:inline-block}.breadcrumb-separator{color:#ffffff4d;font-size:.9rem}.breadcrumb-link{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#0f8;font-size:.9rem;font-weight:500;cursor:pointer;padding:.4rem .75rem;border-radius:6px;transition:all .2s ease;outline:none;display:inline-flex;align-items:center;gap:.5rem;position:relative;box-shadow:0 1px 2px #0000001a}.breadcrumb-link:focus{outline:none}.breadcrumb-link:hover{background:#00ff8814;border-color:#0f83;box-shadow:0 2px 4px #00ff8826;transform:translateY(-1px)}.breadcrumb-link.has-dropdown{padding-right:.6rem}.breadcrumb-label{display:inline-block}.breadcrumb-arrow{font-size:.65rem;color:#0f89;transition:transform .2s ease;display:inline-block;line-height:1;flex-shrink:0}.breadcrumb-dropdown{position:fixed;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem;min-width:180px;box-shadow:0 4px 16px #00000080,0 0 0 1px #00ff881a;z-index:10001;display:flex;flex-direction:column;gap:.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.breadcrumb-dropdown-item-wrapper{position:relative;width:100%}.breadcrumb-dropdown-item{width:100%;padding:.5rem .75rem;background:transparent;border:none;color:#fffc;font-size:.85rem;font-weight:500;cursor:pointer;border-radius:4px;text-align:left;transition:all .2s ease;outline:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.breadcrumb-dropdown-item:focus{outline:none}.breadcrumb-dropdown-item:hover{background:#00ff881a;color:#0f8}.breadcrumb-dropdown-item.has-children{padding-right:.5rem}.breadcrumb-dropdown-item--nexus,.breadcrumb-dropdown-item--nexus:hover{color:#0f8}.breadcrumb-dropdown-item--disabled{opacity:.6;cursor:default}.breadcrumb-dropdown-item--disabled:hover{background:transparent;color:inherit}.dropdown-item-arrow{font-size:.7rem;color:#0f89;flex-shrink:0;transition:transform .2s ease}.breadcrumb-dropdown-item:hover .dropdown-item-arrow{color:#0f8}.nested-dropdown{position:absolute;top:0;left:calc(100% + .5rem);min-width:180px;z-index:10002}.breadcrumb-current{color:#fffc;font-size:.9rem;font-weight:500;padding:.25rem .5rem}.breadcrumb-current-link{color:#fffc!important}.admin-nav-user-dropdown-container{position:relative;z-index:1001;isolation:isolate}.admin-nav-user-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffe6;font-size:.9rem;font-weight:500;padding:.5rem 1rem;cursor:pointer;transition:all .2s ease;outline:none}.admin-nav-user-btn:focus{outline:none}.admin-nav-user-btn:hover{background:#ffffff1a;border-color:#00ff884d;color:#fff}.admin-nav-user-dropdown{position:fixed;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem;min-width:160px;box-shadow:0 4px 12px #0000004d;z-index:10001;display:flex;flex-direction:column}.admin-nav-dropdown-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:#fffc;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease;text-align:left;outline:none}.admin-nav-dropdown-item:focus{outline:none}.admin-nav-dropdown-item:hover{background:#ffffff1a;color:#fff}.admin-nav-dropdown-item.logout:hover{background:#ff44441a;color:#f44}.admin-nav-dropdown-icon{font-size:1rem;width:1.2rem;display:inline-block;text-align:center}.admin-nav-dropdown-divider{height:1px;background:#ffffff1a;margin:.25rem 0}@media(max-width:768px){.admin-nav{padding:.875rem 0;width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-content{padding:0 1.5rem;gap:1rem;min-width:max-content}.admin-nav-breadcrumbs{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap}.admin-nav-breadcrumbs::-webkit-scrollbar{display:none}.breadcrumb-link,.breadcrumb-current{font-size:.85rem;white-space:nowrap}.breadcrumb-dropdown{min-width:140px;font-size:.8rem}.breadcrumb-dropdown-item{padding:.45rem .65rem;font-size:.8rem}.admin-nav-user-btn{font-size:.85rem;padding:.45rem .85rem;flex-shrink:0}}@media(max-width:480px){.admin-nav{padding:.75rem 0}.admin-nav-content{padding:0 1rem;gap:.75rem}.breadcrumb-link,.breadcrumb-current{font-size:.8rem;padding:.2rem .4rem}.admin-nav-breadcrumbs{gap:.375rem}.breadcrumb-dropdown{min-width:120px;padding:.4rem}.breadcrumb-dropdown-item{padding:.4rem .5rem;font-size:.75rem}.breadcrumb-dropdown-toggle{padding:.2rem}}.admin-nav-tap-to-open-overlay{position:fixed;top:0;left:0;right:0;height:56px;height:calc(56px + env(safe-area-inset-top,0));z-index:10010;cursor:pointer;outline:none;pointer-events:auto;background:linear-gradient(to bottom,rgba(0,0,0,.35) 0%,transparent 100%)}.admin-nav-tap-to-open-overlay:hover{background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 100%)}.admin-nav-tap-to-open-overlay:focus{outline:none}.admin-nav-toggle-button{position:fixed;top:calc(var(--admin-nav-height, 72px) + .5rem);left:1rem;z-index:10020;box-sizing:border-box;min-width:44px;min-height:44px;padding:.75rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#0006;color:#ffffffeb;cursor:pointer;outline:none;transition:top .2s ease,left .2s ease,background .2s,border-color .2s}.admin-nav-toggle-button:focus{outline:none}.admin-nav-toggle-button--collapsed{top:calc(.75rem + env(safe-area-inset-top,0));left:calc(.75rem + env(safe-area-inset-left,0))}.admin-nav-toggle-button:hover{background:#ffffff14;border-color:#ffffff40}.admin-nav-toggle-button .material-icons{font-size:22px}.welcome-view{width:100%;min-height:100vh;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;position:relative;z-index:2;pointer-events:none}@supports (height: 100dvh){.welcome-view{min-height:100dvh}}.spline-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:auto;touch-action:pan-x pan-y pinch-zoom}.welcome-container{width:100%;max-width:500px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem;position:relative;z-index:2;pointer-events:auto}.welcome-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.welcome-title{font-size:clamp(2.5rem,8vw,4rem);font-weight:700;margin:0;color:#0f8;line-height:1.2}.welcome-title.error{color:#f44}.welcome-title.signup-title{font-size:clamp(2rem,6vw,3rem)}.welcome-message{font-size:clamp(1.1rem,3vw,1.5rem);color:#fffc;margin:0;line-height:1.5}.welcome-loading{font-size:1.2rem;color:#fff9}.welcome-error{font-size:1.1rem;color:#ffffffb3;margin:0}.welcome-no-slug .welcome-content{gap:1.75rem}.welcome-ticket-icon{font-size:4rem;line-height:1;filter:drop-shadow(0 0 20px rgba(0,255,136,.4));animation:welcome-ticket-pulse 3s ease-in-out infinite}@keyframes welcome-ticket-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.welcome-title--hero{font-size:clamp(2.25rem,7vw,3.5rem);letter-spacing:-.02em;background:linear-gradient(135deg,#0f8,#00cc6a,#0f8);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:welcome-shine 6s linear infinite}@keyframes welcome-shine{0%{background-position:0% center}to{background-position:200% center}}.welcome-message--lead{font-size:clamp(1.1rem,2.8vw,1.35rem);color:#ffffffe6;max-width:380px;line-height:1.6}.welcome-ticket-card{width:100%;max-width:340px;padding:1.75rem 2rem;background:linear-gradient(145deg,#00ff8814,#00ff8805);border:1px solid rgba(0,255,136,.35);border-radius:16px;box-shadow:0 0 0 1px #0000001a inset,0 8px 32px #00ff881f,0 0 60px #00ff8814;position:relative;overflow:hidden}.welcome-ticket-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,transparent,transparent 8px,rgba(0,255,136,.5) 8px,rgba(0,255,136,.5) 10px);opacity:.8}.welcome-ticket-label{font-size:1rem;font-weight:600;color:#ffffffd9;text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem}.welcome-home-btn--primary{width:100%;font-size:1.15rem;padding:1rem 2rem;box-shadow:0 4px 24px #00ff8859}.welcome-home-btn--primary:hover{box-shadow:0 6px 32px #00ff8873}.welcome-card{background:#ffffff0d;border:1px solid rgba(0,255,136,.3);border-radius:12px;padding:1.5rem 2rem;width:100%;max-width:350px}.welcome-card-content{display:flex;flex-direction:column;gap:.5rem}.welcome-name{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.welcome-email{font-size:1rem;color:#fff9;margin:0}.welcome-status{margin-top:.5rem}.status-badge{display:inline-block;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.status-badge.status-pending{background:#ffa50033;color:orange;border:1px solid rgba(255,165,0,.4)}.status-badge.status-accepted{background:#0f83;color:#0f8;border:1px solid rgba(0,255,136,.4)}.welcome-home-btn{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:#0f8;border:none;border-radius:8px;color:#000;cursor:pointer;transition:all .2s ease;margin-top:1rem;pointer-events:auto}.welcome-home-btn:hover{background:#0d7;transform:translateY(-2px);box-shadow:0 4px 20px #00ff884d}.wizard-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.wizard-step{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff6;transition:all .3s ease}.wizard-step.active{background:#0f83;border-color:#0f8;color:#0f8}.wizard-step.completed{background:#0f8;border-color:#0f8;color:#000}.wizard-line{width:60px;height:2px;background:#fff3}.signup-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.25rem;text-align:left;pointer-events:auto}.user-info-compact{display:flex;flex-direction:column;gap:.5rem}.user-info-compact .form-field{gap:0}.user-info-compact .form-input{padding:.625rem .875rem;font-size:.9rem}.name-row{display:flex;gap:.5rem;width:100%}.name-row .form-field{flex:1;min-width:0}.name-row .form-input{width:100%;box-sizing:border-box;padding:.875rem 1rem;font-size:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.9rem;font-weight:500;color:#fffc}.form-input{padding:.875rem 1rem;font-size:1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;outline:none;transition:all .2s ease;pointer-events:auto}.form-input:focus{border-color:#0f8;background:#ffffff1a}.form-input.disabled{background:#ffffff08;color:#ffffff80;cursor:not-allowed}.form-input::placeholder{color:#ffffff4d}.field-hint{font-size:.8rem;color:#fff6}.field-error{font-size:.8rem;color:#f44}.form-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.form-error-message{padding:.75rem 1rem;background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;color:#f44;font-size:.9rem;text-align:center}.signup-actions{display:flex;gap:1rem;margin-top:.5rem}.back-btn{flex:1;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fffc;cursor:pointer;transition:all .2s ease;pointer-events:auto}.back-btn:hover{border-color:#fff9;color:#fff}.signup-btn{flex:2;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;background:#0f8;border:none;border-radius:8px;color:#000;cursor:pointer;transition:all .2s ease;pointer-events:auto}.signup-btn:hover:not(:disabled){background:#0d7;transform:translateY(-2px);box-shadow:0 4px 20px #00ff884d}.signup-btn:disabled{background:#00ff884d;cursor:not-allowed;transform:none;box-shadow:none}.email-icon{width:100px;height:100px;border-radius:50%;background:#0088ff26;border:3px solid #0088ff;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#08f;margin-bottom:1rem}.welcome-title.confirmation-title{font-size:clamp(1.8rem,5vw,2.5rem);color:#fff}.email-highlight{font-size:1.2rem;font-weight:600;color:#08f;background:#0088ff1a;padding:.75rem 1.5rem;border-radius:8px;border:1px solid rgba(0,136,255,.3);margin:.5rem 0}.confirmation-instructions{max-width:350px;margin-top:1rem}.confirmation-instructions p{font-size:1rem;color:#ffffffb3;line-height:1.6;margin:0 0 .75rem}.confirmation-instructions .hint{font-size:.9rem;color:#ffffff80;font-style:italic}.wizard-line.completed{background:#0f8}.email-icon.expired{background:#ffa50026;border-color:orange;color:orange}.email-icon.success{background:#00ff8826;border-color:#0f8;color:#0f8}.resend-message{padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;margin-top:.5rem}.resend-message.success{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:#0f8}.resend-message.error{background:#ff44441a;border:1px solid rgba(255,68,68,.3);color:#f44}.welcome-home-btn.resend-btn{background:orange;color:#000}.welcome-home-btn.resend-btn:hover:not(:disabled){background:#ff8c00;box-shadow:0 4px 20px #ffa5004d}.welcome-home-btn.resend-btn:disabled{background:#ffa50080;cursor:not-allowed;transform:none}.resend-link-btn{background:transparent;border:none;color:#ffffff80;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:.5rem;transition:color .2s ease;pointer-events:auto}.resend-link-btn:hover:not(:disabled){color:#fffc}.resend-link-btn:disabled{color:#ffffff4d;cursor:not-allowed}.welcome-home-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fffc}.welcome-home-btn.secondary:hover{background:#ffffff0d;border-color:#ffffff80;color:#fff;box-shadow:none}@media(max-width:600px){.welcome-ticket-icon{font-size:3rem}.welcome-ticket-card{padding:1.5rem 1.25rem;max-width:100%}.welcome-ticket-label{font-size:.9rem;letter-spacing:.08em}.welcome-home-btn--primary{font-size:1rem;padding:.875rem 1.5rem}}@media(max-width:600px){.welcome-view{padding:2rem 1rem;box-sizing:border-box;align-items:safe center}@supports not (align-items: safe center){.welcome-view{align-items:flex-start}}.welcome-container{gap:1.25rem;max-width:100%;padding:0;box-sizing:border-box}.welcome-content{gap:1rem}.welcome-card{padding:1.25rem 1.5rem;max-width:calc(100% - 1rem);box-sizing:border-box}.welcome-name{font-size:1.25rem}.welcome-email{font-size:.9rem;word-break:break-all}.wizard-progress{gap:.25rem}.wizard-step{width:32px;height:32px;font-size:.8rem}.wizard-line{width:40px}.signup-form{max-width:100%;gap:.875rem}.user-info-compact{gap:.5rem}.user-info-compact .form-input{padding:.5rem .75rem;font-size:.85rem}.name-row{gap:.5rem}.form-input{padding:.75rem .875rem;font-size:16px}.signup-actions{flex-direction:column;gap:.75rem}.back-btn,.signup-btn{flex:none;width:100%}.welcome-home-btn{padding:.875rem 2rem;font-size:1rem;width:100%;max-width:300px}.email-icon{width:80px;height:80px;font-size:2.5rem}.email-highlight{font-size:1rem;padding:.625rem 1rem;word-break:break-all}.confirmation-instructions{max-width:100%}.confirmation-instructions p{font-size:.9rem}.status-badge{padding:.4rem 1rem;font-size:.75rem}.welcome-title.signup-title{font-size:clamp(1.5rem,6vw,2rem)}.welcome-message{font-size:1rem}}@media(max-width:360px){.welcome-view{padding:1rem}.welcome-title{font-size:clamp(1.8rem,10vw,2.5rem)}.welcome-title.signup-title{font-size:clamp(1.5rem,8vw,2rem)}.welcome-message{font-size:1rem}.wizard-step{width:28px;height:28px;font-size:.75rem}.wizard-line{width:30px}.welcome-card{padding:1rem}.form-field label{font-size:.85rem}.email-icon{width:70px;height:70px;font-size:2rem}}.welcome-have-ticket-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#ffffff26,#ffffff0d);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;cursor:pointer;transition:all .25s ease;margin-bottom:.5rem}.welcome-have-ticket-btn:hover{background:linear-gradient(135deg,#ffffff40,#ffffff1a);border-color:#fff6;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.welcome-have-ticket-btn:active{transform:translateY(0)}.welcome-ticket-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:welcome-modal-fade-in .2s ease-out}@keyframes welcome-modal-fade-in{0%{opacity:0}to{opacity:1}}.welcome-ticket-modal{position:relative;background:linear-gradient(145deg,#1a1a2e,#16213e,#0f0f1a);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:2.5rem 2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 24px 48px #0006,0 0 0 1px #ffffff0d inset;animation:welcome-modal-scale-in .25s ease-out}@keyframes welcome-modal-scale-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-ticket-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:none;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.welcome-ticket-modal-close:hover{background:#fff3;color:#fff}.welcome-ticket-modal-close .material-icons{font-size:1.25rem}.welcome-ticket-modal-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 4px 12px rgba(0,255,136,.3))}.welcome-ticket-modal-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .75rem}.welcome-ticket-modal-message{font-size:1.1rem;color:#ffffffd9;margin:0 0 .5rem;line-height:1.5}.welcome-ticket-modal-hint{font-size:.9rem;color:#ffffff80;margin:0;line-height:1.4}@media(max-width:480px){.welcome-ticket-modal{padding:2rem 1.5rem;border-radius:16px}.welcome-ticket-modal-icon{font-size:3rem}.welcome-ticket-modal-title{font-size:1.3rem}.welcome-ticket-modal-message{font-size:1rem}.welcome-have-ticket-btn{padding:.875rem 1.5rem;font-size:1rem}}.profile-detail-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding:0;box-sizing:border-box;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.profile-detail-container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem;box-sizing:border-box}.profile-detail-loading,.profile-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.profile-detail-error .error-title{font-size:1.5rem;font-weight:600;color:#f44;margin:0}.profile-detail-error .error-message{font-size:1rem;color:#ffffffb3;margin:0}.profile-detail-error .back-button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.profile-detail-error .back-button:hover{background:#0d7}.profile-detail-content{display:flex;flex-direction:column;align-items:center;padding:3rem 0;gap:2rem}.profile-detail-avatar-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-detail-avatar{width:200px;height:200px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;background:#ffffff0d;position:relative}.profile-detail-avatar-image{width:100%;height:100%;object-fit:cover}.profile-detail-avatar-initial{font-size:5rem;font-weight:600;color:#fffc}.profile-detail-edit-character-btn{padding:.5rem 1.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.profile-detail-edit-character-btn:hover{background:#ffffff26;border-color:#ffffff4d}.profile-detail-name{font-size:3rem;font-weight:600;margin:0;text-align:center;color:#fff}.profile-detail-role{display:flex;align-items:center;justify-content:center;gap:.5rem}.role-badge{padding:.5rem 1rem;background:#0f83;border:1px solid rgba(0,255,136,.4);border-radius:20px;color:#0f8;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.characters-list{width:100%;max-width:800px;margin-top:2rem}.characters-list-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#fff}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.character-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:1rem}.character-card:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.character-card-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.character-card-name{font-size:1.1rem;font-weight:600;text-align:center;color:#fff;margin:0}.character-card-creature{font-size:.9rem;color:#fff9;text-align:center;margin:0}@media(max-width:768px){.profile-detail-content{padding:2rem 0}.profile-detail-avatar{width:150px;height:150px}.profile-detail-avatar-initial{font-size:4rem}.profile-detail-name{font-size:2rem}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}}.profile-editor-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;padding:2rem;box-sizing:border-box}.profile-editor-loading,.profile-editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.profile-editor-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.profile-editor-error button:hover{background:#0d7}.profile-editor-content{max-width:800px;margin:0 auto}.profile-editor-form{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:2rem}.profile-editor-form h1{margin:0 0 2rem;font-size:2rem;font-weight:600}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#ffffffb3;font-weight:500}.title-input{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:1rem;font-family:inherit;box-sizing:border-box}.title-input:focus{outline:none;border-color:#0f8;background:#ffffff14}.avatar-preview-section{display:flex;align-items:center;gap:1rem}.avatar-preview,.avatar-placeholder{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#ffffff1a;font-size:2rem;font-weight:600}.btn-select-media,.btn-remove-media{padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-select-media:hover{background:#ffffff26;border-color:#ffffff4d}.btn-remove-media{background:#f443;border-color:#f446}.btn-remove-media:hover{background:#ff44444d}.error-message{padding:1rem;background:#f443;border:1px solid rgba(255,68,68,.4);border-radius:4px;color:#f44;margin-bottom:1.5rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-cancel:hover{background:#ffffff26}.btn-save{background:#0f8;color:#000}.btn-save:disabled{opacity:.5;cursor:not-allowed}.login-modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:1rem;box-sizing:border-box}.login-modal{background:#14141ef2;border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:2rem;width:100%;max-width:380px;position:relative;box-shadow:0 0 40px #00000080,0 0 80px #00ff001a}.login-modal-close{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:36px;height:36px;min-width:36px;min-height:36px;border:2px solid rgba(255,255,255,.3);background:#14141ef2;color:#ffffffb3;font-size:1.25rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:0;padding:0 0 2px;aspect-ratio:1 / 1;box-sizing:border-box}.login-modal-close:hover{background:#ffffff26;border-color:#ffffff80;color:#fff;transform:translate(-50%) scale(1.1)}.login-modal-header{text-align:center;margin-bottom:1.5rem}.login-modal-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.login-modal-header p{color:#fff9;font-size:.9rem;margin:0}.login-error{background:#ff505026;border:1px solid rgba(255,80,80,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#ff8a8a;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.login-error-icon{font-size:1rem}.login-message{background:#50c85026;border:1px solid rgba(80,200,80,.3);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#8f8;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.login-message-icon{font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-field label{color:#ffffffb3;font-size:.85rem;font-weight:500}.login-field input{background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem 1rem;color:#fff;font-size:1rem;outline:none;transition:all .2s ease}.login-field input:focus{border-color:#00ff0080;box-shadow:0 0 0 3px #00ff001a}.login-field input::placeholder{color:#ffffff4d}.login-submit{background:#0f03;border:2px solid rgba(0,255,0,.5);border-radius:8px;padding:.85rem 1.5rem;color:#00ff00e6;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.login-submit:hover:not(:disabled){background:#00ff004d;border-color:#00ff00b3;box-shadow:0 0 20px #00ff004d}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-invite-notice{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.login-invite-notice p{color:#ffffff80;font-size:.85rem;font-style:italic;margin:0}.logout-modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:1rem;pointer-events:auto}.logout-modal-content{background:#14141ef2;border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:2rem;max-width:360px;width:100%;text-align:center;box-shadow:0 0 40px #00000080,0 0 80px #ffa5001a}.logout-modal-icon{font-size:3rem;margin-bottom:1rem}.logout-modal-title{color:#fff;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.logout-modal-message{color:#ffffffb3;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.logout-modal-actions{display:flex;gap:1rem}.btn-cancel-logout{flex:1;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fffc;cursor:pointer;transition:all .2s ease}.btn-cancel-logout:hover{background:#ffffff0d;border-color:#ffffff80;color:#fff}.btn-confirm-logout{flex:1;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;background:#ffa50033;border:2px solid rgba(255,165,0,.5);border-radius:8px;color:orange;cursor:pointer;transition:all .2s ease}.btn-confirm-logout:hover{background:#ffa5004d;border-color:#ffa500b3;box-shadow:0 0 20px #ffa5004d}.places-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding:0;box-sizing:border-box;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.places-nav-wrapper{width:100%;padding:0 1rem;background:#0a0a0a;box-shadow:0 2px 8px #0000004d}.places-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:0}.center-zone{width:100%;max-width:1200px;flex:1;min-height:0;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;box-sizing:border-box;min-width:0}.page-list-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 0 0;flex-shrink:0}.page-list-pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff0f;color:#ffffffe6;cursor:pointer;transition:background .2s,border-color .2s}.page-list-pagination-btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff59}.page-list-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.page-list-pagination-btn .material-icons{font-size:24px}.page-list-pagination-dots{display:flex;align-items:center;gap:.5rem}.page-list-pagination-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff40;cursor:pointer;padding:0;transition:background .2s,transform .2s}.page-list-pagination-dot:hover{background:#ffffff80}.page-list-pagination-dot.active{background:#fffffff2;transform:scale(1.2)}.cards-container{display:flex;flex-direction:row;align-items:center;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-padding:0}.cards-container::-webkit-scrollbar{display:none}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem .5rem;width:100%;min-width:100%;max-width:100%;height:fit-content;max-height:100%;margin:0;padding:.75rem;box-sizing:border-box;align-content:center;scroll-snap-align:center;scroll-snap-stop:always;flex-shrink:0;min-height:0}.card-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-width:0;max-width:100%;padding:0;box-sizing:border-box;overflow:visible;cursor:pointer}.card{width:32px;height:32px;max-width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:.3125rem;position:relative;overflow:hidden}.card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.card-emoji{font-size:.875rem;line-height:1}.card-title{font-size:.5rem;line-height:1.2;word-break:normal;overflow-wrap:break-word;text-align:center;padding:0 .125rem;max-width:100%;-webkit-hyphens:none;hyphens:none;width:100%;word-spacing:normal;box-sizing:border-box}.add-card .card{background:#ffffff1a;border-style:dashed}.add-card .card-emoji{opacity:.8;font-weight:300}.card:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media(max-width:768px){.places-content{padding:1rem}}@media(min-width:360px){.center-zone{padding:.875rem}.cards-grid{gap:.875rem .625rem;width:100%}.card{width:36px;height:36px;margin-bottom:.375rem}.card-emoji{font-size:1rem}.card-title{font-size:.5625rem}}@media(min-width:375px){.center-zone{padding:1rem}.cards-grid{gap:1rem .75rem;width:100%}.card{width:40px;height:40px;margin-bottom:.4375rem}.card-emoji{font-size:1.125rem}.card-title{font-size:.625rem}}@media(min-width:481px){.center-zone{padding:1.25rem}.cards-grid{gap:1.25rem 1rem;width:100%}.card{width:48px;height:48px;margin-bottom:.5rem}.card-emoji{font-size:1.375rem}.card-title{font-size:.6875rem}}@media(min-width:769px){.center-zone{padding:1.5rem;overflow:hidden}.cards-container{overflow-x:auto;overflow-y:hidden}.cards-grid{gap:1.5rem 1.25rem;width:100%;min-width:100%;max-width:100%}.card{width:64px;height:64px;margin-bottom:.625rem}.card-emoji{font-size:1.75rem}.card-title{font-size:.75rem}.card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0003}}@media(min-width:1025px){.center-zone{overflow:hidden}.cards-container{overflow-x:auto;overflow-y:hidden}.cards-grid{gap:2rem 1.5rem;width:100%;min-width:100%;max-width:100%}.card{width:80px;height:80px;margin-bottom:.75rem}.card-emoji{font-size:2rem}.card-title{font-size:.875rem}}@media(orientation:landscape)and (max-height:600px){.center-zone{padding:.5rem}.cards-grid{gap:1rem .75rem}.card{width:50px;height:50px;margin-bottom:.375rem}.card-emoji{font-size:1.25rem}.card-title{font-size:.625rem}}@media(orientation:landscape)and (min-height:600px)and (min-width:769px){.cards-grid{gap:1.5rem 1.25rem}.card-emoji{font-size:2.25rem}.card-title{font-size:.9375rem}}.place-view-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;background:#00321980;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:1000;overflow:hidden;box-sizing:border-box;padding-top:max(1rem,env(safe-area-inset-top));padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));padding-bottom:0}.place-view-modal-wrapper,.modal-content.place-view-modal-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100%;height:100%;background:none;border:none;box-sizing:border-box}.place-view-modal-wrapper .modal-close{display:none}.place-card{aspect-ratio:9 / 16;width:auto;max-height:calc(100dvh - max(1rem,env(safe-area-inset-top)) - 2rem - 94px - max(1rem,env(safe-area-inset-bottom)));max-height:calc(100vh - 160px);max-width:min(400px,calc(100vw - 1.5rem));background:#0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,136,.2);border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000004d;box-sizing:border-box;flex-shrink:0}.place-card-cover{position:relative;width:100%;height:50%;min-height:0;flex-shrink:0;overflow:visible;cursor:pointer;background:#0003}.place-cover-image{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0;z-index:1}.place-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:.875rem;position:relative}.place-cover-hint{color:#ffffff4d;font-size:.75rem;font-weight:400;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .2s ease;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:none}.place-cover-overlay{position:absolute;inset:0;background:#00000080;z-index:2;pointer-events:none}.place-cover-buttons{display:flex;gap:1rem;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:auto}.place-cover-btn{padding:.75rem 1.5rem;border:2px solid rgba(0,255,136,.5);background:#00ff881a;color:#0f8;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;min-width:120px}.place-cover-btn:hover:not(:disabled){background:#0f83;border-color:#0f8c;transform:translateY(-2px)}.place-cover-btn:disabled{opacity:.5;cursor:not-allowed}.place-cover-btn-choose{border-color:#ffffff4d;background:#ffffff0d;color:#ffffffe6}.place-cover-btn-choose:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff80}.place-cover-emoji-wrapper{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);z-index:10;pointer-events:auto}.place-cover-emoji{width:50px;height:50px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 16px #0006;padding:0;border:none}.place-cover-emoji:hover{transform:scale(1.1);box-shadow:0 6px 24px #00ff884d}.place-card-fields{flex:1;display:flex;flex-direction:column;padding:2rem 1rem .75rem;align-items:stretch;min-height:0;width:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,255,136,.3) rgba(0,0,0,.2)}.place-card-fields::-webkit-scrollbar{width:6px}.place-card-fields::-webkit-scrollbar-track{background:#0003;border-radius:3px}.place-card-fields::-webkit-scrollbar-thumb{background:#00ff884d;border-radius:3px}.place-view-modal-wrapper .modal-actions-below{position:fixed!important;bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 50px + 1rem);left:50%;transform:translate(-50%);display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:.75rem;justify-content:center;align-items:center;z-index:1001;width:auto!important;max-width:none!important}.modal-back-btn{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:50px;height:50px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(0,255,136,.3);color:#ffffffe6;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0006;z-index:1001;padding:0}.modal-back-btn:hover{background:#000c;border-color:#00ff8880;transform:translate(-50%) scale(1.1)}.place-view{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;padding:.5rem 0}.place-emoji-large{font-size:2.5rem;line-height:1;cursor:pointer;transition:transform .2s ease}.place-emoji-large:hover{transform:scale(1.1)}.place-title-large{font-size:1.125rem;color:#ffffffe6;font-weight:500;cursor:pointer}.place-description{font-size:.875rem;color:#ffffffa6;line-height:1.5;text-align:center;cursor:pointer}.place-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center}.place-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center;margin-bottom:0}.emoji-picker-wrapper{position:relative;display:flex;justify-content:center}.emoji-picker-trigger-large{padding:.75rem;font-size:2.5rem;text-align:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:#ffffffe6;cursor:pointer;min-width:70px;min-height:70px;display:flex;align-items:center;justify-content:center}.place-view-modal{position:relative;z-index:1001}.title-input-large{font-size:16px;font-weight:500;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffffe6;font-family:inherit;box-sizing:border-box;text-align:center;width:100%}.title-input-large.inline-edit{background:#1e1e1e99;cursor:text}.description-textarea{font-size:16px;line-height:1.5;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffffe6;font-family:inherit;box-sizing:border-box;resize:none;overflow:hidden;text-align:center;width:100%;min-height:2.5rem;max-height:6rem}.description-textarea.inline-edit{background:#1e1e1e99;cursor:text}.select-dropdown{font-size:16px;font-weight:500;padding:.625rem 2.5rem .625rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffffe6;font-family:inherit;box-sizing:border-box;text-align:left;width:100%;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' fill-opacity='0.7' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;transition:all .2s ease}.select-dropdown.inline-edit{background-color:#1e1e1e99;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' fill-opacity='0.7' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.select-dropdown.inline-edit:hover{background-color:#282828b3;border-color:#ffffff26}.select-dropdown.inline-edit:focus{outline:none;border-color:#00ff884d;background-color:#323232cc;box-shadow:0 0 0 2px #00ff881a}.select-dropdown option{background:#141414f2;color:#ffffffe6;padding:.5rem}.select-dropdown:disabled{opacity:.5;cursor:not-allowed}.place-view-modal-wrapper .btn-text{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:.5rem!important;color:#fffc!important;font-size:.875rem!important;font-weight:500!important;cursor:pointer;padding:.625rem 1.25rem!important;transition:all .2s ease;min-width:90px!important;width:auto!important;flex:0 0 auto!important}.place-view-modal-wrapper .btn-text:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.place-view-modal-wrapper .btn-text.btn-primary{background:#0f83;border-color:#0f86;color:#fff}.place-view-modal-wrapper .btn-text.btn-primary:hover{background:#00ff884d;border-color:#00ff8880}.place-view-modal-wrapper .btn-text.btn-danger{background:#ff64641a;border-color:#ff64644d;color:#ff9696}.place-view-modal-wrapper .btn-text.btn-danger:hover{background:#ff646433;border-color:#ff646466}.place-view-modal-wrapper .btn-text:disabled{opacity:.5;cursor:not-allowed}@media(max-height:700px){.place-view-modal-overlay{padding-top:max(.5rem,env(safe-area-inset-top))}.place-card{max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)) - 1.5rem - 85px - max(.75rem,env(safe-area-inset-bottom)));max-height:calc(100vh - 140px)}.place-cover-emoji-wrapper{bottom:-20px}.place-cover-emoji{width:40px;height:40px;font-size:1.25rem}.place-card-fields{padding:1.5rem .75rem .5rem}.place-view-modal-wrapper .modal-actions-below{bottom:calc(max(.75rem,env(safe-area-inset-bottom)) + 45px + .75rem);gap:.5rem}.place-view-modal-wrapper .modal-back-btn{width:45px;height:45px;font-size:1.125rem;bottom:max(.75rem,env(safe-area-inset-bottom))}.place-view-modal-wrapper .btn-text{min-width:80px!important;padding:.5rem 1rem!important;font-size:.8125rem!important}}@media(max-height:600px){.place-card{max-height:calc(100dvh - max(.5rem,env(safe-area-inset-top)) - 1rem - 76px - max(.5rem,env(safe-area-inset-bottom)));max-height:calc(100vh - 120px)}.place-cover-emoji-wrapper{bottom:-18px}.place-cover-emoji{width:36px;height:36px;font-size:1.125rem}.place-card-fields{padding:1.25rem .5rem .5rem}.place-view-modal-wrapper .modal-actions-below{bottom:calc(max(.5rem,env(safe-area-inset-bottom)) + 40px + .5rem);gap:.5rem}.place-view-modal-wrapper .modal-back-btn{width:40px;height:40px;font-size:1rem;bottom:max(.5rem,env(safe-area-inset-bottom))}.place-view-modal-wrapper .btn-text{min-width:70px!important;padding:.4rem .75rem!important;font-size:.75rem!important}}@media(min-height:800px){.place-view-modal-overlay{padding-top:max(2rem,env(safe-area-inset-top))}.place-card{max-height:calc(100dvh - max(2rem,env(safe-area-inset-top)) - 3rem - 94px - max(1.5rem,env(safe-area-inset-bottom)));max-height:calc(100vh - 200px)}.place-view-modal-wrapper .modal-actions-below{bottom:calc(max(1.5rem,env(safe-area-inset-bottom)) + 50px + 1.5rem);gap:1rem}.place-view-modal-wrapper .modal-back-btn{bottom:max(1.5rem,env(safe-area-inset-bottom))}}.place-creation-modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#00321980;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:1000;overflow:hidden;padding:2rem;box-sizing:border-box}.place-creation-modal-wrapper,.modal-content.place-creation-modal-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:400px;height:100%;max-height:100%;background:none;border:none;overflow-x:hidden;overflow-y:visible;box-sizing:border-box;justify-content:center}.place-creation-modal-wrapper .modal-close{position:absolute;top:-2.5rem;right:0;background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background .2s ease;border-radius:50%;z-index:10}.place-creation-modal-wrapper .modal-close:hover{color:#fff;background:#ffffff1a}.place-card{width:100%;aspect-ratio:9 / 16;max-width:400px;height:auto;max-height:calc(100% - 100px);min-height:0;background:#0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,136,.2);border-radius:1rem;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:visible;box-shadow:0 8px 32px #0000004d;box-sizing:border-box;flex-shrink:1;flex-grow:0}.place-card-cover{position:relative;width:100%;height:50%;min-height:0;overflow:visible;cursor:pointer;background:#0003}.place-cover-image{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;display:block}.place-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:.875rem;background:#80808080;position:absolute;top:0;left:0}.place-cover-emoji-wrapper{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);z-index:10;pointer-events:auto}.place-cover-emoji{width:80px;height:80px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:3px solid rgba(0,255,136,.3);font-size:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;box-shadow:0 4px 16px #0006;padding:0;border:none;transform:translate(0)}.place-cover-emoji:hover{transform:scale(1.1);border-color:#00ff8880;box-shadow:0 6px 24px #00ff884d}.place-card-fields{flex:1;display:flex;flex-direction:column;padding:3.5rem 1.5rem .5rem;align-items:stretch;min-height:0;width:100%;max-width:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,255,136,.3) rgba(0,0,0,.2)}.place-card-fields::-webkit-scrollbar{width:8px}.place-card-fields::-webkit-scrollbar-track{background:#0003;border-radius:4px}.place-card-fields::-webkit-scrollbar-thumb{background:#00ff884d;border-radius:4px;transition:background .2s ease}.place-card-fields::-webkit-scrollbar-thumb:hover{background:#00ff8880}.modal-actions-below{display:flex;gap:1rem;justify-content:center;width:100%;max-width:400px;flex-shrink:0}.place-edit-form{display:flex;flex-direction:column;gap:1rem;width:100%;align-items:center;justify-content:flex-start}.place-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem;width:100%;align-items:center}.title-input-large{font-size:1.25rem;font-weight:500;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffffe6;font-family:inherit;box-sizing:border-box;text-align:center;transition:border-color .2s ease,background .2s ease;width:100%}@media screen and (max-width:768px){.title-input-large{font-size:16px}}.title-input-large.inline-edit{border:1px solid rgba(255,255,255,.1);background:#1e1e1e99;cursor:text}.title-input-large.inline-edit:hover{background:#282828b3;border-color:#ffffff26}.title-input-large.inline-edit:focus{outline:none;border-color:#00ff884d;background:#323232cc}.title-input-large::placeholder{color:#ffffff80}.description-textarea{font-size:1rem;line-height:1.6;padding:.875rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffffe6;font-family:inherit;box-sizing:border-box;resize:none;overflow:hidden;text-align:center;transition:border-color .2s ease,background .2s ease;width:100%;min-height:3.5rem;max-height:12rem;word-wrap:break-word;white-space:pre-wrap}@media screen and (max-width:768px){.description-textarea{font-size:16px;padding:.75rem;min-height:3rem;max-height:10rem}}.description-textarea.inline-edit{border:1px solid rgba(255,255,255,.1);background:#1e1e1e99;cursor:text;text-align:center}.place-edit-form .form-group:last-child .description-textarea.inline-edit{margin-bottom:20px}.description-textarea.inline-edit:hover{background:#282828b3;border-color:#ffffff26}.description-textarea.inline-edit:focus{outline:none;border-color:#00ff884d;background:#323232cc}.description-textarea::placeholder{color:#ffffff80;text-align:center}.btn-text{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#fffc;font-size:.9375rem;font-weight:500;cursor:pointer;padding:.75rem 1.5rem;transition:all .2s ease;min-width:100px}.btn-text:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.btn-text.btn-primary{background:#0f83;border-color:#0f86;color:#fff}.btn-text.btn-primary:hover{background:#00ff884d;border-color:#00ff8880}.btn-text.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.place-creation-modal-overlay{padding:1rem}.place-creation-modal-wrapper{max-width:100%;height:100%;max-height:100%;gap:.75rem;justify-content:center}.place-card{max-height:calc(100% - 100px)}.place-card-fields{padding:3rem 1rem .5rem}.place-cover-emoji{width:70px;height:70px;font-size:2rem}.modal-actions-below{gap:.75rem}}@media(max-width:480px){.place-creation-modal-overlay{padding:.5rem}.place-creation-modal-wrapper{gap:.75rem;justify-content:center}.place-card{max-height:calc(100% - 90px)}.place-card-fields{padding:3rem .75rem .5rem}.place-cover-emoji{width:60px;height:60px;font-size:1.75rem}.modal-actions-below{flex-direction:column;gap:.75rem}.btn-text{width:100%}}.emoji-picker-container{position:fixed;z-index:2001;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100vw - 40px);height:calc(100vh - 80px);max-height:600px;pointer-events:auto}.emoji-picker-close-btn{position:absolute;bottom:0;left:0;right:0;width:100%;padding:1rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-top:1px solid rgba(255,255,255,.1);color:#ffffffe6;font-size:.9375rem;font-weight:500;cursor:pointer;text-align:center;z-index:10;flex-shrink:0;transition:background .2s ease,color .2s ease}.emoji-picker-close-btn:hover{background:#00000080;color:#fff}.map-editor-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;position:relative;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px) + 1rem);box-sizing:border-box}@media(max-width:768px){.map-editor-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px) + .75rem)}}@media(max-width:480px){.map-editor-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px) + .75rem)}}.map-editor-loading,.map-editor-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.map-editor-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.map-editor-error button:hover{background:#0d7}.map-editor-nav-wrapper{width:100%;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0 2rem;box-shadow:0 2px 8px #0000004d}.map-editor-nav-wrapper .admin-nav{margin-bottom:0;padding:.75rem 0;border-bottom:none}.map-editor-toolbar{padding:1rem 2rem;background:#0a0a0ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;width:100%;box-shadow:0 2px 8px #0000004d}.map-editor-toolbar h2{margin:0;font-size:1.5rem;font-weight:600;color:#0f8}.map-editor-canvas-wrapper{position:fixed;inset:120px 0 80px;width:100vw;height:calc(100vh - 200px);overflow:hidden;z-index:1}.map-editor-canvas{width:100%;height:100%;display:block;outline:none;touch-action:none}.scene-loading-overlay{position:absolute;inset:0;background:#0a0a0af2;display:flex;align-items:center;justify-content:center;color:#0f8;font-size:1.2rem;z-index:10}.place-selector-modal{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.place-selector-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:2rem;width:100%;max-width:800px;max-height:80vh;overflow-y:auto}.place-selector-content h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:#0f8}.places-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.5rem}.places-list button{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;text-align:center;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.places-list button:hover{background:#ffffff1a;border-color:#0f8}.place-selector-content>button:last-child{width:100%;padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.place-selector-content>button:last-child:hover{background:#ffffff1a}.map-editor-footer{position:fixed;bottom:0;left:0;right:0;width:100%;height:80px;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 2rem;z-index:100;box-shadow:0 -2px 8px #0000004d}.add-slot-btn{padding:.75rem 2rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-slot-btn:hover{background:#0d7}.add-slot-btn.active{background:#f4f;color:#fff;animation:pulse 2s infinite}.add-slot-btn.active:hover{background:#d3d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.cancel-slot-btn{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-slot-btn:hover{background:#ffffff1a;border-color:#ff44444d}@media(max-width:768px){.map-editor-toolbar{padding:1rem}.map-editor-toolbar h2{font-size:1.25rem}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.map-editor-footer{height:70px;padding:.75rem 1rem;flex-direction:column;gap:.5rem}.map-editor-canvas-wrapper{bottom:70px;height:calc(100vh - 70px)}.add-slot-btn,.cancel-slot-btn{width:100%;padding:.5rem 1rem;font-size:.9rem}}.place-editor-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px) + 2rem);box-sizing:border-box}@media(max-width:768px){.place-editor-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px) + 1rem)}}@media(max-width:480px){.place-editor-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px) + 1rem)}}.place-editor-loading,.place-editor-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.place-editor-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.place-editor-error button:hover{background:#0d7}.place-editor-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.place-editor-form{width:100%;max-width:600px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.place-editor-form h1{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#0f8}@media(max-width:768px){.place-editor-content{padding:1rem}.place-editor-form{padding:1.5rem}.place-editor-form h1{font-size:1.5rem}}.creature-editor-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px) + 2rem);box-sizing:border-box}@media(max-width:768px){.creature-editor-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px) + 1rem)}}@media(max-width:480px){.creature-editor-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px) + 1rem)}}.creature-editor-loading,.creature-editor-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.creature-editor-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.creature-editor-error button:hover{background:#0d7}.creature-editor-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.creature-editor-form{width:100%;max-width:600px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.creature-editor-form h1{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#0f8}@media(max-width:768px){.creature-editor-content{padding:1rem}.creature-editor-form{padding:1.5rem}.creature-editor-form h1{font-size:1.5rem}}.character-editor-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px) + 2rem);box-sizing:border-box}@media(max-width:768px){.character-editor-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px) + 1rem)}}@media(max-width:480px){.character-editor-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px) + 1rem)}}.character-editor-loading,.character-editor-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.character-editor-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.character-editor-error button:hover{background:#0d7}.character-editor-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.character-editor-form{width:100%;max-width:600px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.character-editor-form h1{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#0f8}.error-message{padding:1rem;background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;color:#f44;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:600;color:#fffc;margin-bottom:.5rem}.emoji-picker-wrapper{position:relative;display:inline-block}.emoji-picker-trigger-large{width:80px;height:80px;font-size:2.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.emoji-picker-trigger-large:hover{background:#ffffff1a;border-color:#00ff884d}.emoji-picker-container{position:fixed;z-index:1000;background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1rem;box-shadow:0 8px 32px #00000080;width:400px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);pointer-events:auto}.title-input,.description-input{width:100%;padding:.75rem;font-size:1rem;background:#0a0a0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;outline:none;box-sizing:border-box;font-family:inherit}.title-input:focus,.description-input:focus{border-color:#0f8}.description-input{resize:vertical;min-height:100px}.media-loading{padding:.75rem;color:#fff9;font-size:.9rem}.file-upload-section{display:flex;flex-direction:column;gap:.75rem}.file-input{display:none}.file-upload-btn{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.file-upload-btn:hover:not(:disabled){background:#ffffff1a;border-color:#0f8}.file-upload-btn:disabled{opacity:.5;cursor:not-allowed}.upload-progress{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.upload-progress-bar{height:100%;background:#0f8;transition:width .3s ease}.asset-url-display{padding:.75rem;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:8px}.asset-url-display p{margin:0;font-size:.9rem;color:#fffc}.asset-url-display a{color:#0f8;text-decoration:none}.asset-url-display a:hover{text-decoration:underline}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.btn-cancel,.btn-save{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.btn-cancel:hover{background:#ffffff1a}.btn-save{background:#0f8;border:none;color:#000}.btn-save:hover:not(:disabled){background:#0d7}.btn-save:disabled{background:#00ff884d;color:#00000080;cursor:not-allowed}@media(max-width:768px){.character-editor-content{padding:1rem}.character-editor-form{padding:1.5rem}.character-editor-form h1{font-size:1.5rem}}.game-edit-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px) + 2rem);box-sizing:border-box}.game-edit-content{width:100%;max-width:1200px;margin:0 auto;padding:2rem;box-sizing:border-box}@media(max-width:768px){.game-edit-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px) + 1rem)}.game-edit-content{padding:1rem}}@media(max-width:480px){.game-edit-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px) + 1rem)}}.game-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap;gap:1rem}.game-edit-title{display:flex;align-items:center;gap:1rem}.game-edit-title .game-emoji{font-size:2.5rem;line-height:1}.game-edit-title h1{font-size:2.5rem;font-weight:700;margin:0;color:#0f8}.game-edit-actions{display:flex;gap:1rem}.game-edit-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.game-edit-btn-build{background:#00ff881a;color:#0f8;border:1px solid rgba(0,255,136,.3)}.game-edit-btn-build:hover{background:#0f83;border-color:#00ff8880}.game-edit-btn-cancel{background:#ffffff0d;color:#fffc;border:1px solid rgba(255,255,255,.1)}.game-edit-btn-cancel:hover{background:#ffffff1a;color:#fff}.game-edit-btn-save{background:#0f8;color:#000}.game-edit-btn-save:hover:not(:disabled){background:#0d7}.game-edit-btn-save:disabled{opacity:.5;cursor:not-allowed}.game-edit-save-status{display:flex;align-items:center;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500}.game-edit-save-status.saving{color:orange;background:#ffa5001a;border:1px solid rgba(255,165,0,.3)}.game-edit-save-status.saved{color:#0f8;background:#00ff881a;border:1px solid rgba(0,255,136,.3)}.game-edit-save-status.pending{color:#fff9;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.game-edit-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.game-edit-column{display:flex;flex-direction:column;gap:2rem}.game-edit-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem}.game-edit-section h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#0f8}.game-edit-items{display:flex;flex-direction:column;gap:.75rem}.game-edit-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:6px;cursor:pointer;transition:all .2s ease}.game-edit-item:hover{background:#ffffff0d;border-color:#ffffff1a}.game-edit-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#00ff88}.game-edit-item span{flex:1;color:#fffc;font-size:1rem}.game-edit-item .item-emoji{margin-right:.5rem;font-size:1.2rem}.game-edit-empty{color:#fff6;font-style:italic;margin:0;padding:1rem;text-align:center}.game-edit-loading,.game-edit-error{width:100%;max-width:1200px;margin:0 auto;padding:2rem;text-align:center;color:#fff9}.game-edit-error{color:#f44}@media(max-width:768px){.game-edit-content{padding:1rem}.game-edit-header{flex-direction:column;align-items:flex-start}.game-edit-title h1{font-size:2rem}.game-edit-actions{width:100%}.game-edit-btn{flex:1}.game-edit-sections{grid-template-columns:1fr}}.game-building-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;position:relative;box-sizing:border-box}.game-building-success-notice{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(0);z-index:2000;padding:.6rem 1.25rem;background:#0d7a4a;color:#fff;font-size:.9rem;font-weight:500;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000004d;cursor:pointer;-webkit-user-select:none;user-select:none;animation:game-building-success-notice-in .25s ease-out;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.game-building-success-notice:hover{background:#0e8b54}@keyframes game-building-success-notice-in{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.game-building-loading,.game-building-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.game-building-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.game-building-error button:hover{background:#0d7}.game-building-nav-wrapper{position:fixed;top:0;left:0;right:0;width:100%;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0;box-shadow:0 2px 8px #0000004d;z-index:1000;box-sizing:border-box;overflow-x:hidden;overflow-y:visible}.game-building-nav-wrapper .admin-nav{position:relative!important;margin-bottom:0;padding:.75rem 0;border-bottom:none;top:auto!important;left:auto!important;right:auto!important;width:100%!important}.game-building-toolbar{position:fixed;top:var(--admin-nav-height, 72px);left:0;right:0;padding:1rem 2rem;background:#0a0a0ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;width:100%;max-width:100vw;box-shadow:0 2px 8px #0000004d;z-index:999;box-sizing:border-box;overflow-x:hidden}.game-building-toolbar h2{margin:0;font-size:1.5rem;font-weight:600;color:#0f8;display:flex;align-items:center;gap:.5rem}.game-title-editable{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:4px;margin:-.25rem -.5rem}.game-title-editable:hover{background:#00ff881a;color:#0f8}.game-building-autosave-icon{display:inline-flex;align-items:center;margin-left:.35rem;vertical-align:middle}.game-building-autosave-icon .material-icons{font-size:1.15rem}.game-building-autosave-icon .autosave-check{color:#0f8}.game-building-autosave-icon .autosave-error{color:#f87171}.game-building-autosave-icon .autosave-idle{color:#fff6}.game-building-autosave-icon .autosave-spin{color:orange;animation:game-building-autosave-spin 1s linear infinite}@keyframes game-building-autosave-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.game-title-input{font-size:1.5rem;font-weight:600;color:#0f8;background:#ffffff1a;border:1px solid rgba(0,255,136,.3);border-radius:4px;padding:.25rem .5rem;outline:none;font-family:inherit;min-width:200px}.game-title-input:focus{border-color:#0f8;background:#ffffff26}.status-selector{display:flex;align-items:center;gap:.5rem}.status-selector label{font-size:.9rem;color:#ffffffb3;font-weight:500}.status-selector select{padding:.5rem 1rem;font-size:.9rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease}.status-selector select:hover{background:#ffffff26;border-color:#00ff884d}.status-selector select:focus{outline:none;border-color:#0f8;background:#ffffff26}.status-selector select option{background:#1a1a1a;color:#fff}.toolbar-actions .game-building-restart-btn{background:#fa03;border-color:#fa0;color:#fa0}.toolbar-actions .game-building-restart-btn:hover{background:#ffaa004d}.toolbar-actions .game-building-recenter-btn{display:inline-flex;align-items:center;gap:.35rem}.toolbar-actions .game-building-recenter-btn .material-icons{font-size:1.1rem}.toolbar-actions .back-btn{background:#f443;border-color:#f44;color:#f44}.toolbar-actions .back-btn:hover{background:#ff44444d}.game-building-content-wrapper{position:fixed;top:calc(var(--admin-nav-height, 72px) + var(--toolbar-height, 60px));left:0;right:0;bottom:80px;width:100vw;height:calc(100vh - var(--admin-nav-height, 72px) - var(--toolbar-height, 60px) - 80px);overflow:hidden;z-index:1}.game-building-footer{position:fixed;bottom:0;left:0;right:0;width:100%;height:80px;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;z-index:100;box-shadow:0 -2px 8px #0000004d;flex-wrap:wrap;overflow-x:auto}.game-building-footer button.game-building-footer-btn{width:64px;height:64px;min-width:64px;min-height:64px;padding:.25rem;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0;line-height:1.15;text-align:center}.game-building-footer-btn-icon.material-icons{font-size:1.25rem;line-height:1}.game-building-footer-btn-label{text-transform:capitalize;word-break:break-word;max-width:100%}.game-building-footer button.game-building-footer-btn:hover:not(:disabled){transform:scale(1.05)}.game-building-footer button.game-building-footer-btn:disabled{cursor:not-allowed;opacity:.7}@media(max-width:768px){.game-building-toolbar{top:var(--admin-nav-height, 70px);padding:1rem}.game-building-toolbar h2{font-size:1.25rem}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.game-building-footer{height:70px;padding:.75rem 1rem;flex-direction:row;gap:.5rem}.game-building-content-wrapper{top:calc(var(--admin-nav-height, 70px) + var(--toolbar-height, 60px));bottom:70px;height:calc(100vh - var(--admin-nav-height, 70px) - var(--toolbar-height, 60px) - 70px)}.game-building-footer button.game-building-footer-btn{width:56px;height:56px;min-width:56px;min-height:56px;font-size:.6rem}.game-building-footer-btn-icon.material-icons{font-size:1.1rem}}@media(max-width:480px){.game-building-toolbar{top:var(--admin-nav-height, 60px)}.game-building-content-wrapper{top:calc(var(--admin-nav-height, 60px) + var(--toolbar-height, 60px));height:calc(100vh - var(--admin-nav-height, 60px) - var(--toolbar-height, 60px) - 70px)}}.story-building-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;position:relative;box-sizing:border-box}.story-building-loading,.story-building-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.story-building-error button{padding:.75rem 1.5rem;background:#0f8;border:none;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.story-building-error button:hover{background:#0d7}.story-building-nav-wrapper{position:fixed;top:0;left:0;right:0;width:100%;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0;box-shadow:0 2px 8px #0000004d;z-index:1000;box-sizing:border-box;overflow-x:hidden;overflow-y:visible}.story-building-nav-wrapper .admin-nav{position:relative!important;margin-bottom:0;padding:.75rem 0;border-bottom:none;top:auto!important;left:auto!important;right:auto!important;width:100%!important}.story-building-toolbar{position:fixed;top:var(--admin-nav-height, 72px);left:0;right:0;padding:1rem 2rem;background:#0a0a0ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;width:100%;max-width:100vw;box-shadow:0 2px 8px #0000004d;z-index:999;box-sizing:border-box;overflow-x:hidden}.toolbar-title-section{display:flex;align-items:center;gap:.75rem;flex:1}.story-building-toolbar h2{margin:0;font-size:1.5rem;font-weight:600;color:#0f8;display:flex;align-items:center;gap:.5rem}.story-title-editable{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:4px;margin:-.25rem -.5rem}.story-title-editable:hover{background:#00ff881a;color:#0f8}.story-title-input{font-size:1.5rem;font-weight:600;color:#0f8;background:#ffffff1a;border:1px solid rgba(0,255,136,.3);border-radius:4px;padding:.25rem .5rem;outline:none;font-family:inherit;min-width:200px}.story-title-input:focus{border-color:#0f8;background:#ffffff26}.autosave-notice{font-size:.85rem;font-weight:500;white-space:nowrap;transition:all .3s ease;display:flex;align-items:center;gap:.4rem;opacity:.7}.autosave-notice.saving{color:orange}.autosave-notice.saved{color:#0f8}.autosave-notice.error{color:#f44}.autosave-icon{font-size:.9rem;line-height:1}.toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.toolbar-actions button{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.toolbar-actions button:hover{background:#ffffff1a;border-color:#0f8}.toolbar-actions .play-btn{background:#f4f3;border-color:#f4f;color:#f4f}.toolbar-actions .play-btn:hover{background:#ff44ff4d}.story-building-content-wrapper{position:fixed;top:calc(var(--admin-nav-height, 72px) + var(--toolbar-height, 60px));left:0;right:0;bottom:80px;width:100vw;height:calc(100vh - var(--admin-nav-height, 72px) - var(--toolbar-height, 60px) - 80px);overflow:hidden;z-index:1}.story-building-footer{position:fixed;bottom:0;left:0;right:0;width:100%;height:80px;background:#0a0a0af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;z-index:100;box-shadow:0 -2px 8px #0000004d;flex-wrap:wrap;overflow-x:auto}.story-building-footer button{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.story-building-footer button:hover{background:#ffffff1a;transform:scale(1.05)}@media(max-width:768px){.story-building-toolbar{top:var(--admin-nav-height, 70px);padding:1rem}.story-building-toolbar h2{font-size:1.25rem}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.story-building-footer{height:70px;padding:.75rem 1rem;flex-direction:row;gap:.5rem}.story-building-content-wrapper{top:calc(var(--admin-nav-height, 70px) + var(--toolbar-height, 60px));bottom:70px;height:calc(100vh - var(--admin-nav-height, 70px) - var(--toolbar-height, 60px) - 70px)}.story-building-footer button{padding:.5rem .75rem;font-size:.85rem}}@media(max-width:480px){.story-building-toolbar{top:var(--admin-nav-height, 60px)}.story-building-content-wrapper{top:calc(var(--admin-nav-height, 60px) + var(--toolbar-height, 60px));height:calc(100vh - var(--admin-nav-height, 60px) - var(--toolbar-height, 60px) - 70px)}}.work-view{width:100%;min-height:100vh;min-height:100dvh;background:#0a0a0a;color:#fff;box-sizing:border-box;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.work-main{width:100%;max-width:100%;padding:0 2rem 2rem;padding-left:max(2rem,env(safe-area-inset-left,0px));padding-right:max(2rem,env(safe-area-inset-right,0px));padding-bottom:max(2rem,env(safe-area-inset-bottom,0px));box-sizing:border-box}.work-container{width:100%;max-width:900px;margin:0 auto}@media(max-width:768px){.work-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px))}.work-main{padding:0 1.5rem 1.5rem;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}}@media(max-width:480px){.work-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px))}.work-main{padding:0 1rem 1.5rem;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}}.work-heading{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#0f8}.work-subtitle{font-size:1rem;color:#fff9;margin:0;line-height:1.5}.work-container--geod{max-width:1000px;margin-top:4rem}.geod-header{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.geod-cover-container{position:relative;width:100vw;left:50%;transform:translate(-50%);margin-bottom:2rem;overflow:visible}.geod-cover-wrapper{position:relative;width:100%;height:300px;border-radius:0;overflow:hidden;cursor:pointer}.geod-cover-image{width:100%;height:100%;object-fit:cover;display:block}.geod-cover-placeholder{width:100%;height:100%;background:#ffffff0d;background-color:#2a2a2a;display:block}.geod-cover-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2;border-radius:0}.geod-cover-wrapper:hover .geod-cover-overlay{opacity:1;pointer-events:auto}.geod-cover-buttons{display:flex;gap:1rem;flex-direction:column;align-items:center;justify-content:center;z-index:10;pointer-events:auto}.geod-cover-btn{padding:.75rem 1.5rem;border:2px solid rgba(0,255,136,.5);background:#00ff881a;color:#0f8;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;min-width:120px}.geod-cover-btn:hover:not(:disabled){background:#0f83;border-color:#0f8c;transform:translateY(-2px)}.geod-cover-btn:disabled{opacity:.5;cursor:not-allowed}.geod-cover-btn-choose{border-color:#ffffff4d;background:#ffffff0d;color:#ffffffe6}.geod-cover-btn-choose:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff80}.geod-cover-emoji-wrapper{position:absolute;bottom:-25px;left:0;z-index:20;pointer-events:auto}.geod-cover-emoji{width:50px;height:50px;border-radius:50%;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 16px #0006;padding:0;border:none;color:inherit}.geod-cover-emoji:hover{transform:scale(1.1);box-shadow:0 6px 24px #00ff884d}.geod-header-badge{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#00ff88e6;background:#00ff881f;border:1px solid rgba(0,255,136,.3);padding:.35rem .65rem;border-radius:6px;margin-bottom:.75rem}.geod-project-title{font-size:1.85rem;font-weight:700;margin:0 0 .5rem;color:#fff;letter-spacing:-.02em}.geod-project-tagline{font-size:.95rem;color:#ffffffa6;line-height:1.55;margin:0 0 1rem;max-width:720px}.geod-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}.geod-status{font-size:.8rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.geod-status--active{color:#0f8;background:#00ff8826;border:1px solid rgba(0,255,136,.35)}.geod-meta-item{font-size:.85rem;color:#ffffff80}.geod-team{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.25rem}.geod-team-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80}.geod-team-avatars{display:flex;flex-wrap:wrap;gap:1rem}.geod-team-member{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .25rem .25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s;font:inherit;color:inherit;position:relative}.geod-team-member:hover:not(.geod-team-member--placeholder){background:#00ff881a;border-color:#00ff884d}.geod-team-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ff4444e6;border:2px solid rgba(0,0,0,.3);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;transition:background .2s,transform .2s;z-index:10}.geod-team-remove:hover{background:#f44;transform:scale(1.1)}.geod-team-add{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#ffffff0d;border:1px dashed rgba(255,255,255,.2);border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s;font:inherit;color:#fff9}.geod-team-add:hover{background:#00ff881a;border-color:#0f86;border-style:solid;color:#ffffffe6}.geod-team-add-icon{width:32px;height:32px;border-radius:50%;background:#0f83;border:2px solid rgba(0,255,136,.3);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:#0f8;flex-shrink:0}.geod-team-add-label{font-size:.9rem;font-weight:500}.geod-team-member--placeholder{cursor:default}.geod-team-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#0f83,#00ff8814);border:2px solid rgba(0,255,136,.3);display:flex;align-items:center;justify-content:center}.geod-team-avatar-img{width:100%;height:100%;object-fit:cover}.geod-team-avatar-initial{font-size:.9rem;font-weight:700;color:#0f8}.geod-team-name{font-size:.9rem;font-weight:500;color:#ffffffe6}.geod-quick-stats{display:flex;flex-wrap:wrap;gap:1.5rem}.geod-stat{font-size:.9rem;color:#fff9}.geod-stat-value{color:#0f8;font-weight:700;margin-right:.25rem}.geod-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.25rem 0}.geod-tab{font-size:.9rem;font-weight:500;color:#ffffff8c;background:transparent;border:1px solid rgba(255,255,255,.12);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:color .2s,background .2s,border-color .2s;outline:none}.geod-tab:hover{color:#ffffffd9;background:#ffffff0d;border-color:#fff3}.geod-tab--active{color:#0f8;background:#00ff881a;border-color:#00ff8859}.geod-tab--active:hover{background:#00ff8826;border-color:#00ff8873}@media(max-width:768px){.geod-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem;margin-bottom:1.5rem;scrollbar-width:thin}.geod-tab{flex-shrink:0}}.geod-panel{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.5rem 1.75rem;margin-bottom:1rem}.geod-panel-title{font-size:1.1rem;font-weight:600;color:#0f8;margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:.04em}.geod-overview-body{display:flex;gap:1.5rem;align-items:flex-start}.geod-overview-main{flex:1;min-width:0}.geod-overview-media-col{display:flex;flex-direction:column;gap:1rem;flex-shrink:0;width:200px}.geod-media-item--overview{aspect-ratio:1;min-height:0}@media(max-width:768px){.geod-overview-body{flex-direction:column}.geod-overview-media-col{flex-direction:row;width:100%;max-width:420px}.geod-media-item--overview{flex:1;min-width:0}}.geod-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.geod-overview-gallery-below{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.geod-overview-gallery-below .geod-media-item{width:100%}.geod-media-item--gallery{padding:0;font:inherit;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);text-align:inherit}@media(max-width:640px){.geod-overview-grid{grid-template-columns:1fr}.geod-overview-gallery-below{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.geod-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.25rem}.geod-card--wide{grid-column:1 / -1}.geod-card-title{font-size:.95rem;font-weight:600;color:#ffffffe6;margin:0 0 .75rem}.geod-list{margin:0;padding-left:1.25rem;color:#ffffffb3;font-size:.9rem;line-height:1.7}.geod-card-desc{margin:0;font-size:.9rem;color:#ffffffa6;line-height:1.5}.geod-doc-block{margin-bottom:1.5rem}.geod-doc-block:last-child{margin-bottom:0}.geod-doc-heading{font-size:.95rem;font-weight:600;color:#ffffffe6;margin:0 0 .75rem}.geod-doc-content{font-size:.9rem;color:#ffffffb3;line-height:1.6}.geod-doc-content p{margin:0 0 .75rem}.geod-doc-content p:last-child{margin-bottom:0}.geod-ascii{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4;color:#00ff88d9;background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem 1.25rem;margin:1rem 0;overflow-x:auto;white-space:pre}.geod-thread{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.geod-thread:last-child{margin-bottom:0}.geod-thread-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.geod-thread-title{font-size:.95rem;font-weight:600;color:#ffffffe6}.geod-thread-meta{font-size:.8rem;color:#ffffff73}.geod-thread-preview{display:flex;flex-direction:column;gap:.75rem}.geod-msg{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem .75rem;align-items:baseline;font-size:.88rem;color:#ffffffbf;line-height:1.45}.geod-msg--reply{margin-left:1.5rem;padding-left:.75rem;border-left:2px solid rgba(0,255,136,.25)}.geod-msg-author{font-weight:600;color:#0f8;font-size:.8rem}.geod-msg-text{min-width:0}.geod-msg-time{font-size:.75rem;color:#fff6;white-space:nowrap}.geod-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.geod-cal-month{font-size:1rem;font-weight:600;color:#ffffffe6}.geod-cal-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff9;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;transition:color .2s,background .2s}.geod-cal-btn:hover{color:#0f8;background:#00ff881a}.geod-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:1.25rem}.geod-cal-dow{font-size:.75rem;font-weight:600;color:#ffffff80;text-align:center;padding:.5rem 0}.geod-cal-day{min-height:52px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:2px;font-size:.85rem}.geod-cal-day--empty{background:transparent;border-color:transparent;min-height:0}.geod-cal-day--event{border-color:#00ff884d;background:#00ff880f}.geod-cal-num{color:#ffffff80;font-weight:500}.geod-cal-day--event .geod-cal-num{color:#fffc}.geod-cal-event{font-size:.7rem;color:#0f8;font-weight:500}.geod-cal-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#ffffff80}.geod-cal-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0f8;margin-right:.35rem;vertical-align:middle}.geod-tasklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(max-width:700px){.geod-tasklist-grid{grid-template-columns:1fr}}.geod-tasklist{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.25rem}.geod-tasklist-title{font-size:.95rem;font-weight:600;color:#ffffffe6;margin:0 0 1rem}.geod-tasklist-items{margin:0;padding:0;list-style:none}.geod-task{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#ffffffbf;line-height:1.5;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.geod-task:last-child{border-bottom:none}.geod-task-check{flex-shrink:0;color:#00ff88b3;font-size:.85rem}.geod-task--done{color:#ffffff80;text-decoration:line-through}.geod-task--done .geod-task-check{color:#0f8}.geod-fund-intro{font-size:.95rem;color:#ffffffb3;line-height:1.5;margin:0 0 1.5rem}.geod-fund-goal{margin-bottom:1.75rem}.geod-fund-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin-bottom:.5rem}.geod-fund-raised{font-size:1.5rem;font-weight:700;color:#0f8}.geod-fund-sep{font-size:.9rem;color:#ffffff80}.geod-fund-target{font-size:1rem;font-weight:600;color:#fffc}.geod-fund-bar{height:8px;background:#ffffff1a;border-radius:999px;overflow:hidden;margin-bottom:.5rem}.geod-fund-bar-fill{height:100%;background:linear-gradient(90deg,#0f8,#0f89);border-radius:999px;transition:width .4s ease}.geod-fund-backers{font-size:.85rem;color:#ffffff80;margin:0}.geod-fund-actions{display:flex;flex-direction:column;gap:1rem}.geod-fund-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80}.geod-fund-amounts{display:flex;flex-wrap:wrap;gap:.5rem}.geod-fund-amount-btn{font-size:.9rem;font-weight:600;color:#ffffffe6;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.geod-fund-amount-btn:hover{background:#00ff881f;border-color:#00ff8859}.geod-fund-amount-btn--custom{color:#fff9}.geod-fund-cta{align-self:flex-start;font-size:1rem;font-weight:600;color:#0a0a0a;background:#0f8;border:none;padding:.65rem 1.5rem;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.geod-fund-cta:hover{background:#00dd74;transform:translateY(-1px)}.geod-financial-intro,.geod-financial-hook{font-size:.95rem;color:#ffffffb3;line-height:1.55;margin:0 0 1rem}.geod-financial-hook{margin-bottom:1.5rem}.geod-financial-block{margin-bottom:2rem}.geod-financial-heading{font-size:1rem;font-weight:600;color:#fffffff2;margin:0 0 .5rem}.geod-financial-desc{font-size:.9rem;color:#fff9;line-height:1.5;margin:0 0 1rem}.geod-financial-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08}.geod-financial-table{width:100%;border-collapse:collapse;font-size:.9rem}.geod-financial-table th,.geod-financial-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.geod-financial-table th{font-weight:600;color:#ffffffe6;background:#ffffff0a}.geod-financial-table td{color:#ffffffbf}.geod-financial-table tbody tr:last-child td{border-bottom:none}.geod-financial-table tbody tr:hover{background:#ffffff0a}.geod-financial-list{margin:0;padding-left:1.25rem;font-size:.9rem;color:#ffffffb3;line-height:1.6}.geod-financial-list li{margin-bottom:.5rem}.geod-financial-list li:last-child{margin-bottom:0}.geod-financial-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.geod-financial-cta{font-size:.95rem;font-weight:600;color:#0a0a0a;background:#0f8;border:none;border-radius:8px;padding:.6rem 1.25rem;cursor:pointer;transition:background .2s,transform .2s}.geod-financial-cta:hover{background:#00dd74;transform:translateY(-1px)}.geod-financial-cta--secondary{color:#0f8;background:transparent;border:1px solid rgba(0,255,136,.4)}.geod-financial-cta--secondary:hover{background:#00ff881f;color:#0f8}.geod-apply-intro{font-size:.95rem;color:#ffffffb3;line-height:1.5;margin:0 0 1.5rem}.geod-roles{display:flex;flex-direction:column;gap:1rem}.geod-role{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.25rem}.geod-role-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.geod-role-title{font-size:1rem;font-weight:600;color:#fffffff2;margin:0}.geod-role-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:4px}.geod-role-status--open{color:#0f8;background:#00ff881f;border:1px solid rgba(0,255,136,.3)}.geod-role-status--filled{color:#ffffff80;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.geod-role-desc{font-size:.9rem;color:#ffffffa6;line-height:1.5;margin:0 0 1rem}.geod-role-apply{font-size:.9rem;font-weight:600;color:#0f8;background:transparent;border:1px solid rgba(0,255,136,.4);padding:.45rem 1rem;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.geod-role-apply:hover{background:#00ff881f;border-color:#0f89}.geod-status--paused{color:#ffb400f2;background:#ffb40026;border:1px solid rgba(255,180,0,.35)}.geod-status--archived{color:#ffffff80;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.geod-media-intro{font-size:.95rem;color:#ffffffb3;line-height:1.5;margin:0 0 1rem}.geod-media-error{font-size:.9rem;color:#ff6b6b;margin-bottom:1rem;padding:.5rem .75rem;background:#ff6b6b1a;border-radius:8px}.geod-media-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.geod-media-url-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.geod-media-url-input{flex:1;min-width:200px;font-size:.9rem;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem .75rem;outline:none;transition:border-color .2s}.geod-media-url-input::placeholder{color:#fff6}.geod-media-url-input:focus{border-color:#00ff8880}.geod-media-url-input:disabled{opacity:.5;cursor:not-allowed}.geod-media-btn{font-size:.9rem;font-weight:600;color:#0f8;background:transparent;border:1px solid rgba(0,255,136,.4);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.geod-media-btn:hover:not(:disabled){background:#00ff881f;border-color:#0f89}.geod-media-btn:disabled{opacity:.5;cursor:not-allowed}.geod-media-btn--upload{cursor:pointer}.geod-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.geod-media-item{position:relative;aspect-ratio:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.geod-media-item--clickable{cursor:pointer}.geod-media-item--clickable:hover{border-color:#0f86}.geod-media-item.geod-media-item--overview{width:100%;border:1px solid rgba(255,255,255,.1);padding:0;font:inherit;background:#ffffff0f;text-align:inherit}.geod-media-item img,.geod-media-item video{width:100%;height:100%;object-fit:cover}.geod-media-placeholder{font-size:2rem;color:#fff6}.geod-media-remove{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:#fffc;background:#0009;border:none;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}.geod-media-remove:hover{background:#f44c;color:#fff}.geod-media-empty{font-size:.9rem;color:#ffffff80;margin:0}.geod-media-view-modal{position:fixed;inset:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:1rem;cursor:pointer}.geod-media-view-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;cursor:default}.geod-media-view-content img,.geod-media-view-content video{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain}.geod-player-picker-content{max-width:600px;max-height:80vh;overflow-y:auto;padding:2rem}.geod-player-picker-title{font-size:1.25rem;font-weight:600;color:#0f8;margin:0 0 1.5rem}.geod-player-picker-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.geod-player-picker-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;text-align:center;aspect-ratio:1;font:inherit;color:inherit}.geod-player-picker-item:hover{background:#00ff881a;border-color:#00ff884d}.geod-player-picker-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#0f83,#00ff8814);border:2px solid rgba(0,255,136,.3);display:flex;align-items:center;justify-content:center}.geod-player-picker-avatar-img{width:100%;height:100%;object-fit:cover}.geod-player-picker-avatar-initial{font-size:1.5rem;font-weight:700;color:#0f8}.geod-player-picker-name{font-size:.9rem;font-weight:500;color:#ffffffe6;text-align:center;word-break:break-word}.geod-player-picker-empty{grid-column:1 / -1;text-align:center;color:#ffffff80;padding:2rem 1rem;font-size:.9rem}.geod-media-view-close{position:absolute;top:.5rem;right:.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:#fff;background:#0009;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;z-index:1}.geod-media-view-close:hover{background:#000c;border-color:#ffffff80}.geod-media-view-link{display:inline-block;padding:.75rem 1.25rem;color:#0f8;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:8px;text-decoration:none;font-weight:500}.geod-media-view-link:hover{background:#0f83;border-color:#00ff8880}.emoji-picker-container{position:fixed;z-index:2001;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:calc(100vw - 40px);height:calc(100vh - 80px);max-height:600px;pointer-events:auto;overflow:visible}.emoji-picker-container--aligned{transform:none!important}.emoji-picker-container .emoji-picker-search-wrapper{display:none}.emoji-picker-close-btn{position:absolute;bottom:0;left:0;right:0;width:100%;padding:1rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-top:1px solid rgba(255,255,255,.1);color:#ffffffe6;font-size:.9375rem;font-weight:500;cursor:pointer;text-align:center;z-index:10}.emoji-picker-close-btn:hover{background:#0009}.storage-space-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.storage-space-container{max-width:1200px;margin:0 auto;padding:2rem}.storage-space-container h1{font-size:2rem;font-weight:700;margin:0 0 2rem;color:#0f8}.storage-space-loading,.storage-space-error{text-align:center;padding:3rem;color:#ffffff80}.storage-space-error{background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;color:#f44;margin-bottom:2rem}.storage-space-main{margin-bottom:3rem}.storage-space-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem}.storage-space-card h2{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;color:#fff}.storage-space-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:2rem}.storage-space-stat{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-size:.85rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;color:#0f8}.storage-space-progress{margin-bottom:1.5rem}.storage-space-progress-bar-container{width:100%;height:24px;background:#ffffff1a;border-radius:12px;overflow:hidden;margin-bottom:.5rem}.storage-space-progress-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:12px}.storage-space-progress-text{text-align:right;font-size:.9rem;color:#ffffffb3}.storage-space-remaining{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.remaining-label{font-size:1rem;color:#ffffffb3}.remaining-value{font-size:1.25rem;font-weight:600;color:#0f8}.storage-space-buckets{margin-top:3rem}.storage-space-buckets h2{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;color:#fff}.storage-space-buckets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.storage-space-bucket-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;transition:all .2s ease}.storage-space-bucket-card:hover{background:#ffffff14;border-color:#fff3}.bucket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bucket-header h3{font-size:1.1rem;font-weight:600;margin:0;color:#fff}.bucket-status{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bucket-status.public{background:#0f83;color:#0f8;border:1px solid rgba(0,255,136,.3)}.bucket-status.private{background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.2)}.bucket-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.bucket-stat{display:flex;justify-content:space-between;align-items:center}.bucket-stat-label{font-size:.9rem;color:#fff9}.bucket-stat-value{font-size:1rem;font-weight:600;color:#0f8}.bucket-date{font-size:.8rem;color:#fff6;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:768px){.storage-space-container{padding:1rem}.storage-space-stats,.storage-space-buckets-grid{grid-template-columns:1fr}}.media-gallery-view{width:100%;min-height:100vh;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;padding:0;box-sizing:border-box;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.media-gallery-container{width:100%;margin:0 auto;padding:0 2rem;box-sizing:border-box}@media(max-width:768px){.media-gallery-container{padding:0 1.5rem}}@media(max-width:480px){.media-gallery-container{padding:0 1rem}}.media-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.media-gallery-header h1{font-size:2rem;font-weight:700;margin:0;color:#0f8}.media-gallery-filters{display:flex;gap:.5rem;flex-wrap:wrap}.media-gallery-filters button{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;font-size:.9rem}.media-gallery-filters button:hover{background:#ffffff1a;color:#fff}.media-gallery-filters button.active{background:#0f8;color:#000;border-color:#0f8}.media-gallery-error{padding:1rem;background:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:6px;color:#f44;margin-bottom:2rem}.media-gallery-upload-area{padding:3rem;border:2px dashed rgba(255,255,255,.2);border-radius:12px;text-align:center;margin-bottom:2rem;transition:all .2s ease;background:#ffffff05}.media-gallery-upload-area.dragging{border-color:#0f8;background:#00ff880d}.media-gallery-upload-btn{padding:.75rem 2rem;background:#0f8;border:none;border-radius:6px;color:#000;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem;margin-bottom:1rem}.media-gallery-upload-btn:hover:not(:disabled){background:#00cc6a;transform:translateY(-2px)}.media-gallery-upload-btn:disabled{opacity:.5;cursor:not-allowed}.media-gallery-upload-hint{color:#fff9;margin:.5rem 0;font-size:.9rem}.media-gallery-upload-types{color:#fff6;margin:.5rem 0 0;font-size:.85rem}.media-gallery-upload-progress{width:100%;max-width:400px;height:4px;background:#ffffff1a;border-radius:2px;margin:1rem auto 0;overflow:hidden}.media-gallery-upload-progress-bar{height:100%;background:#0f8;transition:width .3s ease}.media-gallery-loading,.media-gallery-empty{text-align:center;padding:3rem;color:#ffffff80}.media-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;width:100%}.media-gallery-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;transition:all .2s ease}.media-gallery-item:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.media-gallery-item img,.media-gallery-item video{width:100%;height:200px;object-fit:cover;display:block}.media-gallery-audio-preview{width:100%;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#00ff881a,#00ff880d);position:relative;overflow:hidden}.media-gallery-audio-preview:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,255,136,.15) 0%,transparent 70%);opacity:.5}.media-gallery-audio-preview .audio-icon{font-size:4rem;margin-bottom:1rem;position:relative;z-index:1;filter:drop-shadow(0 2px 8px rgba(0,255,136,.3))}.media-gallery-audio-preview audio{width:100%;height:100%;max-width:100%;max-height:100%;position:relative;z-index:1;padding:0;box-sizing:border-box;border-radius:0}.media-gallery-audio-preview audio::-webkit-media-controls-panel{background-color:#0000004d;border-radius:0;height:100%}.media-gallery-audio-preview audio::-webkit-media-controls-play-button{background-color:#0f83;border-radius:50%}.media-gallery-audio-preview audio::-webkit-media-controls-current-time-display,.media-gallery-audio-preview audio::-webkit-media-controls-time-remaining-display{color:#ffffffe6}.media-gallery-audio-preview audio::-webkit-media-controls-enclosure{border-radius:0;height:100%}.media-gallery-model-preview,.media-gallery-other-preview{width:100%;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff08;gap:.5rem;font-size:.9rem;color:#fff9}.model-icon,.file-icon{font-size:3rem}.media-gallery-item-info{padding:1rem}.media-gallery-item-name{font-weight:600;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.media-gallery-item-meta{font-size:.8rem;color:#ffffff80;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.media-gallery-item-source{font-size:.75rem;padding:.125rem .5rem;background:#ffffff1a;border-radius:4px;color:#ffffffb3}.media-gallery-item-actions{display:flex;gap:.5rem;padding:0 1rem 1rem}.media-gallery-item-link,.media-gallery-item-delete{flex:1;padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s ease;text-decoration:none;text-align:center;display:inline-block}.media-gallery-item-link{background:#00ff881a;color:#0f8;border:1px solid rgba(0,255,136,.3)}.media-gallery-item-link:hover{background:#0f83}.media-gallery-item-delete{background:#ff44441a;color:#f44;border:1px solid rgba(255,68,68,.3)}.media-gallery-item-delete:hover{background:#f443}.media-gallery-storage-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;margin-bottom:2rem;cursor:pointer;transition:all .2s ease}.media-gallery-storage-card:hover{background:#ffffff14;border-color:#00ff884d;transform:translateY(-2px)}.media-gallery-storage-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:1rem}.media-gallery-storage-stat{display:flex;flex-direction:column;gap:.25rem}.media-gallery-storage-stat .stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.media-gallery-storage-stat .stat-value{font-size:1.25rem;font-weight:700;color:#0f8}.media-gallery-storage-progress{margin-bottom:0}.media-gallery-storage-progress-bar-container{width:100%;height:20px;background:#ffffff1a;border-radius:10px;overflow:hidden;margin-bottom:.25rem}.media-gallery-storage-progress-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:10px}.media-gallery-storage-progress-text{text-align:right;font-size:.8rem;color:#ffffffb3}.media-gallery-counts{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:8px}.media-gallery-count-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;min-width:80px}.count-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.count-value{font-size:1.25rem;font-weight:700;color:#0f8}@media(max-width:768px){.media-gallery-view{padding-top:calc(var(--admin-nav-height, 70px) + var(--admin-nav-spacing, 16px))}.media-gallery-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.media-gallery-header{flex-direction:column;align-items:flex-start}.media-gallery-upload-area{padding:2rem 1rem}.media-gallery-storage-card{padding:1rem}.media-gallery-storage-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem}.media-gallery-storage-stat{gap:.125rem}.media-gallery-storage-stat .stat-label{font-size:.7rem}.media-gallery-storage-stat .stat-value{font-size:1rem}.media-gallery-storage-progress-bar-container{height:16px;margin-bottom:.25rem}.media-gallery-storage-progress-text{font-size:.75rem}.media-gallery-counts{gap:.75rem;padding:.75rem}.media-gallery-count-item{flex:1;min-width:0;padding:.5rem .75rem}}@media(max-width:480px){.media-gallery-view{padding-top:calc(var(--admin-nav-height, 60px) + var(--admin-nav-spacing, 12px))}.media-gallery-storage-card{padding:.75rem}.media-gallery-storage-stats{gap:.5rem;margin-bottom:.5rem}.media-gallery-storage-stat .stat-label{font-size:.65rem}.media-gallery-storage-stat .stat-value{font-size:.9rem}.media-gallery-storage-progress-bar-container{height:14px}.media-gallery-storage-progress-text{font-size:.7rem}}.media-gallery-fab{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%;background:transparent;border:2px solid #00ff88;color:#0f8;font-size:2rem;cursor:pointer;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;box-sizing:border-box}.media-gallery-fab:hover{border-color:#00cc6a;transform:translate(-50%) scale(1.1);background:transparent}.media-gallery-fab:active{transform:translate(-50%) scale(.95)}.media-gallery-modal-overlay{position:fixed;inset:0;background:#00281480;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:0;animation:fadeIn .2s ease}.media-gallery-modal-content{background:transparent;border:none;border-radius:0;padding:2rem;width:100%;height:100%;max-width:100%;max-height:100vh;overflow-x:hidden;overflow-y:auto;animation:fadeIn .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;box-sizing:border-box}.media-gallery-modal-header{display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem;position:relative;flex-shrink:0}.media-gallery-modal-title{font-size:2rem;font-weight:700;margin:0;color:#0f8;text-align:center;letter-spacing:.05em}.media-gallery-modal-back-btn{position:absolute;left:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fffc;font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;transition:all .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-modal-back-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.media-gallery-modal-back-btn:focus{outline:none;box-shadow:0 0 0 3px #0f83}.media-gallery-modal-close-bottom{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%;background:transparent;border:2px solid #00ff88;color:#0f8;font-size:2rem;cursor:pointer;transition:all .3s ease;z-index:2001;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-modal-close-bottom:focus{outline:none;box-shadow:none}.media-gallery-modal-close-bottom:hover{border-color:#00cc6a;transform:translate(-50%) scale(1.1);background:transparent}.media-gallery-modal-close-bottom:active{transform:translate(-50%) scale(.95)}.media-gallery-modal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;max-width:800px;box-sizing:border-box}.media-gallery-modal-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:1rem}.media-gallery-modal-card:hover{background:#ffffff14;border-color:#00ff884d;transform:translateY(-2px)}.media-gallery-modal-card-emoji{font-size:3rem;line-height:1}.media-gallery-modal-card-title{font-size:1.1rem;font-weight:600;color:#fff}.media-gallery-wizard-step{min-height:300px;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;width:100%}.media-gallery-wizard-content{text-align:center;max-width:400px;width:100%}.media-gallery-wizard-icon{font-size:4rem;margin-bottom:1.5rem;line-height:1}.media-gallery-wizard-content h3{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#fff}.media-gallery-wizard-content p{font-size:1rem;color:#fff9;margin:0;line-height:1.6}.media-gallery-modal-actions{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;flex-shrink:0}.media-gallery-action-btn{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 2.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease;min-width:140px;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-action-btn:hover{background:#ffffff14;border-color:#00ff884d;transform:translateY(-2px)}.media-gallery-action-btn:focus{outline:none;box-shadow:0 0 0 3px #0f83}.media-gallery-action-icon{font-size:3rem;line-height:1}.media-gallery-action-label{font-size:1rem;font-weight:600}.media-gallery-modal-upload-area{padding:4rem 2rem;border:2px dashed rgba(255,255,255,.2);border-radius:12px;text-align:center;margin-bottom:1.5rem;transition:all .2s ease;background:#ffffff05;cursor:pointer;flex-shrink:0}.media-gallery-modal-upload-area.dragging{border-color:#0f8;background:#00ff880d}.media-gallery-modal-upload-icon{font-size:4rem;margin-bottom:1rem;line-height:1}.media-gallery-modal-upload-text{color:#ffffffb3;margin:0 0 1.5rem;font-size:1.1rem}.media-gallery-modal-upload-btn{padding:1rem 2.5rem;background:#00ff881a;border:2px solid #00ff88;border-radius:8px;color:#0f8;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-modal-upload-btn:hover:not(:disabled){background:#0f83;border-color:#00cc6a;color:#00cc6a}.media-gallery-modal-upload-btn:disabled{opacity:.5;cursor:not-allowed}.media-gallery-modal-url-section{width:100%;max-width:600px;margin:0 auto;flex-shrink:0}.media-gallery-url-paste{width:100%;max-width:600px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.media-gallery-url-input-container{width:100%;display:flex;gap:1rem;align-items:stretch}.media-gallery-url-input{flex:1;padding:1rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit;transition:all .2s ease;outline:none}.media-gallery-url-input:focus{border-color:#0f8;background:#ffffff14}.media-gallery-url-input::placeholder{color:#fff6}.media-gallery-url-paste-btn{padding:1rem 2rem;background:#00ff881a;border:2px solid #00ff88;border-radius:8px;color:#0f8;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-url-paste-btn:hover{background:#0f83;border-color:#00cc6a;color:#00cc6a}.media-gallery-url-paste-btn:focus{outline:none;box-shadow:0 0 0 3px #0f83}.media-gallery-url-paste-btn:active{transform:scale(.98)}.media-gallery-url-submit-btn{padding:1rem 2rem;background:#0f8;border:2px solid #00ff88;border-radius:8px;color:#000;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent}.media-gallery-url-submit-btn:hover:not(:disabled){background:#00cc6a;border-color:#00cc6a}.media-gallery-url-submit-btn:focus{outline:none;box-shadow:0 0 0 3px #0f83}.media-gallery-url-submit-btn:active{transform:scale(.98)}.media-gallery-url-submit-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.media-gallery-url-input-container{flex-direction:column}.media-gallery-url-paste-btn,.media-gallery-url-submit-btn{width:100%}}@media(max-width:768px){.media-gallery-fab{bottom:1.5rem;width:56px;height:56px;min-width:56px;min-height:56px;font-size:1.75rem}.media-gallery-modal-close-bottom{bottom:1rem;width:52px;height:52px;min-width:52px;min-height:52px;font-size:1.5rem}.media-gallery-modal-content{padding:1rem;width:100%;max-width:100%;overflow-x:hidden;justify-content:center;padding-bottom:80px}.media-gallery-modal-header{margin-bottom:1rem}.media-gallery-modal-title{font-size:1.5rem}.media-gallery-modal-actions{flex-direction:row;gap:.75rem;margin-bottom:1rem;width:100%}.media-gallery-action-btn{flex:1;padding:1rem .75rem;min-width:0}.media-gallery-action-icon{font-size:2rem}.media-gallery-action-label{font-size:.85rem}.media-gallery-modal-upload-area{padding:2rem 1rem;margin-bottom:1rem}.media-gallery-modal-upload-icon{font-size:2.5rem;margin-bottom:.75rem}.media-gallery-modal-upload-text{font-size:.9rem;margin-bottom:1rem}.media-gallery-modal-upload-btn{padding:.75rem 1.5rem;font-size:.9rem}.media-gallery-modal-url-section{max-width:100%;margin-bottom:0}.media-gallery-url-input-container{flex-direction:column}.media-gallery-url-paste-btn{width:100%}}@media(max-width:480px){.media-gallery-fab,.media-gallery-modal-close-bottom{bottom:.75rem;width:48px;height:48px;min-width:48px;min-height:48px;font-size:1.25rem}.media-gallery-modal-content{padding:.75rem;padding-bottom:70px;width:100%;max-width:100%;overflow-x:hidden;justify-content:center}.media-gallery-modal-header{margin-bottom:.5rem;width:100%;max-width:100%}.media-gallery-modal-title{font-size:1.25rem}.media-gallery-modal-actions{gap:.5rem;margin-bottom:.75rem}.media-gallery-action-btn{padding:.75rem .5rem}.media-gallery-action-icon{font-size:1.75rem}.media-gallery-action-label{font-size:.75rem}.media-gallery-modal-upload-area{padding:1.5rem .75rem;margin-bottom:.75rem}.media-gallery-modal-upload-icon{font-size:2rem;margin-bottom:.5rem}.media-gallery-modal-upload-text{font-size:.85rem;margin-bottom:.75rem}.media-gallery-modal-upload-btn{padding:.65rem 1.25rem;font-size:.85rem}.media-gallery-modal-url-section{max-width:100%}.media-gallery-url-input{padding:.75rem 1rem;font-size:.9rem}.media-gallery-url-paste-btn{padding:.75rem 1.25rem;font-size:.85rem}}.media-gallery-record-step{width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 0;flex-shrink:0}.media-gallery-record-controls{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.media-gallery-record-btn{padding:1rem 2.5rem;background:#0f8;border:2px solid #00ff88;border-radius:8px;color:#000;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;outline:none;-webkit-tap-highlight-color:transparent;min-width:200px}.media-gallery-record-btn.start{background:#0f8;color:#000}.media-gallery-record-btn.start:hover{background:#00cc6a;border-color:#00cc6a;transform:translateY(-2px)}.media-gallery-record-btn.stop{background:#f44;border-color:#f44;color:#fff}.media-gallery-record-btn.stop:hover{background:#c33;border-color:#c33;transform:translateY(-2px)}.media-gallery-record-btn.secondary{background:#ffffff0d;border-color:#fff3;color:#fff}.media-gallery-record-btn.secondary:hover{background:#ffffff1a;border-color:#ffffff4d}.media-gallery-record-btn:focus{outline:none;box-shadow:0 0 0 3px #0f83}.media-gallery-record-btn:active{transform:scale(.98)}.media-gallery-recording-indicator{display:flex;align-items:center;gap:.75rem;color:#f44;font-size:1.1rem;font-weight:600}.recording-dot{width:12px;height:12px;background:#f44;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.media-gallery-record-preview{width:100%;max-width:600px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.media-gallery-record-preview audio,.media-gallery-record-preview video{width:100%;border-radius:8px}.media-gallery-record-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.media-gallery-webcam-preview,.media-gallery-captured-photo{width:100%;max-width:600px;height:auto;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);object-fit:contain}@media(max-width:768px){.media-gallery-record-step{padding:1rem 0;gap:1.5rem}.media-gallery-record-btn{padding:.875rem 2rem;font-size:1rem;min-width:180px}.media-gallery-recording-indicator{font-size:1rem}.media-gallery-record-actions{flex-direction:column;width:100%}.media-gallery-record-actions .media-gallery-record-btn{width:100%}.media-gallery-webcam-preview,.media-gallery-captured-photo{max-width:100%}.media-gallery-modal-back-btn{font-size:.85rem;padding:.4rem .8rem}}@media(max-width:480px){.media-gallery-record-step{padding:.75rem 0;gap:1rem}.media-gallery-record-btn{padding:.75rem 1.5rem;font-size:.9rem;min-width:160px}.media-gallery-recording-indicator{font-size:.9rem}.media-gallery-webcam-preview,.media-gallery-captured-photo{max-width:100%}}.delete-modal-overlay{position:fixed!important;inset:0!important;background:#000000d9!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;animation:fadeIn .2s ease;padding:1rem;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.delete-modal-content{background:linear-gradient(135deg,#dc262626,#b91c1c33)!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(220,38,38,.3)!important;border-radius:0!important;padding:3rem 2rem!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;animation:slideUp .3s ease;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important;position:relative!important}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-modal-icon{font-size:4rem;margin-bottom:1.5rem;line-height:1;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.delete-modal-title{font-size:2rem;font-weight:600;color:#fffffff2;margin:0 0 .75rem;line-height:1.2}.delete-modal-subtitle{font-size:1.25rem;color:#ffc8c8e6;margin:0 0 1.5rem;font-weight:500}.delete-modal-message{font-size:1rem;color:#ffffffb3;margin:0 0 2.5rem;line-height:1.6;max-width:500px}.delete-modal-actions{display:flex;gap:1rem;width:100%;max-width:400px;flex-direction:column}@media(min-width:768px){.delete-modal-content{padding:4rem 3rem}.delete-modal-icon{font-size:5rem;margin-bottom:2rem}.delete-modal-title{font-size:2.5rem}.delete-modal-subtitle{font-size:1.5rem}.delete-modal-message{font-size:1.125rem;margin-bottom:3rem}.delete-modal-actions{flex-direction:row;max-width:500px}}.btn-cancel-delete,.btn-confirm-delete{padding:1rem 2rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-width:120px}.btn-cancel-delete{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.2)}.btn-cancel-delete:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.btn-confirm-delete{background:#dc2626cc;color:#fffffff2;border:1px solid rgba(220,38,38,.9);font-weight:600}.btn-confirm-delete:hover{background:#dc2626f2;border-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-confirm-delete:active{transform:translateY(0)}@media(min-width:768px){.btn-cancel-delete,.btn-confirm-delete{padding:1.125rem 2.5rem;font-size:1.125rem}}.maggrid-container{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;overscroll-behavior-x:none;overscroll-behavior-y:none;overscroll-behavior:none}.maggrid-card{position:absolute;pointer-events:auto;-webkit-user-select:none;user-select:none}.maggrid-card:not(:active):hover{filter:brightness(1.1);box-shadow:0 6px 16px #0006,0 3px 6px #0000004d!important}.maggrid-card-snap-shadow{transition:transform .05s ease-out}@media(max-width:768px){.maggrid-connect-notice{top:70px!important}.maggrid-connect-notice.has-validation{top:100px!important}}.chatroom-container{display:flex;flex-direction:column;height:calc(100vh - var(--admin-nav-height, 72px) - var(--admin-nav-spacing, 20px));width:100%;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#0a0a0a);color:#fff;font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;padding:0;box-sizing:border-box;padding-top:calc(var(--admin-nav-height, 72px) + var(--admin-nav-spacing, 20px))}.chatroom-header{display:flex;align-items:center;padding:1rem;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);gap:1rem;flex-shrink:0}.chatroom-exit-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.chatroom-exit-btn:hover{background:#fff3;border-color:#ffffff80;transform:scale(1.05)}.chatroom-title{font-size:1.25rem;font-weight:600;flex:1}.chatroom-online-users{display:flex;gap:.5rem;align-items:center}.chatroom-user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.chatroom-more-users{background:#6464644d!important;border-color:#64646480!important;font-size:.75rem;box-shadow:none!important}.chatroom-messages-wrapper{flex:1;position:relative;overflow:hidden;min-height:0}.chatroom-scroll-gradient{position:absolute;left:0;right:0;height:40px;pointer-events:none;z-index:10}.chatroom-scroll-gradient-top{top:0;background:linear-gradient(to bottom,rgba(10,10,10,1),transparent)}.chatroom-scroll-gradient-bottom{bottom:0;background:linear-gradient(to top,rgba(10,10,10,1),transparent)}.chatroom-messages{height:100%;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.75rem;-webkit-overflow-scrolling:touch}.chatroom-messages::-webkit-scrollbar{width:8px}.chatroom-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.chatroom-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.chatroom-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.chatroom-loading,.chatroom-empty{display:flex;justify-content:center;align-items:center;height:100%;color:#999;font-size:.875rem}.chatroom-spinner{font-size:2rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chatroom-message{padding:.75rem 1rem;border-radius:.75rem;border:1px solid;max-width:75%;word-wrap:break-word;align-self:flex-start;animation:messageIn .2s ease-out}.chatroom-message-own{align-self:flex-end}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chatroom-message-header{margin-bottom:.25rem}.chatroom-message-sender{font-size:.75rem;font-weight:600}.chatroom-message-content{font-size:.875rem;line-height:1.4;color:#fff}.chatroom-message-time{font-size:.625rem;color:#999;margin-top:.25rem;text-align:right}.chatroom-typing-area{padding:0 1rem;min-height:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.chatroom-typing{font-size:.75rem;color:#999;font-style:italic}.chatroom-unread-badge{background:gold;color:#000;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 2px 8px #ffd70080;transition:all .2s ease;font-family:inherit}.chatroom-unread-badge:hover{transform:scale(1.05);box-shadow:0 4px 12px #ffd70099}.chatroom-input-form{display:flex;gap:.5rem;padding:1rem;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.chatroom-input{flex:1;padding:.75rem 1rem;border-radius:.5rem;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;font-family:inherit;font-size:16px;outline:none;transition:all .2s ease}.chatroom-input::placeholder{color:#ffffff80}.chatroom-input:focus{border-color:#fff9;box-shadow:0 0 20px #ffffff1a}.chatroom-input:disabled{opacity:.5;cursor:not-allowed}.chatroom-send-btn{padding:.75rem 1.5rem;border-radius:.5rem;border:2px solid rgba(255,255,255,.4);background:#ffffff26;color:#fff;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.chatroom-send-btn:hover:not(:disabled){background:#ffffff40;border-color:#fff9}.chatroom-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.chatroom-header{padding:.75rem}.chatroom-title{font-size:1rem}.chatroom-user-avatar{width:30px;height:30px;font-size:.75rem}.chatroom-message{max-width:85%}.chatroom-input-form{padding:.75rem}.chatroom-send-btn{padding:.75rem 1rem}}.media-selection-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}@media(min-width:600px){.media-selection-modal-overlay{padding:2rem}}.media-selection-modal-content{background:#1a1a1a;border-radius:12px;width:95%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}@media(min-width:600px){.media-selection-modal-content{width:90%;max-height:80vh}}.media-selection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}@media(min-width:600px){.media-selection-modal-header{padding:1.5rem}}.media-selection-modal-header h2{margin:0;color:#fff;font-size:1.25rem}@media(min-width:600px){.media-selection-modal-header h2{font-size:1.5rem}}.media-selection-modal-close{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.media-selection-modal-close:hover{background:#ffffff1a}.media-selection-modal-error{padding:1rem;color:#f44;text-align:center}.media-selection-modal-loading,.media-selection-modal-empty{padding:3rem;text-align:center;color:#ffffff80}.media-selection-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;width:100%;box-sizing:border-box;align-content:start;grid-auto-rows:min-content;-webkit-overflow-scrolling:touch}@media(min-width:600px){.media-selection-modal-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.25rem}}@media(min-width:900px){.media-selection-modal-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;padding:1.5rem}}@media(min-width:1200px){.media-selection-modal-grid{grid-template-columns:repeat(5,1fr);gap:1.5rem}}.media-selection-modal-item{width:100%;position:relative;border-radius:8px;overflow:hidden;cursor:pointer;background:#ffffff0d;transition:transform .2s ease,box-shadow .2s ease;border:2px solid transparent;box-sizing:border-box;height:0;padding-bottom:100%;isolation:isolate}@supports (aspect-ratio: 1 / 1){.media-selection-modal-item{aspect-ratio:1 / 1;padding-bottom:100%}}.media-selection-modal-item:hover{transform:scale(1.05);box-shadow:0 4px 16px #00ff884d;border-color:#00ff8880;z-index:10}.media-selection-modal-item>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;max-width:100%;max-height:100%;border:none;margin:0;padding:0}.media-selection-modal-item img,.media-selection-modal-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;border:none;margin:0;padding:0}.media-selection-audio-preview,.media-selection-other-preview{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#ffffff0d}.audio-icon,.file-icon{font-size:2.5rem}.wheel-menu{--wheel-radius: 160px;--wheel-inset: 44px;--bottom-gap: 20px;pointer-events:auto;touch-action:none;z-index:5}.wheel-menu--center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(2 * var(--wheel-radius));height:calc(2 * var(--wheel-radius))}.wheel-menu--anchor-parent.wheel-menu--center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wheel-menu--anchor-parent.wheel-menu--top,.wheel-menu--anchor-parent.wheel-menu--bottom{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:calc(2 * var(--wheel-radius));height:calc(2 * var(--wheel-radius))}.wheel-menu--anchor-parent.wheel-menu--top .wheel-menu__hub,.wheel-menu--anchor-parent.wheel-menu--bottom .wheel-menu__hub{position:absolute;top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%)}.wheel-menu--anchor-parent.wheel-menu--top .wheel-menu__wheel,.wheel-menu--anchor-parent.wheel-menu--bottom .wheel-menu__wheel{position:absolute;top:0;left:0;bottom:auto;margin-left:0;width:100%;height:100%}.wheel-menu--center .wheel-menu__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;overflow:hidden;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:1}.wheel-menu--center .wheel-menu__wheel{position:absolute;top:0;left:0;width:calc(2 * var(--wheel-radius));height:calc(2 * var(--wheel-radius));border-radius:50%;will-change:transform;z-index:0}.wheel-menu--bottom{position:fixed;bottom:calc(var(--bottom-gap) + env(safe-area-inset-bottom,0px));left:env(safe-area-inset-left,0);right:env(safe-area-inset-right,0);height:var(--wheel-radius)}.wheel-menu--bottom .wheel-menu__hub{position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);width:72px;height:72px;overflow:hidden;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:1}.wheel-menu--bottom .wheel-menu__wheel{position:absolute;left:50%;bottom:calc(-1 * var(--wheel-radius));width:calc(2 * var(--wheel-radius));height:calc(2 * var(--wheel-radius));margin-left:calc(-1 * var(--wheel-radius));border-radius:50%;z-index:0;will-change:transform}.wheel-menu--top{position:fixed;top:calc(1.5rem + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);width:calc(2 * var(--wheel-radius));height:var(--wheel-radius)}.wheel-menu--top .wheel-menu__hub{position:absolute;top:0;left:50%;transform:translate(-50%);width:72px;height:72px;overflow:hidden;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:1}.wheel-menu--top .wheel-menu__wheel{position:absolute;top:0;left:50%;width:calc(2 * var(--wheel-radius));height:calc(2 * var(--wheel-radius));margin-left:calc(-1 * var(--wheel-radius));border-radius:50%;will-change:transform;z-index:0}.wheel-menu__wheel--snap{transition:transform .18s cubic-bezier(.25,.46,.45,.94)}.wheel-menu--collapsed{pointer-events:none}.wheel-menu--collapsed .wheel-menu__hub{pointer-events:auto}.wheel-menu--collapsed .wheel-menu__wheel{pointer-events:none}.wheel-menu:not(.wheel-menu--collapsed) .wheel-menu__wheel{pointer-events:auto}.wheel-menu__slot-wrap--empty{display:none;pointer-events:none}.wheel-menu__slot-wrap{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0;transform-origin:center center;transform:translate(0) scale(1) rotate(var(--slot-rotation, 0deg));transition:transform .28s ease-out}.wheel-menu__slot-wrap--snap{transition:transform .18s cubic-bezier(.25,.46,.45,.94)}.wheel-menu--collapsed .wheel-menu__slot-wrap{transform:translate(var(--slot-dx, 0),var(--slot-dy, 0)) scale(0) rotate(var(--slot-rotation, 0deg))}.wheel-menu__slot{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:#fff;color:#1a1a1a;font-size:1.875rem;cursor:pointer;padding:0;flex-shrink:0;transition:background .15s ease,box-shadow .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent;touch-action:none;transform-origin:center center;outline:none;box-shadow:0 0 0 2px #fff,0 0 0 5px #f5d76e,0 0 12px 4px #f5d76e59}.wheel-menu__slot:focus,.wheel-menu__slot:focus-visible,.wheel-menu__slot:active{outline:none}.wheel-menu__slot,.wheel-menu__slot:hover,.wheel-menu__slot:focus,.wheel-menu__slot:focus-visible,.wheel-menu__slot:active{border-color:transparent!important}.wheel-menu__hub button,.wheel-menu__hub [role=button]{outline:none!important;outline-offset:0!important;-webkit-tap-highlight-color:transparent;border-color:transparent!important}.wheel-menu__hub button:hover,.wheel-menu__hub button:focus,.wheel-menu__hub button:focus-visible,.wheel-menu__hub button:active,.wheel-menu__hub [role=button]:hover,.wheel-menu__hub [role=button]:focus,.wheel-menu__hub [role=button]:focus-visible,.wheel-menu__hub [role=button]:active{outline:none!important;outline-offset:0!important;border-color:transparent!important}.wheel-menu__hub .wheel-menu-view-hub-content:focus,.wheel-menu__hub .wheel-menu-view-hub-content:focus-visible,.wheel-menu__hub .wheel-menu-view-hub-content:active{box-shadow:0 3px 8px #aaa9,inset 0 2px 3px #fffc!important}.wheel-menu__slot .wheel-menu__slot-icon{display:block;line-height:1;text-align:center;transition:opacity .2s ease}.wheel-menu__slot:hover:not(.wheel-menu__slot--disabled):not(.wheel-menu__slot--empty) .wheel-menu__slot-icon{opacity:.8}.wheel-menu__slot:active:not(.wheel-menu__slot--disabled):not(.wheel-menu__slot--empty){transform:scale(.98)}.wheel-menu__slot--disabled,.wheel-menu__slot--disabled:hover,.wheel-menu__slot--disabled:focus,.wheel-menu__slot--disabled:focus-visible,.wheel-menu__slot--disabled:active{outline:none;-webkit-tap-highlight-color:transparent}.wheel-menu__slot--disabled{opacity:.5;cursor:not-allowed;box-shadow:0 0 0 2px #fff,0 0 0 5px #f5d76e80,0 0 8px 3px #f5d76e33;pointer-events:none}.wheel-menu__slot--empty,.wheel-menu__slot--empty:hover,.wheel-menu__slot--empty:focus,.wheel-menu__slot--empty:focus-visible{outline:none}.wheel-menu__slot--location-off{opacity:.6;filter:grayscale(.5)}.wheel-menu__slot--location-off:hover{opacity:.9;filter:grayscale(.2)}.wheel-menu__slot--loading{cursor:wait}.wheel-menu__slot--loading .wheel-menu__slot-icon{visibility:hidden}.wheel-menu__slot-loading{position:absolute;inset:0;display:block;width:100%;height:100%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:wheel-menu-slot-spin .6s linear infinite}@keyframes wheel-menu-slot-spin{to{transform:rotate(360deg)}}.wheel-menu__slot--empty{opacity:.4;cursor:default;box-shadow:0 0 0 2px #ffffffe6,0 0 0 5px #f5d76e80,0 0 8px 3px #f5d76e33}.oniframe{width:100%;height:100%;min-height:100dvh;background:transparent;color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;box-sizing:border-box;box-shadow:inset 0 0 0 10px #fff;z-index:2;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}.oniframe-frame-fill{position:absolute;inset:0;pointer-events:none;z-index:10000}.oniframe-frame-fill-corner{position:absolute;width:70px;height:70px;background:#fff}.oniframe-frame-fill-corner--tl{top:0;left:0;mask:radial-gradient(circle at 70px 70px,transparent 60px,#fff 60px);-webkit-mask:radial-gradient(circle at 70px 70px,transparent 60px,#fff 60px)}.oniframe-frame-fill-corner--tr{top:0;right:0;left:auto;mask:radial-gradient(circle at 0 70px,transparent 60px,#fff 60px);-webkit-mask:radial-gradient(circle at 0 70px,transparent 60px,#fff 60px)}.oniframe-frame-fill-corner--br{inset:auto 0 0 auto;mask:radial-gradient(circle at 0 0,transparent 60px,#fff 60px);-webkit-mask:radial-gradient(circle at 0 0,transparent 60px,#fff 60px)}.oniframe-frame-fill-corner--bl{bottom:0;left:0;top:auto;mask:radial-gradient(circle at 70px 0,transparent 60px,#fff 60px);-webkit-mask:radial-gradient(circle at 70px 0,transparent 60px,#fff 60px)}.oniframe-frame-fill-edge{position:absolute;background:#fff}.oniframe-frame-fill-edge--top{top:0;left:70px;right:70px;height:20px}.oniframe-frame-fill-edge--bottom{bottom:0;left:70px;right:70px;height:20px}.oniframe-frame-fill-edge--left{left:0;top:70px;bottom:70px;width:20px}.oniframe-frame-fill-edge--right{right:0;top:70px;bottom:70px;width:20px}.oniframe-goo{position:absolute;inset:0;border-radius:0;isolation:isolate;pointer-events:none;z-index:5;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.oniframe-frame-blob{position:absolute;inset:0;border-radius:60px;background:transparent;border:24px solid #fff;pointer-events:none}.oniframe-button-blob{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 0 8px #fff;pointer-events:none;transition:box-shadow .2s ease}.oniframe-button-blob--snapped{box-shadow:0 0 0 20px #fff}.oniframe-button-blob--goo{box-shadow:0 0 0 12px #fff}.oniframe-button-blob--delete-intent{background:#ff6464;box-shadow:0 0 0 10px #ff6464}.oniframe-button-blob--open{box-shadow:0 0 0 6px #fff}.oniframe:before{content:"";position:absolute;inset:20px;border-radius:60px;background:#0000004d;pointer-events:none;z-index:1}.oniframe:after{content:"";position:absolute;inset:9px;border-radius:60px;box-shadow:inset 0 0 0 10px #fff;pointer-events:none;z-index:10000}.oniframe-zones{position:absolute;inset:0;pointer-events:none;z-index:4}.oniframe-zones svg{width:100%;height:100%;display:block}.oniframe-content{position:relative;flex:1;min-height:0;pointer-events:none;z-index:3}.oniframe-center{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.oniframe-center>*{pointer-events:auto}.oniframe-center-badge{pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:200px;max-width:90%;max-height:80%;padding:1.5rem;background:#fffffff2;color:#111;border-radius:16px;box-shadow:0 8px 32px #0000004d;z-index:50;overflow:auto}.oniframe-center-badge-placeholder{margin:0 0 2rem;font-size:1rem}.oniframe-center-badge-close{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;border:none;border-radius:8px;background:#00000014;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center}.oniframe-center-badge-close:hover{background:#0000001f}.oniframe-center-badge-close .material-icons{font-size:20px}.oniframe-track-btn{pointer-events:auto;touch-action:manipulation;position:fixed;width:72px;height:72px;border-radius:50%;background:#fff;border:none;z-index:10;cursor:grab;padding:0;touch-action:none;display:flex;align-items:center;justify-content:center;outline:none;outline-offset:0;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}.oniframe-track-btn .material-icons{transition:opacity .2s ease}.oniframe-track-btn:hover .material-icons{opacity:.8}.oniframe-track-btn--top{z-index:10001}.oniframe-track-btn--top.oniframe-track-btn--open{z-index:10002}.oniframe-track-btn--bottom{z-index:9998}.oniframe-track-btn--bottom.oniframe-track-btn--open{z-index:10000}.oniframe-track-btn:focus,.oniframe-track-btn:focus-visible,.oniframe-track-btn:active{outline:none;outline-offset:0}.oniframe-track-btn:active{cursor:grabbing;background:#fff;transform:scale(.98)}.oniframe-track-btn--no-drag,.oniframe-track-btn--no-drag:active{cursor:pointer}.oniframe-track-btn .material-icons{font-size:32px;color:#333}.oniframe-track-btn--delete-intent,.oniframe-track-btn--snapped,.oniframe-track-btn--goo,.oniframe-track-btn--open{background:#fff}.oniframe-track-btn--delete-intent:hover .material-icons,.oniframe-track-btn--snapped:hover .material-icons,.oniframe-track-btn--goo:hover .material-icons{opacity:.8}.oniframe-track-btn--delete-intent .material-icons,.oniframe-track-btn--snapped .material-icons,.oniframe-track-btn--goo .material-icons{color:#333}.oniframe-wheel-anchor{position:fixed;pointer-events:auto;z-index:9999}.oniframe-wheel-hub-close{display:flex;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border:none;border-radius:50%;background:#fff;color:#333;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}.oniframe-wheel-hub-close .material-icons{font-size:32px;transition:opacity .2s ease}.oniframe-wheel-hub-close:hover .material-icons{opacity:.8}.oniframe-wheel-hub-close:active{background:#fff;transform:scale(.98)}.admin-view.admin-view--green-oniframe{position:fixed;inset:0;width:100%;height:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#0a0a0a;color:#fff;box-sizing:border-box;overflow:hidden}.admin-view--green-oniframe .admin-view-oniframe{position:absolute;inset:0;--admin-frame-color: #16a34a;box-shadow:inset 0 0 0 10px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-frame-fill-corner,.admin-view--green-oniframe .oniframe-frame-fill-edge{background:var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-frame-blob{border-color:var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-button-blob{background:var(--admin-frame-color);box-shadow:0 0 0 8px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-button-blob.oniframe-button-blob--snapped{box-shadow:0 0 0 20px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-button-blob.oniframe-button-blob--goo{box-shadow:0 0 0 12px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-button-blob.oniframe-button-blob--open{box-shadow:0 0 0 6px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe:after{box-shadow:inset 0 0 0 10px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-track-btn{background:var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-track-btn:hover{background:#15803d}.admin-view--green-oniframe .oniframe-track-btn.oniframe-track-btn--open{box-shadow:0 0 0 4px var(--admin-frame-color)}.admin-view--green-oniframe .oniframe-wheel-hub-close{background:var(--admin-frame-color);color:#fff}.admin-view--green-oniframe .oniframe-wheel-hub-close:hover{background:#15803d}.admin-view--green-oniframe .oniframe-wheel-hub-close .material-icons{color:#fff}.admin-view-profile-badge{width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff3;border:2px solid rgba(255,255,255,.5);box-sizing:border-box}.admin-view-profile-badge-avatar{width:100%;height:100%;object-fit:cover}.admin-view-profile-badge-initial{font-size:1.5rem;font-weight:600;color:#fff}.admin-view-wheel-close{width:100%;height:100%;padding:0;border:none;border-radius:50%;background:var(--admin-frame-color, #16a34a);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.admin-view-wheel-close:hover{background:#15803d}.admin-view-wheel-close-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.admin-view-wheel-close-initial{font-size:1.5rem;font-weight:600;color:#fff}.admin-view-cards{--admin-square: min( calc((100vw - 3rem)/2) , calc((60vh - 1rem)/2) );display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;pointer-events:auto;padding:.5rem}@media(max-width:540px){.admin-view-cards{flex-direction:column;--admin-square: min( calc(100vw - 2rem) , calc((60vh - 1rem)/2) )}}.admin-view-board-card,.admin-view-empty-card{flex:0 0 auto;width:var(--admin-square);height:var(--admin-square);aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.admin-view-empty-card-inner{width:100%;height:100%;background:#0000004d;border:2px solid var(--admin-frame-color, #16a34a);border-radius:16px;box-shadow:0 8px 32px #0006;display:flex;align-items:center;justify-content:center}.admin-view-board-card-inner{width:100%;height:100%;background:#00000080;border:2px solid var(--admin-frame-color, #16a34a);border-radius:16px;padding:1.5rem 2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 8px 32px #0006;text-align:center}.admin-view-board-card-title{margin:0;font-size:1.5rem;font-weight:600;color:#fff;letter-spacing:.02em;text-align:center}.admin-view-board-card-subtitle{margin:0;font-size:.9rem;color:#ffffffb3;text-align:center}.admin-view-board-card-btn{margin-top:.25rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:500;color:#0a0a0a;background:var(--admin-frame-color, #16a34a);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,transform .1s ease}.admin-view-board-card-btn:hover{background:#15803d;color:#fff}.admin-view-board-card-btn:active{transform:scale(.98)}.realtime-watch-view{position:relative;z-index:0}.realtime-watch-center{position:absolute;inset:90px 82px 96px;display:flex;flex-direction:column;gap:0;pointer-events:auto;overflow:hidden;z-index:0}.realtime-watch-title{margin:0 0 1.25rem;flex-shrink:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:600;color:#d4f4dd;letter-spacing:.02em;text-align:left;text-shadow:0 0 8px rgba(74,222,128,.8),0 0 20px rgba(34,197,94,.6),0 0 40px rgba(22,163,74,.4),0 1px 0 rgba(255,255,255,.3)}.realtime-watch-body{flex:1;display:flex;gap:1.25rem;min-height:0;overflow:hidden}.realtime-watch-feed{flex:0 0 260px;display:flex;flex-direction:column;background:#22c55e26;border-radius:16px;border:1px solid rgba(34,197,94,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.realtime-watch-feed-title{margin:0;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(34,197,94,.3)}.realtime-watch-feed-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#ffffff4d}.realtime-watch-feed-placeholder .material-icons{font-size:3rem;opacity:.5}.realtime-watch-feed-placeholder p{margin:0;font-size:.875rem}.realtime-watch-dashboard{flex:1;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:.5rem;min-height:0}.realtime-watch-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.realtime-watch-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.25rem 1rem;background:#22c55e26;border-radius:12px;border:1px solid rgba(34,197,94,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease,box-shadow .15s ease}.realtime-watch-stat:hover{transform:translateY(-2px);box-shadow:0 4px 20px #22c55e33}.realtime-watch-stat-value{font-size:2rem;font-weight:700;line-height:1}.realtime-watch-stat-label{font-size:.75rem;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.realtime-watch-stat--total .realtime-watch-stat-value{color:#fff}.realtime-watch-stat--visitors .realtime-watch-stat-value{color:#94a3b8}.realtime-watch-stat--players .realtime-watch-stat-value{color:#facc15}.realtime-watch-stat--admins .realtime-watch-stat-value{color:#4ade80}.realtime-watch-routes{flex:1;display:flex;flex-direction:column;min-height:0;background:#22c55e26;border-radius:16px;border:1px solid rgba(34,197,94,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.realtime-watch-routes-title{margin:0;padding:1rem 1.25rem;font-size:.875rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(34,197,94,.3)}.realtime-watch-routes-empty{padding:2rem;margin:0;text-align:center;color:#fff6}.realtime-watch-routes-list{flex:1;overflow-y:auto}.realtime-watch-route-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-bottom:1px solid rgba(34,197,94,.15);transition:background .15s ease}.realtime-watch-route-row:last-child{border-bottom:none}.realtime-watch-route-row:hover{background:#22c55e1a}.realtime-watch-route-name{flex:0 0 140px;font-size:.9rem;font-weight:500;color:#fff}.realtime-watch-route-users{flex:1;display:flex;flex-wrap:wrap;gap:6px}.realtime-watch-user-dot{width:10px;height:10px;border-radius:50%;transition:transform .12s ease-out;cursor:default}.realtime-watch-user-dot--highlight{transform:scale(1.45)}.realtime-watch-user-dot--visitor{background:#94a3b8;box-shadow:0 0 6px #94a3b880}.realtime-watch-user-dot--visitor.realtime-watch-user-dot--highlight{box-shadow:0 0 12px #94a3b8b3}.realtime-watch-user-dot--player{background:#facc15;box-shadow:0 0 6px #facc1580}.realtime-watch-user-dot--player.realtime-watch-user-dot--highlight{box-shadow:0 0 12px #facc15b3}.realtime-watch-user-dot--admin{background:#4ade80;box-shadow:0 0 6px #4ade8080}.realtime-watch-user-dot--admin.realtime-watch-user-dot--highlight{box-shadow:0 0 12px #4ade80b3}.realtime-watch-dot-tooltip{position:fixed;z-index:10003;transform:translate(12px,-50%);margin-top:0;padding:.4rem .65rem;min-width:80px;background:#166534f2;border:1px solid rgba(74,222,128,.4);border-radius:8px;box-shadow:0 4px 16px #00000059,0 0 20px #22c55e33;pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;gap:.15rem;animation:realtime-watch-tooltip-in .08s ease-out}@keyframes realtime-watch-tooltip-in{0%{opacity:0;transform:translate(12px,-50%) scale(.96)}to{opacity:1;transform:translate(12px,-50%) scale(1)}}.realtime-watch-dot-tooltip-label{font-size:.8125rem;font-weight:600;color:#fff}.realtime-watch-dot-tooltip-role{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.realtime-watch-dot-tooltip-role--visitor{color:#94a3b8f2}.realtime-watch-dot-tooltip-role--player{color:#facc15f2}.realtime-watch-dot-tooltip-role--admin{color:#4ade80f2}.realtime-watch-dot-tooltip-tabs{font-size:.6875rem;color:#fff9;margin-top:.1rem}.realtime-watch-route-count{flex:0 0 36px;font-size:.875rem;font-weight:600;color:#ffffffb3;text-align:right}@media(max-width:1024px){.realtime-watch-center{inset:90px 82px 96px}.realtime-watch-body{gap:1rem}.realtime-watch-feed{flex:0 0 220px}}@media(max-width:768px){.realtime-watch-center{inset:112px 60px}.realtime-watch-title{margin-bottom:.75rem;font-size:1.125rem}.realtime-watch-body{flex-direction:column;gap:.625rem}.realtime-watch-feed{display:none}.realtime-watch-dashboard{gap:.625rem;min-height:0}.realtime-watch-stats{grid-template-columns:repeat(4,1fr);gap:.5rem}.realtime-watch-stat{padding:.625rem .5rem;border-radius:10px}.realtime-watch-stat-value{font-size:1.375rem}.realtime-watch-stat-label{font-size:.625rem}.realtime-watch-routes{flex:0 1 auto;min-height:0;max-height:min(45vh,280px);border-radius:12px}.realtime-watch-routes-list{overflow-y:auto;min-height:0}.realtime-watch-routes-title{padding:.75rem 1rem;font-size:.8125rem}.realtime-watch-route-name{flex:0 0 90px;font-size:.8125rem}.realtime-watch-route-row{padding:.625rem 1rem}}@media(max-width:560px){.realtime-watch-center{inset:118px 52px 116px}.realtime-watch-routes{max-height:min(42vh,260px)}.realtime-watch-title{margin-bottom:.5rem;font-size:1rem}.realtime-watch-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.realtime-watch-stat{padding:.75rem .5rem}.realtime-watch-stat-value{font-size:1.5rem}.realtime-watch-route-name{flex:0 0 80px;font-size:.75rem}}@media(max-width:420px){.realtime-watch-center{inset:120px 44px}.realtime-watch-routes{max-height:min(40vh,240px)}.realtime-watch-title{margin-bottom:.5rem;font-size:.9375rem}.realtime-watch-stat{padding:.625rem .375rem;border-radius:8px}.realtime-watch-stat-value{font-size:1.25rem}.realtime-watch-stat-label{font-size:.5625rem}.realtime-watch-route-name{flex:0 0 72px;font-size:.6875rem}.realtime-watch-route-row{padding:.5rem .75rem}.realtime-watch-route-count{flex:0 0 28px;font-size:.8125rem}}
