/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.hidden{display:none}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--cream:#fff1d2;--muted:#b8aabd;--apricot:#ffae72;--cyan:#70f4ee;--site-font:"Microsoft YaHei", "微软雅黑", sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--cream);font-family:var(--site-font);background:radial-gradient(circle at 50% -10%,#964a606b,#0000 38rem),linear-gradient(#19131e,#100d14);margin:0;overflow-x:hidden}button,a,input,textarea,select,option{font:inherit}button{color:inherit}.portal-shell{flex-direction:column;gap:9px;width:min(100%,1720px);min-height:100vh;margin:0 auto;padding:14px clamp(12px,2.3vw,36px) 12px;display:flex}.topbar,.scene-footer{justify-content:space-between;align-items:center;min-height:42px;padding-inline:4px;display:flex}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#1c1520;background:linear-gradient(145deg,#ffd185,#ff8d73);border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 0 24px #ff9f6859}.brand strong{letter-spacing:.16em;font-size:13px;display:block}.brand div span{color:#bfb2c3;margin-top:3px;font-size:11px;display:block}.status,.sound-chip{color:#d8cbdc;background:#1f1825b8;border:1px solid #ffffff1f;border-radius:999px;padding:9px 13px;font-size:12px}.status i{background:#7ff2b3;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 11px #7ff2b3}.scene-frame{background:linear-gradient(145deg,#ffbf7b2e,#1f1724d6);border:1px solid #ffc17e40;border-radius:22px;width:min(100%,158vh);margin:auto;padding:7px;box-shadow:0 26px 80px #00000061}.scene{aspect-ratio:16/9;width:100%;image-rendering:pixelated;isolation:isolate;-webkit-user-select:none;user-select:none;background:url(/ai-studio.png) 50%/100% 100% no-repeat;border-radius:16px;position:relative;overflow:hidden}.scene-vignette{z-index:1;pointer-events:none;background:linear-gradient(#140d1b0d 54%,#140d1b1f),radial-gradient(#0000 60%,#100a132b);position:absolute;inset:0}.card-close{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;width:28px;height:28px;position:absolute;top:10px;right:12px}.card-close:hover{background:#ffffff24}.pig{--cell-w:80px;--cell-h:87px;z-index:8;width:var(--cell-w);height:var(--cell-h);pointer-events:none;will-change:left, top, transform;position:absolute;transform:translate(-50%,-90%)}.pig-character{background-image:url(/fen-zhu.webp);background-size:calc(var(--cell-w) * 8) calc(var(--cell-h) * 11);transform-origin:50% 72%;z-index:2;filter:drop-shadow(0 7px 4px #1f0d1457);image-rendering:auto;will-change:transform, background-position, filter;background-position:0 0;background-repeat:no-repeat;position:absolute;inset:0}.pig.idle .pig-character{animation:1.35s step-end infinite pigIdle}.pig.walking .pig-character{animation:.32s ease-in-out infinite alternate pigStep}.pig-shadow{z-index:0;filter:blur(3px);background:#22121742;border-radius:50%;height:12%;position:absolute;bottom:4px;left:23%;right:23%}.pig-action-prop,.pig-fx{z-index:4;opacity:0;pointer-events:none;position:absolute}.pig.action-read .pig-character{animation:3.6s step-end both pigReadFrames,3.6s ease-in-out both pigReadMotion}.pig.action-read .pig-action-prop{transform-origin:50% 100%;background:linear-gradient(90deg,#0000 47%,#663d32b8 47% 53%,#0000 53%),repeating-linear-gradient(0deg,#0000 0 5px,#7c4e3c57 5px 6px),linear-gradient(90deg,#ffe9ad 0 48%,#ffd58f 48% 52%,#fff0bd 52% 100%);border:3px solid #603d36;border-radius:5px 5px 9px 9px;width:55px;height:30px;animation:3.6s cubic-bezier(.2,.8,.2,1) both bookOpen;bottom:1px;left:50%;box-shadow:0 5px #482a2552,0 8px 12px #27141940}.pig.action-read .pig-action-prop:after{content:"";border-top:2px solid #77463647;border-bottom:2px solid #77463638;position:absolute;inset:4px 6px}.pig.action-game .pig-character{animation:3.3s step-end both pigGameFrames,.24s steps(2,end) .62s 5 pigGameMotion}.pig.action-game .pig-action-prop{background:linear-gradient(#8ba5ae,#516771);border:3px solid #2c2730;border-radius:8px 8px 12px 12px;width:50px;height:25px;animation:3.3s cubic-bezier(.2,.8,.2,1) both controllerIn;bottom:12px;left:50%;box-shadow:inset 0 3px #ffffff2e,0 6px 9px #190f1857}.pig.action-game .pig-action-prop:before{content:"";background:#282832;border-radius:1px;width:5px;height:12px;position:absolute;top:5px;left:8px;box-shadow:-4px 4px 0 -1px #282832,4px 4px 0 -1px #282832}.pig.action-game .pig-action-prop:after{content:"";background:#ff8a7a;border-radius:50%;width:5px;height:5px;animation:.36s steps(2,end) .85s 5 controllerButtons;position:absolute;top:7px;right:9px;box-shadow:7px 4px #ffd06e,-5px 8px #70f4ee}.pig.action-launch{z-index:10;animation:3.8s cubic-bezier(.2,.75,.25,1) both pigLaunchPath}.pig.action-launch .pig-character{animation:3.8s step-end both pigLaunchFrames}.pig.action-launch .pig-shadow{animation:3.8s ease-in-out both launchShadow}.pig.action-launch .pig-fx-a{z-index:1;clip-path:polygon(16% 0,84% 0,100% 35%,72% 100%,50% 76%,28% 100%,0 35%);filter:drop-shadow(0 0 9px #ff7e4fd1);background:linear-gradient(90deg,#0000 0 22%,#ff7c56 22% 78%,#0000 78%),linear-gradient(#fff3a8,#ffbd5f 45%,#ff6f5d 70%,#0000 100%);width:28px;height:43px;animation:3.8s steps(3,end) both rocketFlame;bottom:-25px;left:50%;transform:translate(-50%)}.pig.action-launch .pig-fx-b{z-index:0;border:2px solid #ffc772b8;border-radius:50%;width:22px;height:8px;animation:3.8s ease-out both launchRing;bottom:2px;left:50%}.pig.action-spin{z-index:10;animation:2.9s ease-in-out both pigSpinShell}.pig.action-spin .pig-character{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -4);animation:2.9s cubic-bezier(.32,.02,.2,1) both pigThomasSpin}.pig.action-spin .pig-fx-a{z-index:0;filter:drop-shadow(0 0 8px #ffae726b);border:4px solid #ffb36e94;border-color:#ffb36e94 #70f4ee #ffb36e94 #0000;border-radius:50%;width:112px;height:34px;animation:2.9s ease-in-out both spinOrbit;top:47%;left:50%}.pig.action-celebrate{z-index:10;animation:3.5s cubic-bezier(.2,.8,.2,1) both pigVictoryBounce}.pig.action-celebrate .pig-character{animation:3.5s step-end both pigVictoryFrames,3.5s ease-in-out both pigVictorySway}.pig.action-celebrate .pig-fx{filter:drop-shadow(0 0 5px);background:#ffd56f;border-radius:1px;width:6px;height:6px;box-shadow:18px 6px #70f4ee,-17px 11px #ff8f7a,10px 27px #fff0c7,-14px 31px #ffb96f}.pig.action-celebrate .pig-fx-a{animation:3.5s ease-out both victorySparkA;top:4%;left:17%}.pig.action-celebrate .pig-fx-b{animation:3.5s ease-out both victorySparkB;top:9%;right:16%}.pig.action-celebrate .pig-fx-c{animation:3.5s ease-out both victorySparkC;top:-8%;left:49%}.object-hotspot{z-index:4;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:18px;outline:none;position:absolute;transform:translate(-50%,-50%)}.object-hotspot:disabled{pointer-events:none;cursor:default}.object-glow-layer{z-index:3;object-fit:fill;opacity:.52;mix-blend-mode:screen;image-rendering:auto;filter:brightness(1.06)saturate(1.08);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:opacity .2s,filter .2s;animation:2.35s ease-in-out infinite objectGlow;position:absolute;inset:0}.object-number{color:var(--signal);letter-spacing:.08em;opacity:.7;font-size:8px;position:absolute;top:4px;right:5px}.object-tag{border:1px solid var(--signal);padding:5px 8px;position:absolute;bottom:-25px;left:50%;transform:translate(-50%,4px)}@supports (color:color-mix(in lab, red, red)){.object-tag{border:1px solid color-mix(in srgb, var(--signal) 25%, transparent)}}.object-tag{color:#f2ffff;white-space:nowrap;letter-spacing:.05em;opacity:0;background:#18191fd6;border-radius:6px;font-size:9px;transition:opacity .2s,transform .2s;box-shadow:0 4px 18px #0000003d}.object-hotspot:not(:disabled):hover .object-tag,.object-hotspot:not(:disabled):focus-visible .object-tag,.object-hotspot.near .object-tag{opacity:1;transform:translate(-50%)}.object-glow-layer.near{opacity:.96;filter:brightness(1.35)saturate(1.18);animation:.82s ease-in-out infinite alternate objectGlowNear}.sage-book-effect{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sage-book-effect>span,.sage-glyph-fountain,.sage-glyph{display:block;position:absolute}.sage-book-ground-light{z-index:0;mix-blend-mode:screen;filter:blur(4px);background:radial-gradient(#ffda786b,#ffad3c21 44%,#0000 72%);border-radius:50%;width:16%;height:8.5%;animation:2.8s ease-in-out infinite sageGroundPulse;top:50.5%;left:89.15%;transform:translate(-50%,-50%)}.sage-book-rune-ring{z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 4px #ffc64fcc);border:1px dashed #ffe1898f;border-radius:50%;top:49.3%;left:89.15%;transform:translate(-50%,-50%)}.sage-book-rune-ring:before,.sage-book-rune-ring:after{content:"✦";color:#ffe7a0;font:700 clamp(5px, .55vw, 9px) var(--site-font);text-shadow:0 0 6px #ffbc45;position:absolute;top:50%}.sage-book-rune-ring:before{left:-4px;transform:translateY(-50%)}.sage-book-rune-ring:after{right:-4px;transform:translateY(-50%)}.sage-book-rune-ring-outer{width:12.8%;height:7.1%;animation:13s linear infinite sageRuneOrbit}.sage-book-rune-ring-inner{border-style:dotted;border-color:#fff1b57a;width:9.8%;height:5.1%;animation:8s linear infinite sageRuneOrbitReverse}.sage-book-shimmer{z-index:2;clip-path:polygon(84.4% 37.8%,87.2% 37.1%,89.4% 39.2%,91.6% 37.2%,94% 39.5%,93.9% 49.7%,89.5% 49.1%,85.2% 49.8%,84.1% 44.8%);opacity:.52;mix-blend-mode:screen;filter:sepia(.9)saturate(2.2)brightness(1.25)contrast(1.06)drop-shadow(0 0 4px #ffe99ceb)drop-shadow(0 0 11px #ffb130c2);background:url(/ai-studio.png) 50%/100% 100% no-repeat;animation:2.8s steps(12,end) infinite sageBookObjectPulse;inset:0}.sage-book-page-light{z-index:3;clip-path:polygon(3% 19%,27% 4%,49% 19%,73% 4%,98% 20%,96% 84%,51% 96%,4% 84%);mix-blend-mode:screen;filter:blur(.3px)drop-shadow(0 0 7px #ffd36be6);opacity:.76;background:linear-gradient(90deg,#0000 48%,#fff8c1b3 50%,#0000 52%),radial-gradient(at 50% 55%,#fff5b780,#ffc0413d 45%,#0000 73%);width:10.6%;height:15.8%;animation:2.8s ease-in-out infinite sagePageBreath;top:43.2%;left:89.15%;transform:translate(-50%,-50%)rotate(-1deg)}.sage-book-spark{z-index:4;color:#fff0ae;background:currentColor;border-radius:1px;width:3px;height:3px;animation:2.4s steps(7,end) infinite sageSpark;box-shadow:0 0 5px #ffd05f,0 0 11px #ffb12fcc}.sage-book-spark:before,.sage-book-spark:after{content:"";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sage-book-spark:before{width:9px;height:1px}.sage-book-spark:after{width:1px;height:9px}.sage-book-spark-a{animation-delay:-.6s;top:41.7%;left:85.6%}.sage-book-spark-b{animation-duration:3.1s;animation-delay:-1.7s;top:39.4%;left:92.4%}.sage-book-spark-c{animation-duration:2.7s;animation-delay:-2.3s;top:48.1%;left:90.8%}.sage-glyph-fountain{z-index:4;width:11%;height:1px;top:43.2%;left:89.15%;transform:translate(-50%)}.sage-glyph{z-index:1;color:#ffeab0;font:700 clamp(15px, 1.62vw, 27px)/1 var(--site-font);letter-spacing:.02em;text-shadow:0 0 3px #fff8ce,0 0 9px #ffc14f,0 0 17px #ff911ce0;-webkit-text-stroke:.35px #60310e94;paint-order:stroke fill;mix-blend-mode:screen;opacity:0;will-change:transform, opacity, filter;animation:sageGlyphRise var(--glyph-duration) steps(24, end) var(--glyph-delay) infinite;bottom:0;left:50%}.sage-book-effect.near .sage-book-shimmer{opacity:.72;filter:sepia()saturate(2.45)brightness(1.38)contrast(1.08)drop-shadow(0 0 5px #fff5bafa)drop-shadow(0 0 15px #ffb42deb)}.sage-book-effect.near .sage-book-page-light{opacity:.96;transform:translate(-50%,-50%)scale(1.04)}.sage-book-effect.near .sage-glyph{text-shadow:0 0 4px #fff8cf,0 0 10px #ffc24e,0 0 18px #ff931ee6}.sage-book-effect.near .sage-book-rune-ring{border-color:#ffeea3c7}.sage-book-hotspot{z-index:7;cursor:pointer;background:0 0;border:0;border-radius:40% 40% 24% 24%;outline:none;position:absolute;transform:translate(-50%,-50%)}.sage-book-hotspot:disabled{pointer-events:none;cursor:default}.sage-book-hotspot:focus-visible{outline-offset:3px;outline:1px solid #ffe28d}.sage-book-prompt{color:#fff6d9;background:linear-gradient(135deg,#372318f0,#1f181deb);border-color:#ffd36d7a;box-shadow:0 12px 38px #00000057,0 0 28px #ffb4322e,inset 0 0 22px #ffda780d}.sage-book-prompt small{color:#d8c396}.sage-prompt-key{color:#4b2c1e;background:linear-gradient(145deg,#fff0b7,#e8aa45);border:1px solid #ffe69cad;border-bottom-width:3px;border-radius:7px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid;box-shadow:0 0 13px #ffc34b57}.interaction-prompt{z-index:15;color:#f5ffff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#1a171fe0;border:1px solid #70f4ee52;border-radius:12px;align-items:center;gap:10px;min-width:230px;padding:9px 13px;animation:.25s ease-out both promptIn;display:flex;position:absolute;bottom:4.5%;left:50%;transform:translate(-50%);box-shadow:0 12px 38px #00000052,0 0 24px #70f4ee14}.interaction-prompt b,.interaction-prompt small{text-align:left;display:block}.interaction-prompt b{font-size:11px}.interaction-prompt small{color:#aeb8ba;margin-top:2px;font-size:9px}.prompt-dot{background:var(--cyan);width:9px;height:9px;box-shadow:0 0 12px var(--cyan);border-radius:50%}.dpad{display:none}.scene-footer{color:#8f8294;letter-spacing:.04em;font-size:11px}.sound-chip{color:#b8aabd;padding-block:7px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0e0910bd;place-items:center;padding:22px;animation:.2s ease-out both fadeIn;display:grid;position:fixed;inset:0}.tome-backdrop{background:radial-gradient(circle at 50% 47%,#ffbe442b,#0000 35%),#0c080dd1}.tome-card{color:#4b2d22;filter:drop-shadow(0 34px 60px #00000094);grid-template-columns:.86fr 24px 1.14fr;width:min(980px,94vw);min-height:min(590px,82vh);animation:.48s cubic-bezier(.17,.84,.27,1) both tomeOpen;display:grid;position:relative}.tome-card:before{content:"";z-index:-2;background:linear-gradient(145deg,#6f3a21,#321d19 54%,#89502a);border:2px solid #7e4825;border-radius:30px 36px 28px 34px;position:absolute;inset:-14px -18px;box-shadow:0 0 0 4px #2a1714,inset 0 0 0 3px #ffc0542e,0 0 55px #ffa92b30}.tome-card:after{content:"";z-index:-1;background:repeating-linear-gradient(0deg,#9d7444 0 2px,#c59c5f 2px 4px);border-radius:24px 30px 22px 28px;position:absolute;inset:-5px -8px;box-shadow:inset 0 0 18px #4925146b}.tome-leaf{background:radial-gradient(at 11% 7%,#fff4c257,#0000 26%),radial-gradient(at 88% 91%,#60331a29,#0000 30%),radial-gradient(circle at 9% 74%,#75432317 0 1px,#0000 2px 100%) 0 0/31px 27px,radial-gradient(circle at 83% 18%,#703f2112 0 1.5px,#0000 2.5px 100%) 0 0/43px 37px,repeating-linear-gradient(7deg,#58311b06 0 1px,#0000 1px 5px),linear-gradient(103deg,#d8b878,#ecd49a 43%,#d5af6d 100%);min-width:0;padding:clamp(32px,4.1vw,58px);position:relative;overflow:hidden;box-shadow:inset 0 0 52px #4824143d,inset 0 0 0 2px #ffecb129}.tome-leaf:before{content:"";pointer-events:none;border:1px solid #5c331c42;position:absolute;inset:12px;box-shadow:inset 0 0 24px #5e341d1a}.tome-leaf-left{border-radius:20px 4px 4px 24px}.tome-leaf-right{border-radius:4px 24px 20px 4px;animation:.35s ease-out both tomePageReveal}.tome-spine{z-index:3;background:linear-gradient(90deg,#401f146b,#ffebb18f 47%,#47211461);margin:3px -8px;position:relative;box-shadow:-6px 0 12px #4e2b192b,6px 0 12px #4e2b192b}.tome-close{z-index:8;color:#ffe7ad;background:#5c311f;border-color:#ffe0916b;top:-3px;right:-2px;box-shadow:0 0 14px #ffba3e40}.tome-corner{z-index:7;filter:drop-shadow(0 0 4px #ffb74152);pointer-events:none;border-color:#d99c42;width:29px;height:29px;position:absolute}.tome-corner-tl{border-top:4px solid;border-left:4px solid;top:-8px;left:-12px}.tome-corner-tr{border-top:4px solid;border-right:4px solid;top:-8px;right:-12px}.tome-corner-bl{border-bottom:4px solid;border-left:4px solid;bottom:-8px;left:-12px}.tome-corner-br{border-bottom:4px solid;border-right:4px solid;bottom:-8px;right:-12px}.tome-sigil{aspect-ratio:1;background:radial-gradient(circle, #efd29147, #74422314 48%, transparent 49%), repeating-conic-gradient(from 0deg, transparent 0 29deg, #60351d33 29deg 30deg);border:1px solid #6f3d216e;border-radius:50%;place-items:center;width:clamp(88px,10vw,126px);margin:0 auto 22px;display:grid;box-shadow:inset 0 0 0 8px #693a2012}.tome-sigil span{aspect-ratio:1;color:#8a4c25;width:48%;font:700 clamp(22px, 3vw, 38px) var(--site-font);border:1px solid #67381f66;place-items:center;display:grid;transform:rotate(45deg)}.tome-sigil span:first-letter{transform:rotate(-45deg)}.tome-volume{text-align:center;color:#7d4a2b;font:800 10px/1.2 var(--site-font);letter-spacing:.2em;display:block}.tome-leaf-left>p{text-align:center;color:#552f1f9e;font:700 11px var(--site-font);letter-spacing:.16em;margin:8px 0 28px}.tome-index{gap:8px;display:grid}.tome-index button{color:#4c2b1ea8;text-align:left;width:100%;font:600 11px/1.3 var(--site-font);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:12px;padding:11px 12px;display:flex}.tome-index button span{color:#7a492975;font:700 9px var(--site-font);letter-spacing:.08em}.tome-index button:hover{background:#884d2712}.tome-index button.active{color:#5c321f;background:#eed39747;border-color:#844b263b;box-shadow:inset 3px 0 #b9772e}.tome-eyebrow{color:#a2682d;font:800 9px/1.2 var(--site-font);letter-spacing:.18em}.tome-leaf-right h2{font:700 clamp(28px, 3.8vw, 48px)/1.08 var(--site-font);color:#4c2b20;margin:12px 0}.tome-description{color:#4d2c1fad;min-height:48px;font:13px/1.7 var(--site-font);margin:0}.tome-writing-placeholder{min-height:210px;margin-top:25px;padding-top:12px;position:relative}.tome-writing-placeholder span{border-bottom:1px solid #683d262b;width:100%;height:28px;display:block}.tome-writing-placeholder span:nth-child(2){width:92%}.tome-writing-placeholder span:nth-child(3){width:96%}.tome-writing-placeholder span:nth-child(4){width:83%}.tome-writing-placeholder span:nth-child(5){width:68%}.tome-writing-placeholder b{color:#6f402575;font:700 11px var(--site-font);letter-spacing:.12em;background:#dcbc7cb8;border:1px solid #7c48272e;padding:8px 14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-2deg)}.token-placeholder{margin-top:24px}.token-stat-row{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.token-stat-row>span{background:#fff6cd38;border:1px solid #6f40262b;padding:12px}.token-stat-row small,.token-stat-row strong{display:block}.token-stat-row small{color:#5a33228a;font-size:9px}.token-stat-row strong{color:#704226;font:700 20px var(--site-font);margin-top:8px}.token-chart{opacity:.6;border-bottom:1px solid #653a2436;border-left:1px solid #653a2436;align-items:end;gap:clamp(4px,.75vw,10px);height:132px;margin-top:17px;padding:12px 10px 0;display:flex}.token-chart i{height:var(--bar-height);background:repeating-linear-gradient(90deg,#b97b36 0 2px,#d39b51 2px 4px);border-radius:2px 2px 0 0;flex:1;min-width:3px;box-shadow:0 0 8px #bc772b14}.tome-empty-note{color:#683b2478;font:700 9px var(--site-font);letter-spacing:.1em;text-align:right;margin-top:9px;display:block}.tome-pagination{justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:24px;left:clamp(32px,4.1vw,58px);right:clamp(32px,4.1vw,58px)}.tome-pagination button{color:#7d4b2d;font:700 10px var(--site-font);cursor:pointer;background:0 0;border:0;padding:7px 4px}.tome-pagination button:disabled{opacity:.28;cursor:default}.tome-pagination span{color:#59322180;font:700 9px var(--site-font);letter-spacing:.12em}.app-card{background:linear-gradient(145deg,#341f30fa,#1b1621fc),#211a26;border:1px solid #ffd39e47;border-radius:26px;grid-template-columns:minmax(170px,.8fr) 1.35fr;align-items:center;gap:clamp(25px,4vw,48px);width:min(720px,96vw);min-height:380px;padding:clamp(28px,4vw,48px);animation:.34s cubic-bezier(.2,.8,.2,1) both appCardIn;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 110px #0000008c,inset 0 1px #ffffff14}.app-card:after{content:"";pointer-events:none;background:radial-gradient(#ff98771f,#0000 65%);height:70%;position:absolute;inset:auto -10% -50% 15%}.card-close{z-index:3;width:34px;height:34px;top:18px;right:18px}.card-signal{aspect-ratio:1;background:#ffffff0a;border:1px solid #ffffff24;border-radius:38%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 40px #ffffff0a}.card-signal>span:last-child{font:700 clamp(34px, 5vw, 62px) var(--site-font);color:#fff3dd}.card-signal.online{box-shadow:inset 0 0 50px #70f4ee1a,0 0 55px #70f4ee17}.card-signal.building{box-shadow:inset 0 0 50px #ffae721a,0 0 55px #ffae7217}.signal-orbit{border:1px dashed #ffffff3d;border-radius:50%;animation:18s linear infinite spin;position:absolute;inset:13%}.card-content{z-index:2;position:relative}.card-meta{color:#c5b8c8;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;display:flex}.status-pill{letter-spacing:.04em;border-radius:999px;padding:4px 7px}.status-pill.online{color:#aafffa;background:#70f4ee1a}.status-pill.building{color:#ffd0aa;background:#ffae721a}.card-content h2{font:700 clamp(28px, 4vw, 46px)/1.05 var(--site-font);margin:13px 0 10px}.card-content>p{color:#cbbfca;margin:0;font-size:14px;line-height:1.75}.object-note{color:#a89baa;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:20px;margin-top:22px;padding:12px 0;font-size:11px;display:flex}.object-note strong{color:#eee1e8;font-weight:600}.card-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.pending-link{color:#847888;font-size:11px}.card-actions button{color:#ffe8cf;cursor:pointer;background:#ffa97017;border:1px solid #ffb87f59;border-radius:9px;padding:10px 14px}.card-actions button:hover{background:#ffa97029}@keyframes objectGlow{0%,to{opacity:.14}50%{opacity:.26}}@keyframes objectGlowNear{0%{opacity:.86}to{opacity:1}}@keyframes sageGroundPulse{0%,to{opacity:.45;transform:translate(-50%,-50%)scale(.86,.78)}48%{opacity:.9;transform:translate(-50%,-50%)scaleX(1.08)}}@keyframes sageRuneOrbit{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes sageRuneOrbitReverse{to{transform:translate(-50%,-50%)rotate(-360deg)}}@keyframes sageBookObjectPulse{0%,to{opacity:.38}18%{opacity:.58}44%{opacity:.43}63%{opacity:.7}82%{opacity:.48}}@keyframes sagePageBreath{0%,to{opacity:.46;transform:translate(-50%,-50%)rotate(-1deg)scale(.94)}24%{opacity:.74}55%{opacity:.94;transform:translate(-50%,-50%)rotate(.6deg)scale(1.05)}78%{opacity:.62}}@keyframes sageSpark{0%,to{opacity:0;transform:scale(.2)rotate(0)}14%{opacity:.95;transform:scale(1)rotate(45deg)}28%{opacity:.18;transform:scale(.42)rotate(90deg)}67%{opacity:.8;transform:scale(.78)rotate(135deg)}78%{opacity:0;transform:scale(.18)rotate(180deg)}}@keyframes sageGlyphRise{0%{opacity:0;transform:translate(calc(-50% + var(--glyph-x)), 15px) scale(calc(var(--glyph-scale) * 1.05)) rotate(-8deg);filter:blur(1px)}13%{opacity:0;filter:blur(.7px)}21%{opacity:1;filter:blur()}52%{opacity:.92}69%{opacity:.56}79%{opacity:0}to{opacity:0;transform:translate(calc(-50% + var(--glyph-x) + var(--glyph-drift)), clamp(-140px, -10vw, -55px)) scale(calc(var(--glyph-scale) * 1.95)) rotate(16deg);filter:blur(1.2px)}}@keyframes tomeOpen{0%{opacity:0;transform:perspective(1000px)rotateX(18deg)scale(.72,.18)}56%{opacity:1;transform:perspective(1000px)rotateX(-2deg)scale(1.025,1.02)}to{opacity:1;transform:perspective(1000px)rotateX(0)scale(1)}}@keyframes tomePageReveal{0%{opacity:.25;transform-origin:0;transform:perspective(900px)rotateY(-12deg)}to{opacity:1;transform-origin:0;transform:perspective(900px)rotateY(0)}}@keyframes pigIdle{0%,16.6%{background-position:0 0}16.7%,33.2%{background-position:calc(var(--cell-w) * -1) 0}33.3%,49.9%{background-position:calc(var(--cell-w) * -2) 0}50%,66.5%{background-position:calc(var(--cell-w) * -3) 0}66.6%,83.2%{background-position:calc(var(--cell-w) * -4) 0}83.3%,to{background-position:calc(var(--cell-w) * -5) 0}}@keyframes pigStep{0%{transform:translateY(0)rotate(-.8deg)}to{transform:translateY(-3px)rotate(.8deg)}}@keyframes pigReadFrames{0%,11%{background-position:0 calc(var(--cell-h) * -6)}12%,27%{background-position:calc(var(--cell-w) * -1) calc(var(--cell-h) * -6)}28%,43%{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -6)}44%,59%{background-position:calc(var(--cell-w) * -3) calc(var(--cell-h) * -6)}60%,75%{background-position:calc(var(--cell-w) * -4) calc(var(--cell-h) * -6)}76%,91%{background-position:calc(var(--cell-w) * -5) calc(var(--cell-h) * -6)}92%,to{background-position:0 0}}@keyframes pigReadMotion{0%{transform:translateY(0)scale(1)}10%{transform:translateY(3px)scale(1.03,.97)}27%,44%,61%,78%{transform:translateY(1px)rotate(-1deg)}35%,52%,69%,86%{transform:translateY(3px)rotate(1deg)}94%{transform:translateY(2px)scale(1.02,.98)}to{transform:translateY(0)scale(1)}}@keyframes bookOpen{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.45,.15)}10%{opacity:1;transform:translate(-50%)translateY(2px)scale(1.08,.72)}18%,82%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}47%{opacity:1;transform:translate(-50%)translateY(-1px)scale(1.02,.96)rotate(-1deg)}88%{opacity:1;transform:translate(-50%)translateY(1px)scale(.96,.8)}to{opacity:0;transform:translate(-50%)translateY(8px)scale(.5,.12)}}@keyframes pigGameFrames{0%,12%{background-position:0 calc(var(--cell-h) * -7)}13%,27%{background-position:calc(var(--cell-w) * -1) calc(var(--cell-h) * -7)}28%,42%{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -7)}43%,57%{background-position:calc(var(--cell-w) * -3) calc(var(--cell-h) * -7)}58%,72%{background-position:calc(var(--cell-w) * -4) calc(var(--cell-h) * -7)}73%,88%{background-position:calc(var(--cell-w) * -5) calc(var(--cell-h) * -7)}89%,to{background-position:0 0}}@keyframes pigGameMotion{0%{transform:translate(-1px,1px)rotate(-1deg)}to{transform:translate(1px,-1px)rotate(1deg)}}@keyframes controllerIn{0%{opacity:0;transform:translate(-50%)translateY(9px)scale(.5)}12%,84%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}28%,52%,76%{transform:translate(-50%)translateY(-2px)rotate(-2deg)}38%,62%{transform:translate(-50%)translateY(0)rotate(2deg)}to{opacity:0;transform:translate(-50%)translateY(7px)scale(.65)}}@keyframes controllerButtons{0%{filter:brightness(.95);transform:scale(.9)}to{filter:brightness(1.45)drop-shadow(0 0 4px #ffd06e);transform:scale(1.15)}}@keyframes pigLaunchPath{0%{transform:translate(-50%,-90%)scale(1)}10%{transform:translate(-50%,-82%)scale(1.08,.9)}18%{transform:translate(-50%,-94%)scale(.94,1.12)}35%{transform:translate(-50%,-168%)scale(.98,1.03)}48%{transform:translate(-50%,-190%)scale(1.02,.98)rotate(-2deg)}60%{transform:translate(-50%,-184%)scale(.99,1.01)rotate(2deg)}69%{transform:translate(-50%,-190%)scale(1.02,.98)rotate(-1deg)}82%{transform:translate(-50%,-116%)scale(.96,1.08)}89%{transform:translate(-50%,-84%)scale(1.12,.86)}94%{transform:translate(-50%,-98%)scale(.96,1.06)}to{transform:translate(-50%,-90%)scale(1)}}@keyframes pigLaunchFrames{0%,12%{background-position:0 calc(var(--cell-h) * -4)}13%,23%{background-position:calc(var(--cell-w) * -1) calc(var(--cell-h) * -4)}24%,76%{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -4)}77%,91%{background-position:calc(var(--cell-w) * -3) calc(var(--cell-h) * -4)}92%,to{background-position:calc(var(--cell-w) * -4) calc(var(--cell-h) * -4)}}@keyframes launchShadow{0%{opacity:1;transform:scale(1)}20%{opacity:.68;transform:scale(.8)}42%,69%{opacity:.18;filter:blur(5px);transform:scale(.34)}86%{opacity:.74;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes rocketFlame{0%,12%{opacity:0;transform:translate(-50%)scale(.25,.08)}18%{opacity:1;transform:translate(-50%)scale(.8,.65)}28%,70%{opacity:.96;transform:translate(-50%)scaleY(1.12)}75%{opacity:.55;transform:translate(-50%)scale(.62,.46)}82%,to{opacity:0;transform:translate(-50%)scale(.2,.05)}}@keyframes launchRing{0%,10%{opacity:0;transform:translate(-50%)scale(.25)}18%{opacity:.95;transform:translate(-50%)scale(.5)}31%{opacity:0;transform:translate(-50%)scale(2.8)}82%{opacity:0;transform:translate(-50%)scale(.4)}89%{opacity:.75;transform:translate(-50%)scale(.8)}to{opacity:0;transform:translate(-50%)scale(2.2)}}@keyframes pigSpinShell{0%{transform:translate(-50%,-90%)scale(1)}12%{transform:translate(-50%,-82%)scale(1.12,.88)}22%{transform:translate(-50%,-104%)scale(.94,1.08)}52%{transform:translate(-50%,-118%)scale(1.02)}78%{transform:translate(-50%,-101%)scale(1.03,.97)}90%{transform:translate(-50%,-84%)scale(1.12,.86)}to{transform:translate(-50%,-90%)scale(1)}}@keyframes pigThomasSpin{0%,13%{transform:rotate(0)scale(1)}21%{transform:rotate(80deg)scale(.98)}70%{filter:drop-shadow(0 0 12px #ffae729e);transform:rotate(1360deg)scale(1.05)}83%{filter:drop-shadow(0 7px 4px #1f0d1457);transform:rotate(1440deg)scale(1)}90%{transform:rotate(1440deg)scale(1.08,.9)}to{transform:rotate(1440deg)scale(1)}}@keyframes spinOrbit{0%,16%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(0)}27%{opacity:.7;transform:translate(-50%,-50%)scale(.7)rotate(150deg)}63%{opacity:.92;transform:translate(-50%,-50%)scale(1.08)rotate(760deg)}84%{opacity:0;transform:translate(-50%,-50%)scale(1.32)rotate(1040deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(1040deg)}}@keyframes pigVictoryBounce{0%{transform:translate(-50%,-90%)scale(1)}12%{transform:translate(-50%,-84%)scale(1.08,.9)}25%{transform:translate(-50%,-120%)scale(.95,1.08)}38%{transform:translate(-50%,-91%)scale(1.08,.92)}54%{transform:translate(-50%,-112%)scale(.97,1.05)}69%{transform:translate(-50%,-90%)scale(1.05,.95)}84%{transform:translate(-50%,-103%)scale(.98,1.03)}to{transform:translate(-50%,-90%)scale(1)}}@keyframes pigVictoryFrames{0%,11%{background-position:0 calc(var(--cell-h) * -3)}12%,27%{background-position:calc(var(--cell-w) * -1) calc(var(--cell-h) * -3)}28%,43%{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -4)}44%,59%{background-position:calc(var(--cell-w) * -2) calc(var(--cell-h) * -3)}60%,75%{background-position:calc(var(--cell-w) * -3) calc(var(--cell-h) * -4)}76%,91%{background-position:calc(var(--cell-w) * -3) calc(var(--cell-h) * -3)}92%,to{background-position:0 0}}@keyframes pigVictorySway{0%,to{transform:rotate(0)}18%,52%,82%{transform:rotate(-4deg)}34%,67%{transform:rotate(4deg)}}@keyframes victorySparkA{0%,10%{opacity:0;transform:translate(10px,30px)scale(.2)rotate(0)}23%,72%{opacity:1;transform:translate(-12px,-12px)scale(1)rotate(180deg)}to{opacity:0;transform:translate(-24px,-34px)scale(.35)rotate(320deg)}}@keyframes victorySparkB{0%,18%{opacity:0;transform:translate(-8px,24px)scale(.2)rotate(0)}32%,79%{opacity:1;transform:translate(12px,-10px)scale(.9)rotate(-170deg)}to{opacity:0;transform:translate(25px,-28px)scale(.3)rotate(-300deg)}}@keyframes victorySparkC{0%,30%{opacity:0;transform:translate(-50%,24px)scale(.2)rotate(0)}45%,84%{opacity:1;transform:translate(-50%,-14px)scale(1.1)rotate(220deg)}to{opacity:0;transform:translate(-50%,-38px)scale(.2)rotate(360deg)}}@keyframes promptIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes appCardIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:780px),(pointer:coarse){.portal-shell{gap:6px;padding:8px}.topbar{min-height:38px}.brand div span,.status,.scene-footer>span:first-child{display:none}.scene-frame{border-radius:14px;width:100%;padding:4px}.scene{border-radius:10px}.pig{--cell-w:58px;--cell-h:63px}.object-number{display:none}.object-tag{padding:3px 5px;font-size:7px;bottom:-20px}.interaction-prompt{min-width:180px;padding:6px 9px;bottom:3%}.sage-book-rune-ring-outer{width:14.5%}.sage-book-rune-ring-inner{width:11.5%}.sage-glyph{font-size:clamp(12px,2.4vw,18px)}.sage-book-page-light{width:11.8%}.dpad{z-index:16;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:3px;width:96px;height:96px;display:grid;position:absolute;bottom:4%;right:2.5%}.dpad button{color:#fff5e3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;background:#1c1720b8;border:1px solid #ffffff2e;border-radius:8px}.dpad button:active{background:#ffae7247}.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-down{grid-area:2/2}.dpad-right{grid-area:2/3}.scene-footer{min-height:28px}.sound-chip{margin-left:auto;padding:5px 9px;font-size:9px}}@media (max-width:640px){.app-card{grid-template-columns:1fr;gap:18px;min-height:0;padding:28px 22px 22px}.card-signal{justify-self:center;width:120px}.card-content h2{font-size:28px}.card-content>p{font-size:12px}.tome-backdrop{align-items:start;padding:14px;overflow-y:auto}.tome-card{grid-template-columns:1fr;width:min(94vw,520px);min-height:0;margin-block:24px}.tome-spine{display:none}.tome-leaf{padding:31px 26px 64px}.tome-leaf-left{border-radius:18px 18px 4px 4px;padding-bottom:24px}.tome-leaf-right{border-radius:4px 4px 18px 18px;min-height:440px}.tome-sigil{width:72px;margin-bottom:12px}.tome-leaf-left>p{margin-bottom:14px}.tome-index{grid-template-columns:repeat(3,1fr);gap:4px}.tome-index button{text-align:center;justify-content:center;min-height:48px;padding:7px;font-size:8px}.tome-index button span{display:none}.tome-pagination{left:26px;right:26px}.token-stat-row{gap:5px}.token-stat-row>span{padding:9px 7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}