/* Fixed glass panels: depth belongs to the surface; rotation belongs to models. */
.voice-row{display:flex;align-items:center;gap:10px;margin:6px 0}.voice-row button{background:#24443d;color:#d8fff0;padding:7px 12px;min-height:40px}.voice-row span{font-size:10px;color:#c1d6d2}#coachCaption{font-size:12px;color:#afffe6;margin:4px 0;line-height:1.35}#confirmProgress{width:100%;height:6px;accent-color:#9affdf;margin-top:10px}.intro-cue{padding:12px;border:1px solid #aaffdd44;border-radius:12px;background:#193c35b0;color:#e1fff5;font-size:13px;line-height:1.5}#holoStage{max-height:420px}#handHelp summary{font-size:12px;color:#c8efe6;padding:6px 0}
.library-launch{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;background:#31253e;color:#f3e8ff;text-align:left}
.library-launch span{font-size:10px;font-weight:400;color:#d8c6e9}
#library{padding:0;border:0;width:min(900px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:auto;background:radial-gradient(ellipse at 15% 0%,#34404d99,transparent 55%),radial-gradient(ellipse at 90% 90%,#52316199,transparent 50%),#10141cf2;color:#f5faff;overflow:auto}
#library::backdrop{background:#080b14bd;backdrop-filter:blur(8px)}
#handVideo{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;pointer-events:none}
.glass-shell{position:relative;z-index:1;padding:20px;max-width:900px;margin:auto;min-height:100%;display:flex;flex-direction:column;gap:16px}
.library-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none}.library-header small{color:#8cebe2;font-size:10px;letter-spacing:2px}.library-header h1{font-size:24px;letter-spacing:-.8px;margin:5px 0 0;font-weight:650}
#library button{min-height:52px;border:1px solid #bae9f14d;background:linear-gradient(135deg,#d2eaf91e,#b6bdd909),#172131b5;color:#f5faff;border-radius:14px;font-size:14px;box-shadow:inset 0 1px #f2ffff14,0 8px 24px #0002;backdrop-filter:blur(14px);cursor:pointer;touch-action:manipulation}
#library button:focus-visible{outline:3px solid #aaffef;outline-offset:3px}#library button:hover{border-color:#b4f8ecb3}#library button.hand-hover{border-color:#b4f8ec;box-shadow:0 0 0 3px #aaffef33,inset 0 1px #fff3}#library button.hand-down{background:#3c736ac9;color:#fff}
#closeLibrary{min-width:66px}.movement-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:1;align-content:center}
.movement-card{padding:15px 14px;border:1px solid #bde7f638;border-radius:19px;background:linear-gradient(145deg,#d7e9ff13,#a3c2e804),#142031a1;box-shadow:inset 0 1px #fff1,0 12px 24px #0002;backdrop-filter:blur(16px);min-width:0}
.movement-card .card-select{width:100%;text-align:left;min-height:65px!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0 5px!important;backdrop-filter:none!important}.card-number{display:block;font-size:10px;color:#88c6c6;font-weight:400;letter-spacing:1px;margin-bottom:9px}.card-title{display:block;font-size:18px;line-height:1.15}.card-kind{font-size:11px;font-weight:400;color:#c4d4e7;display:block;margin-top:7px}
.movement-card .holo-link{width:100%;font-size:12px!important;margin-top:10px;min-height:48px!important;color:#aaf7ed!important}
.library-footer{flex:none;border-top:1px solid #c1e2ff22;padding-top:13px}.hand-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hand-row button{padding:10px 15px}#handState{font-size:12px;color:#a2e9dd;max-width:40ch}.library-footer p,.library-caption{font-size:12px;line-height:1.5;color:#bccddd;margin:9px 0 0}
.library-pages{display:flex;align-items:center;gap:18px;justify-content:space-between}.library-pages button{min-width:100px}.library-pages span{color:#b9d6dc;font-size:12px}
#startFromLibrary{margin-bottom:12px}.card-select[aria-pressed=true] .card-title{color:#9fffe8}.card-select[aria-pressed=true] .card-kind::before{content:'Selected · ';color:#9fffe8}
#handCursor{position:fixed;width:28px;height:28px;z-index:100;pointer-events:none;border:2px solid #b3fff1;border-radius:50%;transform:translate(-50%,-50%);background:#aaffef30;box-shadow:0 0 20px #aaffef55}#handCursor.pinched{width:18px;height:18px;background:#b3fff1}
#hologramPanel{flex:1;display:flex;flex-direction:column;gap:10px}.holo-heading{display:flex;align-items:center;gap:16px}.holo-heading button{min-width:70px}.holo-heading h2{font-size:18px;font-weight:600}
#holoStage{position:relative;flex:1;min-height:230px;overflow:hidden;border:1px solid #b9ecfa33;border-radius:24px;touch-action:none;background:radial-gradient(ellipse at 50% 85%,#69f9dd1a,transparent 55%),linear-gradient(#b4e9ff0c 1px,transparent 1px),linear-gradient(90deg,#b4e9ff0c 1px,transparent 1px),#0c17207d;background-size:auto,32px 32px,32px 32px,auto;cursor:grab}
#holoStage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto}#holoStatus{position:absolute;inset:16px;z-index:2;font-size:13px;color:#c5ebe9;pointer-events:none}.holo-tools{display:flex;gap:8px;flex-wrap:wrap}.holo-tools button{flex:1;padding:8px;min-width:52px}#holoPlay,#holoReset{flex:2}.use-movement{width:100%;background:#426f6588!important;border-color:#aaffef88!important}
@media(max-width:480px){.glass-shell{padding:16px;gap:13px}.library-header h1{font-size:22px}.movement-cards{gap:9px}.movement-card{padding:10px}.card-title{font-size:16px}.card-kind{font-size:11px}#handState{font-size:11px}.library-launch span{max-width:135px;text-align:right}}
@media(orientation:landscape) and (min-width:700px){.movement-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.glass-shell{padding:18px 24px}#holoStage{min-height:280px}}
@media(prefers-reduced-transparency:reduce){#library button,.movement-card{background:#182636;backdrop-filter:none}#handVideo{opacity:.1}}
