/* The title screen has its own visual system; arena and preparation styles stay scoped out. */
#overlay.menu{display:block;padding:0;background:#0b1715;isolation:isolate;scrollbar-width:thin;scrollbar-color:#716649 #0b1715;overscroll-behavior-y:contain}
#overlay.menu::before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:780px;pointer-events:none;background:linear-gradient(180deg,#07151260 0%,#0b171510 28%,#0b1715a6 51%,#0b1715 76%),url('art/orbweaver-title-landscape.svg') 67% top/cover no-repeat,url('art/tower-sanctuary.webp') center top/100% auto no-repeat;opacity:.92}
#overlay.menu::after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 25%,transparent 10%,#06110c44 90%)}
#overlay.menu .ow-menu{--menu-cream:#f0e4c8;--menu-muted:#aaaF9e;--menu-gold:#c7ac76;--menu-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:100%;height:auto;max-height:none;width:100%;max-width:480px;padding:max(18px,env(safe-area-inset-top)) 24px max(18px,env(safe-area-inset-bottom));margin:0 auto;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;color:var(--menu-cream);font-family:var(--menu-ui)}
.ow-menu button{font-family:var(--menu-ui);touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.ow-menu button:focus-visible{outline:2px solid #f2deb1;outline-offset:4px}
.ow-menu svg{display:block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.ow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.ow-world{display:flex;align-items:center;gap:9px;color:#c9c2a7;text-align:left;font-size:8px;font-weight:600;line-height:1.6;letter-spacing:1.8px}.ow-world svg{width:30px;height:30px;color:#d2ba82}.ow-world span{max-width:120px}
.ow-icon-button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #c4b38333;border-radius:50%;background:#0b181480;color:#e0cda6;box-shadow:inset 0 1px #fff1;transition:background .2s,border-color .2s}.ow-icon-button:active{background:#354234;border-color:#e0cda6}
.ow-wordmark{margin:13px 0 0;text-align:center}
#overlay.menu .ow-wordmark .title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,10.4vw,49px);font-weight:400;letter-spacing:-1.7px;line-height:1.08;margin:0;white-space:nowrap;color:#ebd5a8;text-shadow:0 2px 14px #000a,0 0 28px #c2ad6640}
#overlay.menu .ow-wordmark .title .title-orb{color:#fff0ce}
.ow-wordmark .ow-title-rule{display:flex;align-items:center;justify-content:center;gap:12px;color:#c8b37e;font-size:7px;font-weight:600;letter-spacing:3.6px;margin:11px 0 0}.ow-title-rule::before,.ow-title-rule::after{content:'';width:34px;height:1px;background:linear-gradient(90deg,transparent,#c8b37e88)}.ow-title-rule::after{transform:rotate(180deg)}
#overlay.menu .ow-hero{position:relative;height:220px;flex:none;margin:0 -15px;border:0;border-radius:0;background:radial-gradient(ellipse at 48% 56%,#8aa77a1a,transparent 65%);box-shadow:none;overflow:hidden}
#overlay.menu .ow-hero canvas{width:100%;height:100%;max-height:none;object-fit:contain;aspect-ratio:420/250;touch-action:pan-y;filter:drop-shadow(0 15px 10px #06130c75)}
.ow-hero::after{content:'';position:absolute;left:24%;right:24%;height:1px;bottom:5px;background:linear-gradient(90deg,transparent,#cdb1785c,transparent);pointer-events:none}
.ow-character-link{display:flex;align-items:center;gap:11px;min-height:58px;width:100%;padding:10px 13px;text-align:left;border:1px solid #bdab7435;border-radius:12px;background:linear-gradient(110deg,#1e3027db,#15251fe8);box-shadow:inset 0 1px #e8dbad0a;color:#c6b481;transition:border-color .2s,background .2s}
.ow-character-link>svg:first-child{width:28px;height:28px}.ow-character-copy{flex:1;min-width:0}.ow-character-copy small{display:block;font-size:7px;letter-spacing:1.8px;color:#9ea993;font-weight:600}.ow-character-copy strong{display:block;margin-top:3px;font-family:var(--book);font-weight:400;font-size:17px;line-height:1.2;color:#f0dfbc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ow-character-link>span:last-of-type{font-size:9px;color:#c8c5ae}.ow-character-link>svg:last-child{width:15px;height:15px;color:#cbb782}
.ow-character-link:active{border-color:#bca36d;background:#304132}
#overlay.menu .ow-menu .tagline{font:italic 16px/1.6 var(--book);color:#d6c9a7;margin:15px 0 16px;letter-spacing:.1px;text-shadow:0 1px 5px #000}
.ow-mode-label{display:flex;align-items:center;justify-content:space-between;margin:1px 1px 9px;font-size:8px;color:#a8b29d;font-weight:600;letter-spacing:1.8px;text-transform:uppercase}.ow-mode-label::after{content:'';height:1px;flex:1;margin-left:14px;background:#b9aa7030}
.ow-mode-label.has-story{margin-top:-10px;margin-bottom:0}.ow-mode-label.has-story::after{display:none}.ow-manage-saves{display:flex;align-items:center;gap:4px;min-height:44px;padding:5px 0 5px 12px;border:0;background:none;color:#c9b88f;font-size:10px;letter-spacing:0;font-weight:400}.ow-manage-saves svg{width:15px;height:15px}
.ow-story{display:flex;align-items:center;gap:14px;position:relative;width:100%;min-height:85px;padding:16px 17px;text-align:left;border:1px solid #f2d9a3bb;border-radius:13px;background:radial-gradient(ellipse at 25% 0%,#fff0bd70,transparent 65%),linear-gradient(115deg,#e1c58e,#c1a065);color:#2b2c20;box-shadow:inset 0 1px #fff2d68c,inset 0 -2px #8f703e55,0 5px 20px #0003;transition:filter .2s,transform .2s}
.ow-story>svg:first-child{width:36px;height:36px;stroke-width:1.2;color:#5a5237}.ow-story>span{flex:1;min-width:0}.ow-story small{display:block;font-size:7px;letter-spacing:2px;font-weight:700;color:#5f573c}.ow-story strong{display:block;font:24px/1.18 var(--book);font-weight:400;margin:4px 0 3px;letter-spacing:-.3px}.ow-story em{display:block;font:10px/1.45 var(--menu-ui);color:#5a523c;font-style:normal}.ow-story>svg:last-child{width:20px;height:20px;color:#534c32}.ow-story:active{transform:translateY(2px);filter:brightness(.94)}
.ow-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ow-mode-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:119px;text-align:left;width:100%;padding:15px 14px 13px;border:1px solid #acb99b40;border-radius:13px;background:linear-gradient(135deg,#293d30e8,#14291ff2);color:#eee2c4;box-shadow:inset 0 1px #d6e7bf0a;transition:background .2s,border-color .2s,transform .2s}
.ow-mode-card::after{content:'';position:absolute;z-index:-1;right:-17px;top:-28px;width:110px;height:110px;border:1px solid #c1d5ad12;border-radius:50%;box-shadow:0 0 0 14px #c1d5ad05,0 0 0 28px #c1d5ad04}
.ow-mode-card>svg{height:25px;width:25px;margin-bottom:10px;color:#b8cca1}.ow-mode-card strong{font:20px/1.12 var(--book);font-weight:400;letter-spacing:-.25px}.ow-mode-card small{display:block;font-size:9px;line-height:1.5;margin-top:6px;color:#aabba3}.ow-mode-card .ow-card-arrow{position:absolute;right:12px;top:15px;width:14px;height:14px;color:#bacaa277}
.ow-mode-card[data-mode="free"]{border-color:#8faed14d;background:linear-gradient(135deg,#263b5cf2,#13223af7);box-shadow:inset 0 1px #d4e4ff12}.ow-mode-card[data-mode="free"]>svg{color:#b2c8e8}.ow-mode-card[data-mode="free"] small{color:#adbed7}.ow-mode-card[data-mode="free"] .ow-card-arrow{color:#a9c3e58c}.ow-mode-card[data-mode="free"]::after{border-color:#b1ccef1c;box-shadow:0 0 0 14px #b1ccef07,0 0 0 28px #b1ccef05}
.ow-mode-card.ow-duel{border-color:#a6a6c13b;background:linear-gradient(135deg,#30313be8,#1b2529f2)}.ow-duel>svg{color:#c3b7d4}.ow-duel small{color:#b4afc1}.ow-duel::after{border-color:#c6b4d51a;box-shadow:0 0 0 14px #c6b4d505,0 0 0 28px #c6b4d505}.ow-mode-card:active{transform:translateY(2px);border-color:#d8c397}
.ow-records{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 0;padding:12px 0;border-block:1px solid #b8a87824;gap:10px;text-align:center}.ow-records>div+div{border-left:1px solid #b8a87824}.ow-records dt{font:7px/1.5 var(--menu-ui);text-transform:uppercase;letter-spacing:1.7px;color:#859580}.ow-records dd{margin:4px 0 0;color:#cfc3a0;font:17px/1 var(--book);font-variant-numeric:tabular-nums}
.ow-menu-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px -4px 0}.ow-menu-tools .quiet{min-height:44px;padding:8px 4px;color:#acb49f;font:10px/1.4 var(--menu-ui);letter-spacing:0;background:none;border:0;display:flex;align-items:center;gap:6px}.ow-menu-tools svg{width:16px;height:16px}.ow-menu-tools .title-music{max-width:65%;text-align:left}.ow-menu-tools .title-music:disabled{color:#8f9f89;opacity:1}
.ow-menu-tools .ow-help{white-space:nowrap}.ow-menu .guide-welcome{font:italic 12px/1.6 var(--book);color:#91a28a;margin:5px 0 1px;text-align:center}.ow-local-note{color:#71846d;font-size:8px;letter-spacing:.4px;line-height:1.6;margin:5px 0 0;text-align:center}.ow-save-warning{color:#f1c18c;font:11px/1.5 var(--menu-ui);margin:12px 0 0;padding:10px;border:1px solid #d5aa6555;border-radius:8px;background:#362b204f}
.ow-menu .previous-run{font-family:var(--menu-ui);margin:14px 0 0;background:#182a20;border-color:#aa96604d}.ow-menu .previous-run .secondary{font-size:11px;touch-action:pan-y}.ow-menu .previous-run .hold-note{font-size:10px}
@media(max-height:740px){#overlay.menu .ow-menu{padding:max(12px,env(safe-area-inset-top)) 20px max(14px,env(safe-area-inset-bottom))}.ow-wordmark{margin-top:8px}#overlay.menu .ow-wordmark .title{font-size:clamp(33px,10vw,43px)}#overlay.menu .ow-hero{height:180px}.ow-wordmark .ow-title-rule{margin-top:8px}#overlay.menu .ow-menu .tagline{margin:11px 0 13px}.ow-mode-card{min-height:108px;padding:12px}.ow-mode-card>svg{margin-bottom:7px}.ow-story{min-height:79px;padding:13px 15px}.ow-records{margin-top:14px;padding:10px 0}}
@media(max-width:350px){#overlay.menu .ow-menu{padding-inline:17px}.ow-story strong{font-size:22px}.ow-mode-card strong{font-size:18px}.ow-mode-card small{font-size:8px}.ow-character-copy strong{font-size:15px}.ow-character-link{gap:8px}.ow-menu-tools .quiet{font-size:9px}.ow-world{font-size:7px}.ow-wordmark .ow-title-rule{letter-spacing:2.7px}}
@media(min-height:900px){#overlay.menu .ow-hero{height:255px}.ow-wordmark{margin-top:21px}.ow-mode-card{min-height:130px}.ow-story{min-height:92px}}
@media(prefers-reduced-motion:no-preference){.ow-wordmark,.ow-hero,.ow-character-link,.ow-menu-nav{animation:ow-menu-arrive .65s ease-out both}.ow-hero{animation-delay:.05s}.ow-character-link{animation-delay:.12s}.ow-menu-nav{animation-delay:.18s}@keyframes ow-menu-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
/* One entrance for the selected Orbweaver, their room and their builds. */
.ow-character-link.ow-room-entrance{min-height:98px;padding:16px 14px;gap:12px;border-color:#c6ae7866;background:radial-gradient(ellipse at 0 100%,#b2964f24,transparent 75%),linear-gradient(115deg,#304330ed,#15291ff5);box-shadow:inset 0 1px #eee0af1c,0 6px 20px #06110d40}
.ow-room-entrance>svg:first-child{width:33px;height:33px;color:#d5ba7e}.ow-room-entrance .ow-character-copy{color:#e8d7b0;font-size:inherit}.ow-room-entrance .ow-character-copy small{font-size:6.5px;letter-spacing:1.6px;color:#b7bd9f}.ow-room-entrance .ow-character-copy strong{font-size:21px;white-space:normal;overflow-wrap:anywhere;line-height:1.15;letter-spacing:-.3px;margin-top:5px}.ow-room-entrance .ow-character-copy em{display:block;font:normal 9px/1.5 var(--menu-ui);color:#aebaa4;margin-top:7px}
.ow-resume{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:55px;margin-top:12px;border:1px solid #bcaa7133;border-radius:10px;background:#16291ee0;color:#dccba4;text-align:left}.ow-resume>svg{width:19px;height:19px}.ow-resume>span{font:500 11px/1.4 var(--menu-ui)}.ow-resume small{display:block;font:9px/1.4 var(--menu-ui);color:#91a18a;margin-top:3px}.ow-resume:active{background:#304132}
@media(max-width:350px){.ow-character-link.ow-room-entrance{padding:14px 11px;gap:9px}.ow-room-entrance .ow-character-copy strong{font-size:19px}.ow-room-entrance>svg:first-child{width:27px;height:27px}}

/* A carved ivory wordmark, worn gilding and quietly illuminated weaving. */
#overlay.menu .ow-wordmark .ow-crafted-title{position:relative;width:100%;aspect-ratio:1100/180;line-height:0;font-size:0;letter-spacing:0;text-shadow:none;isolation:isolate;filter:drop-shadow(0 3px 5px #020906b3)}
.ow-crafted-title .ow-title-art{display:block;width:100%;height:auto;aspect-ratio:1100/180;pointer-events:none}
#overlay.menu .ow-crafted-title .ow-title-effects{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none;pointer-events:none;overflow:visible}
.ow-title-breath{opacity:.3;transform-box:fill-box;transform-origin:center}
.ow-title-glint{fill:none;stroke:#fff3cf;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:35 1100;stroke-dashoffset:35;opacity:0}
@media(prefers-reduced-motion:no-preference){
 .ow-crafted-title:not(.is-still) .ow-title-breath{animation:ow-title-breathe 6.5s ease-in-out infinite}
 .ow-crafted-title:not(.is-still) .ow-title-glint{animation:ow-title-thread 13s ease-in-out 3s infinite}
}
@keyframes ow-title-breathe{0%,100%{opacity:.18;transform:scale(.88)}50%{opacity:.68;transform:scale(1.12)}}
@keyframes ow-title-thread{0%,67%{opacity:0;stroke-dashoffset:35}72%{opacity:.75}94%,100%{opacity:0;stroke-dashoffset:-1000}}
