/* Martial manuscript selection */
.overlay:has(.awakening){background:radial-gradient(ellipse at 50% 42%,#18140b88,#030505ed);backdrop-filter:blur(5px)}
.awakening{width:min(1000px,96vw);padding:24px 30px 22px;text-align:center;position:relative;isolation:isolate;background:radial-gradient(ellipse at top,#49362245,transparent 65%);animation:reveal .4s ease-out}
.awakening:before,.awakening:after{content:'';position:absolute;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#a88b52,transparent);z-index:-1}.awakening:before{top:0}.awakening:after{bottom:0}.awakening .chapter{font:11px Georgia,"Songti SC",serif;letter-spacing:5px;color:#af9670}.awakening h2{font:38px "Songti SC",Georgia,serif;letter-spacing:10px;font-weight:600;color:#e2c78e;text-shadow:0 3px 10px #000;margin:13px 0 8px}.awakening .subtitle{color:#a69b82;font-size:13px;letter-spacing:2px;margin:0 0 24px}.awakening .choices{gap:22px;margin:0;align-items:stretch;justify-content:center}.awakening .skill-card{--accent:#bd9760;position:relative;display:flex;align-items:center;flex-direction:column;flex:1;min-width:0;padding:16px 18px 0;max-width:280px;min-height:380px;letter-spacing:0;border:1px solid #6e5839;border-radius:3px 3px 20px 20px;background:linear-gradient(90deg,#362b1c99,transparent 5%,transparent 95%,#362b1c99),radial-gradient(ellipse at 50% 22%,#51402670,transparent 60%),repeating-linear-gradient(100deg,#151613,#191a16 3px,#171813 5px);box-shadow:inset 0 0 0 3px #10110d,inset 0 0 0 4px #4f422d,inset 0 0 50px #050704,0 12px 35px #000b;color:#d5c09a;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden;animation:card-enter .45s both;animation-delay:var(--delay)}
.skill-card:before,.skill-card:after{position:absolute;top:7px;content:'❖';color:#a58b59;font-size:16px;text-shadow:0 1px #000}.skill-card:before{left:10px}.skill-card:after{right:10px}.skill-card:hover,.skill-card:focus-visible{transform:translateY(-8px);border-color:#e2c88c;filter:none;outline:none;box-shadow:inset 0 0 0 3px #11130d,inset 0 0 0 4px #b99a5e,inset 0 0 50px #9e753b18,0 0 25px #ad7c3233,0 18px 38px #000}.skill-card .school{font-size:10px;letter-spacing:4px;color:#9b8b6d;margin:0 0 14px}.skill-card .skill-art{width:124px;height:124px;display:block;background-image:url('assets/skill-icons.png');background-size:300% 200%;background-position:var(--icon-x) var(--icon-y);border:1px solid #8c7146;box-shadow:0 0 0 4px #080b08,0 0 0 5px #5b4e33,0 10px 24px #0009;margin:0 0 23px;border-radius:3px}.skill-card .skill-name{font:23px "Songti SC",Georgia,serif;letter-spacing:3px;color:#e5c999;font-weight:600}.skill-card .rule{height:1px;width:82%;background:linear-gradient(90deg,transparent,#7c6844,transparent);margin:17px 0 13px}.skill-card .effect{font:14px "Songti SC",Georgia,serif;line-height:1.8;color:#c9baa0;min-height:48px;display:block}.skill-card .effect strong{color:#f0cc81;font-weight:400;font-size:19px;margin:0 4px}.skill-card .comparison{font-size:11px;color:#938b73;margin:9px 0 15px;line-height:1.5}.skill-card .choose-label{font-size:12px;letter-spacing:4px;width:calc(100% + 36px);margin-top:auto;padding:12px;background:linear-gradient(90deg,transparent,#59432944,transparent);border-top:1px solid #51452f;color:#ad9871}.skill-card:hover .choose-label,.skill-card:focus-visible .choose-label{color:#f1d59c;background:linear-gradient(90deg,transparent,#80603155,transparent)}.choose-label kbd{font:11px Georgia;border:1px solid #6f5c3e;padding:1px 5px;margin-right:8px;letter-spacing:0;color:#bcaa83}.awakening .choice-foot{color:#777664;font-size:11px;letter-spacing:2px;margin:22px 0 0}.awakening .choice-foot span{color:#b19a6c}.skill-card.chosen{transform:translateY(-8px);border-color:#ffe5aa;box-shadow:inset 0 0 55px #b4893344,0 0 40px #cfa34b66}.choices.has-choice .skill-card:not(.chosen){opacity:.35;transform:scale(.97);pointer-events:none}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes card-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}@media(max-height:700px){.awakening{padding:16px 26px}.awakening h2{font-size:30px;margin:8px 0}.awakening .subtitle{margin-bottom:15px}.awakening .skill-card{min-height:320px;padding-top:13px}.skill-card .skill-art{width:96px;height:96px;margin-bottom:16px}.skill-card .rule{margin:12px 0 8px}.awakening .choice-foot{margin-top:15px}}@media(max-width:640px){.awakening{padding:18px 8px;max-height:96dvh;overflow:auto}.awakening .choices{gap:8px}.awakening .skill-card{padding:12px 8px 0;min-height:310px}.skill-card .skill-art{width:74px;height:74px}.skill-card .skill-name{font-size:17px;letter-spacing:1px}.skill-card .school{letter-spacing:1px;font-size:9px}.skill-card .effect{font-size:12px}.skill-card .effect strong{font-size:15px}.skill-card .choose-label{width:calc(100% + 16px);letter-spacing:1px}.awakening h2{font-size:28px}.skill-card .comparison{font-size:10px}}
@media(prefers-reduced-motion:reduce){.awakening,.awakening .skill-card{animation:none;transition:none}}

@media(max-width:950px){body .side{display:block}body .contracts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body .side .rule-list{display:block}body .side .caption{font-size:11px}}

@media(max-width:640px){body header{padding:12px 16px}body main{padding:0 10px 10px}body .machine{padding:9px 9px 12px}body .control-row p{font-size:9px}body .spin-button{min-width:155px;padding:12px 15px}body .symbol-name{letter-spacing:1px}body .machine-top{letter-spacing:1px;font-size:10px}body .machine-top b{font-size:12px}}
