@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;color:#4d0d66;font-family:Nunito,Arial,sans-serif;background:#ead8ff}button{color:#fff;font:inherit}input,select,textarea{color:#4d0d66;font-family:Nunito,Arial,sans-serif}.app,.intro,.dashboard,.stage,.professorTools{position:relative;width:100%;height:100%}.intro>img,.dashboardBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.startButton{position:absolute;left:48%;top:61%;width:28%;height:15%;border:0;border-radius:18px;color:transparent;background:transparent;cursor:pointer}.settingsButton,.homeButton{position:absolute;z-index:5;height:48px;border:0;border-radius:8px;padding:0 22px;color:#4d0d66;background:#d83f9ae6;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #2d1c5938}.settingsButton,.homeButton{right:8%;bottom:5.2%}.settingsOverlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#3a17445c}.settingsPanel{width:min(440px,92vw);border:1px solid rgba(234,212,226,.95);border-radius:10px;padding:18px;color:#44233a;background:#fffffff5;box-shadow:0 24px 60px #44233a47}.settingsPanel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.settingsPanel h2,.settingsPanel h3,.settingsPanel p{margin:0}.settingsPanel header button,.secondaryToolButton{height:36px;border:1px solid #4D0D66;border-radius:8px;padding:0 12px;color:#fff;background:#4d0d66;font-weight:800;cursor:pointer}.settingsGroup{display:grid;gap:12px}.settingsGroup label{display:grid;gap:6px;font-size:13px;font-weight:800}.settingsGroup input{width:100%;height:40px;border:1px solid #ead4e2;border-radius:8px;padding:0 10px;color:#44233a;background:#fff;font:inherit}.settingsActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settingsActionsStack{grid-template-columns:1fr}.settingsPrimaryButton{height:44px;border:0;border-radius:8px;padding:0 14px;color:#fff;background:#d83f9a;font-weight:900;cursor:pointer}.dashboardTitle{position:absolute;left:50%;top:24%;z-index:4;margin:0;transform:translate(-50%);color:#4d0d66;font-size:clamp(38px,4vw,74px);font-weight:900;text-align:center;text-shadow:0 3px 12px rgba(255,255,255,.82);white-space:nowrap}.routineGrid{position:absolute;left:8%;right:8%;top:38%;display:grid;grid-template-columns:repeat(4,minmax(240px,340px));gap:clamp(16px,1.5vw,28px);justify-content:center;align-items:start}.routineCard{position:relative;width:100%;aspect-ratio:.72;border:0;background:transparent;padding:0;color:#4d0d66;text-align:left}.routineCard:after{content:"";position:absolute;left:12%;right:12%;bottom:-8%;height:9%;z-index:0;border-radius:50%;background:radial-gradient(ellipse at center,#4a237047,#4a23701f 48%,#4a237000 72%);filter:blur(7px);pointer-events:none}.carouselButton{position:absolute;top:38%;z-index:5;width:82px;height:82px;border:0;color:#4d0d66;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:contain;font-size:0;line-height:1;font-weight:800;cursor:pointer}.carouselButton:disabled{opacity:.32;cursor:default}.carouselPrev{left:2%;background-image:url(/assets/button_prev.png)}.carouselNext{right:2%;background-image:url(/assets/button_next.png)}.carouselButton:before{content:none}.cardFrame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;pointer-events:none}.cardThumb{position:absolute;left:18%;top:13%;width:64%;height:34%;object-fit:cover;border-radius:10px;z-index:2;pointer-events:none}.routineCard span{position:absolute;left:14%;right:14%;z-index:4;text-align:center;text-shadow:0 2px 8px rgba(71,31,120,.45)}.routineCard span{bottom:24%;font-size:clamp(24px,2vw,34px);font-weight:900}.status{position:absolute;left:8%;bottom:6%;margin:0;color:#4d0d66;font-weight:800;text-shadow:0 2px 8px rgba(71,31,120,.45)}.professorTools{overflow:auto;padding:26px;color:#263044;background:#eef3f5}.professorHeader{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1440px;margin:0 auto 18px}.professorHeader p,.professorHeader h1,.toolPanel h2,.assetList h3{margin:0}.professorHeader p{color:#65748a;font-weight:800;text-transform:uppercase;letter-spacing:0}.professorHeader h1{font-size:30px}.professorActions{display:flex;gap:10px}.professorActions button,.primaryToolButton,.saveRoutineButton,.draftStep button{border:0;border-radius:8px;color:#4d0d66;background:#315b76;font-weight:800;cursor:pointer}.professorActions button{height:40px;padding:0 16px}.professorActions .activeToolPage{background:#2e765d}.professorActions .logoutToolButton{background:#4d0d66}.professorCapturePage{display:grid;gap:16px;max-width:1440px;margin:0 auto}.capturePageSelector{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;max-width:720px}.capturePageSelector button{display:grid;gap:3px;min-height:64px;border:1px solid #c8d5dc;border-left:6px solid #c8d5dc;border-radius:8px;padding:10px 14px;color:#4d0d66;background:#f8fafb;text-align:left;cursor:pointer}.capturePageSelector span{font-weight:900}.capturePageSelector small{color:#4d0d66;font-weight:800}.capturePageSelector .activeCapturePage{border-color:#2e765d;border-left-color:#2e765d;color:#4d0d66;background:#eef8f3;box-shadow:0 10px 22px #26304414}.professorLayout{display:grid;grid-template-columns:minmax(460px,1.35fr) minmax(320px,.65fr);gap:16px;max-width:1440px;margin:0 auto;align-items:start}.toolPanel{min-width:0;border:1px solid #d3dce2;border-radius:8px;padding:16px;background:#fff;box-shadow:0 10px 22px #26304414}.toolPanel h2{margin-bottom:14px;font-size:20px}.toolPanel h2,.fieldLabel,.uploadControl span{display:flex;align-items:center;gap:6px}.infoButton{display:inline-grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border:1px solid #9eb2bf;border-radius:50%;padding:0;color:#315b76;background:#eef6fa;font-size:12px;font-weight:900;line-height:1;cursor:help}.assetColumns,.uploadGrid,.numberRow{display:grid;gap:12px}.assetColumns{grid-template-columns:1fr 1fr}.assetList{min-width:0}.assetList h3{margin-bottom:8px;color:#65748a;font-size:13px;text-transform:uppercase}.assetItem,.draftStep,.routineListItem{display:grid;gap:3px;min-height:50px;border:1px solid #dce4e9;border-radius:8px;padding:9px 10px;background:#f8fafb}.deletableAsset{grid-template-columns:minmax(0,1fr) 82px;align-items:center}.deletableAsset>div{min-width:0}.deletableAsset small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deleteAssetButton{height:32px;border:0;border-radius:8px;color:#4d0d66;background:#9b3d4b;font-size:12px;font-weight:800;cursor:pointer}.assetItem+.assetItem,.draftStep+.draftStep,.routineListItem+.routineListItem{margin-top:8px}.assetItem span,.routineListItem strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.assetItem small,.draftStep small,.routineListItem small,.emptyText{color:#718195}.uploadGrid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.captureTool{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(300px,.65fr);gap:16px;align-items:stretch}.capturePreview{position:relative;min-height:380px;border:1px solid #dce4e9;border-radius:8px;overflow:hidden;background:#dfe8ed}.capturePreview canvas{display:block;width:100%;height:100%}.capturePreview video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.captureControls{display:grid;align-content:start;gap:12px}.captureControls label{display:grid;gap:6px;color:#3d4b60;font-size:13px;font-weight:800}.captureControls input{width:100%;min-width:0;height:40px;border:1px solid #cdd8de;border-radius:8px;padding:0 10px;color:#263044;background:#fff;font:inherit}.captureStatus{margin:0;color:#3d4b60;font-size:13px;font-weight:800}.imagePoseInput{display:grid;gap:6px;border:1px dashed #adc1cc;border-radius:8px;padding:10px;background:#f7fbfd}.imagePoseInput span{display:flex;align-items:center;gap:6px;color:#3d4b60;font-size:13px;font-weight:800}.libraryStrip{min-height:0}.libraryPage{display:grid;gap:16px;max-width:1440px;margin:0 auto}.libraryPage .capturePageSelector{grid-template-columns:repeat(7,minmax(116px,1fr));max-width:none}.librarySimplePage{display:grid;gap:14px}.backgroundGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.backgroundItem{display:grid;gap:6px;border:1px solid var(--pink-line);border-radius:8px;padding:10px;background:var(--pink-soft)}.backgroundItem img{width:100%;aspect-ratio:16 / 9;border-radius:6px;object-fit:cover;background:#f7f5f8}.backgroundItem video,.unsupportedAsset{width:100%;aspect-ratio:16 / 9;border-radius:6px;object-fit:cover;background:#f7f5f8}.unsupportedAsset{display:grid;place-items:center;border:1px dashed var(--pink-line);color:#4d0d66;font-weight:900;text-align:center}.backgroundItem strong,.backgroundItem small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backgroundItem small{color:var(--pink-muted)}.managedAssetCard input{width:100%;height:36px;border:1px solid var(--pink-line);border-radius:8px;padding:0 9px;color:#4d0d66;background:#fff;font:inherit}.managedAssetActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.managedAssetActions button{min-width:0;height:34px;border:0;border-radius:8px;background:var(--pink-hot);font-size:12px;font-weight:900;cursor:pointer}.libraryViewer{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(420px,1.4fr) minmax(280px,.85fr);gap:16px;align-items:stretch}.libraryList,.libraryEditor{display:grid;align-content:start;gap:10px;min-width:0}.libraryItem{display:grid;gap:3px;min-height:54px;border:1px solid #dce4e9;border-left:5px solid #dce4e9;border-radius:8px;padding:9px 10px;color:#263044;background:#f8fafb;text-align:left;cursor:pointer}.libraryItem span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.libraryItem small{overflow:hidden;color:#718195;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.activeLibraryItem{border-color:#2e765d;border-left-color:#2e765d;background:#eef8f3}.libraryPreview{position:relative;min-height:440px;border:1px solid #dce4e9;border-radius:8px;overflow:hidden;background:#dfe8ed}.libraryPreview canvas{display:block;width:100%;height:100%}.libraryPreview video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.libraryEditor input{width:100%;min-width:0;height:40px;border:1px solid #cdd8de;border-radius:8px;padding:0 10px;color:#263044;background:#fff;font:inherit}.libraryEditor input:disabled,.libraryEditor button:disabled{opacity:.48;cursor:default}.wideDeleteButton{width:100%}.uploadControl,.routineBuilder label,.stepEditor label{display:grid;gap:6px;color:#3d4b60;font-size:13px;font-weight:800}.uploadControl{min-height:64px;border:1px dashed #adc1cc;border-radius:8px;padding:10px;background:#f7fbfd}.uploadControl input{min-width:0;max-width:100%;font-size:12px}.routineBuilder{display:grid;gap:12px}.routineBuilder input,.routineBuilder select,.stepEditor input,.stepEditor select{width:100%;min-width:0;height:40px;border:1px solid #cdd8de;border-radius:8px;padding:0 10px;color:#263044;background:#fff;font:inherit}.stepEditor{display:grid;gap:12px;border-top:1px solid #e2e8ec;padding-top:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{height:38px;border:1px solid #cdd8de;border-radius:8px;color:#3d4b60;background:#f5f8fa;font-weight:800;cursor:pointer}.segmented .active{border-color:#315b76;color:#4d0d66;background:#315b76}.numberRow{grid-template-columns:1fr 1fr}.primaryToolButton,.saveRoutineButton{height:44px;padding:0 16px}.saveRoutineButton{width:100%;margin:12px 0 18px;background:#2e765d}.draftSteps,.routineList{display:grid;gap:8px}.draftStep{grid-template-columns:32px minmax(0,1fr);align-items:center}.activeDraftStep{border-color:var(--pink-hot);background:var(--pink-active)}.draftStep>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#4d0d66;background:#315b76;font-weight:900}.draftStep strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draftStepActions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.draftStep button,.routineItemActions button{height:34px;padding:0 10px;background:#9b3d4b}.draftStep button:disabled{opacity:.45;cursor:default}.routineListItem{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.routineListItem>div:first-child{min-width:0}.routineListItem small{display:block}.routineItemActions{display:flex;gap:6px}.routineItemActions button{border:0;border-radius:8px;color:#4d0d66;font-size:12px;font-weight:800;cursor:pointer}.toolsStatus{max-width:1440px;margin:14px auto 0;color:#3d4b60;font-weight:800}.professorTools{--pink-bg: #fbf8fb;--pink-panel: #ffffff;--pink-soft: #fffafd;--pink-line: #ead4e2;--pink-hot: #d83f9a;--pink-deep: #4D0D66;--pink-active: #fff1f8;--pink-danger: #b33a63;--pink-text: #4D0D66;--pink-muted: #4D0D66;color:var(--pink-text);background:var(--pink-bg)}.professorActions button,.primaryToolButton,.saveRoutineButton,.draftStep button,.routineItemActions button{background:var(--pink-hot)}.professorActions .activeToolPage,.saveRoutineButton{background:var(--pink-deep)}.professorHeader p,.assetList h3,.assetItem small,.draftStep small,.routineListItem small,.emptyText,.capturePageSelector small,.libraryItem small{color:var(--pink-muted)}.toolPanel,.assetItem,.draftStep,.routineListItem,.libraryItem,.uploadControl,.imagePoseInput{border-color:var(--pink-line);background:var(--pink-panel)}.capturePageSelector button,.libraryItem{border-color:var(--pink-line);border-left-color:var(--pink-line);color:#4d0d66;background:var(--pink-soft)}.capturePageSelector .activeCapturePage,.activeLibraryItem{border-color:var(--pink-hot);border-left-color:var(--pink-hot);color:#4d0d66;background:var(--pink-active);box-shadow:0 10px 22px #9f2e781f}.capturePreview,.libraryPreview{border-color:var(--pink-line);background:#f7f5f8}.infoButton{border-color:#e8c6d8;color:var(--pink-deep);background:#fff7fb}.captureControls label,.captureStatus,.imagePoseInput span,.uploadControl,.routineBuilder label,.stepEditor label,.toolsStatus{color:var(--pink-text)}.captureControls input,.libraryEditor input,.routineBuilder input,.routineBuilder select,.stepEditor input,.stepEditor select{border-color:var(--pink-line);color:var(--pink-text);background:#fff}.segmented button{border-color:var(--pink-line);color:var(--pink-text);background:var(--pink-soft)}.segmented .active{border-color:var(--pink-hot);background:var(--pink-hot)}.deleteAssetButton,.dangerButton{background:var(--pink-danger)}button:not(.infoButton){color:#fff}.capturePageSelector button,.capturePageSelector small,.segmented button{color:#4d0d66}@media(max-width:1120px){.professorLayout,.captureTool,.libraryViewer{grid-template-columns:1fr}.capturePreview{min-height:320px}}@media(max-width:720px){.professorTools{padding:16px}.professorHeader,.assetColumns,.uploadGrid,.numberRow{grid-template-columns:1fr}.professorHeader{display:grid}}.stage video{display:none}.stage canvas{display:block;width:100%;height:100%}.stageLoading{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);min-width:min(520px,82vw);border:1px solid rgba(225,73,159,.32);border-radius:8px;padding:22px 28px;background:#fff6fbeb;color:#4d0d66;font-size:24px;font-weight:800;text-align:center;box-shadow:0 18px 45px #48165d29}.exitButton,.debugButton,.returnButton{position:absolute;z-index:2;height:44px;border:0;border-radius:8px;padding:0 18px;color:#4d0d66;background:#562b91d1;font-weight:800}.exitButton,.debugButton{top:18px}.exitButton{right:18px}.debugButton{right:112px}.returnButton{left:50%;bottom:7%;min-width:190px;height:58px;transform:translate(-50%);border-radius:12px;background:#7a45cfeb;font-size:26px;box-shadow:0 12px 28px #3a126e40}
