@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Noto+Serif+JP:wght@400;500;700&family=VT323&display=swap");.easing-tome{--parchment:#f2e3c0;--parchment-dark:#e8d4a2;--parchment-shadow:#c9b282;--ink:#2a1d10;--ink-soft:#4a3420;--gold:#c8962a;--gold-bright:#e8b947;--gold-deep:#8a5e1a;--royal:#2d3561;--royal-deep:#1a1f3d;--crimson:#8b2a2a;--crimson-bright:#b8464d;--forest:#2d4a2b;--mana:#4a3a7a;--border-dark:#3d2817;background:radial-gradient(ellipse at 20% 10%,rgba(200,150,42,.08) 0,transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(74,58,122,.12) 0,transparent 50%),repeating-linear-gradient(45deg,transparent 0 20px,rgba(255,255,255,.01) 20px 21px),linear-gradient(180deg,#1a1f3d,#0f1226);color:var(--ink);font-family:"Noto Serif JP",Cormorant Garamond,serif;min-height:100vh;overflow-x:hidden;display:block}.easing-tome *,.easing-tome :after,.easing-tome :before{box-sizing:border-box}.easing-tome .app{max-width:1400px;margin:0 auto;padding:40px 32px 80px}.easing-tome .loop-toggle{font-size:11px;padding:8px 14px;letter-spacing:.25em;margin-left:auto;flex-shrink:0}.easing-tome .loop-toggle.off{color:var(--parchment-dark);border-color:var(--gold-deep);background:linear-gradient(180deg,#2a1d10,#15100a);box-shadow:0 3px 0 var(--border-dark)}.easing-tome .loop-toggle.on{color:#fff;border-color:var(--gold-bright);text-shadow:0 0 10px var(--gold-bright);box-shadow:0 3px 0 var(--border-dark),0 0 16px rgba(232,185,71,.45)}.easing-tome .scroll-title-block{flex:1;min-width:0}.easing-tome .crest-header{text-align:center;padding:48px 24px 56px;position:relative}.easing-tome .crest-header:after,.easing-tome .crest-header:before{content:"❖";position:absolute;top:50%;transform:translateY(-50%);font-size:22px;color:var(--gold-bright);opacity:.6}.easing-tome .crest-header:before{left:15%}.easing-tome .crest-header:after{right:15%}.easing-tome .crest-subtitle{font-family:Cinzel,serif;font-size:11px;letter-spacing:.5em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:16px;opacity:.85}.easing-tome .crest-title{font-family:Cinzel,"Noto Serif JP",serif;font-weight:700;font-size:56px;color:var(--parchment);letter-spacing:.02em;text-shadow:0 2px 0 #000,0 0 30px rgba(200,150,42,.3);line-height:1.1;margin-bottom:12px}.easing-tome .crest-title .accent{color:var(--gold-bright);font-style:italic}.easing-tome .crest-jp{font-family:"Noto Serif JP",serif;font-weight:500;font-size:20px;color:var(--parchment-dark);letter-spacing:.3em;opacity:.9}.easing-tome .crest-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px auto 0;max-width:400px;color:var(--gold)}.easing-tome .crest-divider .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.easing-tome .float-sigil{display:inline-block;animation:easingTomeFloatSigil 3s ease-in-out infinite}@keyframes easingTomeFloatSigil{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes easingTomeBurstPop{0%{transform:scale(.2);opacity:0}30%{transform:scale(1.2);opacity:1}to{transform:scale(1.6);opacity:0}}.easing-tome .scroll{background:radial-gradient(ellipse at center,var(--parchment) 0,var(--parchment-dark) 100%);border:3px solid var(--border-dark);border-radius:4px;box-shadow:0 0 0 1px var(--gold-deep),0 0 0 6px var(--border-dark),0 0 0 7px var(--gold),0 20px 60px rgba(0,0,0,.6),inset 0 0 60px rgba(139,94,26,.15);position:relative;padding:32px 36px}.easing-tome .scroll:before{content:"";position:absolute;inset:8px;border:1px solid rgba(139,94,26,.4);pointer-events:none;border-radius:2px}.easing-tome .scroll-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--gold-deep);position:relative}.easing-tome .scroll-header:after{content:"";position:absolute;bottom:-5px;left:0;right:0;height:1px;background:var(--gold-deep)}.easing-tome .scroll-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--gold-bright);border:2px solid var(--gold);border-radius:4px;font-size:18px;flex-shrink:0}.easing-tome .scroll-title{font-family:Cinzel,"Noto Serif JP",serif;font-weight:700;font-size:22px;color:var(--ink);letter-spacing:.05em}.easing-tome .scroll-title-jp{font-size:13px;color:var(--ink-soft);letter-spacing:.2em;margin-top:2px}.easing-tome .chapter{margin-bottom:48px}.easing-tome .chapter-mark{display:inline-flex;align-items:center;gap:12px;background:var(--royal);color:var(--gold-bright);font-family:Cinzel,serif;font-size:11px;letter-spacing:.4em;text-transform:uppercase;padding:8px 20px;border:1px solid var(--gold);border-radius:2px;margin-bottom:16px;box-shadow:0 4px 12px rgba(0,0,0,.4)}.easing-tome .chapter-mark .num{font-family:VT323,monospace;font-size:16px;color:var(--parchment);background:var(--gold-deep);padding:0 8px;border-radius:1px}.easing-tome .chapter-title{font-family:Cinzel,"Noto Serif JP",serif;font-weight:700;font-size:30px;color:var(--ink);margin-bottom:8px;letter-spacing:.02em}.easing-tome .chapter-desc{color:var(--ink-soft);max-width:760px;line-height:1.8;font-size:15px}.easing-tome .chapter-desc strong{color:var(--crimson)}.easing-tome .lore-plaque{margin-top:16px;background:linear-gradient(180deg,rgba(42,29,16,.06),rgba(74,58,122,.05));border:1px solid var(--gold-deep);border-radius:4px;padding:16px 20px;color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.easing-tome .lore-plaque .badge{font-family:Cinzel,serif;font-size:10px;letter-spacing:.3em;color:var(--gold-bright);background:rgba(0,0,0,.55);padding:4px 10px;border:1px solid var(--gold-deep);border-radius:2px}.easing-tome .lore-plaque .text{font-size:14px;line-height:1.7;color:var(--ink-soft)}.easing-tome .lore-plaque .text strong{color:var(--crimson)}.easing-tome .arena{background:linear-gradient(180deg,#2a3561,#3d5078 50%,#1a2040);border:3px solid var(--border-dark);border-radius:4px;padding:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--gold-deep),0 0 0 5px var(--border-dark),0 0 0 6px var(--gold),inset 0 0 80px rgba(0,0,0,.5)}.easing-tome .arena-lane{position:relative;height:180px;border-bottom:2px dashed rgba(200,150,42,.2)}.easing-tome .arena-lane:last-child{border-bottom:none}.easing-tome .lane-label{position:absolute;top:12px;left:20px;font-family:Cinzel,serif;font-size:11px;letter-spacing:.3em;color:var(--parchment);background:rgba(0,0,0,.5);padding:4px 12px;border:1px solid var(--gold);border-radius:2px;z-index:4}.easing-tome .lane-label .jp{font-family:"Noto Serif JP",serif;letter-spacing:.1em;margin-left:8px;color:var(--gold-bright);font-size:10px}.easing-tome .hero-stand,.easing-tome .target-stand{position:absolute;bottom:0;width:60px;height:100px;z-index:2}.easing-tome .hero-stand{left:30px}.easing-tome .target-stand{right:30px}.easing-tome .ground{position:absolute;bottom:0;left:0;right:0;height:28px;background:repeating-linear-gradient(90deg,#3d2817 0 8px,#2a1d10 8px 10px),#3d2817;border-top:2px solid var(--gold-deep);z-index:1}.easing-tome .projectile{position:absolute;left:90px;bottom:60px;width:40px;height:40px;z-index:3;transform-origin:center;will-change:transform}.easing-tome .impact-burst{position:absolute;right:60px;bottom:50px;width:80px;height:80px;pointer-events:none;opacity:0;z-index:3}.easing-tome .impact-burst svg{animation:easingTomeBurstPop .5s ease-out forwards}.easing-tome .rune-button{font-family:Cinzel,"Noto Serif JP",serif;font-weight:600;background:linear-gradient(180deg,#3a2a15,#1f1508);color:var(--gold-bright);border:2px solid var(--gold);border-radius:2px;padding:12px 24px;letter-spacing:.2em;text-transform:uppercase;font-size:13px;cursor:pointer;position:relative;transition:all .15s;box-shadow:0 4px 0 var(--border-dark),0 6px 12px rgba(0,0,0,.4)}.easing-tome .rune-button:hover{background:linear-gradient(180deg,#4a3520,#2a1d10);color:#fff;text-shadow:0 0 10px var(--gold-bright)}.easing-tome .rune-button:active{transform:translateY(2px);box-shadow:0 2px 0 var(--border-dark),0 3px 6px rgba(0,0,0,.4)}.easing-tome .rune-button .sparkle{position:absolute;top:-4px;right:-4px;color:var(--gold-bright);font-size:10px}.easing-tome .arena-controls{display:flex;align-items:center;gap:16px;padding:18px 24px;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.2));border-top:2px solid var(--gold-deep);flex-wrap:wrap}.easing-tome .arena-controls .group-label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.3em;color:var(--parchment-dark);text-transform:uppercase}.easing-tome .weapon-pick{display:flex;gap:4px;background:rgba(0,0,0,.3);padding:4px;border:1px solid var(--gold-deep);border-radius:2px}.easing-tome .weapon-pick button{background:transparent;border:1px solid transparent;color:var(--parchment);padding:6px 12px;font-family:"Noto Serif JP",serif;font-size:13px;cursor:pointer;border-radius:2px;transition:all .15s;display:flex;align-items:center;gap:6px}.easing-tome .weapon-pick button:hover{background:rgba(200,150,42,.1)}.easing-tome .weapon-pick button.active{background:rgba(200,150,42,.25);border-color:var(--gold);color:var(--gold-bright)}.easing-tome .rot-mode-picker{display:flex;gap:8px;margin:16px 0 12px;align-items:center;flex-wrap:wrap}.easing-tome .rot-mode-btn{background:rgba(42,29,16,.3);border:1px solid var(--gold-deep);border-radius:2px;padding:10px 18px;color:var(--ink-soft);cursor:pointer;font-family:"Noto Serif JP",serif;text-align:left;transition:all .15s}.easing-tome .rot-mode-btn:hover{background:rgba(200,150,42,.15);color:var(--ink)}.easing-tome .rot-mode-btn.active{background:var(--royal);border-color:var(--gold-bright);color:var(--parchment);box-shadow:0 0 16px rgba(200,150,42,.3)}.easing-tome .rot-mode-btn.active .rot-mode-tech{color:var(--gold-bright)}.easing-tome .rot-mode-jp{font-family:Cinzel,"Noto Serif JP",serif;font-weight:700;font-size:14px;letter-spacing:.05em}.easing-tome .rot-mode-tech{font-family:Cinzel,serif;font-size:9px;letter-spacing:.3em;color:var(--ink-soft);margin-top:3px}.easing-tome .rot-arena{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:linear-gradient(180deg,#1a2040,#0f1226);border:2px solid var(--border-dark);border-radius:3px;padding:14px;box-shadow:0 0 0 1px var(--gold-deep),0 0 0 4px var(--border-dark),0 0 0 5px var(--gold)}@media (max-width:900px){.easing-tome .rot-arena{grid-template-columns:1fr}}.easing-tome .rot-lane{background:radial-gradient(ellipse at center bottom,#2d3561 0,#1a1f3d 100%);border:1px solid var(--gold-deep);border-radius:3px;padding:12px;position:relative;overflow:hidden}.easing-tome .rot-lane-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;position:relative;z-index:2}.easing-tome .rot-lane-label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.3em;color:var(--parchment-dark)}.easing-tome .rot-lane-sublabel{font-family:"Noto Serif JP",serif;font-weight:600;font-size:13px;margin-top:2px}.easing-tome .rot-angle-readout{font-family:VT323,monospace;font-size:16px;border:1px solid;padding:2px 8px;border-radius:2px;background:rgba(0,0,0,.4)}.easing-tome .rot-stage{height:260px;position:relative;margin-top:4px}.easing-tome .rot-pivot-anchor{position:absolute;left:50%;bottom:32px;width:0;height:0;pointer-events:none}.easing-tome .rot-weapon-wrap{position:absolute;left:0;bottom:0;width:0;height:0;transform-origin:0 0}.easing-tome .rot-weapon-wrap .rot-weapon-svg{position:absolute;left:50%;bottom:0;transform:translateX(-50%);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.easing-tome .rot-weapon-wrap.ghost .rot-weapon-svg{filter:blur(1px)}.easing-tome .rot-pivot{position:absolute;left:50%;bottom:28px;width:14px;height:14px;border-radius:50%;border:2px solid;background:rgba(0,0,0,.5);transform:translateX(-50%);z-index:3}.easing-tome .rot-pivot:after{content:"";position:absolute;inset:2px;border-radius:50%;background:currentColor;opacity:.4}.easing-tome .rot-hit-flash{position:absolute;inset:0;pointer-events:none;animation:easingTomeRotHitFlash .5s ease-out forwards}@keyframes easingTomeRotHitFlash{0%{opacity:.9}to{opacity:0}}.easing-tome .rot-protractor{position:absolute;left:50%;bottom:24px;width:200px;height:100px;transform:translateX(-50%);pointer-events:none;z-index:1}.easing-tome .tome-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}.easing-tome .tome-row{background:var(--parchment);border:2px solid var(--border-dark);border-radius:4px;padding:14px 18px 16px;box-shadow:0 4px 0 rgba(0,0,0,.3),inset 0 0 30px rgba(139,94,26,.1)}.easing-tome .tome-row-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed var(--gold-deep)}.easing-tome .tome-row-sigil{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;border:2px solid;flex-shrink:0}.easing-tome .tome-row-names{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;font-family:"Noto Serif JP",Hiragino Mincho ProN,Yu Mincho,serif}.easing-tome .tome-row-en{font-family:Cinzel,Times New Roman,serif;font-weight:700;font-size:20px;letter-spacing:.03em;color:var(--ink);line-height:1.2}.easing-tome .tome-row-jp{font-size:13px;letter-spacing:.08em;color:var(--ink-soft)}.easing-tome .tome-row-desc{font-size:12px;line-height:1.6;color:var(--ink-soft);opacity:.82;margin-top:2px;font-style:italic}.easing-tome .tome-row-toggle{font-family:Cinzel,"Noto Serif JP",serif;font-weight:600;background:linear-gradient(180deg,#3a2a15,#1f1508);color:var(--gold-bright);border:1px solid var(--gold);border-radius:2px;padding:8px 14px;letter-spacing:.2em;text-transform:uppercase;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.easing-tome .tome-row-toggle:hover{background:linear-gradient(180deg,#4a3520,#2a1d10);color:#fff;text-shadow:0 0 8px var(--gold-bright)}.easing-tome .tome-row-anim{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:stretch}@media (max-width:700px){.easing-tome .tome-row-anim{grid-template-columns:1fr}}.easing-tome .tome-graph-cell{background:#1a1208;border:1px solid var(--border-dark);border-radius:2px;padding:6px;height:130px}.easing-tome .tome-graph-cell svg{width:100%;height:100%;display:block}.easing-tome .tome-demo-cell{background:linear-gradient(180deg,#2d3561,#1a1f3d);border:1px solid var(--border-dark);border-radius:2px;height:130px;position:relative;overflow:hidden}.easing-tome .tome-row-code{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.easing-tome .tome-row-code.open{max-height:720px}.easing-tome .tome-code-inner{padding:14px 4px 2px}.easing-tome .tome-code-eyebrow{font-family:Cinzel,serif;font-size:10px;letter-spacing:.3em;color:var(--crimson);margin-bottom:6px;text-transform:uppercase}.easing-tome .tome-code-summary{font-family:"Noto Serif JP",serif;font-size:13px;color:var(--ink-soft);line-height:1.7;margin-bottom:10px}.easing-tome .tome-code{background:#1a1208;color:#f2e3c0;font-family:VT323,ui-monospace,Courier New,monospace;font-size:16px;line-height:1.55;padding:14px 16px;border:1px solid var(--border-dark);border-left:4px solid var(--gold);border-radius:2px;white-space:pre;overflow-x:auto;letter-spacing:.02em;margin:0}.easing-tome .tome-code-note{margin-top:8px;font-family:"Noto Serif JP",serif;font-size:12px;font-style:italic;color:var(--ink-soft);opacity:.85}.easing-tome .footer-scroll{text-align:center;padding:48px 24px 20px;color:var(--parchment-dark);font-size:12px;letter-spacing:.3em;opacity:.5;font-family:Cinzel,serif;text-transform:uppercase}.easing-tome .spacer-sm{height:12px}.easing-tome .spacer{height:32px}.easing-tome .spacer-lg{height:56px}