.role-preview-banner{color:#78350f;font-size:var(--text-sm);background:#fffbebf5;border:1px solid #f59e0b73;border-radius:12px;flex-shrink:0;align-items:flex-start;gap:10px;margin:0 12px;padding:10px 14px;line-height:1.35;display:flex}.role-preview-banner--teacher{color:#1e3a8a;background:#eff6fff5;border-color:#3b82f661}.role-preview-banner--impersonation{color:#9a3412;background:#fff7edfa;border-color:#ea580c80;flex-wrap:wrap}.role-preview-banner--impersonation .impersonation-banner-actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.role-preview-banner__icon{font-size:var(--text-md);line-height:var(--lh-tight);flex-shrink:0}.role-preview-banner__text{flex-direction:column;gap:2px;min-width:0;display:flex}.role-preview-banner__text strong{font-size:var(--text-sm)}.fm-speech-bubble{border:1.5px solid var(--fm-bubble-border,var(--mint,#7dd3a8));background:var(--fm-bubble-bg,#ffffffa8);min-height:44px;color:var(--fm-bubble-text,#1e2b24);border-left-width:4px;border-radius:12px;padding:10px 12px 10px 14px;position:relative}.fm-speech-bubble.is-typing{cursor:pointer}.fm-speech-bubble__speaker{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-bubble-speaker,var(--leaf,#2d6a4f));margin-bottom:4px;display:inline-block}.fm-speech-bubble__text{font-size:var(--text-base);line-height:var(--lh-normal);overflow-wrap:anywhere;margin:0}.fm-speech-bubble__pending{opacity:0}.fm-speech-bubble__caret{vertical-align:-.14em;opacity:.5;background:currentColor;border-radius:1px;width:.45em;height:1em;margin-left:1px;animation:.9s step-end infinite fmSpeechCaretBlink;display:inline-block}@keyframes fmSpeechCaretBlink{0%,55%{opacity:.5}56%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.fm-speech-bubble__caret{opacity:0!important;animation:none!important}}.fm-mascot-speaker{-webkit-user-select:none;user-select:none;flex:none;line-height:0;display:inline-block;overflow:hidden}.fm-mascot-speaker__img{object-fit:contain;width:100%;height:100%;display:block}.fm-mascot-speaker svg{width:100%;height:100%;display:block}.fm-mascot-speaker--face .fm-mascot-speaker__img[data-derived=bust]{object-fit:cover;object-position:50% 12%}.fm-mascot-speaker--face{border-radius:999px}.discovery-tour{z-index:var(--fm-z-tour);pointer-events:none;position:fixed;inset:0}.discovery-tour__backdrop{background:var(--fm-tour-backdrop,#0f1f178c);pointer-events:auto;position:fixed;inset:0}.discovery-tour__spotlight{box-shadow:0 0 0 9999px #0f1f178c, 0 0 0 3px var(--fm-tour-accent,var(--mint,#7dd3a8));pointer-events:none;border-radius:12px;transition:top .2s,left .2s,width .2s,height .2s}.discovery-tour__card{pointer-events:auto;background:var(--fm-tour-card-bg,var(--cream,#fff));border:1.5px solid var(--fm-tour-accent,var(--mint,#7dd3a8));box-shadow:var(--shadow,0 10px 30px #00000040);border-radius:14px;max-width:92vw;padding:16px 18px;animation:.18s fadeIn}.discovery-tour__progress{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.02em;color:var(--fm-tour-muted,var(--leaf,#2f7d4f));text-transform:uppercase}.discovery-tour__title{font-size:var(--text-md);color:var(--fm-tour-text,var(--forest,#14361f));margin:4px 0 6px}.discovery-tour__bubble{--fm-bubble-bg:#ffffff80;margin-top:6px}.discovery-tour__scene{align-items:flex-start;gap:10px;margin-top:6px;display:flex}.discovery-tour__scene .discovery-tour__bubble{flex:auto;min-width:0;margin-top:0}.discovery-tour__portrait{filter:drop-shadow(0 2px 6px #14361f2e);margin-top:2px}.discovery-tour__scene.is-compact{gap:8px}.discovery-tour__scene.is-compact .discovery-tour__portrait{border:1.5px solid var(--fm-tour-accent,var(--mint,#7dd3a8));background:var(--fm-tour-medallion-bg,#fff9)}.discovery-tour__dots{gap:6px;margin:12px 0 4px;display:flex}.discovery-tour__dot{background:var(--fm-tour-accent,var(--mint,#7dd3a8));opacity:.4;border-radius:999px;width:7px;height:7px}.discovery-tour__dot.is-active{opacity:1;background:var(--fm-tour-text,var(--forest,#14361f))}.discovery-tour__actions{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.discovery-tour__nav{gap:8px;display:flex}.fm-tour-editor__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.fm-tour-editor__toolbar-right{align-items:center;gap:12px;display:flex}.fm-tour-editor__sections{flex-wrap:wrap;margin-bottom:12px}.fm-tour-editor__step{border:1px solid var(--fm-tour-editor-border,#e5e7eb);border-radius:12px;margin-bottom:12px;padding:12px}.fm-tour-editor__step>legend{font-weight:var(--fw-semibold);padding:0 6px}.fm-tour-editor__field{margin-bottom:10px;display:block}.fm-tour-editor__field>span{margin-bottom:4px;font-size:13px;display:block}.fm-tour-editor__field textarea{width:100%}:root{--fm-status-bottom:calc(var(--fm-toast-bottom,16px) + 52px)}.app-status-sticky{left:50%;bottom:var(--fm-status-bottom);z-index:var(--fm-z-status);pointer-events:none;max-width:min(92vw,480px);font-size:var(--text-sm);text-align:center;color:#f3f7f4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn var(--motion-base,.2s) var(--ease-out,ease-out) both;background:#16241cd9;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;line-height:1.3;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.app-status-sticky--saved,.app-status-sticky--recovered{background:#1b5e20e6}.app-status-sticky--retrying{background:#744208eb}.app-status-sticky--error{background:#7a1c1cf0}.app-status-sticky__spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite appStatusSpin}.app-status-sticky__label{min-width:0}@keyframes appStatusSpin{to{transform:rotate(360deg)}}.auto-save-status{font-size:var(--text-sm);line-height:1.3}.auto-save-status--saving{color:var(--fm-autosave-saving-color,#8a6116)}.auto-save-status--saved{color:var(--fm-autosave-saved-color,#1b5e20)}.auto-save-status--error{color:var(--fm-autosave-error-color,#b3261e);font-weight:var(--fw-semibold)}@media (prefers-reduced-motion:reduce){.app-status-sticky{animation:none!important}.app-status-sticky__spinner{animation:none}}:root{--learning-gating-accent:var(--leaf,#2d6a4f);--learning-gating-ink:#1b4332;--learning-gating-muted:#3d4a3d;--learning-gating-chip-bg:#2d6a4f1f;--learning-gating-panel-bg:var(--cream,#fefae0);--learning-gating-panel-border:var(--mint,#b7e4c7);--learning-gating-overlay-bg:#0c1e1485;--learning-gating-locked-ink:#8a4b12;--learning-gating-locked-bg:#bf7a1e29}@keyframes learningGatingOverlayIn{0%{opacity:0}to{opacity:1}}.fm-quiz-popover{z-index:var(--fm-z-quiz-popover);padding:max(12px, var(--safe-top)) 12px max(12px, var(--safe-bottom));background:var(--learning-gating-overlay-bg);-webkit-backdrop-filter:blur(4px);animation:learningGatingOverlayIn .22s var(--ease-out,ease) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fm-quiz-popover--ack{z-index:var(--fm-z-learning-ack)}.fm-quiz-popover__panel{background:var(--learning-gating-panel-bg);border:1px solid var(--learning-gating-panel-border);border-radius:var(--radius,14px);width:min(480px,100%);max-height:min(88dvh,720px);box-shadow:var(--shadow-strong,0 18px 42px #14362529);flex-direction:column;display:flex;position:relative;overflow:hidden}.fm-quiz-popover__strip{background:var(--learning-gating-accent);flex-shrink:0;height:4px}.fm-quiz-popover__close{min-width:44px;min-height:44px;font-size:var(--text-xl);color:#4b5d51;cursor:pointer;background:0 0;border:none;border-radius:8px;line-height:1;position:absolute;top:10px;right:10px}.fm-quiz-popover__close:hover{background:#2d6a4f14}.fm-quiz-popover__body{padding:16px 18px 18px;overflow:auto}.fm-quiz-popover__body h3{font-size:var(--text-md);margin:0 0 4px;padding-right:40px}.learning-gating-rules{font-size:var(--text-base);line-height:var(--lh-normal);color:var(--learning-gating-muted);gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.learning-gating-rules li{padding-left:18px;position:relative}.learning-gating-rules li:before{content:"·";font-weight:var(--fw-bold);color:var(--learning-gating-accent);position:absolute;left:6px}.learning-gating-announce{font-size:var(--text-xs);font-weight:var(--fw-semibold);background:var(--learning-gating-chip-bg);color:var(--learning-gating-ink);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 7px;display:inline-block}.learning-gating-state{vertical-align:middle;font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:4px;margin-left:6px;line-height:1;display:inline-flex}.learning-gating-state__icon{min-width:1.15em;height:1.15em;font-weight:var(--fw-bold);border-radius:999px;justify-content:center;align-items:center;font-size:.85em;display:inline-flex}.learning-gating-state__label{font-weight:var(--fw-semibold)}.learning-gating-state--acquired{color:var(--learning-gating-ink)}.learning-gating-state--acquired .learning-gating-state__icon{background:var(--learning-gating-chip-bg)}.learning-gating-state--pending{color:var(--learning-gating-muted)}.learning-gating-state--pending .learning-gating-state__icon{background:var(--learning-gating-chip-bg)}.learning-gating-state--locked{color:var(--learning-gating-locked-ink)}.learning-gating-state--locked .learning-gating-state__icon{background:var(--learning-gating-locked-bg)}.tutorials-gating-counts{font-size:var(--text-xs);font-weight:var(--fw-medium);white-space:nowrap;margin-left:10px}@media (prefers-reduced-motion:reduce){.fm-quiz-popover{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fm-data-list__mobile{display:none}.fm-data-table-wrap{overflow-x:auto}.fm-data-card{border:1px solid var(--gl-border,#1a47312e);border-radius:var(--gl-radius-md,12px);background:var(--gl-surface,#fff);gap:6px;padding:10px;display:grid}.fm-data-card-row{grid-template-columns:minmax(110px,1fr) 1.4fr;gap:8px;display:grid}.fm-data-card-label{color:var(--ink-soft,#5f6f74);font-size:var(--text-sm)}.fm-data-card-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}@media (width<=640px){.fm-data-list__desktop{display:none}.fm-data-list__mobile{gap:10px;margin-top:8px;display:grid}}.visit-map-mascot{z-index:16;pointer-events:none;width:0;height:0;transition:left .55s cubic-bezier(.25,.8,.25,1),top .55s cubic-bezier(.25,.8,.25,1);position:absolute}.visit-map-mascot--reduced-motion{transition:none}.visit-map-mascot-inner{transform-origin:50% 100%;position:absolute;top:0;left:0}.map-view-forest-mascot{z-index:12}.visit-map-mascot-rive-shell{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 6px #1a473159);width:clamp(54px,11.5vw,72px);height:clamp(62px,13vw,84px);position:relative}.visit-map-mascot-static{opacity:.85;position:absolute;inset:0}.visit-map-mascot-static svg{width:100%;height:100%;display:block}.visit-gnome-arm--front{transform-origin:91px 86px}.visit-gnome-arm--back{transform-origin:60px 87px;opacity:.9}.visit-gnome-leg--front{transform-origin:86px 111px}.visit-gnome-leg--back{transform-origin:67px 111px;opacity:.92}.visit-map-mascot-rive-shell>.visit-map-mascot-rive{position:absolute;inset:0}.visit-map-mascot-rive svg,.visit-map-mascot-rive canvas{display:block;width:100%!important;height:100%!important}.visit-map-mascot-rive{opacity:.96;width:100%;height:100%}.visit-map-mascot-spritesheet-shell{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 6px #1a473159);width:clamp(54px,11.5vw,72px);height:clamp(62px,13vw,84px);position:relative}.visit-map-mascot-spritesheet{max-width:100%;max-height:100%;animation:visitMascotSpriteFrames calc(1s / var(--visit-sprite-fps,8) * var(--visit-sprite-frames,1)) steps(var(--visit-sprite-frames,1)) infinite;image-rendering:auto;background-position-x:0;background-repeat:no-repeat;background-size:auto 100%;margin:auto;position:absolute;inset:0}.visit-map-mascot-spritesheet--pixelated{image-rendering:pixelated}.visit-map-mascot-sprite-cut{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;max-width:100%;max-height:100%;margin:auto;display:flex;position:absolute;inset:0}.visit-map-mascot-sprite-cut img{object-fit:contain;image-rendering:auto;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.visit-map-mascot-sprite-cut.visit-map-mascot-spritesheet--pixelated img{image-rendering:pixelated}.visit-map-mascot-sprite-preload{display:none}.visit-map-mascot:not(.visit-map-mascot--walking):not(.visit-map-mascot--happy) .visit-map-mascot-rive-shell,.visit-map-mascot:not(.visit-map-mascot--walking):not(.visit-map-mascot--happy) .visit-map-mascot-spritesheet-shell{animation:2.4s ease-in-out infinite visitMascotIdleBreath}.visit-map-mascot--walking .visit-map-mascot-rive-shell,.visit-map-mascot--walking .visit-map-mascot-spritesheet-shell{animation:.36s ease-in-out infinite visitMascotWalkBob}.visit-map-mascot--walking .visit-gnome-arm--front{animation:.36s ease-in-out infinite visitGnomeArmFrontSwing}.visit-map-mascot--walking .visit-gnome-arm--back{animation:.36s ease-in-out infinite visitGnomeArmBackSwing}.visit-map-mascot--walking .visit-gnome-leg--front{animation:.36s ease-in-out infinite visitGnomeLegFrontStep}.visit-map-mascot--walking .visit-gnome-leg--back{animation:.36s ease-in-out infinite visitGnomeLegBackStep}.visit-map-mascot--happy .visit-map-mascot-rive-shell,.visit-map-mascot--happy .visit-map-mascot-spritesheet-shell{animation:.42s ease-in-out 3 visitMascotHappyBounce}.visit-map-mascot--happy .visit-gnome-arm--front,.visit-map-mascot--happy .visit-gnome-arm--back{transform:rotate(-58deg)translateY(-4px)}.visit-map-mascot--reduced-motion .visit-map-mascot-rive-shell,.visit-map-mascot--reduced-motion .visit-map-mascot-spritesheet-shell,.visit-map-mascot--reduced-motion .visit-map-mascot-dialog{transition:none!important;animation:none!important}.visit-map-mascot-dialog{transform:translateX(-50%) scaleX(var(--visit-mascot-dialog-x,1));transform-origin:50% 100%;color:#1a4731;min-width:120px;max-width:220px;font-size:var(--text-xs);font-weight:var(--fw-bold);text-align:center;background:#fffffff0;border:1px solid #1a473133;border-radius:12px;padding:6px 9px;line-height:1.35;animation:.22s ease-out visitMascotDialogPop;position:absolute;bottom:calc(100% + 6px);left:50%;box-shadow:0 6px 14px #1a473133}.visit-map-mascot-dialog:after{content:"";background:#fffffff0;border-bottom:1px solid #1a473133;border-right:1px solid #1a473133;width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes visitMascotWalkBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes visitMascotIdleBreath{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1px)scale(1.015)}}@keyframes visitMascotHappyBounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-6px)scale(1.04)}70%{transform:translateY(-2px)scale(1.02)}}@keyframes visitGnomeArmFrontSwing{0%,to{transform:rotate(-15deg)}50%{transform:rotate(20deg)}}@keyframes visitGnomeArmBackSwing{0%,to{transform:rotate(18deg)}50%{transform:rotate(-14deg)}}@keyframes visitGnomeLegFrontStep{0%,to{transform:rotate(11deg)translateY(-1px)}50%{transform:rotate(-12deg)translateY(0)}}@keyframes visitGnomeLegBackStep{0%,to{transform:rotate(-12deg)translateY(0)}50%{transform:rotate(10deg)translateY(-1px)}}@keyframes visitMascotDialogPop{0%{opacity:0;transform:translate(-50%)scale(.86)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes visitMascotSpriteFrames{0%{background-position-x:var(--visit-sprite-start-x,0px)}to{background-position-x:calc(var(--visit-sprite-start-x,0px) - (var(--visit-sprite-frames,1) * var(--visit-sprite-frame-width,64px)))}}.fm-map-fullscreen-open{border:1.5px solid var(--mint);min-height:44px;color:var(--forest);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;font-family:var(--font-sans);background:#eff6ff;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.fm-map-fullscreen-open:hover{background:#dbeafe}.fm-map-fullscreen-open:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}.fm-map-fullscreen-open--compact{justify-content:center;gap:0;min-width:44px;padding:8px}.fm-map-fullscreen-open--compact .fm-map-fullscreen-open__label{display:none}.fm-map-fullscreen-layer{z-index:var(--fm-z-fullscreen);background:var(--forest);box-sizing:border-box;flex-direction:column;width:100vw;max-width:none;height:100dvh;min-height:0;margin:0;display:flex;position:fixed;inset:0}.fm-map-fullscreen-close{top:max(12px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));z-index:calc(var(--fm-z-fullscreen) + 1);color:#f8fafc;min-height:44px;font-size:var(--text-base);font-weight:var(--fw-bold);cursor:pointer;font-family:var(--font-sans);background:#0f172ad1;border:0;border-radius:999px;padding:8px 16px;position:absolute;box-shadow:0 4px 16px #00000059}.fm-map-fullscreen-close:hover{background:#1e293beb}.fm-map-fullscreen-close:focus-visible{outline-offset:2px;outline:2px solid #f8fafc}body.fm-map-fullscreen-active{overflow:hidden}body.fm-map-fullscreen-active>.fm-map-fullscreen-layer{z-index:var(--fm-z-fullscreen);position:fixed;inset:0}.visit-map-stage--fullscreen{width:100%;height:100%;min-height:0;aspect-ratio:unset;box-shadow:none;border:none;border-radius:0;flex:auto;position:relative}.visit-map-fullscreen-shell .visit-map-empty-hint{display:none}.map-view-canvas-outer--fullscreen{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;display:flex;position:relative;padding:0!important}.map-view-canvas-outer--fullscreen .map-view-canvas-slot{flex:auto;justify-content:center;height:100%;min-height:0}.map-view-canvas-outer--fullscreen .map-view-canvas{border-radius:0;max-height:100%}.map-view-root--map-fullscreen-active{pointer-events:none}.map-view-root--map-fullscreen-active .map-view-toolbar{display:none}@font-face{font-family:ForetMapColorEmoji;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-color-emoji.woff2)format("woff2");unicode-range:U+200D,U+203C,U+2049,U+20E3,U+2122,U+2139,U+2194-21AA,U+231A-23FA,U+24C2,U+25AA-25FE,U+2600-27BF,U+2934-2935,U+2B??,U+3030,U+303D,U+3297,U+3299,U+FE0F,U+1F000-1FAFF,U+E0020-E007F}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;width:100%;overflow-x:hidden}body.gl-body{-webkit-font-smoothing:antialiased;width:100%;max-width:100%;min-height:100dvh;font-family:Caudex,ForetMapColorEmoji,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,serif;overflow:hidden auto}#root{flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:100dvh;display:flex;overflow-x:hidden}input,select,textarea,button{font-size:var(--text-base);font-family:inherit}@media (width<=1023px),(hover:none),(pointer:coarse){input,select,textarea{font-size:16px!important}}:root{--font-sans:"Caudex", "ForetMapColorEmoji", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif}body.gl-body{--gl-color-primary:#013a40;--gl-color-secondary:#f2e8d5;--gl-color-tertiary:#bdbfb4;--gl-color-text:#262626;--gl-color-link:#778c88;--gl-color-link-hover:#2c5959;--gl-color-topbar:#013a40;--gl-color-background:#f4fff5;--gl-surface:#fff;--gl-surface-muted:#f5fbf8;--gl-border:#013a402e;--gl-border-focus:#047c8c;--gl-radius-control:10px;--gl-radius-sm:8px;--gl-radius-md:12px;--gl-radius-lg:16px;--gl-radius-card:14px;--gl-shadow-sm:0 5px 16px #013a401a;--gl-shadow-md:0 10px 28px #013a4029;--gl-accent-info:var(--accent-info);--gl-accent-success:var(--accent-success);--gl-accent-warning:var(--accent-warning);--gl-accent-danger:var(--accent-danger);--gl-ink-info:var(--ink-info);--gl-ink-success:var(--ink-success);--gl-ink-warning:var(--ink-warning);--gl-ink-danger:var(--ink-danger);--gl-color-accent:#047c8c;--gl-color-accent-soft:color-mix(in srgb, #fff 88%, var(--gl-color-accent) 12%);--gl-accent-warm:#e9c46a;--gl-color-text-muted:#54635f;--gl-color-on-dark:#f8fafc;--gl-surface-dark:#10201f;--gl-select-surface:color-mix(in srgb, var(--gl-color-accent) 14%, #fff);--gl-select-surface-soft:color-mix(in srgb, var(--gl-color-accent) 7%, #fff);--gl-select-border:color-mix(in srgb, var(--gl-color-accent) 38%, #fff);--gl-select-ink:#075e6b;--gl-surface-elevated:#fff;--gl-shadow-lg:0 18px 42px #013a4033;--gl-radius-pill:999px;--gl-space-1:var(--space-1);--gl-space-2:var(--space-2);--gl-space-3:var(--space-3);--gl-space-4:var(--space-4);--gl-space-5:var(--space-5);--gl-space-6:var(--space-6);--gl-tap-target:var(--tap-target);--gl-font-body:var(--font-sans);--gl-font-heading:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fm-modal-overlay-bg:#0f172a8c;--fm-modal-panel-bg:var(--gl-surface);--fm-modal-panel-border:var(--gl-border);--fm-modal-panel-shadow:var(--gl-shadow-md);--learning-gating-accent:var(--gl-color-accent);--learning-gating-ink:var(--gl-color-text);--learning-gating-muted:var(--gl-color-text-muted,var(--gl-color-text));--learning-gating-chip-bg:color-mix(in srgb, var(--gl-color-accent) 16%, transparent);--learning-gating-panel-bg:var(--gl-surface);--learning-gating-panel-border:var(--gl-border);--learning-gating-overlay-bg:#0f172a8c;--fm-toast-bottom:16px;--attention-pulse-color:color-mix(in srgb, var(--gl-color-accent) 18%, transparent);--attention-pulse-color-end:color-mix(in srgb, var(--gl-color-accent) 0%, transparent);--attention-pulse-spread:8px;background:var(--gl-color-background)}.gl-app{background:linear-gradient(180deg, var(--gl-color-background) 0%, color-mix(in srgb, var(--gl-color-background) 70%, #e8f7ff 30%) 100%);min-height:100dvh;color:var(--gl-color-text);font-family:var(--gl-font-body,var(--font-sans));flex-direction:column;display:flex}.gl-app h1,.gl-app h2,.gl-app h3{font-family:var(--gl-font-heading,var(--font-sans))}.gl-app a{color:var(--gl-color-link,#778c88)}.gl-app a:hover{color:var(--gl-color-link-hover,#2c5959)}.gl-app h1,.gl-app h2,.gl-app h3,.gl-app h4{text-wrap:balance}.gl-app p,.gl-app li{text-wrap:pretty}.gl-app input[type=checkbox],.gl-app input[type=radio],.gl-app input[type=range],.gl-app progress{accent-color:var(--gl-color-accent)}.gl-app,.gl-app *{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--gl-color-primary) 32%, transparent) transparent}.gl-app ::selection{background:var(--gl-select-surface);color:var(--gl-color-text)}.gl-editorial-body a:not(.gl-btn):not(.gl-tab){text-decoration:none;position:relative}.gl-editorial-body a:not(.gl-btn):not(.gl-tab):after{content:"";background:var(--gl-color-accent);transform-origin:0;width:100%;height:2px;transition:transform var(--motion-base) var(--ease-out);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.gl-editorial-body a:not(.gl-btn):not(.gl-tab):hover:after,.gl-editorial-body a:not(.gl-btn):not(.gl-tab):focus-visible:after{transform:scaleX(1)}.gl-content-page{--scroll-progress-start:var(--gl-color-accent);--scroll-progress-end:var(--gl-color-topbar,#013a40)}.gl-topbar{background:var(--gl-color-topbar,#013a40);color:var(--gl-color-on-dark);height:auto;min-height:0;max-height:none;z-index:var(--fm-z-sticky);box-sizing:border-box;transition:background-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);flex-wrap:wrap;grid-template-columns:1fr;justify-content:flex-start;align-items:stretch;gap:12px;padding:14px 16px;display:grid;position:sticky;top:0;overflow:visible}@media (hover:hover) and (pointer:fine){.gl-topbar.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#013a40e0;box-shadow:0 4px 20px #013a4038}}@media (hover:none),(pointer:coarse){.gl-topbar.is-scrolled{box-shadow:0 2px 12px #013a402e}}.gl-brand-title{font-size:var(--text-lg);font-weight:var(--fw-bold)}.gl-brand-header{align-items:center;gap:10px;display:flex}.gl-brand-logo{object-fit:contain;border-radius:var(--gl-radius-sm);background:#ffffff1a;width:48px;height:48px;padding:3px}.gl-brand-subtitle{font-size:var(--text-base);opacity:.9}.gl-tabs{flex-wrap:wrap;gap:8px;display:flex}.gl-tab{color:var(--gl-color-on-dark);border-radius:var(--gl-radius-pill);cursor:pointer;min-height:44px;transition:transform var(--motion-base) var(--spring), box-shadow var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);background:#ffffff1a;border:1px solid #ffffff59;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.gl-tab:hover{transform:translateY(-1px)}.gl-tab:focus-visible{outline:2px solid var(--gl-color-on-dark);outline-offset:2px}.gl-tab-icon{font-size:var(--text-md);line-height:1}.gl-tab-label{line-height:1.1}.gl-tab.is-active{background:var(--gl-surface-muted);color:var(--gl-color-text);box-shadow:0 8px 16px #0f172a29}.gl-app--has-bottom-nav{--gl-bottom-nav-height:64px;--fm-safe-bottom-nav:calc(var(--gl-bottom-nav-height) + var(--safe-bottom,0px))}.gl-app--has-bottom-nav .gl-main{padding-bottom:calc(var(--gl-bottom-nav-height) + var(--safe-bottom,0px) + 8px)}.gl-topbar--compact{gap:8px;padding:10px 12px}.gl-topbar--compact .gl-brand-title{font-size:var(--text-md)}.gl-topbar--compact .gl-user{flex-wrap:wrap;justify-content:flex-end;gap:6px}.gl-topbar--compact .gl-user-name{display:none}.gl-topbar--compact .gl-logout{font-size:var(--text-sm);padding:6px 10px}.gl-bottom-nav{z-index:var(--fm-z-nav);padding:6px 8px calc(6px + var(--safe-bottom,0px));background:var(--gl-color-topbar,#013a40);border-top:1px solid #ffffff1f;justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #013a4033}.gl-bottom-nav-item{border-radius:var(--gl-radius-control);color:#f8fafcd9;cursor:pointer;min-width:0;max-width:88px;min-height:44px;font:inherit;transition:background-color var(--motion-fast) var(--ease-out);background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 6px;display:flex}.gl-bottom-nav-item .gl-tab-label{font-size:var(--text-2xs);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.1;overflow:hidden}.gl-bottom-nav-item .gl-tab-icon{font-size:var(--text-md)}.gl-bottom-nav-item:hover,.gl-bottom-nav-item:focus-visible{background:#ffffff1f;outline:none}.gl-bottom-nav-item:focus-visible{box-shadow:inset 0 0 0 2px var(--gl-color-on-dark)}.gl-bottom-nav-item.is-active{color:var(--gl-color-text);background:#f8fafcf2}.gl-nav-drawer-overlay{--fm-bottom-sheet-z:var(--fm-z-drawer)}.gl-nav-drawer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 0 8px;display:grid}.gl-nav-drawer-tab{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:var(--gl-surface-muted);min-height:44px;color:var(--gl-color-text);cursor:pointer;font:inherit;text-align:left;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.gl-nav-drawer-tab.is-active{border-color:var(--gl-color-primary);background:color-mix(in srgb, var(--gl-color-primary) 12%, #fff);font-weight:var(--fw-semibold)}@media (width>=640px){.gl-bottom-nav{display:none}}.gl-user{align-items:center;gap:10px;display:flex}.gl-logout{border:1px solid color-mix(in srgb, #fff 40%, var(--gl-color-primary) 60%);border-radius:var(--gl-radius-control);cursor:pointer;min-height:44px;font-weight:var(--fw-semibold);background:color-mix(in srgb, #fff 12%, var(--gl-color-primary) 88%);color:#fff;transition:transform var(--motion-base) var(--spring), box-shadow var(--motion-fast) var(--ease-out), filter var(--motion-fast) var(--ease-out);padding:8px 12px}.gl-logout:hover{filter:brightness(1.08);box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}.gl-logout:focus-visible{outline:2px solid var(--gl-color-on-dark);outline-offset:2px}.gl-main{box-sizing:border-box;flex:auto;width:100%;max-width:1200px;margin:0 auto;padding:clamp(10px,3vw,16px)}.gl-main-inner{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.gl-app-footer{text-align:center;font-size:var(--text-xs);color:color-mix(in srgb, var(--gl-color-text) 52%, transparent);border-top:1px solid var(--gl-border);background:color-mix(in srgb, var(--gl-surface) 55%, transparent);flex-shrink:0;padding:6px 16px 10px}.gl-app-version-badge{flex-shrink:0}.gl-auth-version{margin-top:4px}.gl-panel{background:var(--gl-surface);border:1px solid var(--gl-border);border-radius:var(--gl-radius-lg);box-shadow:var(--gl-shadow-sm);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);padding:14px}.gl-panel:hover{box-shadow:var(--gl-shadow-md);transform:translateY(-1px)}.gl-auth{--scroll-progress-start:var(--gl-color-accent);--scroll-progress-end:var(--gl-color-topbar,#013a40);gap:14px;max-width:960px;margin:0 auto;padding:20px;display:grid}.gl-auth-logo-wrap{justify-content:center;margin-bottom:8px;display:flex}.gl-auth-logo{object-fit:contain;width:88px;height:88px}.gl-auth-card{max-width:680px;margin:0 auto}.gl-auth-cover{text-align:center;gap:6px;margin-bottom:10px;display:grid}.gl-auth-title{font-family:var(--gl-font-heading,serif);letter-spacing:.08em;text-transform:uppercase;color:var(--gl-color-primary);margin:0;font-size:clamp(1.7rem,5vw,2.6rem)}.gl-auth-tagline{color:var(--gl-color-link-hover,#2c5959);margin:0;font-size:clamp(1rem,2.4vw,1.2rem);font-style:italic}.gl-auth-baseline{max-width:42ch;font-size:var(--text-base);margin:2px auto 0}.gl-auth-backcover{text-align:left;max-width:46ch;margin:0 auto 4px}.gl-auth-backcover>summary{cursor:pointer;min-height:44px;color:var(--gl-color-link-hover,#2c5959);justify-content:center;align-items:center;font-style:italic;list-style:none;display:flex}.gl-auth-backcover>summary::-webkit-details-marker{display:none}.gl-auth-backcover[open]>summary{margin-bottom:2px}.gl-auth-backcover__text{font-size:var(--text-base);line-height:var(--lh-normal);color:var(--gl-color-text);margin:0 0 8px}.gl-forgot-panel{border-top:1px solid var(--gl-border);margin-top:12px;padding-top:12px}.gl-app--guest{background:var(--gl-color-background);min-height:100vh}.gl-brand-hub{gap:14px;display:grid;position:relative}.gl-brand-hub:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#52b7881f 0%,#0000 70%);border-radius:50%;width:120px;height:120px;position:absolute;top:-20px;right:-12px}.gl-brand-hub>*{z-index:1;position:relative}.gl-brand-hub__hero{border-radius:var(--gl-radius-lg);background-color:var(--gl-color-tertiary,#bdbfb4);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:220px;position:relative;overflow:hidden;box-shadow:0 10px 28px #013a402e}.gl-brand-hub__hero-overlay{color:#fff;background:linear-gradient(#013a400d 0%,#013a40c7 100%);flex-direction:column;justify-content:flex-end;gap:6px;padding:18px;display:flex;position:absolute;inset:0}.gl-brand-hub__hero-title{font-family:var(--gl-font-heading,serif);margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.15}.gl-brand-hub__hero-subtitle{font-size:var(--text-base);opacity:.95;margin:0}.gl-brand-hub__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gl-brand-hub__card{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-card);text-align:left;cursor:default;min-height:44px;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;gap:8px;padding:0;display:grid;overflow:hidden}.gl-brand-hub__card-image-wrap{aspect-ratio:4/3;width:100%;position:relative;overflow:hidden}.gl-brand-hub__card-image{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease-out);display:block;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.gl-brand-hub__card:hover .gl-brand-hub__card-image,.gl-brand-hub__card:focus-visible .gl-brand-hub__card-image{transform:scale(1.08)}button.gl-brand-hub__card:hover,button.gl-brand-hub__card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px #013a4024}}button.gl-brand-hub__card{cursor:pointer}.gl-brand-hub__card-image--placeholder{background:var(--gl-color-secondary)}.gl-brand-hub__card-title{font-weight:var(--fw-semibold);color:var(--gl-color-text);padding:0 10px 12px;display:block}.gl-brand-hub--compact .gl-brand-hub__hero{min-height:160px}.gl-brand-page-banner{border-radius:var(--gl-radius-card);margin:0 0 16px;overflow:hidden;box-shadow:0 6px 18px #013a401f}.gl-brand-page-banner__image-wrap{width:100%;position:relative;overflow:hidden}.gl-brand-page-banner img{object-fit:cover;width:100%;max-width:100%;height:100%;display:block}.gl-brand-page-banner figcaption{font-size:var(--text-base);background:var(--gl-color-secondary);color:var(--gl-color-text);padding:8px 12px}@media (width<=720px){.gl-brand-hub__cards{grid-template-columns:1fr}}.gl-card{background:var(--gl-surface);border:1px solid var(--gl-border);border-radius:var(--gl-radius-lg);padding:14px}.gl-surface{background:var(--gl-surface);border:1px solid var(--gl-border);border-radius:var(--gl-radius-lg);box-shadow:var(--gl-shadow-sm);padding:14px}.gl-surface--flat{box-shadow:none}.gl-surface--inset{background:var(--gl-surface-muted)}.gl-surface--elevated{transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.gl-surface--elevated:hover{box-shadow:var(--gl-shadow-md);transform:translateY(-1px)}.gl-form{gap:10px;display:grid}.gl-form label{gap:6px;display:grid}.gl-form input,.gl-form textarea,.gl-form select{border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);min-height:44px;color:var(--gl-color-text);background:#fff;padding:8px 10px}.gl-field{gap:6px;display:grid}.gl-field__label{font-size:var(--text-base);font-weight:var(--fw-semibold)}.gl-field__hint{font-size:var(--text-sm);color:var(--gl-color-text-muted)}.gl-field__error{color:var(--gl-ink-danger);font-size:var(--text-sm)}.gl-input,.gl-textarea,.gl-select{border:1px solid var(--gl-border);border-radius:var(--gl-radius-control);padding:var(--gl-space-2) var(--gl-space-3);min-height:var(--gl-tap-target);background:var(--gl-surface);color:var(--gl-color-text);width:100%;transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}@media (hover:hover){.gl-input:hover:not(:disabled),.gl-textarea:hover:not(:disabled),.gl-select:hover:not(:disabled){border-color:color-mix(in srgb, var(--gl-color-primary) 45%, transparent)}}.gl-input:disabled,.gl-textarea:disabled,.gl-select:disabled{background:var(--gl-surface-muted);color:var(--gl-color-text-muted);cursor:not-allowed}.gl-input::placeholder,.gl-textarea::placeholder{color:var(--gl-color-text-muted);opacity:.75}.gl-textarea{resize:vertical;min-height:110px}.gl-field.is-invalid .gl-input,.gl-field.is-invalid .gl-textarea,.gl-field.is-invalid .gl-select{border-color:#dc2626}.gl-form textarea{resize:vertical;min-height:90px}.gl-btn,.gl-form button:not(.gl-btn),.gl-inline-actions button:not(.gl-btn){justify-content:center;align-items:center;gap:var(--gl-space-2);border-radius:var(--gl-radius-control);background:var(--gl-color-primary);color:#fff;min-height:var(--gl-tap-target);padding:var(--gl-space-2) var(--gl-space-4);cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-semibold);text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform var(--motion-base) var(--spring), background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border:1px solid #0000;line-height:1.25;display:inline-flex}@media (hover:hover){.gl-btn:hover,.gl-form button:not(.gl-btn):hover,.gl-inline-actions button:not(.gl-btn):hover{box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}}.gl-btn:active,.gl-form button:not(.gl-btn):active,.gl-inline-actions button:not(.gl-btn):active{box-shadow:none;transform:scale(.95)}.gl-btn:disabled,.gl-form button:not(.gl-btn):disabled,.gl-inline-actions button:not(.gl-btn):disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.gl-btn:focus-visible,.gl-form button:focus-visible,.gl-inline-actions button:focus-visible,.gl-form input:focus-visible,.gl-form textarea:focus-visible,.gl-form select:focus-visible,.gl-input:focus-visible,.gl-textarea:focus-visible,.gl-select:focus-visible,.gl-content-admin-list button:focus-visible,.gl-subtabs button:focus-visible,.gl-mascots-filters button:focus-visible,.gl-team-chip:focus-visible{outline:2px solid var(--gl-border-focus);outline-offset:2px}.gl-btn--primary{background:var(--gl-color-primary);border-color:var(--gl-color-primary)}.gl-btn--secondary{border-color:var(--gl-border);background:var(--gl-surface);color:var(--gl-color-primary)}.gl-btn--ghost{border-color:var(--gl-border);background:color-mix(in srgb, #fff 75%, var(--gl-color-secondary) 25%);color:var(--gl-color-primary)}.gl-btn--danger{background:var(--gl-accent-danger);color:var(--gl-ink-danger);border-color:#dc2626}@media (hover:hover){.gl-btn--primary:hover{background:color-mix(in srgb, var(--gl-color-primary) 88%, #fff)}.gl-btn--secondary:hover,.gl-btn--ghost:hover{border-color:var(--gl-color-primary);background:color-mix(in srgb, #fff 82%, var(--gl-color-secondary) 18%)}.gl-btn--danger:hover{background:color-mix(in srgb, var(--gl-accent-danger) 78%, #dc2626)}}.gl-btn--sm{min-height:36px;padding:var(--gl-space-1) var(--gl-space-3);font-size:var(--text-sm)}@media (pointer:coarse){.gl-btn--sm{min-height:var(--gl-tap-target,44px)}}.gl-btn--full{width:100%}.gl-error,.gl-error-banner{color:var(--gl-ink-danger)}.gl-success-banner{border-radius:var(--gl-radius-sm);background:var(--gl-accent-success);color:#166534;border:1px solid color-mix(in srgb, var(--gl-color-primary) 30%, #86efac 70%);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.gl-error-banner{padding:10px 16px}.gl-markdown h2{margin-top:0}.gl-markdown{line-height:var(--lh-relaxed);color:#1f2937;--gl-prose-max-width:90%}.gl-markdown :where(p,ul,ol,blockquote,h2,h3,h4){max-width:var(--gl-prose-max-width)}.gl-markdown p{margin:0 0 .9rem}.gl-markdown p:last-child{margin-bottom:0}.gl-markdown h2,.gl-markdown h3,.gl-markdown h4{color:#0b3d2e;margin:1.1rem 0 .5rem;line-height:1.3}.gl-markdown ul,.gl-markdown ol{margin:.5rem 0 .9rem 1.3rem;padding:0}.gl-markdown li{margin:.2rem 0}.gl-markdown blockquote{background:#f0fdf4;border-left:3px solid #a7f3d0;border-radius:0 8px 8px 0;margin:.9rem 0;padding:.5rem .8rem}.gl-markdown hr{border:0;border-top:1px solid var(--gl-select-border);margin:1rem 0}.gl-markdown a{color:var(--gl-select-ink);text-underline-offset:2px;text-decoration:underline}a.gl-glossary-inline-link,.gl-markdown a.gl-glossary-inline-link{color:#047c8c;font-weight:var(--fw-semibold);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.gl-glossary-inline-link:hover,.gl-markdown a.gl-glossary-inline-link:hover{background:#047c8c1a;border-radius:2px;text-decoration-style:solid}.gl-board-shell{width:100%;position:relative}.gl-board-world{transform-origin:0 0;will-change:auto;position:absolute;inset:0}.gl-board-zoom-controls{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:10px;right:10px}.gl-board-zoom-btn{border-radius:var(--gl-radius-pill);min-width:44px;min-height:44px;color:var(--gl-color-on-dark);font-size:var(--text-lg);font-weight:var(--fw-bold);cursor:pointer;background:#0f172ac7;border:0;line-height:1;box-shadow:0 2px 10px #0000004d}.gl-board-zoom-btn:hover{background:#1e293beb}.gl-board-zoom-btn:focus-visible{outline:2px solid var(--gl-color-on-dark);outline-offset:2px}.gl-board-fit-layer{box-sizing:border-box;position:absolute}.gl-board-fit-layer .gl-board-image,.gl-board-fit-layer .gl-kingdom-map-image{object-fit:contain;width:100%;height:100%;display:block}.gl-game-board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.gl-game-board-head h2{flex:auto;margin:0}.gl-map-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width>=900px){.gl-map-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}}.gl-map-layout__board{min-width:0}.gl-map-roster{background:var(--gl-surface);border:1px solid var(--gl-border);border-radius:var(--gl-radius-lg);box-shadow:var(--gl-shadow-sm);padding:12px 14px}.gl-map-roster__title{font-size:var(--text-base);margin:0 0 10px}.gl-map-roster__groups{flex-direction:column;gap:10px;display:flex}.gl-map-roster-group{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:color-mix(in srgb, var(--gl-surface) 92%, var(--gl-surface-muted));padding:10px}.gl-map-roster-group.is-current-turn{box-shadow:0 0 0 2px #22c55e59}.gl-map-roster-group.is-selected{border-color:color-mix(in srgb, var(--gl-color-accent) 55%, var(--gl-border))}.gl-map-roster-group--selectable{cursor:pointer;text-align:left;width:100%;transition:border-color .15s,box-shadow .15s}.gl-map-roster-group--selectable:hover{border-color:color-mix(in srgb, var(--gl-color-accent) 35%, var(--gl-border))}.gl-map-roster-group--selectable:focus-visible{outline:3px solid var(--gl-select-ink);outline-offset:2px}.gl-map-roster-group--selectable.is-selected{box-shadow:0 0 0 2px #facc158c}.gl-map-roster-group__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.gl-map-roster-group__color{border-radius:var(--gl-radius-pill);background:var(--gl-team-color,#94a3b8);flex-shrink:0;width:12px;height:12px}.gl-map-roster-group__title{font-size:var(--text-base);flex:auto;margin:0}.gl-map-roster-group__turn-badge{font-size:var(--text-xs);color:#fff;border-radius:var(--gl-radius-pill);font-weight:var(--fw-bold);background:#16a34a;padding:2px 8px}.gl-map-roster-group__empty{font-size:var(--text-sm);margin:0}.gl-map-roster-group__players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gl-map-roster-player{border-radius:var(--gl-radius-sm);border:1px solid color-mix(in srgb, var(--gl-border) 80%, transparent);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:6px 8px;display:flex}.gl-map-roster-player.is-self{border-color:color-mix(in srgb, var(--gl-color-accent) 45%, var(--gl-border));background:color-mix(in srgb, var(--gl-color-accent) 8%, #fff)}.gl-map-roster-player__name{font-size:var(--text-base);overflow-wrap:anywhere;min-width:0}.gl-map-roster-player__you{font-size:var(--text-sm);color:color-mix(in srgb, var(--gl-color-text) 65%, transparent)}.gl-map-roster-player__vitality{font-size:var(--text-sm)}.gl-board-action{border-radius:var(--gl-radius-pill);min-height:44px;font:inherit;font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-base) var(--spring);border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.gl-board-action__icon{line-height:1;font-size:var(--text-md)}.gl-board-action__label--short{display:none}.gl-board-action--icon-only{justify-content:center;gap:0;min-width:44px;padding:8px}.gl-board-action--icon-only .gl-board-action__icon{font-size:var(--text-lg)}.gl-board-action--primary{background:var(--gl-color-primary);border-color:var(--gl-color-primary);color:#fff}.gl-board-action--primary:hover{filter:brightness(1.06);box-shadow:var(--gl-shadow-sm)}.gl-board-action--display{background:var(--gl-select-surface-soft);color:var(--gl-color-text);border-color:#bae6fd}.gl-board-action--display:hover{background:var(--gl-select-surface)}.gl-board-action--tool{border-color:var(--gl-border);color:var(--gl-color-text);background:#ffffffeb;box-shadow:0 2px 8px #0f172a14}.gl-board-action--tool:hover{box-shadow:0 4px 14px #0f172a1f}.gl-board-action--tool.is-active{border-color:var(--gl-color-primary);box-shadow:0 0 0 2px #6366f140}.gl-board-action--tool.is-muted{opacity:.85}.gl-board-action:focus-visible{outline:2px solid var(--gl-border-focus,#047c8c);outline-offset:2px}.gl-board-chrome-dock{bottom:max(12px, env(safe-area-inset-bottom,0px));z-index:12;position:absolute}.gl-board-chrome-dock--left{left:max(12px, env(safe-area-inset-left,0px))}.gl-board-chrome-dock--right{right:max(12px, env(safe-area-inset-right,0px))}.gl-board-turn-hud{top:max(12px, env(safe-area-inset-top,0px));z-index:12;border-radius:var(--gl-radius-pill);max-width:calc(100% - 24px);color:var(--gl-color-on-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--gl-shadow-md);background:#013a40e0;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.gl-board-turn-hud__counter{font-weight:var(--fw-semibold);font-size:var(--text-base);white-space:nowrap}.gl-board-turn-hud__hint{font-size:var(--text-sm);opacity:.92}.gl-board-action:disabled{opacity:.45;cursor:not-allowed}.gl-board-chrome-bar{left:50%;bottom:max(12px, env(safe-area-inset-bottom,0px));z-index:12;border-radius:var(--gl-radius-pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:calc(100% - 24px);box-shadow:var(--gl-shadow-md);background:#013a40e0;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%)}.gl-board-chrome-bar .gl-board-action--primary{color:var(--gl-color-text);background:#f8fafcf2;border-color:#0000}.gl-board-chrome-bar .gl-board-action--primary:hover{filter:none;background:#fff}.gl-board-chrome-bar .gl-board-action--display{color:var(--gl-color-on-dark);background:#ffffff1a;border-color:#ffffff40}.gl-board-chrome-bar .gl-board-action--display:hover{background:#fff3}.gl-board-chrome-bar .gl-board-action:focus-visible{box-shadow:0 0 0 2px var(--gl-color-on-dark);outline:none}.gl-map-fullscreen-open{flex:none}.gl-board-shell--fullscreen{background:var(--gl-surface-dark);flex:auto;width:100%;max-width:none;height:100%;min-height:0;margin:0;position:relative}.gl-board-fullscreen-shell{background:var(--gl-surface-dark)}.gl-board-fullscreen-shell>.fm-map-fullscreen-close{display:none}.gl-board-shell--fullscreen .gl-board,.gl-board--fullscreen{background:var(--gl-surface-dark);border:none;border-radius:0;width:100%;height:100%;min-height:0}.gl-map-fullscreen-close-slot{top:max(12px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));z-index:calc(var(--fm-z-fullscreen) + 1);position:absolute}.gl-map-fullscreen-close{border-radius:var(--gl-radius-pill);color:var(--gl-color-on-dark);font-size:var(--text-base);font-weight:var(--fw-bold);background:#0f172ad1;border:0;box-shadow:0 4px 16px #00000059}.gl-map-fullscreen-close:hover{background:#1e293beb}.gl-map-fullscreen-close:focus-visible{outline:2px solid var(--gl-color-on-dark);outline-offset:2px}.gl-panel--map-fullscreen-active{box-shadow:none;pointer-events:none;background:0 0;border:none;padding:0}.gl-board{border-radius:var(--gl-radius-md);--gl-board-mascot-h:clamp(54px, 10vw, 72px);--gl-board-team-label-gap:6px;background:#e0f2fe;border:1px solid #bae6fd;width:100%;min-height:420px;position:relative;overflow:hidden}.gl-board-image{object-fit:contain;width:100%;height:100%;display:block}.gl-board-marker{transform:translate(-50%, -50%) scale(var(--map-overlay-scale,1));transform-origin:50%;border-radius:var(--gl-radius-pill);background:var(--gl-marker-bg-label,transparent);color:#111827;font-size:var(--map-overlay-label-font-size,.72rem);cursor:pointer;z-index:4;min-width:28px;min-height:28px;line-height:var(--lh-tight);border:0;flex-direction:column;justify-content:center;align-items:center;padding:2px 8px;display:inline-flex;position:absolute}.gl-board-marker--emoji{background:var(--gl-marker-bg-emoji,transparent);box-shadow:var(--gl-marker-bg-emoji-shadow,none);font-family:var(--font-emoji-stack);font-variant-emoji:emoji;padding:4px 6px}.gl-board-marker--icon{background:var(--gl-marker-bg-icon,transparent);box-shadow:none;padding:3px}.gl-board-marker__emoji{font-size:var(--map-overlay-emoji-font-size,1.15rem);line-height:1;font-family:var(--font-emoji-stack);font-variant-emoji:emoji}.gl-board-marker__icon{object-fit:contain;border-radius:4px;width:22px;height:22px;display:block}.gl-board-marker__label{white-space:nowrap;text-overflow:ellipsis;max-width:96px;font-family:var(--font-sans-with-emoji);text-shadow:var(--gl-marker-label-text-shadow,none);overflow:hidden}.gl-board-marker__path-number{border-radius:var(--gl-radius-pill);color:#fff;min-width:1.1rem;height:1.1rem;font-size:var(--text-2xs);font-weight:var(--fw-bold);text-align:center;pointer-events:none;background:#111827;padding:0 3px;line-height:1.1rem;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 3px #0f172a59}.gl-board-marker.is-dragging{transform:translate(-50%, -50%) scale(calc(var(--map-overlay-scale,1) * 1.05))}.gl-marker-bg-preview--emoji{font-size:var(--text-base);padding:4px 6px}.emoji-btn{font-family:var(--font-emoji-stack);font-variant-emoji:emoji;border-radius:var(--gl-radius-sm);font-size:var(--text-md);cursor:pointer;background:#fff;border:1px solid #0f172a24;padding:4px 8px;line-height:1}.emoji-btn.sel{background:#fb923c33;border-color:#ea580c73}.gl-markers-list__path-number{border-radius:var(--gl-radius-pill);color:#fff;min-width:1.35rem;height:1.35rem;font-size:var(--text-xs);font-weight:var(--fw-bold);vertical-align:middle;background:#111827;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;padding:0 4px;line-height:1;display:inline-flex}.gl-board .gl-board-mascot{z-index:8}.gl-board .gl-board-mascot--on-marker{z-index:9}.gl-board .gl-board-mascot .visit-map-mascot-rive-shell,.gl-board .gl-board-mascot .visit-map-mascot-spritesheet-shell,.gl-board .gl-board-mascot .visit-map-mascot-sprite-cut{width:clamp(48px,9vw,64px);height:var(--gl-board-mascot-h)}.gl-board .gl-board-mascot .visit-map-mascot-static svg,.gl-board .gl-board-mascot .gl-mascot-svg{width:100%;height:100%}.gl-board .gl-board-mascot--selectable{pointer-events:auto;cursor:pointer;appearance:none;background:0 0;border:none;margin:0;padding:0}.gl-board .gl-board-mascot--selectable:focus-visible{outline:3px solid var(--gl-select-ink);outline-offset:2px}.gl-board .gl-board-mascot--selectable.is-selected .visit-map-mascot-inner{filter:drop-shadow(0 0 6px #facc15f2)}.gl-board-team-pin{transform:translate(-50%, calc(-100% - var(--gl-board-mascot-h) - var(--gl-board-team-label-gap)));border:2px solid var(--gl-team-color,#22c55e);border-radius:var(--gl-radius-pill);max-width:min(120px,28vw);color:var(--gl-color-on-dark);font-size:var(--text-xs);font-weight:var(--fw-bold);cursor:pointer;z-index:10;appearance:none;pointer-events:auto;background:#0f172ab8;padding:2px 8px;line-height:1.25;position:absolute;box-shadow:0 2px 8px #0f172a59}.gl-board-team-pin.is-on-marker{transform:translate(-50%, calc(-100% - var(--gl-board-mascot-h) * .5 - var(--gl-board-team-label-gap)))}.gl-board-team-pin-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gl-inline-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.gl-mascot-list{gap:6px;display:grid}.gl-hint{font-size:var(--text-sm);color:var(--gl-color-text-muted);margin:4px 0}.gl-event-log{font-size:var(--text-sm);color:#047857;margin-top:10px}.gl-vitality-counts{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.gl-vitality-count{font-weight:var(--fw-semibold);font-size:var(--text-base);align-items:center;gap:4px;display:inline-flex}.gl-vitality-count--health .gl-vitality-count-value{color:#b91c1c}.gl-vitality-count--power .gl-vitality-count-value{color:var(--gl-select-ink)}.gl-vitality-badge{border-radius:var(--gl-radius-pill);background:color-mix(in srgb, #fff 85%, var(--gl-accent-warm) 15%);border:1px solid var(--gl-border);align-items:center;padding:4px 10px;display:inline-flex}.gl-vitality-badge--button{cursor:pointer;min-height:44px;font:inherit;color:inherit}.gl-vitality-badge--button:hover{background:color-mix(in srgb, #fff 70%, var(--gl-accent-warm) 30%)}.gl-vitality-adjust{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.gl-vitality-adjust-row{align-items:center;gap:6px;display:inline-flex}.gl-vitality-adjust-label{text-align:center;min-width:1.5rem}.gl-vitality-btn{border-radius:var(--gl-radius-sm);border:1px solid var(--gl-border);min-width:44px;min-height:44px;font-size:var(--text-md);font-weight:var(--fw-bold);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:#fff;padding:0 12px}.gl-vitality-btn:hover:not(:disabled){background:color-mix(in srgb, #fff 80%, var(--gl-accent-info) 20%);border-color:color-mix(in srgb, var(--gl-border) 60%, var(--gl-accent-info) 40%)}.gl-vitality-btn:disabled{opacity:.5;cursor:not-allowed}.gl-narration-banner{border-radius:var(--gl-radius-control);color:#fef3c7;background:#1f2937;border-left:4px solid #facc15;margin:6px 16px 0;padding:10px 16px}.gl-toast,.fm-toast--turn{color:#083344;text-align:center;--fm-toast-bg:#ecfeff;--fm-toast-color:#083344;--fm-toast-border:#06b6d4;--fm-toast-shadow:0 14px 28px #0f172a33;background:#ecfeff;border:1px solid #06b6d4}.gl-board-team-pin.is-selected{outline-offset:2px;outline:3px solid #facc15}.gl-board-team-pin.is-current-turn{box-shadow:0 0 0 2px #22c55e,0 2px 8px #0f172a59}.gl-board-team-pin:focus-visible{outline:3px solid var(--gl-select-ink);outline-offset:2px}.fm-modal-panel.gl-action-modal-body{border-radius:var(--gl-radius-card);gap:10px;width:calc(100% - 32px);max-width:360px;padding:16px;display:grid}.gl-profile-modal-body{width:min(940px,100% - 32px);max-width:940px;max-height:88vh;overflow:auto}.gl-profile-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.gl-profile-modal-actions{flex-wrap:wrap;gap:.5rem;display:flex}.gl-image-frame-modal-body{width:min(760px,100% - 32px);max-width:760px;max-height:88vh;overflow:auto}.gl-image-frame-editor{gap:10px;display:grid}.gl-image-frame-preview-shell{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-md);background:var(--gl-surface-muted);place-items:center;min-height:240px;display:grid;overflow:hidden}.gl-image-frame-preview{width:min(100%,640px);max-width:100%;display:block}.gl-image-frame-empty{color:var(--gl-color-text-muted);font-size:var(--text-base)}.gl-image-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=520px){.gl-image-frame-grid{grid-template-columns:1fr}}.gl-image-frame-help summary{cursor:pointer;font-weight:var(--fw-semibold)}.gl-image-frame-help p{margin:6px 0}.gl-profile-layout{gap:12px;display:grid}.gl-profile-avatar{gap:8px;display:grid}.gl-profile-avatar img{object-fit:cover;border:1px solid var(--gl-border);border-radius:50%;width:84px;height:84px}.gl-profile-avatar-actions{flex-wrap:wrap;gap:6px;display:flex}.gl-profile-ok{color:#166534}.gl-profile-gate{width:min(540px,100% - 32px);max-width:540px}.gl-nature-view__tabs,.gl-adventure-view__tabs,.gl-monde-view__tabs,.gl-joueurs-view__tabs{margin-top:0}.gl-feuillet-editor-modal{border-radius:var(--gl-radius-md);width:min(1040px,96vw);max-width:96vw;max-height:92vh;box-shadow:var(--gl-shadow-lg,0 20px 50px #00000040);background:#fff;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.gl-feuillet-editor-modal__head{z-index:1;border-bottom:1px solid var(--gl-border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex;position:sticky;top:0}.gl-feuillet-editor-modal__head h4{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.gl-feuillet-editor-modal__titre{font-weight:var(--fw-semibold);color:var(--gl-color-primary)}.gl-feuillet-editor-modal__head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gl-feuillet-editor-modal__head-actions .gl-subtabs{margin:0}.gl-feuillet-quickview{gap:12px;max-width:760px;display:grid}.gl-feuillet-quickview__meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 14px;margin:0;display:grid}.gl-feuillet-quickview__meta-row{flex-direction:column;gap:2px;min-width:0;display:flex}.gl-feuillet-quickview__meta-row dt{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--gl-color-text-muted)}.gl-feuillet-quickview__meta-row dd{font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0}.gl-feuillet-quickview__chapters{border-top:1px solid var(--gl-border);gap:4px;padding-top:8px;display:grid}.gl-feuillet-editor-modal__body{-webkit-overflow-scrolling:touch;flex:auto;padding-right:4px;overflow-y:auto}.gl-feuillet-editor-modal__body--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.gl-feuillet-editor-modal__preview{border-left:1px solid var(--gl-border);padding-left:14px;position:sticky;top:0}.gl-feuillet-associations-extra{gap:12px;padding:8px 0 4px;display:grid}@media (width<=720px){.gl-feuillet-editor-modal__body--split{grid-template-columns:1fr}.gl-feuillet-editor-modal__preview{border-left:none;border-top:1px solid var(--gl-border);padding-top:12px;padding-left:0;position:static}}.gl-feuillet-editor-modal__body>details{margin-bottom:10px}.gl-feuillet-editor-modal__body>details>summary{cursor:pointer;font-weight:var(--fw-semibold);padding:6px 0}.gl-feuillet-editor-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:6px 0 4px;display:grid}.gl-feuillet-editor-modal__grid .gl-field--wide{grid-column:1/-1}@media (width<=720px){.gl-feuillet-editor-modal{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.gl-feuillet-editor-modal__grid{grid-template-columns:1fr}}.gl-feuillet-species-picker__meta,.gl-feuillet-species-picker__manual{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gl-linklike{color:var(--gl-color-primary);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;padding:0;text-decoration:underline}.gl-subtabs--scroll{scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.gl-subtabs--scroll button{scroll-snap-align:start;flex:none}@media (width<=640px){.gl-subtabs--scroll button{min-height:44px}}.gl-admin-import-panel{border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);background:#fff;gap:12px;padding:14px 16px;display:grid}.gl-admin-import-panel h3{margin:0}.gl-admin-import-actions{flex-wrap:wrap;gap:8px;display:flex}.gl-admin-import-panel form{gap:10px;display:grid}.gl-admin-import-panel input[type=file]{border:1px dashed var(--gl-border);border-radius:var(--gl-radius-sm);background:color-mix(in srgb, #fff 92%, var(--gl-color-secondary) 8%);width:100%;max-width:100%;padding:8px}.gl-admin-import-panel label{align-items:center;gap:8px;min-height:44px;display:inline-flex}.gl-admin-report{border:1px dashed var(--gl-border);border-radius:var(--gl-radius-sm);background:color-mix(in srgb, #fff 94%, var(--gl-color-secondary) 6%);max-height:340px;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px;overflow:auto}@media (width<=640px){.gl-admin-import-actions .gl-btn,.gl-admin-import-actions button{flex:100%}}.gl-markers-list{gap:4px;margin:8px 0;padding:0;list-style:none;display:grid}.gl-markers-list li{border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);background:#fff;align-items:stretch;gap:8px;padding:0;display:flex}.gl-markers-list li.is-selected{background:var(--gl-select-surface-soft);border-color:#60a5fa}.gl-marker-row-btn{text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;flex:1;align-items:center;gap:2px 0;width:auto;padding:8px 10px;display:inline-flex}.gl-marker-event-pool__header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.gl-marker-event-pool__list{border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);background:#fff;max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}.gl-marker-event-pool__list li{border-bottom:1px solid #f3f4f6;padding:6px 8px}.gl-marker-event-pool__list label{cursor:pointer;grid-template-columns:auto auto 1fr;align-items:start;gap:8px;display:grid}.gl-marker-event-pool__code{font-family:ui-monospace,monospace;font-size:var(--text-sm)}.gl-marker-event-pool__meta{font-size:var(--text-xs);color:var(--gl-color-text-muted)}.gl-marker-event-pool__question{font-size:var(--text-base);grid-column:2/-1}.gl-qcm-popover-overlay{--gl-color-primary:#013a40;--gl-color-secondary:#f2e8d5;--gl-color-text:#262626;--gl-border:#013a402e;--gl-border-focus:#047c8c;color:var(--gl-color-text);z-index:var(--fm-z-popover);padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));background:#0f172a7a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gl-qcm-popover-overlay .gl-btn--primary{background:var(--gl-color-primary);border-color:var(--gl-color-primary);color:#fff}.gl-qcm-popover-overlay .gl-btn--ghost{color:var(--gl-color-primary);border-color:var(--gl-border);background:color-mix(in srgb, #fff 75%, var(--gl-color-secondary) 25%)}.gl-qcm-popover{z-index:1;pointer-events:auto;width:min(480px,100%);min-height:0;max-height:min(92dvh,92vh,720px);animation:popIn .24s var(--spring,cubic-bezier(.34, 1.56, .64, 1)) both;flex-direction:column;display:flex;position:relative}.gl-qcm-popover__body{min-height:0;max-height:inherit;border:2px solid var(--gl-color-primary);border-radius:var(--gl-radius-md);background:#fff;flex-direction:column;flex:auto;display:flex;overflow:hidden;box-shadow:0 8px 24px #0000002e}.gl-qcm-popover__header{flex-shrink:0;padding:12px 14px 8px}.gl-qcm-popover__header h3{margin:0;font-size:clamp(1rem,2.8vw,1.15rem);line-height:1.3}.gl-qcm-popover__header .gl-hint,.gl-qcm-popover__header .gl-error{margin:.5rem 0 0}.gl-qcm-popover__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:0 14px 10px;overflow-y:auto}.gl-qcm-popover__footer{background:#fff;border-top:1px solid #0000000f;border-radius:0 0 10px 10px;flex-shrink:0;padding:8px 14px 12px}.gl-qcm-popover__anchor{display:none}.gl-qcm-popover__submit{width:100%;min-height:48px;font-size:var(--text-base);font-weight:var(--fw-bold);margin:0 0 .5rem}.gl-qcm-popover__footer .gl-inline-actions{margin:0}.gl-qcm-popover__submit:disabled{opacity:.55;cursor:not-allowed}.gl-info{background:var(--gl-accent-success);border:1px solid color-mix(in srgb, var(--gl-color-primary) 30%, #86efac 70%);border-radius:var(--gl-radius-sm);color:#065f46;padding:6px 12px}.gl-image-source{border:1px solid var(--gl-border);border-radius:var(--gl-radius-control);background:var(--gl-surface-muted);gap:10px;margin:0;padding:12px 14px;display:grid}.gl-image-source legend{font-weight:var(--fw-semibold);padding:0 4px}.gl-image-source__intro{margin:0}.gl-image-source__upload-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gl-image-source__file-btn{align-items:center;gap:6px;min-height:44px;margin:0;display:inline-flex}.gl-markdown-image-insert{margin-bottom:12px}.gl-markdown .gl-markdown-image-insert+label{gap:6px;display:grid}.gl-markdown-editor :where(textarea){border-radius:var(--gl-radius-sm);border-color:var(--gl-border)}.gl-rich-editor{gap:8px;display:grid}.gl-rich-editor-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gl-rich-editor-tool{border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);color:var(--gl-color-text);cursor:pointer;background:#fff;min-height:36px;padding:4px 10px}.gl-rich-editor-tool:hover{background:var(--gl-select-surface-soft)}.gl-rich-editor-tool:focus-visible{outline:2px solid var(--gl-color-accent);outline-offset:1px}.gl-rich-editor-surface{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:#fff;min-height:240px;padding:10px 12px}.gl-rich-editor-surface:focus{outline-offset:1px;outline:2px solid #93c5fd}.gl-rich-editor-surface :where(img){max-width:100%;height:auto;display:block}.gl-rich-editor-surface .gl-content-image-wrap{max-width:100%}.gl-rich-editor-surface:empty:before{content:attr(data-placeholder);color:var(--gl-color-text-muted)}.gl-rich-editor-hint{font-size:var(--text-sm);color:var(--gl-color-text-muted);margin:0}.gl-markdown img.gl-content-image{border-radius:var(--gl-radius-control);border:1px solid var(--gl-select-surface);max-width:100%;margin:0;display:block}.gl-markdown .gl-content-image-wrap{border-radius:var(--gl-radius-control);border:1px solid var(--gl-select-surface);box-sizing:border-box;width:100%;max-width:100%;margin:12px 0;overflow:hidden}.gl-markdown .gl-content-image-wrap>img.gl-content-image{border:0;border-radius:0;width:100%;max-width:100%;height:100%;margin:0}.gl-chapter-map-editor{gap:10px;display:grid}.gl-map-editor-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gl-map-editor-toolbar button{border:1px solid color-mix(in srgb, #fff 55%, var(--gl-color-primary) 45%);background:color-mix(in srgb, #fff 76%, var(--gl-color-secondary) 24%);color:var(--gl-color-primary);border-radius:var(--gl-radius-control);cursor:pointer;min-height:44px;font-weight:var(--fw-semibold);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);padding:8px 12px}.gl-map-editor-toolbar button:hover:not(:disabled){box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}.gl-map-editor-toolbar button.is-active{background:var(--gl-color-primary);color:#fff;border-color:var(--gl-color-primary);box-shadow:var(--gl-shadow-sm)}.gl-map-editor-toolbar button:disabled{opacity:.55;cursor:not-allowed}.gl-forum-thread>header>button{border:1px solid var(--gl-border);color:var(--gl-color-primary);border-radius:var(--gl-radius-control);cursor:pointer;min-height:38px;font-weight:var(--fw-semibold);font-size:var(--text-sm);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;padding:6px 12px}.gl-forum-thread>header>button:hover{box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}.gl-mascot-svg{display:block}.gl-mascot-avatar{justify-content:center;align-items:center;display:inline-flex}.gl-admin-section{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:var(--gl-surface-muted);padding:12px}.gl-admin-import-report{border:1px dashed var(--gl-border);border-radius:var(--gl-radius-sm);background:#fff;margin-top:10px;padding:10px}.gl-admin-credentials{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:var(--gl-surface-muted);margin-top:12px;padding:12px}.gl-admin-credentials .gl-warning{margin:0 0 8px}.gl-admin-credentials__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.gl-admin-credentials__table th,.gl-admin-credentials__table td{text-align:left;border-bottom:1px solid var(--gl-border);vertical-align:top;padding:6px 8px}.gl-admin-credentials__table code{font-size:var(--text-sm);-webkit-user-select:all;user-select:all}.gl-badge{border-radius:var(--gl-radius-pill);min-height:24px;font-size:var(--text-xs);font-weight:var(--fw-semibold);border:1px solid var(--gl-border);color:var(--gl-color-primary);background:#fff;justify-content:center;align-items:center;padding:1px 8px;display:inline-flex}.gl-badge--success{background:var(--gl-accent-success);color:#166534}.gl-badge--danger{background:var(--gl-accent-danger);color:#991b1b}.gl-badge--info{background:var(--gl-accent-info)}.gl-badge--warn{background:var(--gl-accent-warning);color:#854d0e}.gl-empty{text-align:center;padding:14px 10px}.gl-empty-icon{font-size:var(--text-xl);margin-right:4px}.gl-help-panel{border:1px solid var(--gl-select-border);border-radius:var(--gl-radius-md);background:var(--gl-select-surface-soft);margin-top:12px;padding:10px 12px}.gl-help-panel>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.gl-help-panel>header button{border:1px solid color-mix(in srgb, #fff 55%, var(--gl-color-primary) 45%);border-radius:var(--gl-radius-pill);color:var(--gl-color-primary);cursor:pointer;min-height:36px;font-weight:var(--fw-semibold);font-size:var(--text-sm);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff;padding:6px 12px}.gl-help-panel>header button:hover{box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}.gl-help-panel.is-pulse{animation:1.6s ease-in-out infinite attentionPulse}.gl-help-panel-body{color:#1e3a8a;margin-top:10px}.discovery-tour{--fm-tour-accent:color-mix(in srgb, #fff 45%, var(--gl-color-primary) 55%);--fm-tour-card-bg:var(--gl-surface);--fm-tour-text:#10333a;--fm-tour-muted:var(--gl-color-primary)}.gl-app{--fm-tooltip-bg:color-mix(in srgb, #04222a 88%, var(--gl-color-primary) 12%);--fm-tooltip-text:#f2fbfd;--fm-tooltip-border:#ffffff38}.gl-help-dock{display:flex}.gl-help-btn{border-radius:var(--gl-radius-pill);border:1.5px solid color-mix(in srgb, #fff 55%, var(--gl-color-primary) 45%);width:44px;height:44px;color:var(--gl-color-primary);font-size:var(--text-md);font-weight:var(--fw-bold);cursor:pointer;box-shadow:var(--gl-shadow-sm);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:#fff}.gl-help-btn:hover{transform:translateY(-1px)}.gl-help-btn.is-pulsing{animation:1.6s ease-in-out infinite attentionPulse}.gl-help-dialog{border-radius:var(--gl-radius-lg);background:var(--gl-surface);width:min(560px,100vw - 32px);padding:18px}.gl-help-dialog__title{font-size:var(--text-md);align-items:center;gap:10px;margin:0 0 10px;display:flex}.gl-help-dialog__portrait{border:1.5px solid var(--gl-select-border);background:#fff}.gl-help-dialog__body{color:#1e3a8a;line-height:var(--lh-normal)}.gl-help-dialog__actions{align-items:center;gap:8px;margin-top:16px;display:flex}.gl-help-dialog__tour-cta{margin-right:auto}.gl-help-panel__title{align-items:center;gap:8px;min-width:0;display:inline-flex}.gl-help-panel__portrait{border:1.5px solid var(--gl-select-border);background:#fff}.gl-narrator-scene{align-items:flex-start;gap:12px;display:flex}.gl-narrator-scene__bubble{flex:auto;min-width:0}.gl-narrator-scene__portrait{filter:drop-shadow(0 2px 6px #047c8c38);margin-top:2px}.gl-narrator-scene.is-compact{gap:8px}.gl-narrator-scene.is-compact .gl-narrator-scene__portrait{border:1.5px solid color-mix(in srgb, #fff 55%, var(--gl-color-primary) 45%);background:#ffffffb3}.gl-feuillet-popover .fm-speech-bubble{--fm-bubble-bg:#fffcf4db;--fm-bubble-border:color-mix(in srgb, #fff 45%, var(--gl-color-primary) 55%);--fm-bubble-text:#2a2118;--fm-bubble-speaker:var(--gl-color-primary)}.gl-feuillet-popover .fm-speech-bubble__text{font-size:inherit;white-space:pre-wrap}.gl-notifications{position:relative}.gl-notifications-bell{background:var(--gl-select-surface);color:#1e3a8a;border-radius:var(--gl-radius-pill);cursor:pointer;border:1px solid #93c5fd;min-width:44px;min-height:44px;padding:6px 12px;position:relative}.gl-notifications-badge{border-radius:var(--gl-radius-pill);color:#fff;min-width:20px;height:20px;font-size:var(--text-xs);background:#ef4444;justify-content:center;align-items:center;padding:0 4px;display:inline-flex;position:absolute;top:-6px;right:-6px}.gl-notifications-panel{border:1px solid var(--gl-select-border);border-radius:var(--gl-radius-md);background:#fff;width:min(92vw,420px);max-height:58vh;padding:12px;position:absolute;bottom:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 16px 34px #0f172a33}.gl-notifications-panel>header{justify-content:space-between;align-items:center;gap:8px;height:auto;max-height:none;margin-bottom:10px;display:flex;overflow:visible}.gl-notifications-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.gl-notifications-panel li{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-control);background:var(--gl-select-surface-soft);padding:8px 10px}.gl-notifications-panel li.is-read{opacity:.75;background:var(--gl-surface-muted)}.gl-notifications-cat{font-size:var(--text-xs);color:var(--gl-select-ink);background:var(--gl-select-surface);border-radius:var(--gl-radius-pill);margin-bottom:6px;padding:1px 8px;display:inline-block}.gl-forum-threads,.gl-forum-posts,.gl-journal-events,.gl-kingdom-map-zones,.gl-tutorials-list{gap:8px;margin:10px 0;padding:0;list-style:none;display:grid}.gl-forum-threads li>button,.gl-tutorials-list li>button{text-align:left;border:1px solid color-mix(in srgb, #fff 50%, var(--gl-color-primary) 50%);border-radius:var(--gl-radius-control);background:color-mix(in srgb, #fff 82%, var(--gl-color-secondary) 18%);width:100%;color:var(--gl-color-primary);cursor:pointer;min-height:44px;font-weight:var(--fw-semibold);transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);padding:10px 12px}.gl-forum-threads li>button:hover,.gl-tutorials-list li>button:hover{box-shadow:var(--gl-shadow-sm);transform:translateY(-1px)}.gl-forum-threads li.is-active>button,.gl-tutorials-list li.is-read>button{border-color:var(--gl-color-primary);background:color-mix(in srgb, #fff 68%, var(--gl-color-secondary) 32%);box-shadow:var(--gl-shadow-sm)}.gl-forum-thread{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-md);background:#fff;margin-top:12px;padding:12px}.gl-forum-thread>header{justify-content:space-between;align-items:center;gap:8px;height:auto;max-height:none;margin-bottom:8px;display:flex;overflow:visible}.gl-forum-posts li,.gl-journal-event{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-control);background:#fff;padding:10px}.gl-forum-posts li.is-deleted{opacity:.65}.gl-journal-event{gap:4px;display:grid}.gl-journal-event pre{background:var(--gl-surface-muted);border:1px solid var(--gl-border);border-radius:var(--gl-radius-sm);max-height:220px;margin:0;padding:8px;overflow:auto}.gl-journal-narration{border-left:4px solid #facc15}.gl-journal-score{border-left:4px solid #22c55e}.gl-journal-turn_change{border-left:4px solid var(--gl-color-accent)}.gl-player-journal-embed-picker__body{max-width:420px}.gl-player-journal-read-modal__body{width:min(720px,100% - 32px);max-width:720px}.gl-player-journal__intro{max-width:52rem;margin:0 0 10px}.gl-player-journal__quotas{border-radius:var(--gl-radius-control);background:color-mix(in srgb, #fff 88%, var(--gl-color-secondary) 12%);border:1px solid var(--gl-select-surface);flex-wrap:wrap;align-items:center;gap:12px 20px;margin:10px 0 12px;padding:10px 12px;display:flex}.gl-player-journal__quota{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--gl-color-primary)}.gl-player-journal__quota.is-over{color:#b91c1c}.gl-player-journal__saved{color:#15803d}.gl-player-journal__textarea{width:100%;min-height:280px;font-family:inherit;font-size:var(--text-base);line-height:var(--lh-normal);border-radius:var(--gl-radius-control);resize:vertical;border:1px solid #93c5fd;padding:12px}.gl-player-journal__editor-label{font-weight:var(--fw-semibold);margin-top:8px;display:block}.gl-player-journal__preview{border-radius:var(--gl-radius-control);background:var(--gl-surface-muted);border:1px dashed #93c5fd;margin-top:16px;padding:12px}.gl-player-journal__assets ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.gl-player-journal__assets li{align-items:center;gap:10px;display:flex}.gl-player-journal__asset-thumb{object-fit:cover;border-radius:var(--gl-radius-sm);border:1px solid var(--gl-border);width:64px;height:64px}.gl-player-journal__actions{margin:8px 0 16px}.gl-player-journal__empty{border-radius:var(--gl-radius-control);background:var(--gl-surface-muted);border:1px dashed #93c5fd;padding:16px}.gl-player-journal__articles{gap:16px;display:grid}.gl-player-journal__article{border:1px solid var(--gl-select-surface)}.gl-player-journal__article-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gl-player-journal__article-title{font-size:var(--text-md);font-weight:var(--fw-semibold);border-radius:var(--gl-radius-sm);border:1px solid #93c5fd;flex:220px;padding:8px 10px}.gl-player-journal__article-meta{margin:6px 0 10px}.gl-player-journal-read-list{gap:18px;display:grid}.gl-player-journal-read-article{border-bottom:1px solid var(--gl-border);padding-bottom:14px}.gl-player-journal-read-article:last-child{border-bottom:none}.gl-player-journal-read-article h3{margin:0 0 4px}.gl-player-journal__import{border:1px solid var(--gl-select-surface);border-left:4px solid var(--gl-color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.gl-player-journal__import-main{align-items:center;gap:12px;min-width:0;display:flex}.gl-player-journal__import-icon{font-size:var(--text-xl);line-height:1}.gl-player-journal__import-kind{font-size:var(--text-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--gl-color-primary);margin:0}.gl-player-journal__import-title{font-size:var(--text-md);margin:2px 0}.gl-player-journal__import-actions{flex:none}.gl-journal-import{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.gl-journal-import__hint{font-style:italic}.gl-journal-import__done{color:#14532d;background:#b9e3c9}.gl-journal-import__error{margin-top:4px;display:block}.gl-player-journal-read-imports{border-top:1px solid var(--gl-border);margin-top:8px;padding-top:10px}.gl-player-journal-read-imports ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.gl-journal-embed{border-left:4px solid var(--gl-color-primary);background:color-mix(in srgb, #fff 75%, var(--gl-color-secondary) 25%);font-size:var(--text-base);border-radius:0 8px 8px 0;margin:12px 0;padding:10px 12px;display:block}.gl-journal-embed:before{content:"📎 Élément du site · " attr(data-gl-embed-type) " · " attr(data-gl-ref);font-weight:var(--fw-semibold);color:var(--gl-color-primary);display:block}.gl-journal-embed[data-gl-title]:before{content:"📎 " attr(data-gl-title)}.gl-player-journal__article.is-pinned,.gl-player-journal__import.is-pinned{border-left:4px solid var(--gl-color-primary);background:color-mix(in srgb, #fff 92%, var(--gl-color-primary) 8%)}.gl-help-list{margin:0;padding-left:1.2rem}.gl-help-list li{margin-bottom:6px}.gl-kingdom-map{border:1px solid var(--gl-select-border);border-radius:var(--gl-radius-md);background:#fff;width:100%;min-height:420px;position:relative;overflow:hidden}.gl-zone-edit-pt{fill:var(--gl-select-ink);stroke:#fff;stroke-width:.3px;cursor:grab}.gl-zone-content-popover-overlay{--gl-color-primary:#013a40;--gl-color-secondary:#f2e8d5;--gl-color-text:#262626;--gl-border:#013a402e;color:var(--gl-color-text);z-index:var(--fm-z-popover);padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));background:#0f172a7a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gl-zone-content-popover{border:2px solid var(--gl-color-primary);border-radius:var(--gl-radius-md);width:min(520px,100%);max-height:min(90dvh,90vh,680px);animation:popIn .24s var(--spring,cubic-bezier(.34, 1.56, .64, 1)) both;background:#fff;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 24px #0000002e}.gl-zone-content-popover__head{border-bottom:1px solid var(--gl-border);justify-content:space-between;align-items:center;gap:.75rem;padding:12px 14px;display:flex}.gl-zone-content-popover__head h3{font-size:var(--text-md);margin:0}.gl-zone-content-popover__close{font-size:var(--text-md);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px}.gl-zone-content-popover__body{flex:auto;padding:12px 14px;overflow:auto}.gl-zone-content-popover__gallery{gap:.75rem;margin-top:.75rem;display:grid}.gl-zone-content-popover__figure{max-width:100%;margin:0;overflow:hidden}.gl-zone-content-popover__figure img{object-fit:contain;border-radius:var(--gl-radius-sm);background:var(--gl-surface-muted);width:100%;max-height:280px}.gl-zone-content-popover__figure figcaption{font-size:var(--text-base);color:var(--gl-color-text-muted);margin-top:.35rem}.gl-zone-content-popover__foot{border-top:1px solid var(--gl-border);padding:10px 14px 14px}.gl-dice-popover{z-index:var(--fm-z-popover);border:1px solid var(--gl-border);border-radius:var(--gl-radius-card);width:min(320px,100vw - 24px);animation:popIn .24s var(--spring,cubic-bezier(.34, 1.56, .64, 1)) both;background:#fffffff7;padding:.85rem 1rem 1rem;position:fixed;box-shadow:0 12px 40px #0f172a2e}.gl-dice-popover__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.gl-dice-popover__title{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--gl-color-text);margin:0}.gl-dice-popover__close{border-radius:var(--gl-radius-sm);min-width:44px;min-height:44px;color:var(--gl-color-text-muted);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.gl-dice-popover__close:hover{background:var(--gl-surface-muted);color:var(--gl-color-text)}.gl-dice-popover__hint{font-size:var(--text-sm);color:var(--gl-color-text-muted);margin:0 0 .75rem}.gl-dice-popover__cubes{flex-wrap:wrap;justify-content:center;gap:.5rem;min-height:56px;margin-bottom:.65rem;display:flex}.gl-dice-popover__status{text-align:center;font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--gl-color-primary);margin:0 0 .5rem}.gl-dice-popover__result{border-radius:var(--gl-radius-control);background:linear-gradient(135deg, var(--gl-surface-muted) 0%, #eef2ff 100%);text-align:center;margin-bottom:.65rem;padding:.5rem .65rem}.gl-dice-popover__total{font-size:var(--text-base);color:var(--gl-color-text);margin:0}.gl-dice-popover__total strong{font-size:var(--text-lg);color:var(--gl-color-primary)}.gl-dice-popover__breakdown{font-size:var(--text-sm);color:var(--gl-color-text-muted);margin:.2rem 0 0}.gl-dice-popover__count-row{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.gl-dice-popover__step{border:1px solid var(--gl-border);border-radius:var(--gl-radius-control);min-width:44px;min-height:44px;font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gl-color-text);cursor:pointer;background:#fff;transition:background .15s}.gl-dice-popover__step:hover:not(:disabled){background:var(--gl-surface-muted)}.gl-dice-popover__step:disabled{opacity:.4;cursor:not-allowed}.gl-dice-popover__count-label{text-align:center;min-width:4.5rem;font-weight:var(--fw-semibold);font-size:var(--text-base)}.gl-dice-popover__footer .gl-btn{width:100%}.gl-dice-popover__footer .gl-inline-actions{flex-direction:column;width:100%}.gl-dice-popover__footer .gl-inline-actions .gl-btn{width:100%}.gl-dice-cube{perspective:120px;width:48px;height:48px}.gl-dice-cube__inner{border-radius:var(--gl-radius-control);background:linear-gradient(145deg, #fff 0%, var(--gl-surface-muted) 100%);border:2px solid var(--gl-border);box-sizing:border-box;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:4px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffe6,0 3px 6px #0f172a1f}.gl-dice-cube.is-placeholder .gl-dice-cube__inner{opacity:.55;border-style:dashed}.gl-dice-cube.is-rolling .gl-dice-cube__inner{animation:.55s ease-in-out infinite glDiceTumble;animation-delay:var(--gl-dice-stagger,0s)}.gl-dice-cube__pip{background:var(--gl-surface-dark);border-radius:50%;place-self:center;width:7px;height:7px}.gl-dice-cube__pip--tl{grid-area:1/1}.gl-dice-cube__pip--tc{grid-area:1/2}.gl-dice-cube__pip--tr{grid-area:1/3}.gl-dice-cube__pip--ml{grid-area:2/1}.gl-dice-cube__pip--center{grid-area:2/2}.gl-dice-cube__pip--mr{grid-area:2/3}.gl-dice-cube__pip--bl{grid-area:3/1}.gl-dice-cube__pip--br{grid-area:3/3}@keyframes glDiceTumble{0%{transform:rotateX(0)rotateY(0)rotate(0)}25%{transform:rotateX(90deg)rotateY(45deg)rotate(15deg)}50%{transform:rotateX(180deg)rotateY(90deg)rotate(-10deg)}75%{transform:rotateX(270deg)rotateY(135deg)rotate(20deg)}to{transform:rotateX(360deg)rotateY(180deg)rotate(0)}}@media (prefers-reduced-motion:reduce){.gl-dice-cube.is-rolling .gl-dice-cube__inner{animation:none}}.gl-tutorial-active{border:1px solid var(--gl-select-surface);border-radius:var(--gl-radius-md);background:#fff;margin-top:12px;padding:12px}.gl-grimoire{--gl-grimoire-parchment:var(--gl-color-secondary);--gl-grimoire-parchment-light:#faf4e8;--gl-grimoire-parchment-deep:#e8d4b8;--gl-grimoire-ink:#3d2f1f;--gl-grimoire-ink-muted:#6b5a45;--gl-grimoire-border:color-mix(in srgb, var(--gl-color-primary) 28%, #8b7355);--gl-grimoire-shadow:0 8px 28px #3d2f1f2e, 0 2px 6px #3d2f1f14;--gl-grimoire-font-heading:var(--gl-font-heading,"Playfair Display", Georgia, serif);isolation:isolate;color:var(--gl-grimoire-ink);background:radial-gradient(ellipse 120% 80% at 10% 0%, #fffcf5e6 0%, transparent 55%), radial-gradient(ellipse 90% 70% at 95% 100%, #e8d4b873 0%, transparent 50%), linear-gradient(165deg, var(--gl-grimoire-parchment-light) 0%, var(--gl-grimoire-parchment) 48%, var(--gl-grimoire-parchment-deep) 100%);border:2px solid var(--gl-grimoire-border);box-shadow:var(--gl-grimoire-shadow);position:relative}.gl-grimoire:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;opacity:.35;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#3d2f1f08 2px 3px),repeating-linear-gradient(90deg,#0000,#0000 3px,#8b73550a 3px 4px);position:absolute;inset:0}.gl-grimoire>*{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.gl-grimoire.animate-pop{animation:none}}.gl-spells-panel.gl-grimoire{border-radius:18px;padding:18px 16px 20px}.gl-spells-panel.gl-grimoire:hover{transform:none}.gl-spells-panel__title{font-family:var(--gl-grimoire-font-heading);font-weight:var(--fw-bold);font-size:var(--text-xl);letter-spacing:.02em;color:var(--gl-grimoire-ink);border-bottom:2px solid color-mix(in srgb, var(--gl-grimoire-border) 55%, transparent);margin:0 0 1rem;padding-bottom:.65rem}.gl-spells-panel__title:after{content:"";background:linear-gradient(90deg, var(--gl-color-primary), color-mix(in srgb, var(--gl-spell-accent,#047c8c) 70%, var(--gl-color-primary)));border-radius:2px;width:4.5rem;height:3px;margin-top:.45rem;display:block}.gl-grimoire.gl-markdown a{color:color-mix(in srgb, var(--gl-color-primary) 85%, var(--gl-grimoire-ink));-webkit-text-decoration-color:color-mix(in srgb, var(--gl-grimoire-ink-muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--gl-grimoire-ink-muted) 60%, transparent)}.gl-grimoire.gl-markdown a:hover{color:var(--gl-color-primary)}.gl-biocenose-intro,.gl-ecosystem-section__block--biocenose,.gl-grimoire .gl-spells-intro{margin-bottom:0}.gl-ecosystems-view__chapter-cover{margin:.5rem 0 1.25rem}.gl-ecosystems-view__intro{color:var(--gl-color-text-muted);font-size:var(--text-base);margin:0 0 .75rem}.gl-ecosystems-view__tabs{margin-bottom:1.1rem}.gl-ecosystem-section{border:1px solid var(--gl-border,#013a4024);border-radius:var(--gl-radius-md);background:color-mix(in srgb, var(--gl-surface) 92%, var(--gl-color-primary) 8%);margin-top:0;padding:1rem 1.1rem 1.15rem}.gl-ecosystem-section__title{font-size:var(--text-md);margin:0 0 .85rem}.gl-ecosystem-section__layout{gap:1.25rem;display:grid}@media (width>=768px){.gl-ecosystem-section__layout--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5rem}}.gl-ecosystem-section__block>h4{font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--gl-color-link,#778c88);margin:0 0 .55rem}.gl-ecosystem-section__block--biotope>h4{margin-top:0}.gl-ecosystem-section__biocenose-col{flex-direction:column;gap:.65rem;min-width:0;display:flex}.gl-ecosystem-section__figure{margin:0}.gl-ecosystem-section__figure--hero{margin:0 0 1rem}.gl-ecosystem-section__figure img{border-radius:var(--gl-radius-sm,8px);width:100%;max-width:100%;height:auto;display:block;box-shadow:0 2px 12px #013a4014}.gl-ecosystem-section__figure--biocenose img{max-width:100%}.gl-grimoire .gl-spell-catalog__intro{color:var(--gl-grimoire-ink-muted);margin:0 0 1rem}.gl-grimoire .gl-spell-catalog__tabs{border-bottom:2px solid var(--gl-grimoire-parchment-deep);flex-wrap:wrap;gap:6px;margin:0 0 1rem;padding:6px 6px 0;display:flex}.gl-grimoire .gl-spell-catalog__tabs button{border:1px solid var(--gl-grimoire-border);background:var(--gl-grimoire-parchment-deep);min-height:44px;color:var(--gl-grimoire-ink-muted);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);border-bottom:none;border-radius:10px 10px 0 0;padding:.45rem 1rem .55rem}.gl-grimoire .gl-spell-catalog__tabs button.is-active{border-color:var(--gl-grimoire-border);background:var(--gl-grimoire-parchment-light);color:var(--gl-grimoire-ink);font-weight:var(--fw-bold);transform:translateY(-2px);box-shadow:0 -2px 8px #3d2f1f14}.gl-grimoire .gl-spell-catalog__tabs button:focus-visible{outline:2px solid var(--gl-border-focus,#047c8c);outline-offset:2px}.gl-grimoire .gl-spell-catalog__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;display:grid}.gl-grimoire .gl-spell-tile{border:1px solid color-mix(in srgb, var(--gl-grimoire-border) 75%, transparent);border-radius:var(--gl-radius-control);background:var(--gl-grimoire-parchment-light);text-align:left;cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px 10px 14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 2px 6px #3d2f1f0f}.gl-grimoire .gl-spell-tile:before{content:"";background:color-mix(in srgb, var(--gl-color-primary) 55%, var(--gl-grimoire-parchment-deep));opacity:.65;border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.gl-grimoire .gl-spell-tile:hover,.gl-grimoire .gl-spell-tile:focus-visible{border-color:var(--gl-color-primary);outline:none;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffa6,0 4px 14px #3d2f1f24}.gl-grimoire .gl-spell-tile:focus-visible{outline:2px solid var(--gl-border-focus,#047c8c);outline-offset:2px}.gl-grimoire .gl-spell-tile__emoji{font-size:var(--text-2xl);flex-shrink:0;line-height:1}.gl-grimoire .gl-spell-tile__labels{flex-direction:column;gap:2px;min-width:0;display:flex}.gl-grimoire .gl-spell-tile__name{font-family:var(--gl-grimoire-font-heading);font-weight:var(--fw-bold);font-size:var(--text-base);color:var(--gl-grimoire-ink)}.gl-grimoire .gl-spell-tile__cost{font-size:var(--text-sm);color:var(--gl-grimoire-ink-muted)}.gl-grimoire .gl-spell-tile__effect{font-size:var(--text-sm);color:var(--gl-grimoire-ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gl-grimoire .gl-hint,.gl-grimoire .gl-error{color:var(--gl-grimoire-ink-muted)}.gl-grimoire .gl-error{color:#9a3412}.gl-spell-popover{z-index:var(--fm-z-popover);background:#2d231685;justify-content:center;align-items:center;padding:1rem;animation:.2s overlayFadeIn;display:flex;position:fixed;inset:0}.gl-spell-popover.is-closing{animation:.2s forwards overlayFadeOut}.gl-spell-popover__panel{border-radius:var(--gl-radius-lg);width:min(100%,420px);max-height:min(90vh,640px);position:relative;overflow:auto}.gl-spell-popover__panel.gl-grimoire{border-width:2px}.gl-spell-popover__category-strip{background:var(--gl-spell-accent,#047c8c);z-index:2;border-radius:14px 14px 0 0;height:5px;position:relative}.gl-grimoire .gl-spell-popover__header{justify-content:space-between;align-items:flex-start;gap:8px;padding:1rem 1rem .5rem;display:flex}.gl-grimoire .gl-spell-popover__header h3{font-family:var(--gl-grimoire-font-heading);font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gl-grimoire-ink);align-items:center;gap:8px;margin:0;display:flex}.gl-grimoire .gl-spell-popover__emoji{font-size:var(--text-xl)}.gl-grimoire .gl-spell-popover__close{border:1px solid color-mix(in srgb, var(--gl-grimoire-border) 50%, transparent);border-radius:var(--gl-radius-sm);background:var(--gl-grimoire-parchment-light);min-width:44px;min-height:44px;color:var(--gl-grimoire-ink);font-size:var(--text-md);cursor:pointer}.gl-grimoire .gl-spell-popover__close:focus-visible{outline:2px solid var(--gl-border-focus,#047c8c);outline-offset:2px}.gl-grimoire .gl-spell-popover__body{padding:0 1rem 1rem}.gl-grimoire .gl-spell-popover__lead{font-family:var(--gl-grimoire-font-heading);font-weight:var(--fw-bold);color:var(--gl-grimoire-ink);margin:0 0 .75rem}.gl-grimoire .gl-spell-popover__text,.gl-grimoire .gl-spell-popover__meta{line-height:var(--lh-normal);color:var(--gl-grimoire-ink);margin:0 0 .65rem}.gl-grimoire .gl-spell-popover__badges{flex-wrap:wrap;gap:6px;padding:0 1rem .5rem;display:flex}.gl-grimoire .gl-spell-popover__badge-cat{background:color-mix(in srgb, var(--gl-spell-accent,#047c8c) 22%, var(--gl-grimoire-parchment-light));border-color:var(--gl-spell-accent,#047c8c);color:var(--gl-grimoire-ink)}.gl-grimoire .gl-spell-popover__footer{border-top:2px solid var(--gl-grimoire-parchment-deep);background:color-mix(in srgb, var(--gl-grimoire-parchment-deep) 35%, transparent);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.gl-grimoire .gl-spell-popover__skeleton{background:linear-gradient(90deg, var(--gl-grimoire-parchment-deep) 25%, var(--gl-grimoire-parchment-light) 50%, var(--gl-grimoire-parchment-deep) 75%);background-size:200% 100%;border-radius:4px;height:12px;margin:.5rem 1rem;animation:1.2s infinite gl-shimmer}@media (prefers-reduced-motion:reduce){.gl-grimoire .gl-spell-popover__skeleton{animation:none}}.gl-grimoire .gl-spell-popover__skeleton-title{width:60%;height:20px}.gl-grimoire .gl-spell-popover__skeleton--short{width:40%}.gl-spell-cast-result__casters{margin:0 0 1rem;padding:0}.gl-spell-cast-result__casters-title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--gl-color-text);margin:0 0 .5rem}.gl-spell-cast-result__casters-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.gl-spell-cast-result__caster{border-radius:var(--gl-radius-sm);background:#047c8c14;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;padding:.4rem .55rem;display:flex}.gl-spell-cast-result__caster-name{font-weight:var(--fw-semibold)}.gl-spell-cast-result__caster-contrib{font-size:var(--text-base);color:var(--gl-color-text-muted)}.gl-species-catalog__intro{color:var(--gl-color-text);margin:0 0 1rem}.gl-species-catalog__tabs{flex-wrap:wrap;gap:8px;margin:0 0 1rem;display:flex}.gl-species-catalog__tabs button{border:1px solid var(--gl-border,#013a402e);border-radius:var(--gl-radius-sm,8px);background:var(--gl-surface);min-height:44px;color:var(--gl-color-text);cursor:pointer;padding:.45rem .9rem}.gl-species-catalog__tabs button.is-active{border-color:var(--gl-color-primary);background:color-mix(in srgb, var(--gl-color-primary) 12%, #fff);font-weight:var(--fw-semibold)}.gl-species-catalog__section{margin-top:1.5rem}.gl-species-catalog__section>h3{font-size:var(--text-lg);margin:0 0 .75rem}.gl-species-catalog__group{margin-bottom:1.25rem}.gl-species-catalog__group>h4{font-size:var(--text-base);color:var(--gl-color-link,#778c88);margin:0 0 .65rem}.gl-species-catalog__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;display:grid}.gl-species-catalog__grid--dense{grid-template-columns:repeat(auto-fill,108px);justify-content:start;gap:8px}@media (width>=480px){.gl-species-catalog__grid--dense{grid-template-columns:repeat(auto-fill,120px)}}.gl-species-tile{border:1px solid var(--gl-border,#013a402e);border-radius:var(--gl-radius-sm,8px);background:var(--gl-surface);box-shadow:var(--gl-shadow-sm);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;min-height:44px;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.gl-species-tile:hover,.gl-species-tile:focus-visible{border-color:var(--gl-color-primary);outline:none;box-shadow:0 2px 8px #013a401f}.gl-species-tile:focus-visible{outline:3px solid var(--gl-select-ink);outline-offset:2px}.gl-species-tile__media{aspect-ratio:1;background:var(--gl-surface-muted);display:block;position:relative;overflow:hidden}.gl-species-tile__media img{object-fit:cover;width:100%;height:100%;display:block}.gl-species-tile__placeholder{background:linear-gradient(135deg,#e8f5f0 0%,#d4ebe4 100%);width:100%;height:100%;display:block}.gl-species-tile__hint{font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.02em;color:#fff;opacity:0;background:#013a40b8;border-radius:4px;padding:2px 6px;transition:opacity .15s;position:absolute;bottom:4px;right:4px}.gl-species-tile:hover .gl-species-tile__hint,.gl-species-tile:focus-visible .gl-species-tile__hint{opacity:1}.gl-species-tile__labels{flex-direction:column;gap:2px;min-width:0;padding:6px 8px 8px;display:flex}.gl-species-tile__name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--gl-color-text);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.gl-species-tile__scientific{font-size:var(--text-xs);line-height:var(--lh-tight);color:var(--gl-color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gl-species-tile--learned{border-color:color-mix(in srgb, var(--gl-color-accent) 45%, var(--gl-border));box-shadow:0 0 0 1px color-mix(in srgb, var(--gl-color-accent) 25%, transparent)}.gl-species-tile__learned-badge{font-size:var(--text-2xs);font-weight:var(--fw-bold);color:var(--gl-color-accent);border-radius:var(--gl-radius-pill);background:#fff;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0f172a26}.gl-species-detail-modal{box-sizing:border-box;padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px))}.gl-species-detail-modal__body{flex-direction:column;gap:0;width:min(720px,100%);max-width:720px;max-height:min(92dvh,920px);margin:auto;padding:0;display:flex;overflow:hidden;box-shadow:0 20px 48px #0f172a38}.gl-species-detail-modal__head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.gl-species-detail-modal__head-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gl-species-detail-modal__head h2{font-size:var(--text-lg);margin:0 0 4px}.gl-species-detail-modal__scientific{font-size:var(--text-base);color:var(--gl-color-text-muted);margin:0 0 8px}.gl-species-detail-modal__badges{flex-wrap:wrap;gap:6px;display:flex}.gl-species-detail-modal__badge{font-size:var(--text-sm);font-weight:var(--fw-semibold);border-radius:var(--gl-radius-pill);background:color-mix(in srgb, var(--gl-color-primary) 10%, #fff);border:1px solid var(--gl-border,#013a402e);color:var(--gl-color-text);padding:2px 8px;display:inline-block}.gl-species-detail-modal__hero{background:var(--gl-surface-muted);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;max-height:min(36dvh,300px);margin:0;padding:8px 12px 0;display:flex;overflow:visible}.gl-species-detail-modal__hero img{object-fit:contain;object-position:center center;width:auto;max-width:100%;height:auto;max-height:min(34dvh,280px);display:block}.gl-species-detail-modal__hero figcaption{width:100%;max-width:100%;font-size:var(--text-xs);text-align:center;color:var(--gl-color-text-muted);padding:6px 4px 0}.gl-species-detail-modal__scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 16px 16px;overflow-y:auto}@media (width>=640px){.gl-species-detail-modal__body--has-photo{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(200px,38%) minmax(0,1fr);align-items:stretch;display:grid}.gl-species-detail-modal__body--has-photo .gl-species-detail-modal__head{grid-column:1/-1}.gl-species-detail-modal__body--has-photo .gl-species-detail-modal__hero{border-right:1px solid var(--gl-border,#013a401f);grid-area:2/1;height:100%;min-height:0;max-height:none;padding:12px}.gl-species-detail-modal__body--has-photo .gl-species-detail-modal__hero img{max-height:min(72dvh,520px)}.gl-species-detail-modal__body--has-photo .gl-species-detail-modal__scroll{grid-area:2/2}}.gl-species-detail-modal__section{margin-top:1rem}.gl-species-detail-modal__section:first-child{margin-top:.5rem}.gl-species-detail-modal__section h3{font-size:var(--text-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--gl-color-link,#778c88);margin:0 0 .5rem}.gl-species-detail-modal__dl{gap:.5rem;margin:0;display:grid}.gl-species-detail-modal__row{grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:start;gap:8px 12px;display:grid}@media (width<=480px){.gl-species-detail-modal__row{grid-template-columns:1fr;gap:2px}}.gl-species-detail-modal__row dt{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--gl-color-text-muted);margin:0}.gl-species-detail-modal__row dd{font-size:var(--text-base);line-height:var(--lh-normal);color:var(--gl-color-text);margin:0}.gl-species-detail-modal__row dd a{color:var(--gl-color-link-hover,#2c5959);word-break:break-word}.gl-species-detail-modal__glossary{margin-bottom:.75rem}.gl-species-detail-modal__glossary-label{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--gl-color-text-muted);margin:0 0 .35rem}.gl-glossary-chips{flex-wrap:wrap;gap:.35rem;display:flex}.gl-glossary-chip{border:1px solid var(--gl-border);background:var(--gl-surface-muted);color:var(--gl-color-text);border-radius:var(--gl-radius-pill);font-size:var(--text-sm);cursor:pointer;padding:.2rem .65rem;transition:background .15s,border-color .15s}.gl-glossary-chip:hover,.gl-glossary-chip.is-active{background:var(--gl-color-accent-soft);border-color:var(--gl-color-accent)}.gl-glossary-chip:active{transition:transform var(--motion-fast,.12s) var(--spring,cubic-bezier(.34, 1.56, .64, 1));transform:scale(.96)}.gl-glossary__intro{color:var(--gl-color-text-muted);margin-bottom:1rem}.gl-glossary__filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.gl-glossary__list{display:block}.gl-glossary__group{margin-bottom:.85rem}.gl-glossary__group>h3{font-size:var(--text-base);color:var(--gl-color-text);margin:0 0 .4rem}.gl-glossary__terms{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.3rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.gl-glossary__terms{grid-template-columns:repeat(auto-fill,minmax(8.75rem,1fr));gap:.35rem}}@media (width>=1100px){.gl-glossary__terms{grid-template-columns:repeat(auto-fill,minmax(7.75rem,1fr))}}.gl-glossary__terms button{text-align:left;border:1px solid var(--gl-border);cursor:pointer;width:100%;min-height:2.75rem;line-height:var(--lh-tight);background:#fff;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;padding:.35rem .5rem;display:flex}.gl-glossary__terms button:hover{border-color:color-mix(in srgb, var(--gl-color-accent) 40%, var(--gl-border));background:var(--gl-color-accent-soft)}.gl-glossary__terms button.is-active{border-color:var(--gl-color-accent);background:var(--gl-color-accent-soft)}.gl-glossary__terms button.is-learned{border-color:color-mix(in srgb, var(--gl-color-accent) 40%, var(--gl-border))}.gl-learning-badge{background:color-mix(in srgb, var(--gl-color-accent) 12%, #fff);color:var(--gl-color-accent);border:1px solid color-mix(in srgb, var(--gl-color-accent) 35%, var(--gl-border));font-size:var(--text-sm);font-weight:var(--fw-semibold);border-radius:var(--gl-radius-pill);padding:.2rem .5rem}.gl-learning-ack-modal{width:min(420px,100%)}.gl-tutorial-active__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:.75rem;display:flex}.gl-tutorial-active__head h3{margin:0}.gl-glossary__term-label{font-weight:var(--fw-semibold);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.gl-glossary__term-meta{font-size:var(--text-xs);color:var(--gl-color-text-muted);text-transform:capitalize}.gl-glossary__related{margin-top:1rem}.gl-glossary__related>h4{font-size:var(--text-base);margin:0 0 .5rem}.gl-qcm-modal{z-index:var(--fm-z-modal);padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gl-qcm-modal__body{border-radius:var(--gl-radius-card);background:#fff;flex-direction:column;width:min(640px,100%);min-height:0;max-height:min(92dvh,92vh,720px);display:flex;overflow:hidden;box-shadow:0 20px 40px #0f172a2e}.gl-qcm-modal__question{font-size:clamp(.95rem,2.6vw,1.05rem);line-height:var(--lh-normal);margin:.35rem 0 .75rem}.gl-qcm-modal__photo{object-fit:contain;border-radius:var(--gl-radius-control);width:auto;max-width:100%;height:auto;max-height:min(34dvh,34vh,220px);margin:0 auto .75rem;display:block}.gl-qcm-popover__scroll .gl-qcm-modal__choices{margin-bottom:.5rem}.gl-qcm-modal__choices{gap:.5rem;margin-bottom:.75rem;display:grid}.gl-qcm-choice{border:1px solid var(--gl-border);border-radius:var(--gl-radius-control);cursor:pointer;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}.gl-qcm-choice:has(input:checked){border-color:var(--gl-color-accent);background:var(--gl-color-accent-soft)}.gl-qcm-modal__glossary{margin:.75rem 0 1rem}.gl-qcm-feedback-block{border-radius:var(--gl-radius-control);border:1px solid var(--gl-border);-webkit-overflow-scrolling:touch;max-height:min(40vh,280px);margin:.75rem 0 1rem;padding:.85rem 1rem;overflow-y:auto}.gl-qcm-feedback-block--ok{border-color:color-mix(in srgb, #15803d 35%, var(--gl-border) 65%);background:#ecf5ef}.gl-qcm-feedback-block--ko{border-color:color-mix(in srgb, #b91c1c 30%, var(--gl-border) 70%);background:#f9eded}.gl-qcm-feedback{font-weight:var(--fw-semibold);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word;margin:0}.gl-qcm-feedback--ok{color:#15803d}.gl-qcm-feedback--ko{color:#b91c1c}body.gl-glossary-popover-open{overflow:hidden}.gl-glossary-popover{z-index:var(--fm-z-glossary);-webkit-backdrop-filter:blur(8px);animation:glGlossaryOverlayIn .28s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both;background:#013a406b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gl-glossary-popover.is-closing{animation:glGlossaryOverlayOut .2s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both}.gl-glossary-popover__panel{background:var(--gl-surface);border-radius:var(--gl-radius-lg,16px);width:min(480px,100%);max-height:min(88vh,720px);box-shadow:var(--gl-shadow-md,0 10px 28px #013a4029);flex-direction:column;display:flex;position:relative;overflow:hidden}.gl-glossary-popover.is-closing .gl-glossary-popover__panel{animation:glGlossaryPanelOut .2s var(--ease-out,cubic-bezier(.22, 1, .36, 1)) both}.gl-glossary-popover__category-strip{background:var(--gl-glossary-accent,#047c8c);flex-shrink:0;height:4px}.gl-glossary-popover__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1rem .5rem;display:flex}.gl-glossary-popover__header h3{font-size:var(--text-lg);color:var(--gl-color-primary);margin:0;line-height:1.3}.gl-glossary-popover__close{border-radius:var(--gl-radius-pill);background:var(--gl-surface-muted);width:36px;height:36px;color:var(--gl-color-text);cursor:pointer;font-size:var(--text-base);transition:background var(--motion-fast,.12s) var(--ease-out,ease), transform var(--motion-fast,.12s) var(--spring,cubic-bezier(.34, 1.56, .64, 1));border:none;flex-shrink:0;line-height:1}.gl-glossary-popover__close:hover{background:color-mix(in srgb, var(--gl-glossary-accent,#047c8c) 12%, #fff)}.gl-glossary-popover__close:active{transform:scale(.92)}.gl-glossary-popover__badges{flex-wrap:wrap;gap:.35rem;padding:0 1rem .5rem;display:flex}.gl-glossary-popover__badge-cat{border-color:color-mix(in srgb, var(--gl-glossary-accent,#047c8c) 35%, transparent);color:var(--gl-color-primary)}.gl-glossary-popover__content{flex-direction:column;flex:1;min-height:0;display:flex}.gl-glossary-popover__body{-webkit-overflow-scrolling:touch;flex:1;padding:0 1rem .75rem;overflow-y:auto}.gl-glossary-popover__body--loading{gap:.65rem;padding:.5rem 1rem 1rem;display:grid}.gl-glossary-popover__lead{font-weight:var(--fw-semibold);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--gl-color-text);margin:0 0 .75rem}.gl-glossary-popover__text{line-height:var(--lh-relaxed);color:var(--gl-color-text);margin:0 0 .65rem}.gl-glossary-popover__related{border-top:1px solid var(--gl-border,#013a402e);flex-shrink:0;padding:.5rem 1rem .75rem}.gl-glossary-popover__related>h4{font-size:var(--text-base);color:var(--gl-color-text-muted);margin:0 0 .5rem}.gl-glossary-popover__footer{border-top:1px solid var(--gl-border,#013a402e);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:.75rem 1rem 1rem;display:flex}.gl-glossary-popover__error{margin:.25rem 0 .5rem;padding:0 1rem}.gl-glossary-popover__skeleton{background:linear-gradient(90deg, var(--gl-surface-muted) 0%, #e8f4ef 50%, var(--gl-surface-muted) 100%);background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s ease-in-out infinite glGlossaryShimmer}.gl-glossary-popover__skeleton-title{flex:1;max-width:70%;height:22px}.gl-glossary-popover__skeleton--short{width:55%}@keyframes glGlossaryOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes glGlossaryOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes glGlossarySheetUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0,0)}}@keyframes glGlossarySheetDown{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(100%)}}@keyframes glGlossaryPanelOut{0%{opacity:1;transform:scale(1)translate(0,0)}to{opacity:0;transform:scale(.96)translateY(8px)}}@keyframes glGlossaryShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.gl-glossary-popover{align-items:flex-end;padding:0}.gl-glossary-popover__panel{border-radius:var(--gl-radius-lg,16px) var(--gl-radius-lg,16px) 0 0;width:100%;max-height:92dvh;animation:glGlossarySheetUp .32s var(--spring,cubic-bezier(.34, 1.56, .64, 1)) both}.gl-glossary-popover.is-closing .gl-glossary-popover__panel{animation:glGlossarySheetDown .22s var(--ease-out,ease) both}}@media (prefers-reduced-motion:reduce){.gl-glossary-popover,.gl-glossary-popover.is-closing,.gl-glossary-popover__panel,.gl-glossary-popover.is-closing .gl-glossary-popover__panel,.gl-glossary-popover__content,.gl-glossary-popover__skeleton{animation:none!important}.gl-glossary-chip:active{transform:none}}.gl-market-view{flex-direction:column;gap:1rem;display:flex}.gl-market-disclaimer{border-radius:var(--gl-radius-md);background:#7c3aed14;border:1px solid #7c3aed40;padding:1rem 1.25rem}.gl-market-disclaimer h2{font-size:var(--text-md);margin:0 0 .5rem}.gl-market-disclaimer ul{line-height:var(--lh-normal);margin:0;padding-left:1.25rem}.gl-market-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=900px){.gl-market-layout{grid-template-columns:1fr}}.gl-market-sidebar h3{font-size:var(--text-base);margin:1rem 0 .5rem}.gl-market-classmates,.gl-market-trades-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.gl-market-classmates li,.gl-market-trades-list li{border-radius:var(--gl-radius-md);background:var(--gl-surface-elevated,#ffffff0f);border:1px solid var(--gl-border,#ffffff1f);flex-direction:column;gap:.35rem;padding:.65rem .75rem;display:flex}.gl-market-trades-list li.is-active{border-color:#7c3aed8c;box-shadow:0 0 0 1px #7c3aed40}.gl-market-trades-list li>button{width:100%;min-height:44px;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:0;display:flex}.gl-market-classmate-name{font-weight:var(--fw-semibold)}.gl-market-classmate-vitality{font-size:var(--text-sm);opacity:.85}.gl-market-badge{font-size:var(--text-xs);border-radius:var(--gl-radius-pill);color:#fde68a;background:#eab30833;padding:.15rem .45rem}.gl-market-empty{opacity:.75;font-style:italic}.gl-market-detail{border-radius:var(--gl-radius-md);background:var(--gl-surface,#00000026);border:1px solid var(--gl-border,#ffffff1a);min-height:200px;padding:1rem}.gl-market-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.gl-market-detail-header h3{margin:0}.gl-market-frozen-hint{border-radius:var(--gl-radius-sm);background:#eab3081f;border:1px solid #eab30859;margin:0 0 1rem;padding:.65rem .85rem}.gl-market-offers{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}@media (width<=640px){.gl-market-offers{grid-template-columns:1fr}}.gl-market-offer-card{border-radius:var(--gl-radius-md);background:var(--gl-surface-elevated,#ffffff0d);border:1px solid var(--gl-border,#ffffff1a);padding:1rem}.gl-market-offer-card.is-peer{opacity:.95}.gl-market-offer-card h4{font-size:var(--text-base);margin:0 0 .75rem}.gl-market-accept{cursor:pointer;min-height:44px;font-weight:var(--fw-semibold);align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.gl-market-accept input{width:1.25rem;height:1.25rem}.gl-market-peer-offer{font-size:var(--text-md);margin:0}.gl-market-peer-accepted{color:#86efac;margin:.5rem 0 0}.gl-market-feuillet-picker{max-height:11rem;margin:.35rem 0 0;padding:0;list-style:none;overflow-y:auto}.gl-market-feuillet-picker li label{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.gl-market-peer-feuillets{margin:.5rem 0 0;padding:0;list-style:none}.gl-market-peer-feuillets li{padding:.15rem 0}.gl-market-peer-pending{opacity:.8;margin:.5rem 0 0}.gl-market-messages ul{flex-direction:column;gap:.5rem;max-height:240px;margin:0 0 1rem;padding:0;list-style:none;display:flex;overflow-y:auto}.gl-market-messages li{border-radius:var(--gl-radius-sm);background:#ffffff0a;padding:.5rem .75rem}.gl-market-messages li.is-mine{background:#7c3aed26;align-self:flex-end;max-width:85%}.gl-market-messages li p{margin:.25rem 0 0}.gl-market-message-form{flex-direction:column;gap:.5rem;display:flex}.gl-market-placeholder{opacity:.8;text-align:center;margin:2rem 0}.gl-grimoire .gl-spells-launch-bar{margin:.75rem 0 1rem}.gl-game-board-head__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=640px){.gl-game-board-head__actions,.gl-board-chrome-bar .gl-board-action__label--long{display:none}.gl-board-chrome-bar .gl-board-action__label--short{display:inline}}@media (width>=641px){.gl-board-chrome-bar{display:none}}.gl-spell-cast-overlay{z-index:var(--fm-z-popover);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d23168c;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.gl-spell-cast-overlay--closing{animation:.2s forwards overlayFadeOut}.gl-spell-cast-panel{border-radius:18px;flex-direction:column;width:min(520px,100%);max-height:min(90vh,720px);display:flex;overflow:auto}.gl-spell-cast-panel.gl-grimoire{border-width:2px}.gl-grimoire .gl-spell-cast-panel__header{border-bottom:2px solid var(--gl-grimoire-parchment-deep);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.gl-grimoire .gl-spell-cast-panel__header h2{font-family:var(--gl-grimoire-font-heading);font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gl-grimoire-ink);margin:0;line-height:1.35}.gl-grimoire .gl-spell-cast-panel__body{flex-direction:column;flex:1;gap:1rem;padding:1rem 1.25rem;display:flex}.gl-grimoire .gl-spell-cast-panel__footer{border-top:2px solid var(--gl-grimoire-parchment-deep);background:color-mix(in srgb, var(--gl-grimoire-parchment-deep) 35%, transparent);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;display:flex}.gl-grimoire .gl-spell-cast-panel__error{color:#9a3412;margin:0 1.25rem}.gl-grimoire .gl-spell-cast-teams{flex-direction:column;gap:.5rem;display:flex}.gl-grimoire .gl-spell-cast-teams .gl-btn{justify-content:center;min-height:44px}.gl-grimoire .gl-spell-cast-progress__label{font-size:var(--text-base);color:var(--gl-grimoire-ink);justify-content:space-between;margin-bottom:.35rem;display:flex}.gl-grimoire .gl-spell-cast-progress__track{border-radius:var(--gl-radius-pill);background:var(--gl-grimoire-parchment-deep);border:1px solid color-mix(in srgb, var(--gl-grimoire-border) 40%, transparent);height:10px;overflow:hidden}.gl-grimoire .gl-spell-cast-progress__fill{border-radius:var(--gl-radius-pill);background:linear-gradient(90deg, var(--gl-color-primary), color-mix(in srgb, var(--gl-spell-accent,#047c8c) 65%, var(--gl-color-primary)));height:100%;transition:width .2s}@media (prefers-reduced-motion:reduce){.gl-grimoire .gl-spell-cast-progress__fill{transition:none}}.gl-grimoire .gl-spell-cast-panel__cost{font-size:var(--text-base);margin:.25rem 0 0}.gl-grimoire .gl-spell-cast-panel__pending{border-radius:var(--gl-radius-control);color:#713f12;font-size:var(--text-base);background:#facc1526;border:1px solid #ca8a0466;margin:.75rem 1rem;padding:.6rem .9rem}.gl-grimoire .gl-spell-cast-roster-group{margin-top:1rem}.gl-grimoire .gl-spell-cast-roster-group__title{font-size:var(--text-base);font-weight:var(--fw-semibold);margin:0 0 .5rem}.gl-grimoire .gl-spell-cast-roster{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.gl-grimoire .gl-spell-cast-roster__row{border-radius:var(--gl-radius-md);background:var(--gl-grimoire-parchment-light);border:1px solid color-mix(in srgb, var(--gl-grimoire-border) 65%, transparent);flex-direction:column;gap:.5rem;padding:.75rem;display:flex;box-shadow:inset 0 1px #ffffff73}.gl-grimoire .gl-spell-cast-roster__identity{color:var(--gl-grimoire-ink);flex-direction:column;gap:.15rem;display:flex}.gl-grimoire .gl-spell-cast-roster__balance{font-size:var(--text-sm);color:var(--gl-grimoire-ink-muted)}.gl-grimoire .gl-spell-cast-roster__inputs{flex-wrap:wrap;gap:.75rem;display:flex}.gl-grimoire .gl-spell-cast-roster__field{min-width:7rem;color:var(--gl-grimoire-ink);align-items:center;gap:.35rem;display:flex}.gl-grimoire .gl-spell-cast-roster__field input{border:1px solid var(--gl-grimoire-border);width:4rem;min-height:44px;color:var(--gl-grimoire-ink);border-radius:var(--gl-radius-sm);background:#fffef9}.gl-grimoire .gl-spell-cast-roster__field input:focus-visible{outline:2px solid var(--gl-border-focus,#047c8c);outline-offset:1px}.gl-grimoire .gl-spell-cast-spell-pick{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;display:grid}.gl-grimoire .gl-spell-tile--pick{cursor:pointer}.gl-stats-view{max-width:960px;padding:1rem 1.25rem 1.5rem}.gl-stats-view--compact{padding:.5rem 0 0}.gl-stats-view--loading{justify-content:center;align-items:center;min-height:12rem;display:flex}.gl-stats-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.gl-stats-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gl-color-text);margin:0}.gl-stats-section-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--gl-color-text);margin:1.25rem 0 .65rem}.gl-stats-note{border-radius:var(--gl-radius-control);color:#713f12;background:#fef9c3;padding:.65rem .85rem}.gl-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.5rem;display:grid}@media (width>=640px){.gl-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.gl-stats-grid--class-totals{margin-bottom:1rem}.gl-stat-card{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);text-align:center;animation:statPop .35s var(--spring) both;background:#fff;min-height:44px;padding:.85rem .75rem}.gl-stat-card:first-child{animation-delay:50ms}.gl-stat-card:nth-child(2){animation-delay:.1s}.gl-stat-card:nth-child(3){animation-delay:.15s}.gl-stat-card:nth-child(4){animation-delay:.2s}.gl-stat-card--highlight{background:#f0fdf4;border-color:#86efac}.gl-stat-icon{font-size:var(--text-lg);line-height:var(--lh-tight);margin-bottom:.25rem}.gl-stat-number{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--gl-color-text);line-height:var(--lh-tight)}.gl-stat-label{font-size:var(--text-sm);color:var(--gl-color-text-muted);margin-top:.2rem;line-height:1.35}.gl-stats-filter{max-width:320px;margin-bottom:.75rem}.gl-stats-class-name{font-weight:var(--fw-semibold);color:var(--gl-color-text);margin:0}.gl-stats-search input{border:1px solid var(--gl-border);border-radius:var(--gl-radius-control);width:100%;min-height:44px;font-size:var(--text-base);margin-bottom:.75rem;padding:.5rem .75rem}.gl-stats-leaderboard{flex-direction:column;gap:.5rem;display:flex}.gl-stats-lb-row{border:1px solid var(--gl-border);border-radius:var(--gl-radius-md);background:#fff;flex-wrap:wrap;align-items:flex-start;gap:.65rem;padding:.75rem;display:flex}.gl-stats-lb-rank{font-weight:var(--fw-bold);color:var(--gl-color-text-muted);min-width:1.75rem}.gl-stats-lb-name{flex:1;min-width:140px}.gl-stats-lb-name small{color:var(--gl-color-text-muted);font-size:var(--text-xs);margin-top:.15rem;display:block}.gl-stats-lb-journal-btn{flex-shrink:0;min-height:44px;margin-left:auto}.gl-stats-lb-metrics{font-size:var(--text-sm);color:var(--gl-color-text);flex-wrap:wrap;gap:.45rem .65rem;display:flex}.gl-stats-modal-overlay{align-items:flex-start}.gl-stats-modal-panel{background:var(--gl-surface-muted);border-radius:var(--gl-radius-lg);width:min(960px,100%);max-width:min(960px,100vw - 32px);margin-top:2vh;margin-bottom:2vh;padding:0}.gl-journal-panel__head{margin-bottom:12px}.gl-journal-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.gl-journal-toolbar .gl-field{flex:200px;min-width:160px;margin:0}.gl-journal-toolbar__order{min-height:44px;font-size:var(--text-base);align-items:center;gap:6px;display:flex}.gl-journal-compose{border:1px solid var(--gl-select-border);border-radius:var(--gl-radius-md);background:color-mix(in srgb, #fff 90%, var(--gl-color-secondary) 10%);margin-bottom:16px;padding:12px}.gl-journal-compose h3{font-size:var(--text-base);margin:0 0 10px}.gl-journal-event__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.gl-journal-event__title{font-size:var(--text-base)}.gl-journal-event__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gl-journal-event__badge{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--gl-select-ink);background:var(--gl-select-surface);border-radius:var(--gl-radius-pill);padding:2px 8px;display:inline-block}.gl-journal-event__body{line-height:var(--lh-normal);margin:4px 0 0}.gl-journal-event__figure{margin:8px 0 0}.gl-journal-event__img{border-radius:var(--gl-radius-sm);border:1px solid var(--gl-border);object-fit:contain;max-width:100%;max-height:280px}.gl-journal-event__details{font-size:var(--text-sm);margin-top:6px}.gl-journal-event__details summary{cursor:pointer;align-items:center;min-height:32px;display:flex}.gl-journal-move{border-left:4px solid #a855f7}.gl-journal-vitality_change{border-left:4px solid #ec4899}.gl-journal-spell_cast{border-left:4px solid #8b5cf6}.gl-journal-action_request{border-left:4px solid #f97316}.gl-journal-qcm_answer{border-left:4px solid #14b8a6}.gl-journal-event__actor{font-size:var(--text-sm);color:var(--gl-color-text-muted)}.gl-marker-effect-popover{max-width:min(92vw,28rem)}.gl-marker-effect-popover__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gl-marker-effect-popover__footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.gl-selene-carnet__head{margin-bottom:1rem}.gl-selene-carnet__modes{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.gl-selene-carnet__modes button.is-active{font-weight:var(--fw-bold);text-decoration:underline}.gl-selene-carnet__progress{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.6rem;display:flex}.gl-selene-carnet__count{font-size:var(--text-base);color:var(--gl-color-text);margin:0}.gl-selene-carnet__count strong{color:var(--gl-color-primary)}.gl-selene-carnet__filters{flex-wrap:wrap;gap:.35rem;display:flex}.gl-selene-carnet__filters button{border:1px solid color-mix(in srgb, var(--gl-color-primary) 30%, transparent);border-radius:var(--gl-radius-pill);font-size:var(--text-sm);background:0 0;min-height:44px;padding:.25rem .6rem}.gl-selene-carnet__filters button.is-active{background:color-mix(in srgb, var(--gl-color-primary) 14%, white);font-weight:var(--fw-bold)}.gl-selene-carnet__layout{grid-template-columns:minmax(220px,32%) 1fr;gap:1rem;display:grid}@media (width<=860px){.gl-selene-carnet__layout{grid-template-columns:1fr}}.gl-selene-carnet__list{border:1px solid color-mix(in srgb, var(--gl-color-primary) 25%, transparent);border-radius:var(--gl-radius-md);max-height:60vh;padding:.75rem;overflow:auto}.gl-selene-carnet__list button{text-align:left;border-radius:var(--gl-radius-sm);width:100%;padding:.45rem .5rem}.gl-selene-carnet__list button.is-active{background:color-mix(in srgb, var(--gl-color-primary) 12%, white)}.gl-selene-carnet__reader{border-radius:var(--gl-radius-card);background:linear-gradient(#fffdf8,#f7f0e4);border:1px solid #e7dcc8;padding:1rem 1.1rem;box-shadow:inset 0 0 0 1px #fff9}.gl-selene-carnet__reader.gl-feui-boite{border-style:double}.gl-selene-carnet__reader.gl-feui-marginalia{border-left:6px solid #b45309}.gl-selene-carnet__reader.gl-feui-corbeau{background-image:radial-gradient(circle at 90% 8%,#1e293b14,#0000 45%)}.gl-selene-carnet__science{font-size:var(--text-base);border-top:1px dashed #c4b5a0;margin-top:1rem;padding-top:.75rem}.gl-selene-carnet__spread{grid-template-columns:minmax(140px,42%) 1fr;align-items:start;gap:1rem;display:grid}@media (width<=600px){.gl-selene-carnet__spread{grid-template-columns:1fr}}.gl-selene-carnet__illu,.gl-feui-discovery__illu{margin:0 0 .75rem}.gl-selene-carnet__illu img,.gl-feui-discovery__illu img{border-radius:var(--gl-radius-control);filter:sepia(.12);max-width:100%;height:auto;display:block;box-shadow:0 4px 14px #3c2d191f}.gl-chapter-illustration{margin:0 0 1rem}.gl-chapter-illustration--cover{margin-bottom:1.1rem}.gl-chapter-illustration img{border-radius:var(--gl-radius-control);filter:sepia(.12);max-width:100%;height:auto;display:block;box-shadow:0 4px 14px #3c2d191f}.gl-chapter-scenes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem;margin-top:1.25rem;display:grid}.gl-chapter-scenes .gl-chapter-illustration{margin:0}.gl-selene-carnet__coupe,.gl-feui-discovery__coupe{border-top:1px dashed #c4b5a0;margin-top:.75rem;padding-top:.65rem}.gl-selene-carnet__coupe summary,.gl-feui-discovery__coupe summary{cursor:pointer;font-weight:var(--fw-semibold);margin-bottom:.5rem}.gl-feui-discovery-overlay{z-index:var(--fm-z-popover);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.gl-feui-discovery{border-radius:var(--gl-radius-lg);background:#fffaf0;border:2px solid #d6c4a8;width:min(640px,100%);max-height:min(86vh,900px);padding:1rem 1.1rem;overflow:auto;box-shadow:0 18px 50px #00000040}.gl-feui-discovery.gl-feui-marginalia{transform:rotate(-.6deg)}.gl-feui-discovery.gl-feui-pole{border-top:8px solid var(--gl-color-primary)}.gl-feui-discovery.is-effaced{filter:grayscale(.35)}.gl-feui-discovery__head{padding-right:2rem;position:relative}.gl-feui-discovery__close{font-size:var(--text-md);cursor:pointer;background:0 0;border:0;position:absolute;top:0;right:0}.gl-feui-discovery__foot{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.gl-lore-glossary-popover-overlay{z-index:var(--fm-z-glossary);background:#0f172a66;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.gl-lore-glossary-popover{border-radius:var(--gl-radius-card);border-top:5px solid var(--gl-lore-accent,#047c8c);background:#fff;width:min(520px,100%);padding:1rem;box-shadow:0 16px 40px #0003}.gl-lore-glossary-link{color:var(--gl-lore-accent,#6d28d9);cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.gl-lore-glossary-popover__close{float:right;cursor:pointer;background:0 0;border:0}.gl-marker-appearance-editor .media-library-menu__gallery,.gl-zone-popover-images .media-library-menu__gallery,fieldset .media-library-menu__gallery{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.gl-feuillet-zone-overlay{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}.gl-board-fit-layer .gl-feuillet-zone-polygon{fill:#b453098c;fill-opacity:.15;stroke:#c3753a;vector-effect:non-scaling-stroke;stroke-width:1.5px;pointer-events:none;transition:fill-opacity .2s,stroke-width .2s}.gl-feuillet-zone-polygon.is-near{fill-opacity:.28;stroke-width:2.5px}.gl-feuillet-zone-polygon.is-read{fill-opacity:.06;stroke-opacity:.35;opacity:.35}.gl-feuillet-zone-editor-layer .gl-feuillet-zone-polygon{pointer-events:auto;cursor:pointer}.gl-feuillet-zone-polygon.is-selected{stroke-width:3px;fill-opacity:.25}.gl-feuillet-zone-centre,.gl-feuillet-zone-label{transform-box:fill-box;transform-origin:50%;transform:scale(1, var(--map-fit-aspect,1))}.gl-feuillet-zone-centre{fill:#b45309;stroke:#fff;vector-effect:non-scaling-stroke;stroke-width:1px;pointer-events:none}.gl-feuillet-zone-label{fill:#1f2937;pointer-events:none;font-size:2px}.gl-kingdom-zone-polygon,.gl-kingdom-zone-draft,.gl-pct-edit-zone-translate{vector-effect:non-scaling-stroke;stroke-width:2px}.gl-kingdom-zone-polygon--dimmed{stroke-width:1.5px}.gl-pct-edit-overlay circle{transform-box:fill-box;transform-origin:50%;transform:scale(1, var(--map-fit-aspect,1))}.gl-pct-edit-overlay circle,.gl-pct-edit-overlay line{vector-effect:non-scaling-stroke}.gl-pct-edit-pt-ring{stroke-width:2px}.gl-pct-edit-pt-cross line{stroke-width:1.5px}.gl-feuillet-zone-handle{cursor:grab;z-index:8;pointer-events:auto;background:#b45309;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin:-11px 0 0 -11px;padding:0;display:inline-flex;position:absolute;box-shadow:0 0 0 1px #00000040}.gl-feuillet-zone-handle__number{color:#fff;font-size:var(--text-2xs);font-weight:var(--fw-bold);pointer-events:none;text-shadow:0 1px 1px #00000059;line-height:1}.gl-feuillet-zone-handle.is-selected{background:#047c8c}.gl-feuillet-zone-debug-panel{z-index:var(--fm-z-dock);border-radius:var(--gl-radius-md);background:#fffdf8f5;border:1px solid #e7dcc8;width:min(320px,100vw - 24px);max-height:50vh;padding:.75rem .9rem;position:fixed;bottom:12px;right:12px;overflow:auto;box-shadow:0 8px 24px #0000001f}.gl-feuillet-zone-debug-list{margin:.5rem 0;padding:0;list-style:none}.gl-feuillet-zone-debug-list button{text-align:left;border-radius:var(--gl-radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;gap:.5rem;width:100%;padding:.35rem .4rem;display:flex}.gl-feuillet-zone-debug-list button.is-active{background:color-mix(in srgb, var(--gl-color-primary) 12%, white)}.gl-feuillet-zone-debug-state{opacity:.75;font-size:.85em}.gl-feuillet-zone-debug-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.gl-plateau-edit-banner{z-index:15;border-radius:var(--gl-radius-sm);max-width:calc(100% - 16px);font-size:var(--text-sm);text-align:center;color:#1f2937;pointer-events:none;background:#fffdf8eb;border:1px solid #e7dcc8;padding:.35rem .65rem;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000014}.gl-plateau-edit-panel{border-radius:var(--gl-radius-md);width:100%;max-height:none;box-shadow:none;background:#fffdf8f5;border:1px solid #e7dcc8;margin-top:.75rem;padding:.75rem .9rem;overflow:visible}.gl-plateau-map-editor{flex-direction:column;display:flex}.gl-plateau-map-editor__map-slot{min-height:200px;position:relative}.gl-plateau-edit-panel__subtitle{font-size:var(--text-base);margin:.65rem 0 .35rem}.gl-plateau-edit-list{margin:.35rem 0;padding:0;list-style:none}.gl-plateau-edit-list button{text-align:left;border-radius:var(--gl-radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.35rem .4rem;display:flex}.gl-plateau-edit-list .gl-markers-list__path-number{flex-shrink:0;margin-right:0}.gl-plateau-edit-list__label{flex:1;min-width:0}.gl-plateau-edit-list button.is-active{background:color-mix(in srgb, var(--gl-color-primary) 12%, white)}.gl-plateau-edit-state,.gl-plateau-edit-coords-inline{opacity:.75;white-space:nowrap;font-size:.85em}.gl-plateau-edit-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.gl-board-marker.is-selected{outline:2px solid var(--gl-select-ink);outline-offset:2px;box-shadow:0 0 0 2px var(--gl-select-border);z-index:9}.gl-feuillet-popover__body{font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:var(--lh-relaxed)}.gl-feuillet-popover__mechanics{font-size:var(--text-md);font-weight:var(--fw-semibold);flex-wrap:wrap;gap:.75rem 1.25rem;margin:.75rem 0 0;display:flex}.gl-intro-overlay{z-index:var(--fm-z-modal);background:#000;position:fixed;inset:0}.gl-intro-overlay__frame{background:#0b0805;border:0;width:100%;height:100%;display:block}.gl-intro-overlay__skip{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:calc(var(--fm-z-modal) + 1);border:1px solid color-mix(in srgb, var(--gl-color-secondary) 35%, transparent);color:var(--gl-color-secondary);border-radius:var(--gl-radius-pill);cursor:pointer;background:#00000073;padding:.45rem .9rem;font:italic 500 .95rem/1.3 Cormorant Garamond,Georgia,serif;position:fixed}.gl-intro-overlay__skip:hover{color:#e6c074;border-color:#e6c074}.gl-subtabs button,.gl-glossary-popover__close,.gl-help-panel>header button,.gl-forum-thread>header>button{position:relative}.gl-subtabs button:after,.gl-glossary-popover__close:after,.gl-help-panel>header button:after,.gl-forum-thread>header>button:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qcm-preview__photo{margin:0 0 12px}.qcm-preview__photo-img{border-radius:8px;max-width:100%;height:auto;display:block}.qcm-preview__photo-caption{font-size:var(--text-xs);color:var(--gl-muted,#8aa193);margin-top:4px;line-height:1.35}.qcm-preview__photo-caption .qcm-photo__legende{font-weight:var(--fw-semibold)}.gl-notifications-group+.gl-notifications-group{margin-top:var(--gl-space-3,12px)}.gl-notifications-group-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--gl-color-text);opacity:.75;align-items:center;gap:6px;margin:0 0 6px;display:flex}.gl-notifications-group-unread{background:var(--gl-color-primary);color:#fff;min-width:18px;font-size:var(--text-2xs);text-align:center;border-radius:999px;padding:0 5px}.gl-notifications-date{font-size:var(--text-2xs);opacity:.7;margin-top:2px;display:block}.gl-notifications-panel li.is-important{border-left:3px solid var(--gl-ink-warning,#b45309);padding-left:8px}.gl-notifications-panel li.is-critical{border-left:3px solid var(--gl-ink-danger,#b91c1c);padding-left:8px}
