.library-page{max-width:1180px;margin:auto;padding:35px 24px 70px}.library-hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:45px;padding:42px;background:linear-gradient(125deg,#effaff,#edf6e6);border:1px solid #d7e8ee;border-radius:26px;margin-bottom:30px}.library-hero h1{font-size:clamp(34px,4.5vw,57px);line-height:1.08;letter-spacing:-1.8px;margin:12px 0 22px;color:#12364d}.library-hero p{color:#355b70;line-height:1.8}.hero-signs{display:grid;grid-template-columns:1fr 1fr;gap:20px;justify-items:center}.hero-signs img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 10px 12px #163f4c18)}.library-controls{display:grid;grid-template-columns:1.6fr 1fr auto;align-items:end;gap:18px;padding:22px;background:#fff;border:1px solid #d4e3eb;border-radius:18px}.library-controls label,.motion-controls label{font-weight:700;font-size:13px}.library-controls input,.library-controls select,.motion-controls select{display:block;width:100%;font:inherit;background:white;color:#16384d;border:1px solid #b8d0dd;border-radius:10px;padding:12px;margin-top:8px;min-height:46px}.library-page button{font:inherit;cursor:pointer;border:1px solid #afccda;border-radius:10px;padding:12px;background:#fff;color:#174a64;min-height:44px}.library-page button:hover{background:#edf7ff}.library-page button:focus-visible,.library-page a:focus-visible,.library-page input:focus-visible,.library-page select:focus-visible{outline:3px solid #0a85c7;outline-offset:3px}.sign-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:25px 0 40px}.sign-grid .sign-card{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;border-radius:18px;padding:23px 14px;background:#fff;min-width:0;box-shadow:0 7px 20px #10354605}.sign-card img{width:104px;height:104px;object-fit:contain}.sign-card-code{font-size:12px;letter-spacing:1px;font-weight:800;color:#075e91}.sign-card strong{font-size:13px;line-height:1.55;overflow-wrap:anywhere}.under-signs,.library-bottom{padding:30px;background:#f2f8fb;border:1px solid #d6e5ec;border-radius:20px}.under-sign-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.under-sign-examples strong{display:block;padding:16px;text-align:center;border:2px solid #263f51;background:white;border-radius:7px}.under-sign-examples p{font-size:13px;line-height:1.7}.library-source{font-size:12px;line-height:1.8;color:#61788a;margin-top:25px}.library-source a{text-decoration:underline}.library-page dialog{width:min(840px,calc(100vw - 28px));max-height:90vh;overflow-y:auto;border:1px solid #b6cfdb;border-radius:22px;padding:28px;color:#173b50;box-shadow:0 25px 100px #102c4e40}.library-page dialog::backdrop{background:#0e263ab0}.dialog-close{display:block;margin-left:auto}.sign-detail{display:grid;grid-template-columns:200px 1fr;gap:28px;margin-top:24px}.sign-detail>img{width:200px;height:220px;object-fit:contain}.sign-detail h2{font-size:27px;line-height:1.2;overflow-wrap:anywhere;margin:10px 0 22px}.sign-detail h3{font-size:14px;margin-top:20px}.sign-detail p{font-size:14px;line-height:1.8}.related-sign{display:inline-block;padding:10px 14px;margin:5px;border:1px solid #c3dce8;border-radius:10px}.library-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.maneuver-emblem{font-size:160px;text-align:center;color:#008fc7;line-height:1}.maneuver-emblem span{display:block;font-size:12px;letter-spacing:2px;color:#214c62;line-height:2}.category-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.category-tabs button{padding:13px 24px;font-weight:700}.category-tabs button[aria-pressed=true]{background:#075e91;color:#fff;border-color:#075e91}.maneuver-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:25px;margin-bottom:30px}.maneuver-list{display:flex;flex-direction:column;gap:10px;align-self:start}.maneuver-list button{text-align:left;line-height:1.5;padding:15px}.maneuver-list button[aria-pressed=true]{border-color:#075e91;background:#e7f5ff;font-weight:700}.maneuver-player{background:white;border:1px solid #d5e3eb;border-radius:22px;padding:26px;min-width:0}.maneuver-player h2{font-size:28px;margin:10px 0 16px}.maneuver-stage{background:#eaf2f5;border:1px solid #d5e3eb;border-radius:16px;overflow:hidden;margin:22px 0}.maneuver-stage svg{display:block;width:100%;height:auto}.motion-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.motion-controls label{margin-left:auto;min-width:130px}.motion-progress-label{display:block;font-size:13px;margin-top:25px;font-weight:700}.motion-progress-label input{display:block;width:100%;margin:16px 0;accent-color:#075e91;min-height:30px}#maneuverSteps{padding-left:24px}#maneuverSteps li{line-height:1.7;padding:10px;border-radius:10px}#maneuverSteps li[aria-current=step]{background:#eaf7ff;color:#075e91;font-weight:700}.maneuver-reminder{padding:18px;border-radius:14px;background:#eff5e8;line-height:1.8}#motionStatus{font-size:13px;color:#4e7084;min-height:40px}@media(max-width:1000px){.sign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.maneuver-layout{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:800px){.library-hero{grid-template-columns:1fr;padding:28px;gap:20px}.hero-signs{grid-template-columns:repeat(4,1fr);gap:12px}.hero-signs img{width:75px;height:75px}.library-controls{grid-template-columns:1fr 1fr}.library-controls>button{grid-column:1/-1}.sign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.maneuver-layout{grid-template-columns:1fr}.maneuver-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.maneuver-emblem{display:none}.under-sign-examples{grid-template-columns:1fr}.sign-detail{grid-template-columns:1fr}.sign-detail>img{height:150px;width:100%}}@media(max-width:500px){.library-page{padding:22px 16px 45px}.library-hero{padding:24px}.library-hero h1{font-size:36px}.hero-signs img{width:52px;height:65px}.library-controls{grid-template-columns:1fr;padding:18px}.sign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sign-grid .sign-card{padding:20px 10px}.sign-card img{width:90px;height:90px}.sign-card strong{font-size:12px}.library-page dialog{padding:20px}.maneuver-player{padding:18px}.maneuver-player h2{font-size:25px}.motion-controls label{width:100%;margin-left:0}.maneuver-list{grid-template-columns:1fr 1fr;gap:8px}.maneuver-list button{font-size:13px;padding:12px}.library-controls input,.library-controls select,.motion-controls select{font-size:16px}}@media(prefers-reduced-motion:reduce){.library-page *{scroll-behavior:auto}}
